From 92805efa99965b47dfa1b32ffac529ea3d753f6c Mon Sep 17 00:00:00 2001 From: hannes Date: Sat, 13 Dec 2008 17:45:39 +0100 Subject: [PATCH] initial commit --- AUTHORS | 32 + COPYING | 3 + COPYING.GPL | 340 + COPYING.LGPL | 510 + COPYING.MIT | 21 + ChangeLog | 1795 +++ INSTALL | 12 + Makefile | 865 ++ Makefile.am | 114 + Makefile.in | 865 ++ NEWS | 203 + README | 39 + RELEASING | 75 + TAGS | 6905 +++++++++ TODO | 53 + aclocal.m4 | 9612 ++++++++++++ animation/Makefile | 615 + animation/Makefile.am | 44 + animation/Makefile.in | 615 + animation/airplane3d.c | 971 ++ animation/animation-internal.h | 1265 ++ animation/animation.c | 4350 ++++++ animation/animation.c-backup | 4666 ++++++ animation/animation_tex.h | 222 + animation/beamup.c | 297 + animation/burn.c | 446 + animation/curvedfold.c | 184 + animation/dodge.c | 316 + animation/domino.c | 271 + animation/dream.c | 125 + animation/explode3d.c | 107 + animation/fade.c | 53 + animation/focusfade.c | 103 + animation/fold3d.c | 237 + animation/glide.c | 318 + animation/horizontalfold.c | 156 + animation/leafspread.c | 100 + animation/magiclamp.c | 316 + animation/options.c | 362 + animation/particle.c | 351 + animation/polygon.c | 1583 ++ animation/rollup.c | 150 + animation/skewer.c | 221 + animation/wave.c | 93 + animation/zoomside.c | 336 + autogen.sh | 15 + autom4te.cache/output.0 | 23108 ++++++++++++++++++++++++++++ autom4te.cache/output.1 | 23104 +++++++++++++++++++++++++++ autom4te.cache/requests | 284 + autom4te.cache/traces.0 | 2862 ++++ autom4te.cache/traces.1 | 1115 ++ bcop/AUTHORS | 1 + bcop/COPYING | 340 + bcop/ChangeLog | 0 bcop/INSTALL | 236 + bcop/Makefile | 603 + bcop/Makefile.am | 7 + bcop/Makefile.in | 603 + bcop/NEWS | 1 + bcop/README | 0 bcop/VERSION | 1 + bcop/aclocal.m4 | 1037 ++ bcop/autogen.sh | 13 + bcop/bcop.pc | 13 + bcop/bcop.pc.in | 13 + bcop/bcopconvert/bcopconvert.xslt | 323 + bcop/config.h.in | 56 + bcop/configure | 6648 ++++++++ bcop/configure.ac | 27 + bcop/install-sh | 323 + bcop/missing | 360 + bcop/src/Makefile | 472 + bcop/src/Makefile.am | 10 + bcop/src/Makefile.in | 472 + bcop/src/bcop | 75 + bcop/src/bcop.in | 75 + bcop/src/bcop.xslt | 1619 ++ config.guess | 1526 ++ config.h | 127 + config.h.in | 126 + config.log | 1216 ++ config.status | 2296 +++ config.sub | 1658 ++ configure | 23104 +++++++++++++++++++++++++++ configure.ac | 413 + cubereflex/Makefile | 576 + cubereflex/Makefile.am | 30 + cubereflex/Makefile.in | 576 + cubereflex/cubereflex.c | 629 + cubereflex/cubereflex_options.c | 444 + cubereflex/cubereflex_options.h | 98 + depcomp | 589 + ecomorph.sh | 350 + ecomp-cube.pc | 13 + ecomp-cube.pc.in | 13 + ecomp-gconf.pc.in | 6 + ecomp-scale.pc | 12 + ecomp-scale.pc.in | 12 + ecomp.pc | 12 + ecomp.pc.in | 12 + ecomp/ecompconfig/Default.ini | 92 + ecomp/ecompconfig/config | 10 + expo/Makefile | 571 + expo/Makefile.am | 28 + expo/Makefile.in | 571 + expo/expo.c | 1564 ++ expo/expo_options.c | 777 + expo/expo_options.h | 164 + images/Makefile | 446 + images/Makefile.am | 8 + images/Makefile.in | 446 + images/freedesktop.png | Bin 0 -> 30453 bytes images/icon.png | Bin 0 -> 529 bytes include/Makefile | 491 + include/Makefile.am | 7 + include/Makefile.in | 491 + include/cube.h | 199 + include/decoration.h | 427 + include/ecomp.h | 3312 ++++ include/scale.h | 187 + include/text.h | 50 + install-sh | 519 + intltool-extract.in | 0 intltool-merge.in | 0 intltool-update.in | 0 jpeg/Makefile | 574 + jpeg/Makefile.am | 30 + jpeg/Makefile.in | 574 + jpeg/imgjpeg.c | 451 + jpeg/imgjpeg_options.c | 234 + jpeg/imgjpeg_options.h | 52 + libdecoration/Makefile | 579 + libdecoration/Makefile.am | 12 + libdecoration/Makefile.in | 579 + libdecoration/decoration.c | 2804 ++++ libdecoration/libdecoration.pc | 12 + libdecoration/libdecoration.pc.in | 12 + libtool | 8527 ++++++++++ ltmain.sh | 7880 ++++++++++ mblur/Makefile | 570 + mblur/Makefile.am | 27 + mblur/Makefile.in | 570 + mblur/mblur.c | 443 + mblur/mblur_options.c | 374 + mblur/mblur_options.h | 75 + metadata/Makefile | 518 + metadata/Makefile.am | 81 + metadata/Makefile.in | 518 + metadata/animation.xml | 1784 +++ metadata/animation.xml.in | 1630 ++ metadata/annotate.xml | 131 + metadata/annotate.xml.in | 66 + metadata/blur.xml | 159 + metadata/blur.xml.in | 106 + metadata/clone.xml | 41 + metadata/clone.xml.in | 16 + metadata/core.xml | 498 + metadata/core.xml.in | 122 + metadata/cube.xml | 744 + metadata/cube.xml.in | 189 + metadata/cubereflex.xml | 88 + metadata/cubereflex.xml.in | 88 + metadata/dbus.xml | 8 + metadata/dbus.xml.in | 6 + metadata/decoration.xml | 256 + metadata/decoration.xml.in | 66 + metadata/expo.xml | 193 + metadata/expo.xml.in | 176 + metadata/fade.xml | 174 + metadata/fade.xml.in | 37 + metadata/fs.xml | 16 + metadata/fs.xml.in | 13 + metadata/gconf.xml | 20 + metadata/gconf.xml.in | 18 + metadata/glib.xml | 7 + metadata/glib.xml.in | 6 + metadata/group.xml | 573 + metadata/group.xml.in | 521 + metadata/imgjpeg.xml | 20 + metadata/imgjpeg.xml.in | 20 + metadata/ini.xml | 8 + metadata/ini.xml.in | 6 + metadata/inotify.xml | 7 + metadata/inotify.xml.in | 6 + metadata/mblur.xml | 63 + metadata/mblur.xml.in | 63 + metadata/minimize.xml | 178 + metadata/minimize.xml.in | 43 + metadata/move.xml | 209 + metadata/move.xml.in | 39 + metadata/place.xml | 147 + metadata/place.xml.in | 70 + metadata/plane.xml | 162 + metadata/plane.xml.in | 107 + metadata/png.xml | 11 + metadata/png.xml.in | 8 + metadata/reflex.xml.in | 54 + metadata/regex.xml | 8 + metadata/regex.xml.in | 6 + metadata/resize.xml | 202 + metadata/resize.xml.in | 104 + metadata/ring.xml | 320 + metadata/ring.xml.in | 235 + metadata/rotate.xml | 1442 ++ metadata/rotate.xml.in | 279 + metadata/scale.xml | 564 + metadata/scale.xml.in | 144 + metadata/scaleaddon.xml | 157 + metadata/scaleaddon.xml.in | 127 + metadata/scalefilter.xml | 81 + metadata/scalefilter.xml.in | 81 + metadata/schemas.xslt | 510 + metadata/screenshot.xml | 65 + metadata/screenshot.xml.in | 26 + metadata/shift.xml | 397 + metadata/shift.xml.in | 329 + metadata/svg.xml | 11 + metadata/svg.xml.in | 8 + metadata/switcher.xml | 590 + metadata/switcher.xml.in | 131 + metadata/text.xml | 8 + metadata/text.xml.in | 8 + metadata/thumbnail.xml | 105 + metadata/thumbnail.xml.in | 105 + metadata/video.xml | 17 + metadata/video.xml.in | 14 + metadata/wall.xml | 384 + metadata/wall.xml.in | 330 + metadata/water.xml | 370 + metadata/water.xml.in | 75 + metadata/wobbly.xml | 524 + metadata/wobbly.xml.in | 123 + metadata/zoom.xml | 324 + metadata/zoom.xml.in | 71 + missing | 367 + mkinstalldirs | 111 + plugins/Makefile | 838 + plugins/Makefile.am | 144 + plugins/Makefile.in | 838 + plugins/annotate.c | 915 ++ plugins/blur.c | 2811 ++++ plugins/clone.c | 885 ++ plugins/cube.c | 2296 +++ plugins/dbus.c | 2741 ++++ plugins/decoration.c | 1561 ++ plugins/fade.c | 880 ++ plugins/fuse.c | 1572 ++ plugins/gconf.c | 1225 ++ plugins/glib.c | 292 + plugins/ini.c | 1554 ++ plugins/inotify.c | 301 + plugins/minimize.c | 1039 ++ plugins/move.c | 985 ++ plugins/plane.c | 830 + plugins/png.c | 562 + plugins/regex.c | 526 + plugins/resize.c | 1415 ++ plugins/rotate.c | 1954 +++ plugins/scale.c | 2480 +++ plugins/screenshot.c | 582 + plugins/svg.c | 1004 ++ plugins/switcher.c | 2092 +++ plugins/video.c | 1389 ++ plugins/water.c | 1779 +++ plugins/wobbly.c | 2914 ++++ plugins/zoom.c | 1157 ++ po/.intltool-merge-cache | 1 + po/ChangeLog | 25 + po/Makefile | 305 + po/Makefile.in | 271 + po/Makefile.in.in | 271 + po/POTFILES | 34 + po/POTFILES.in | 34 + po/af.gmo | Bin 0 -> 537 bytes po/af.po | 2471 +++ po/ar.gmo | Bin 0 -> 365 bytes po/ar.po | 2400 +++ po/bg.gmo | Bin 0 -> 545 bytes po/bg.po | 2944 ++++ po/bn.gmo | Bin 0 -> 454 bytes po/bn.po | 2640 ++++ po/bs.gmo | Bin 0 -> 538 bytes po/bs.po | 2585 ++++ po/ca.gmo | Bin 0 -> 23311 bytes po/ca.po | 3205 ++++ po/cs.gmo | Bin 0 -> 30402 bytes po/cs.po | 3894 +++++ po/cy.gmo | Bin 0 -> 505 bytes po/cy.po | 2582 ++++ po/da.gmo | Bin 0 -> 21939 bytes po/da.po | 3188 ++++ po/de.gmo | Bin 0 -> 30983 bytes po/de.po | 4012 +++++ po/el.gmo | Bin 0 -> 539 bytes po/el.po | 2952 ++++ po/en_GB.gmo | Bin 0 -> 416 bytes po/en_GB.po | 2897 ++++ po/en_US.gmo | Bin 0 -> 411 bytes po/en_US.po | 2470 +++ po/es.gmo | Bin 0 -> 31766 bytes po/es.po | 4014 +++++ po/et.gmo | Bin 0 -> 600 bytes po/et.po | 2903 ++++ po/fi.gmo | Bin 0 -> 30625 bytes po/fi.po | 4032 +++++ po/fr.gmo | Bin 0 -> 32541 bytes po/fr.po | 4019 +++++ po/gl.gmo | Bin 0 -> 468 bytes po/gl.po | 2721 ++++ po/gu.gmo | Bin 0 -> 446 bytes po/gu.po | 2469 +++ po/he.gmo | Bin 0 -> 451 bytes po/he.po | 2976 ++++ po/hi.gmo | Bin 0 -> 481 bytes po/hi.po | 2846 ++++ po/hr.gmo | Bin 0 -> 535 bytes po/hr.po | 2854 ++++ po/hu.gmo | Bin 0 -> 26305 bytes po/hu.po | 3102 ++++ po/id.gmo | Bin 0 -> 432 bytes po/id.po | 2528 +++ po/it.gmo | Bin 0 -> 31251 bytes po/it.po | 4017 +++++ po/ja.gmo | Bin 0 -> 33829 bytes po/ja.po | 3938 +++++ po/ka.gmo | Bin 0 -> 411 bytes po/ka.po | 2392 +++ po/km.gmo | Bin 0 -> 559 bytes po/km.po | 2923 ++++ po/ko.gmo | Bin 0 -> 459 bytes po/ko.po | 3044 ++++ po/lo.gmo | Bin 0 -> 393 bytes po/lo.po | 2390 +++ po/lt.gmo | Bin 0 -> 598 bytes po/lt.po | 2929 ++++ po/mk.gmo | Bin 0 -> 440 bytes po/mk.po | 2408 +++ po/mr.gmo | Bin 0 -> 506 bytes po/mr.po | 2498 +++ po/nb.gmo | Bin 0 -> 520 bytes po/nb.po | 2970 ++++ po/nl.gmo | Bin 0 -> 524 bytes po/nl.po | 3031 ++++ po/pa.gmo | Bin 0 -> 586 bytes po/pa.po | 2932 ++++ po/pl.gmo | Bin 0 -> 25791 bytes po/pl.po | 3103 ++++ po/pt.gmo | Bin 0 -> 22817 bytes po/pt.po | 3986 +++++ po/pt_BR.gmo | Bin 0 -> 31139 bytes po/pt_BR.po | 4002 +++++ po/ro.gmo | Bin 0 -> 445 bytes po/ro.po | 2743 ++++ po/ru.gmo | Bin 0 -> 30512 bytes po/ru.po | 3269 ++++ po/sk.gmo | Bin 0 -> 555 bytes po/sk.po | 3016 ++++ po/sl.gmo | Bin 0 -> 505 bytes po/sl.po | 2965 ++++ po/sr.gmo | Bin 0 -> 540 bytes po/sr.po | 3107 ++++ po/sv.gmo | Bin 0 -> 31635 bytes po/sv.po | 2599 ++++ po/ta.gmo | Bin 0 -> 404 bytes po/ta.po | 2445 +++ po/tr.gmo | Bin 0 -> 488 bytes po/tr.po | 3112 ++++ po/uk.gmo | Bin 0 -> 587 bytes po/uk.po | 2895 ++++ po/vi.gmo | Bin 0 -> 414 bytes po/vi.po | 2393 +++ po/xh.gmo | Bin 0 -> 464 bytes po/xh.po | 2468 +++ po/zh_CN.gmo | Bin 0 -> 28056 bytes po/zh_CN.po | 3692 +++++ po/zh_TW.gmo | Bin 0 -> 28544 bytes po/zh_TW.po | 3692 +++++ po/zu.gmo | Bin 0 -> 472 bytes po/zu.po | 2468 +++ reflex/Makefile.am | 27 + reflex/reflex.c | 520 + ring/Makefile | 570 + ring/Makefile.am | 27 + ring/Makefile.in | 570 + ring/ring.c | 1790 +++ ring/ring_options.c | 1103 ++ ring/ring_options.h | 216 + scaleaddon/Makefile | 570 + scaleaddon/Makefile.am | 28 + scaleaddon/Makefile.in | 570 + scaleaddon/scaleaddon.c | 1244 ++ scaleaddon/scaleaddon_options.c | 647 + scaleaddon/scaleaddon_options.h | 124 + scalefilter/Makefile | 573 + scalefilter/Makefile.am | 29 + scalefilter/Makefile.in | 573 + scalefilter/scalefilter.c | 910 ++ scalefilter/scalefilter_options.c | 471 + scalefilter/scalefilter_options.h | 95 + shift/Makefile | 570 + shift/Makefile.am | 27 + shift/Makefile.in | 570 + shift/shift.c | 2621 ++++ shift/shift_options.c | 1391 ++ shift/shift_options.h | 281 + src/.deps/cursor.Po | 209 + src/.deps/display.Po | 236 + src/.deps/event.Po | 229 + src/.deps/fragment.Po | 219 + src/.deps/main.Po | 263 + src/.deps/match.Po | 219 + src/.deps/matrix.Po | 231 + src/.deps/metadata.Po | 224 + src/.deps/option.Po | 235 + src/.deps/paint.Po | 231 + src/.deps/plugin.Po | 236 + src/.deps/privates.Po | 208 + src/.deps/screen.Po | 272 + src/.deps/session.Po | 259 + src/.deps/texture.Po | 221 + src/.deps/window.Po | 233 + src/Makefile | 591 + src/Makefile.am | 29 + src/Makefile.in | 591 + src/action.c | 41 + src/cursor.c | 196 + src/display.c | 2433 +++ src/ecomorph | Bin 0 -> 750241 bytes src/event.c | 1869 +++ src/fragment.c | 1402 ++ src/main.c | 455 + src/match.c | 780 + src/matrix.c | 322 + src/metadata.c | 1348 ++ src/option.c | 769 + src/paint.c | 1170 ++ src/plugin.c | 614 + src/privates.c | 68 + src/screen.c | 3733 +++++ src/session.c | 335 + src/texture.c | 486 + src/window.c | 2775 ++++ stamp-h1 | 1 + text/Makefile | 572 + text/Makefile.am | 31 + text/Makefile.in | 572 + text/text.c | 446 + thumbnail/Makefile | 574 + thumbnail/Makefile.am | 30 + thumbnail/Makefile.in | 574 + thumbnail/thumbnail.c | 1201 ++ thumbnail/thumbnail_options.c | 606 + thumbnail/thumbnail_options.h | 120 + thumbnail/thumbnail_tex.h | 313 + wall/Makefile | 573 + wall/Makefile.am | 31 + wall/Makefile.in | 573 + wall/wall.c | 1857 +++ wall/wall_options.c | 1580 ++ wall/wall_options.h | 291 + 460 files changed, 441980 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 COPYING.GPL create mode 100644 COPYING.LGPL create mode 100644 COPYING.MIT create mode 100644 ChangeLog create mode 100644 INSTALL create mode 100644 Makefile create mode 100644 Makefile.am create mode 100644 Makefile.in create mode 100644 NEWS create mode 100644 README create mode 100644 RELEASING create mode 100644 TAGS create mode 100644 TODO create mode 100644 aclocal.m4 create mode 100644 animation/Makefile create mode 100644 animation/Makefile.am create mode 100644 animation/Makefile.in create mode 100644 animation/airplane3d.c create mode 100644 animation/animation-internal.h create mode 100644 animation/animation.c create mode 100644 animation/animation.c-backup create mode 100644 animation/animation_tex.h create mode 100644 animation/beamup.c create mode 100644 animation/burn.c create mode 100644 animation/curvedfold.c create mode 100644 animation/dodge.c create mode 100644 animation/domino.c create mode 100644 animation/dream.c create mode 100644 animation/explode3d.c create mode 100644 animation/fade.c create mode 100644 animation/focusfade.c create mode 100644 animation/fold3d.c create mode 100644 animation/glide.c create mode 100644 animation/horizontalfold.c create mode 100644 animation/leafspread.c create mode 100644 animation/magiclamp.c create mode 100644 animation/options.c create mode 100644 animation/particle.c create mode 100644 animation/polygon.c create mode 100644 animation/rollup.c create mode 100644 animation/skewer.c create mode 100644 animation/wave.c create mode 100644 animation/zoomside.c create mode 100755 autogen.sh create mode 100644 autom4te.cache/output.0 create mode 100644 autom4te.cache/output.1 create mode 100644 autom4te.cache/requests create mode 100644 autom4te.cache/traces.0 create mode 100644 autom4te.cache/traces.1 create mode 100644 bcop/AUTHORS create mode 100644 bcop/COPYING create mode 100644 bcop/ChangeLog create mode 100644 bcop/INSTALL create mode 100644 bcop/Makefile create mode 100644 bcop/Makefile.am create mode 100644 bcop/Makefile.in create mode 100644 bcop/NEWS create mode 100644 bcop/README create mode 100644 bcop/VERSION create mode 100644 bcop/aclocal.m4 create mode 100755 bcop/autogen.sh create mode 100644 bcop/bcop.pc create mode 100644 bcop/bcop.pc.in create mode 100644 bcop/bcopconvert/bcopconvert.xslt create mode 100644 bcop/config.h.in create mode 100755 bcop/configure create mode 100644 bcop/configure.ac create mode 100755 bcop/install-sh create mode 100755 bcop/missing create mode 100644 bcop/src/Makefile create mode 100644 bcop/src/Makefile.am create mode 100644 bcop/src/Makefile.in create mode 100644 bcop/src/bcop create mode 100755 bcop/src/bcop.in create mode 100644 bcop/src/bcop.xslt create mode 100755 config.guess create mode 100644 config.h create mode 100644 config.h.in create mode 100644 config.log create mode 100755 config.status create mode 100755 config.sub create mode 100755 configure create mode 100644 configure.ac create mode 100644 cubereflex/Makefile create mode 100644 cubereflex/Makefile.am create mode 100644 cubereflex/Makefile.in create mode 100644 cubereflex/cubereflex.c create mode 100644 cubereflex/cubereflex_options.c create mode 100644 cubereflex/cubereflex_options.h create mode 100755 depcomp create mode 100755 ecomorph.sh create mode 100644 ecomp-cube.pc create mode 100644 ecomp-cube.pc.in create mode 100644 ecomp-gconf.pc.in create mode 100644 ecomp-scale.pc create mode 100644 ecomp-scale.pc.in create mode 100644 ecomp.pc create mode 100644 ecomp.pc.in create mode 100644 ecomp/ecompconfig/Default.ini create mode 100644 ecomp/ecompconfig/config create mode 100644 expo/Makefile create mode 100644 expo/Makefile.am create mode 100644 expo/Makefile.in create mode 100644 expo/expo.c create mode 100644 expo/expo_options.c create mode 100644 expo/expo_options.h create mode 100644 images/Makefile create mode 100644 images/Makefile.am create mode 100644 images/Makefile.in create mode 100644 images/freedesktop.png create mode 100644 images/icon.png create mode 100644 include/Makefile create mode 100644 include/Makefile.am create mode 100644 include/Makefile.in create mode 100644 include/cube.h create mode 100644 include/decoration.h create mode 100644 include/ecomp.h create mode 100644 include/scale.h create mode 100644 include/text.h create mode 100755 install-sh create mode 100644 intltool-extract.in create mode 100644 intltool-merge.in create mode 100644 intltool-update.in create mode 100644 jpeg/Makefile create mode 100644 jpeg/Makefile.am create mode 100644 jpeg/Makefile.in create mode 100644 jpeg/imgjpeg.c create mode 100644 jpeg/imgjpeg_options.c create mode 100644 jpeg/imgjpeg_options.h create mode 100644 libdecoration/Makefile create mode 100644 libdecoration/Makefile.am create mode 100644 libdecoration/Makefile.in create mode 100644 libdecoration/decoration.c create mode 100644 libdecoration/libdecoration.pc create mode 100644 libdecoration/libdecoration.pc.in create mode 100755 libtool create mode 100755 ltmain.sh create mode 100644 mblur/Makefile create mode 100644 mblur/Makefile.am create mode 100644 mblur/Makefile.in create mode 100644 mblur/mblur.c create mode 100644 mblur/mblur_options.c create mode 100644 mblur/mblur_options.h create mode 100644 metadata/Makefile create mode 100644 metadata/Makefile.am create mode 100644 metadata/Makefile.in create mode 100644 metadata/animation.xml create mode 100644 metadata/animation.xml.in create mode 100644 metadata/annotate.xml create mode 100644 metadata/annotate.xml.in create mode 100644 metadata/blur.xml create mode 100644 metadata/blur.xml.in create mode 100644 metadata/clone.xml create mode 100644 metadata/clone.xml.in create mode 100644 metadata/core.xml create mode 100644 metadata/core.xml.in create mode 100644 metadata/cube.xml create mode 100644 metadata/cube.xml.in create mode 100644 metadata/cubereflex.xml create mode 100644 metadata/cubereflex.xml.in create mode 100644 metadata/dbus.xml create mode 100644 metadata/dbus.xml.in create mode 100644 metadata/decoration.xml create mode 100644 metadata/decoration.xml.in create mode 100644 metadata/expo.xml create mode 100644 metadata/expo.xml.in create mode 100644 metadata/fade.xml create mode 100644 metadata/fade.xml.in create mode 100644 metadata/fs.xml create mode 100644 metadata/fs.xml.in create mode 100644 metadata/gconf.xml create mode 100644 metadata/gconf.xml.in create mode 100644 metadata/glib.xml create mode 100644 metadata/glib.xml.in create mode 100644 metadata/group.xml create mode 100644 metadata/group.xml.in create mode 100644 metadata/imgjpeg.xml create mode 100644 metadata/imgjpeg.xml.in create mode 100644 metadata/ini.xml create mode 100644 metadata/ini.xml.in create mode 100644 metadata/inotify.xml create mode 100644 metadata/inotify.xml.in create mode 100644 metadata/mblur.xml create mode 100644 metadata/mblur.xml.in create mode 100644 metadata/minimize.xml create mode 100644 metadata/minimize.xml.in create mode 100644 metadata/move.xml create mode 100644 metadata/move.xml.in create mode 100644 metadata/place.xml create mode 100644 metadata/place.xml.in create mode 100644 metadata/plane.xml create mode 100644 metadata/plane.xml.in create mode 100644 metadata/png.xml create mode 100644 metadata/png.xml.in create mode 100644 metadata/reflex.xml.in create mode 100644 metadata/regex.xml create mode 100644 metadata/regex.xml.in create mode 100644 metadata/resize.xml create mode 100644 metadata/resize.xml.in create mode 100644 metadata/ring.xml create mode 100644 metadata/ring.xml.in create mode 100644 metadata/rotate.xml create mode 100644 metadata/rotate.xml.in create mode 100644 metadata/scale.xml create mode 100644 metadata/scale.xml.in create mode 100644 metadata/scaleaddon.xml create mode 100644 metadata/scaleaddon.xml.in create mode 100644 metadata/scalefilter.xml create mode 100644 metadata/scalefilter.xml.in create mode 100644 metadata/schemas.xslt create mode 100644 metadata/screenshot.xml create mode 100644 metadata/screenshot.xml.in create mode 100644 metadata/shift.xml create mode 100644 metadata/shift.xml.in create mode 100644 metadata/svg.xml create mode 100644 metadata/svg.xml.in create mode 100644 metadata/switcher.xml create mode 100644 metadata/switcher.xml.in create mode 100644 metadata/text.xml create mode 100644 metadata/text.xml.in create mode 100644 metadata/thumbnail.xml create mode 100644 metadata/thumbnail.xml.in create mode 100644 metadata/video.xml create mode 100644 metadata/video.xml.in create mode 100644 metadata/wall.xml create mode 100644 metadata/wall.xml.in create mode 100644 metadata/water.xml create mode 100644 metadata/water.xml.in create mode 100644 metadata/wobbly.xml create mode 100644 metadata/wobbly.xml.in create mode 100644 metadata/zoom.xml create mode 100644 metadata/zoom.xml.in create mode 100755 missing create mode 100755 mkinstalldirs create mode 100644 plugins/Makefile create mode 100644 plugins/Makefile.am create mode 100644 plugins/Makefile.in create mode 100644 plugins/annotate.c create mode 100644 plugins/blur.c create mode 100644 plugins/clone.c create mode 100644 plugins/cube.c create mode 100644 plugins/dbus.c create mode 100644 plugins/decoration.c create mode 100644 plugins/fade.c create mode 100644 plugins/fuse.c create mode 100644 plugins/gconf.c create mode 100644 plugins/glib.c create mode 100644 plugins/ini.c create mode 100644 plugins/inotify.c create mode 100644 plugins/minimize.c create mode 100644 plugins/move.c create mode 100644 plugins/plane.c create mode 100644 plugins/png.c create mode 100644 plugins/regex.c create mode 100644 plugins/resize.c create mode 100644 plugins/rotate.c create mode 100644 plugins/scale.c create mode 100644 plugins/screenshot.c create mode 100644 plugins/svg.c create mode 100644 plugins/switcher.c create mode 100644 plugins/video.c create mode 100644 plugins/water.c create mode 100644 plugins/wobbly.c create mode 100644 plugins/zoom.c create mode 100644 po/.intltool-merge-cache create mode 100644 po/ChangeLog create mode 100644 po/Makefile create mode 100644 po/Makefile.in create mode 100644 po/Makefile.in.in create mode 100644 po/POTFILES create mode 100644 po/POTFILES.in create mode 100644 po/af.gmo create mode 100644 po/af.po create mode 100644 po/ar.gmo create mode 100644 po/ar.po create mode 100644 po/bg.gmo create mode 100644 po/bg.po create mode 100644 po/bn.gmo create mode 100644 po/bn.po create mode 100644 po/bs.gmo create mode 100644 po/bs.po create mode 100644 po/ca.gmo create mode 100644 po/ca.po create mode 100644 po/cs.gmo create mode 100644 po/cs.po create mode 100644 po/cy.gmo create mode 100644 po/cy.po create mode 100644 po/da.gmo create mode 100644 po/da.po create mode 100644 po/de.gmo create mode 100644 po/de.po create mode 100644 po/el.gmo create mode 100644 po/el.po create mode 100644 po/en_GB.gmo create mode 100644 po/en_GB.po create mode 100644 po/en_US.gmo create mode 100644 po/en_US.po create mode 100644 po/es.gmo create mode 100644 po/es.po create mode 100644 po/et.gmo create mode 100644 po/et.po create mode 100644 po/fi.gmo create mode 100644 po/fi.po create mode 100644 po/fr.gmo create mode 100644 po/fr.po create mode 100644 po/gl.gmo create mode 100644 po/gl.po create mode 100644 po/gu.gmo create mode 100644 po/gu.po create mode 100644 po/he.gmo create mode 100644 po/he.po create mode 100644 po/hi.gmo create mode 100644 po/hi.po create mode 100644 po/hr.gmo create mode 100644 po/hr.po create mode 100644 po/hu.gmo create mode 100644 po/hu.po create mode 100644 po/id.gmo create mode 100644 po/id.po create mode 100644 po/it.gmo create mode 100644 po/it.po create mode 100644 po/ja.gmo create mode 100644 po/ja.po create mode 100644 po/ka.gmo create mode 100644 po/ka.po create mode 100644 po/km.gmo create mode 100644 po/km.po create mode 100644 po/ko.gmo create mode 100644 po/ko.po create mode 100644 po/lo.gmo create mode 100644 po/lo.po create mode 100644 po/lt.gmo create mode 100644 po/lt.po create mode 100644 po/mk.gmo create mode 100644 po/mk.po create mode 100644 po/mr.gmo create mode 100644 po/mr.po create mode 100644 po/nb.gmo create mode 100644 po/nb.po create mode 100644 po/nl.gmo create mode 100644 po/nl.po create mode 100644 po/pa.gmo create mode 100644 po/pa.po create mode 100644 po/pl.gmo create mode 100644 po/pl.po create mode 100644 po/pt.gmo create mode 100644 po/pt.po create mode 100644 po/pt_BR.gmo create mode 100644 po/pt_BR.po create mode 100644 po/ro.gmo create mode 100644 po/ro.po create mode 100644 po/ru.gmo create mode 100644 po/ru.po create mode 100644 po/sk.gmo create mode 100644 po/sk.po create mode 100644 po/sl.gmo create mode 100644 po/sl.po create mode 100644 po/sr.gmo create mode 100644 po/sr.po create mode 100644 po/sv.gmo create mode 100644 po/sv.po create mode 100644 po/ta.gmo create mode 100644 po/ta.po create mode 100644 po/tr.gmo create mode 100644 po/tr.po create mode 100644 po/uk.gmo create mode 100644 po/uk.po create mode 100644 po/vi.gmo create mode 100644 po/vi.po create mode 100644 po/xh.gmo create mode 100644 po/xh.po create mode 100644 po/zh_CN.gmo create mode 100644 po/zh_CN.po create mode 100644 po/zh_TW.gmo create mode 100644 po/zh_TW.po create mode 100644 po/zu.gmo create mode 100644 po/zu.po create mode 100644 reflex/Makefile.am create mode 100644 reflex/reflex.c create mode 100644 ring/Makefile create mode 100644 ring/Makefile.am create mode 100644 ring/Makefile.in create mode 100644 ring/ring.c create mode 100644 ring/ring_options.c create mode 100644 ring/ring_options.h create mode 100644 scaleaddon/Makefile create mode 100644 scaleaddon/Makefile.am create mode 100644 scaleaddon/Makefile.in create mode 100644 scaleaddon/scaleaddon.c create mode 100644 scaleaddon/scaleaddon_options.c create mode 100644 scaleaddon/scaleaddon_options.h create mode 100644 scalefilter/Makefile create mode 100644 scalefilter/Makefile.am create mode 100644 scalefilter/Makefile.in create mode 100644 scalefilter/scalefilter.c create mode 100644 scalefilter/scalefilter_options.c create mode 100644 scalefilter/scalefilter_options.h create mode 100644 shift/Makefile create mode 100644 shift/Makefile.am create mode 100644 shift/Makefile.in create mode 100644 shift/shift.c create mode 100644 shift/shift_options.c create mode 100644 shift/shift_options.h create mode 100644 src/.deps/cursor.Po create mode 100644 src/.deps/display.Po create mode 100644 src/.deps/event.Po create mode 100644 src/.deps/fragment.Po create mode 100644 src/.deps/main.Po create mode 100644 src/.deps/match.Po create mode 100644 src/.deps/matrix.Po create mode 100644 src/.deps/metadata.Po create mode 100644 src/.deps/option.Po create mode 100644 src/.deps/paint.Po create mode 100644 src/.deps/plugin.Po create mode 100644 src/.deps/privates.Po create mode 100644 src/.deps/screen.Po create mode 100644 src/.deps/session.Po create mode 100644 src/.deps/texture.Po create mode 100644 src/.deps/window.Po create mode 100644 src/Makefile create mode 100644 src/Makefile.am create mode 100644 src/Makefile.in create mode 100644 src/action.c create mode 100644 src/cursor.c create mode 100644 src/display.c create mode 100755 src/ecomorph create mode 100644 src/event.c create mode 100644 src/fragment.c create mode 100644 src/main.c create mode 100644 src/match.c create mode 100644 src/matrix.c create mode 100644 src/metadata.c create mode 100644 src/option.c create mode 100644 src/paint.c create mode 100644 src/plugin.c create mode 100644 src/privates.c create mode 100644 src/screen.c create mode 100644 src/session.c create mode 100644 src/texture.c create mode 100644 src/window.c create mode 100644 stamp-h1 create mode 100644 text/Makefile create mode 100644 text/Makefile.am create mode 100644 text/Makefile.in create mode 100644 text/text.c create mode 100644 thumbnail/Makefile create mode 100644 thumbnail/Makefile.am create mode 100644 thumbnail/Makefile.in create mode 100644 thumbnail/thumbnail.c create mode 100644 thumbnail/thumbnail_options.c create mode 100644 thumbnail/thumbnail_options.h create mode 100644 thumbnail/thumbnail_tex.h create mode 100644 wall/Makefile create mode 100644 wall/Makefile.am create mode 100644 wall/Makefile.in create mode 100644 wall/wall.c create mode 100644 wall/wall_options.c create mode 100644 wall/wall_options.h diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..edea75e --- /dev/null +++ b/AUTHORS @@ -0,0 +1,32 @@ +compiz and the standard set of plugins are designed and written by + +David Reveman + +with additional functionality by + +Radek Doulik IO multiplexing +Mirco Müller Skydome support in cube plugin +Søren Sandmann plane plugin +Dan Winship gconf-dump plugin +Brian Paul Matrix functions + +and other contributions by + +Mike Cook +Mike Dransfield +Diogo Ferreira +gandalfn +Guillaume +Kristian Høgsberg +Dennis Kasprzyk +Gerd Kohlberger +Volker Krause +moppsy +Jeremy C. Reed +Thierry Reding +Julian Sikorski +Quinn Storm +Erkin Bahceci + +hacked by +Hannes Janetzek to make compiz work as a plain composite manager diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..e3b53c6 --- /dev/null +++ b/COPYING @@ -0,0 +1,3 @@ +All of the code is MIT licensed + +For More information COPYING.MIT. diff --git a/COPYING.GPL b/COPYING.GPL new file mode 100644 index 0000000..d60c31a --- /dev/null +++ b/COPYING.GPL @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/COPYING.LGPL b/COPYING.LGPL new file mode 100644 index 0000000..b124cf5 --- /dev/null +++ b/COPYING.LGPL @@ -0,0 +1,510 @@ + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/COPYING.MIT b/COPYING.MIT new file mode 100644 index 0000000..69ef1bf --- /dev/null +++ b/COPYING.MIT @@ -0,0 +1,21 @@ + +Copyright © 2005 Novell, Inc. + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without +fee, provided that the above copyright notice appear in all copies +and that both that copyright notice and this permission notice +appear in supporting documentation, and that the name of +Novell, Inc. not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +Novell, Inc. makes no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN +NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..bbfa473 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,1795 @@ +2006-06-21 David Reveman + + * src/window.c: Add updateTransientHint to protect against circular + transient dependencies. (bnc 186825) + +2006-06-20 David Reveman + + * src/window.c (addWindowSizeChanges): Constrain window + dimensions if they are too large. + + * gnome/window-decorator/gnome-window-decorator.c (get_mwm_prop): + Trap X errors. + +2006-06-20 Dan Winship + + * configure.ac (ALL_LINGUAS): Add pl + +2006-06-16 David Reveman + + * plugins/compiz.schemas.in.in: Regen. + + * plugins/switcher.c: + * plugins/scale.c: Add modal dialogs and fullscreen windows + to default window types. (bnc 185749) + + * gnome/window-decorator/gnome-window-decorator.c: Track motif + WM hints and disable decorations when application wants no + titlebar. (bnc 185852) + +2006-06-15 David Reveman + + * plugins/cube.c (cubePaintTransformedScreen): Remove + PAINT_SCREEN_CLEAR_MASK from mask. + + * plugins/switcher.c (switchPaintScreen): Add PAINT_SCREEN_CLEAR_MASK + when zooming. (bnc 183676) + + * src/paint.c (paintTransformedScreen): Clear color buffer if + PAINT_SCREEN_CLEAR_MASK is present. + + * include/compiz.h: Add PAINT_SCREEN_CLEAR_MASK. + + * gnome/window-decorator/gnome-window-decorator.c: Add DM selection + support and --repalce option so it's possible to replace an + existing window decorator in the same way as it's possible to replace + a window manager. (bnc 185296) + (close_button_event): + (max_button_event): + (min_button_event): De-highlight on NotifyGrab. (bnc 185293) + +2006-06-12 Dan Winship + + * plugins/cube.c: + * plugins/switcher.c: Mark cube as needing to load before switcher + rather than marking switcher as requiring cube. bnc #183676. + + * plugins/gconf-dump.c (dumpPluginOptions): Output load_before and + requires for all plugins, even if the list is empty, to ensure + that an empty value in a new release overrides a non-empty value + in an older release. + + * plugins/compiz.schemas.in.in: regen + +2006-06-09 Dan Winship + + * configure.ac: add translations + +2006-06-09 David Reveman + + * plugins/move.c (moveHandleMotionEvent): Handle shaded windows + better. + + * src/window.c (maximizeWindow): + * src/event.c (handleEvent): Allow windows to be both maximized + and shaded. + + * src/window.c: Update addWindowSizeChanges so it can be used by + moveResizeWindow. + (updateWindowAttributes): Add missing sendSyncRequest call. + (addWindowSizeChanges): Make maximized window placement a bit better. + (moveResizeWindow): Adjust window geometry using + addWindowSizeChanges. (bnc 183121) + + * src/window.c: Only allow shading on windows with top decoration. + + * src/event.c (handleEvent): Check that shade action is allowed + before shading a window. + +2006-06-08 David Reveman + + * plugins/decoration.c (decorInitWindow): + * plugins/minimize.c (minInitWindow): + * src/window.c (addWindow): Handle initially shaded windows + correctly. + + * plugins/switcher.c (switchTerminate): Only use hideWindow + if switcher window is managed and mapped. + (switchInitiate): Only use showWindow if switcher window is + hidden. (bnc 182519) + + * plugins/minimize.c (minHandleEvent): Make sure we adjust the window + region correctly when it's being unshaded. + +2006-06-07 David Reveman + + * configure.ac: Bump version to 0.0.13. + + * plugins/compiz.schemas.in.in: Regen. + + * src/window.c: Add window shading support. + + * src/screen.c: + * src/paint.c: + * src/event.c: Adjust for window shading support. + (handleEvent): Handle RESTACK client messages with sibling None + correctly. + + * src/event.c: + * src/display.c: Add toggle window shade binding. + + * plugins/minimize.c: Add window shading animation support. + + * plugins/fade.c: + * plugins/place.c: + * plugins/resize.c: + * plugins/scale.c: + * plugins/switcher.c: + * plugins/decoration.c: Adjust for window shading support. + + * include/compiz.h: Add window shading support. + + * gnome/window-decorator/gnome-window-decorator.c: lower_window -> + restack_window and change it so it can be used for both + raising and lowering a window. + Add support for double_click_titlebar setting. + (title_event): Don't activate window on titlebar click only + raise it. Use double_click_action to determine what should be + done when titlebar is double clicked. + (update_event_windows): Remove vertical resize event windows + when top level window is shaded. + (window_state_changed): Update event windows when window state + changed. + + * gnome/window-decorator/gnome-window-decorator.c: + * gnome/compiz-window-manager.c: Add support for shade double click + setting. + + * plugins/compiz.schemas.in.in: Regen. + + * plugins/cube.c (cubePaintTransformedScreen): + * plugins/wobbly.c (wobblyDrawWindowGeometry): + * plugins/switcher.c (switchPaintWindow): + * src/paint.c (drawWindowGeometry): Disable client-side texture + coordinate arrays that are not used. (bnc #182430) + + * plugins/compiz.schemas.in.in: + * plugins/resize.c: + * plugins/move.c: Add initiate_keyboard binding which is more + appropriate for key-binding as it moves the cursor to middle of + window. + +2006-06-06 David Reveman + + * plugins/switcher.c: Track thumbnail damage correctly. + (switchPaintScreen): Only intercept paintScreen when screen is + grabbed or we're zooming and ss->translate > 0.001. + (switchPaintScreen): Paint switcher window correctly when we're + not zooming. + Add cube as a dependency to make sure background is rendered + correctly when zooming. + (bnc #181909) + + * src/window.c (moveResizeWindow, ensureWindowVisibility): + Don't make sure fullscreen windows are in workarea. + (fdo #7115) (bnc #181907) + + * src/event.c (handleEvent): Track XA_WM_CLASS property changes. + + * src/window.c: + * include/compiz.h: remove updateWindowClass and update + updateWindowClassHints. + +2006-06-02 David Reveman + + * configure.ac: Bump version to 0.0.12. + + * src/event.c (handleEvent): Fix typo. + + * gnome/window-decorator/gnome-window-decorator.c: + Hide tooltips on NotifyGrab. (bnc #180692) + +2006-06-01 Dan Winship + + * src/event.c (handleEvent): If we receive a _NET_SHOWING_DESKTOP + request with no window set, set the flag on all screens. (Fixes + the KDE "show desktop" applet.) Also, don't allow a client to + change its _NET_WM_DESKTOP. + + * src/window.c (addWindow): Set _NET_WM_DESKTOP on all windows to + 0; KDE's pager and tasklist require this to be set. (bnc 178320) + +2006-06-01 David Reveman + + * include/compiz.h: + * src/window.c: Add updateWindowClass. + +2006-05-31 David Reveman + + * include/compiz.h: + * src/screen.c: + * src/display.c: Add hide_skip_taskbar_windows option. (bnc 180055) + + * include/compiz.h: + * src/window.c: Add getStartupId. + + * src/screen.c: Save initial viewport when startup notification + is received. Fix implementation of applyStartupProperties. + (bnc 180224) + + * src/event.c (handleEvent): Handle startup ID property changes. + + * plugins/place.c: Adjust work area to initial viewport. + + * plugins/cube.c (cubePaintTransformedScreen): Disable skydome + animation while cube is unfolded. (bnc 179833) + + * plugins/switcher.c (switchPaintWindow): Make sure selected window is + not clipped incorrectly when some window is transformed. (bnc 179828) + + * plugins/move.c (moveHandleEvent): Initialize xRoot and yRoot. + (bnc 179902) + + * src/Makefile.am (INCLUDES): Add @GL_CFLAGS@. (Eric Work) + +2006-05-30 Dan Winship + + * configure.ac: Check libwnck for wnck_window_has_name (new in + HEAD). + + * gnome/window-decorator/gnome-window-decorator.c + (wnck_window_get_real_name): #if HAVE_WNCK_WINDOW_HAS_NAME, + redefine wnck_window_get_name to return NULL if the window only + has a fallback name. bnc 173059. + + * src/event.c (handleEvent): call moveInputFocusToOtherWindow() + before destroyWindow() when processing a DestroyNotify, or else + the input focus can get stranded. + +2006-05-26 David Reveman + + * plugins/compiz.schemas.in.in: Regen. + + * plugins/scale.c (SCALE_SLOPPY_FOCUS_DEFAULT): TRUE. + + * plugins/decoration.c (decorWindowUpdate): No drop-shadow decoration + on windows with below state. + + * src/window.c (recalcWindowType): Treat dock windows with below state + as normal windows. (bnc #178316) + + * plugins/cube.c (cubePaintTransformedScreen): Avoid optimized case + when more than 4 cube sides. + +2006-05-25 David Reveman + + * plugins/compiz.schemas.in.in: Regen. + + * src/window.c (moveResizeWindow): Don't adjust position for NorthWest + gravity. (bnc 178765) (fdo #6992) + + * plugins/compiz.schemas.in.in: + * include/compiz.h: + * src/event.c (handleEvent): + * src/display.c: Add maximize_window_horizontally, + maximize_window_vertically, toggle_window_maximized, + toggle_window_maximized_horizontally, + toggle_window_maximized_vertically. + + * src/event.c (handleEvent): Track changes to maximizeWindow function. + + * plugins/move.c (moveHandleMotionEvent): Make sure we have a saved + width before we use it. Track changes to maximizeWindow function. + + * plugins/wobbly.c (wobblyHandleEvent): Handle the case where + window is not both vertically and horizontally maximized better. + + * include/compiz.h: Add MAXIMIZE_STATE macro. + + * include/compiz.h: + * src/window.c: Remove unmaximizeWindow and make maximizeWindow + take a state mask so it can be used for both maximizing and + unmaximizing. + + * plugins/switcher.c: Don't add windows that appear after the switcher + is popped up. (bnc 178350) + (switchWindowRemove): Don't create a new list. Instead remove + window from the existing list and make sure we're positioned + correctly. + +2006-05-24 David Reveman + + * plugins/scale.c (scaleMoveFocusWindow): When moving to window on + left, make sure the window we're moving to is completely left of + currently selected window. And same thing when moving to window on + right, top, bottom. + (layoutThumbs): Set slot->x2 and slot->y2 correctly. (bnc 178216) + +2006-05-23 David Reveman + + * plugins/water.c: GL_UNSIGNED_INT_8_8_8_8_REV as pixel data type on + MSBFirst machines. + + * src/texture.c: Include config.h before compiz.h so that + IMAGE_BYTE_ORDER is defined correctly. (bnc 178171) + + * include/compiz.h: Define LSBFirst, MSBFirst, IMAGE_BYTE_ORDER, + BITMAP_BIT_ORDER. (bnc 178171) + +2006-05-23 Dan Winship + + * plugins/switcher.c (switchToWindow): use ss->windows here as + well so that multiple activeNum==0 windows don't get skipped. + (switchTerminate): Remove the screen grab right away so that + keystrokes don't get dropped. bnc 177650 + (switchPreparePaintScreen, switchPaintScreen, + switchDonePaintScreen): update for that + +2006-05-22 Dan Winship + + * src/window.c (moveResizeWindow): deal with both vertical and + horizontal struts; but not when moving a dock window + + * plugins/switcher.c (switchHandleEvent): Check init_all binding + before init, so you can bind "" to init_all and so end up + with "Tab" being init_all rather than init (but with no way + to get "init"...). bnc 173376 + +2006-05-21 David Reveman + + * src/display.c (addDisplay): Select for button events on root windows. + + * configure.ac: Bump version to 0.0.11. + + * gnome/window-decorator/gnome-window-decorator.c: Fix shadow + performance by separating the convolution filter into one vertical and + one horizontal pass. + + * src/window.c (mapWindow): Give sync request on map another try, it + seems to be working now. + + * src/window.c (addWindow): Allow XGetWindowAttributes to fail. + (bnc 173416). + + * src/window.c (addWindow): Initialize managed to false. Set managed + to true if widows is viewable. + + * src/event.c (handleEvent): Set managed to false when window + transitions to withdrawn state. + (handleEvent): Set managed to true when we get MapRequest. + (handleEvent): Constrain configure request if window is managed. + + * include/compiz.h: Add "managed" variable that is true while + windows is managed. + +2006-05-19 David Reveman + + * plugins/switcher.c (ICON_SIZE): Allow use of larger window icons. + +2006-05-18 Dan Winship + + * plugins/wobbly.c (WOBBLY_FOCUS_DEFAULT): Set this to "None" to + match wobblyInitScreen() so that it actually works right. + + * plugins/compiz.schemas.in.in: regen + +2006-05-18 Dan Winship + + * src/session.c (saveYourselfCallback): if we have a + RestartCommand registered with the session manager, update the + --sm-client-id in it to match the id we were assigned. bnc 176746 + + * src/main.c (main, usage): remove unused --sm-save-file arg and + fix documentation of --sm-client-id. + +2006-05-17 David Reveman + + * plugins/compiz.schemas.in.in: Regen (Overlay Icon). + + * plugins/switcher.c (switchPaintScreen): Don't remove switcher + from window list, just temporarily mark it as destroyed. This fixes + issue with switcher decorations disappearing when some window is + unmapped. + + * src/screen.c (updateDefaultIcon): width and height should be + unsigned. + + * gnome/window-decorator/gnome-window-decorator.c: Add minimal + option that can be used to run g-w-d with drop-shadows but without full + window decorations. + + * plugins/minimize.c (minHandleEvent): Restore window position + when transitioning to withdrawn state. + + * plugins/scale.c: Remove next_window binding and fix so that arrow + keys can be used to select window. + Focus new window when pointer enter window decorations and sloppy focus + is used. + Remove scaleSelectWindow. + + * plugins/scale.c: Icon support (Nat Friedman). + +2006-05-17 Dan Winship + + * src/display.c (handleSelectionClear, eventLoop): don't process + exit-on-selection-clear until the event queue is empty, or else + MapRequest and ConfigureRequest events could get lost. bnc 175558 + +2006-05-14 David Reveman + + * src/event.c (handleEvent): mapNum might be 0 if we found the window + unmapped when trying to bind it to a texture. + +2006-05-12 David Reveman + + * src/screen.c (enterShowDesktopMode): Only go into show desktop mode + when some window is being hidden. + + * src/event.c (handleWindowDamageRect): Make sure placed is set to true + when no plugin is doing placement. + (handleEvent): Don't set WM_STATE on override redirect windows. + + * plugins/switcher.c (isSwitchWin): Don't show windows that ask not to + be in tasklists. + + * plugins/rotate.c (rotateHandleEvent): Only adjust viewport if window + has been placed. + + * plugins/minimize.c (minHandleEvent): Reset everything when going + into withdrawn state. + + * src/window.c (moveResizeWindow): Handle west and north gravity + correctly. + +2006-05-11 David Reveman + + * src/display.c (addDisplay): + * src/screen.c (addScreen): Move server grab to addDisplay to make + sure that no windows are created between XSelectInput and XQueryTree + as that would result in them being added two times. + + * src/window.c (moveResizeWindow): Fix typo, CWY should be CWX. + (moveResizeWindow): Constrain Y position so that window titlebar is + visible. + (restoreWindowGeometry): Fix issue with going from maximized state + to non-maximized state without changing the window size. + + * gnome/window-decorator/gnome-window-decorator.c + (max_window_name_width): Make sure title text fit in titlebar. + +2006-05-11 Dan Winship + + * plugins/gconf-compiz-utils.c (gconfStringToBinding): Treat "" as + meaning "disabled" + +2006-05-11 David Reveman + + * gnome/window-decorator/gnome-window-decorator.c (action_menu_map): + Don't show window action menu on desktop and dock windows. + + * src/event.c (handleEvent): Allow click on window decorations + to trigger window action menu. + + * plugins/place.c (placeWindow): Place fullscreen and maximized + windows correctly. + (placeWindow): Only clip dialog position to screen if parent is + visible in current viewport. + +2006-05-09 David Reveman + + * plugins/switcher.c (switchPaintThumb): Rearrange code so we handle + the case when bindWindow fails. + + * src/paint.c (paintWindow): Bail out if window is not mapped. + + * src/window.c (bindWindow): Make sure window is mapped when + getting the window pixmap. (bnc 173248) + + * plugins/compiz.schemas.in.in: Regen. + + * plugins/cube.c (CUBE_MIPMAP_DEFAULT): Enable by default as + performance seem to be OK now when new mipmaps are only generated + when necessary. + + * src/texture.c (enableTexture): Don't generate new mipmaps + every time the texture is used. + +2006-05-08 David Reveman + + * plugins/switcher.c: Allow switcher to be initiated with prev + bindings. (Quinn Storm) + +2006-05-07 David Reveman + + * plugins/compiz.schemas.in.in: Regen. + + * plugins/switcher.c: Add icon support, minimized windows support + and allow switcher to show up when only one selectable window exist. + + * images/Makefile.am: Add default icon image. + + * include/compiz.h: + * src/texture.c: + * src/event.c (handleEvent): + * src/screen.c: + * src/display.c: + * src/window.c: Add WM icon interface. + + * gnome/window-decorator/gnome-window-decorator.c: Compute + switcher title text width correctly. + + * src/event.c (handleEvent): Insert windows correctly when + reparenting. + +2006-05-07 Dan Winship + + * configure.ac: Add --with-scale-corner option and make + compiz.schemas reflect it; the best corner to use depends on where + the panels are and what's on them, so distros will want to + override this to match their default panel layout. + + * src/event.c (eventMatches): Fix the the "water plugin gets + mysteriously activated when activating some other keybinding" bug. + +2006-05-05 Dan Winship + + * Makefile.am: + * autogen.sh: + * configure.ac: require intltool for option-description + translation + + * plugins/Makefile.am: translate compiz.schemas.in into + compiz.schemas + +2006-05-05 Dan Winship + + * src/display.c (COMMAND_OPTION): Put numbers into the shortDescs + of the command and run_command options + + * plugins/wobbly.c (WOBBLY_SNAP_MODIFIERS_DEFAULT): Use Shift + rather than Control, for consistency with Metacity, and to remove + the ambiguity about whether Ctrl+Alt+Button1 should be "grab cube" + or "move with snapping". (bnc 169402) + + * plugins/compiz.schemas: regen + +2006-05-05 David Reveman + + * plugins/compiz.schemas: Regen. + + * gnome/window-decorator/gnome-window-decorator.c: Forward + metacity's bell settings to compiz. + + * plugins/water.c: + * plugins/wobbly.c: + * plugins/fade.c: Add visual bell. + + * include/compiz.h: + * src/display.c: Add audible bell option. + +2006-05-04 David Reveman + + * src/window.c (getModalTransient): Avoid infinite recursion when more + than one group transient got modal state. + +2006-05-03 David Reveman + + * plugins/move.c: + * plugins/resize.c (resizeHandleMotionEvent): Don't constrain the + cursor. + + * plugins/rotate.c (rotateHandleEvent): Use defaultViewportForWindow + to figure out which viewport we should move to. (bnc 152677) + + * src/window.c (addWindowSizeChanges): Offset x coordinate with + default viewport coordinate. (bnc 171465) + (updateWindowAttributes): Always add windows size changes. (bnc 171465) + + * include/compiz.h: + * src/window.c (defaultViewportForWindow): Add defaultViewportForWindow + function that computes the default viewport for a window. + +2006-05-02 David Reveman + + * plugins/cube.c (cubePaintTransformedScreen): Bump up size a bit more + to make sure the cube unfolds completely. + + * src/event.c (handleEvent): Not constraints should be applied to + ConfigureRequests for withdrawn windows. (bnc 171143) + + * src/window.c (syncWindowPosition): We never need to send synthetic + ConfigureNotify events as we're not reparenting windows. + +2006-05-02 Dan Winship + + * plugins/gconf-dump.c: rewrite to make compiz.schema regeneration + a little easier, and to make it possible to generate schema files + for third-party plugins. Include plugin descriptions and + dependency information in the schema. + + * plugins/Makefile.am: add a rule to generate compiz.schemas + + * plugins/compiz.schemas: regen + + * plugins/cube.c, plugins/decoration.c, plugins/fade.c, + plugins/gconf.c, plugins/minimize.c, plugins/wobbly.c: + s/expose/scale/ in dependencies + +2006-05-02 David Reveman + + * include/compiz.h: + * configure.ac: Don't require glproto, include necessary enums in + compiz.h. + + * src/texture.c: + * include/compiz.h: Update to latest EXT_tfp spec. Requires an + X server that has also been updated. + + * configure.ac: Require glproto >= 1.4.7 with final EXT_tfp tokens. + +2006-05-01 David Reveman + + * src/window.c (circulateWindow): + * src/event.c (handleEvent): Use getTopWindow instead of + reverseWindows->id as reverseWindows might be a destroyed window. + + * include/compiz.h: + * src/screen.c: Add getTopWindow function that returns top window. + +2006-04-30 David Reveman + + * plugins/compiz.schemas: Regen. + + * plugins/decoration.c (decorWindowUpdate): Don't decorate fullscreen + windows. + + * plugins/cube.c: Add initial support for unfolding the cube. Default + key-binding is Down. + + * plugins/rotate.c (rotateHandleEvent): Fix absolute rotation. + + * plugins/switcher.c: Fix so that bring-to-front doesn't change + the actual stacking order. + Add zoom option, enable it by default so it gets some testing. + Made bring-to-front enabled by default as it makes zoom functionality + more useful. + Made switcher window always rendered above all other windows and + not affected by screen transformations. + + * src/event.c (handleEvent): Send configure notify before mapping + window if PPosition or USPosition is set. + + * src/screen.c (insertWindowIntoScreen): Sibling above doesn't have to + be mapped. This change seem to currently by causing the + stacking order of some override-redirect windows to be incorrect. + Don't insert window when aboveId doesn't match an existing window. + (removeScreenGrab): ifdef DEBUG around abort. + + * src/event.c (handleEvent): Only update active window property + when it's changing. + + * src/window.c (sendConfigureNotify): Make sure the latest + window attributes are put in the ConfigureNotify. + (moveResizeWindow): Only send sync request if window is mapped. + + * plugins/rotate.c: Add support for edge-flipping when using + drag-and-drop. Remove edge_flip and flip_move options and add + edge_flip_pointer, edge_flip_move, edge_flip_dnd. + + * src/screen.c: + * src/display.c: + * include/compiz.h: + Make screen edges drag-and-drop aware. + + * plugins/zoom.c: + * plugins/water.c: + * plugins/switcher.c: + * plugins/scale.c: + * plugins/rotate.c: + * plugins/resize.c: + * plugins/move.c: + * src/scren.c: + * include/compiz.h: + Variable argument list to otherScreenGrabExist, last argument must + be 0. + + * src/event.c: + * src/display.c: + * include/compiz.h: Add raise-on-click option. + + * gnome/window-decorator/gnome-window-decorator.c (title_event): + Activate window when clicking titlebar. + +2006-04-28 David Reveman + + * gnome/window-decorator/gnome-window-decorator.c: Back out last change + as it clearly didn't fix anything. XFixed being defined as "int" + is perfectly fine of course. libXrender is currently broken on 64bit. + See Bug #6774 for a fix. + (XRenderSetPictureFilter_wrapper): Add workaround for 64bit + issue in libXrender. (Dan Winship) + + * src/event.c (handleEvent): + * src/display.c: + * include/compiz.h: + Add show desktop binding. (Martin Szulecki) + + * plugins/rotate.c: Reset timout handle correctly. + + * plugins/move.c: + * plugins/resize.c: + * plugins/rotate.c: + * plugins/scale.c: + * plugins/switcher.c: + * plugins/water.c: + * plugins/zoom.c: Track screen grab changes changes. + + * src/screen.c: + * include/compiz.h: Associate all screen grabs with a name. Add + otherScreenGrabExist function which can be used to check if screen + is grabbed by other plugins. + +2006-04-28 Dan Winship + + * src/event.c (eventMatches): new method that replaces EV_KEY and + EV_BUTTON. Tests if an event matches a binding, being more precise + about modifier state than EV_KEY and EV_BUTTON were. + (eventTerminates): Tests if an event is "the opposite" of a + binding. (Eg, button or modifier key release.) Replaces + CompReleaseMask and "terminate" bindings. + (handleEvent): Use eventMatches + + * src/screen.c (addPassiveKeyGrab, removePassiveKeyGrab, + updatePassiveKeyGrabs): When passed a keybinding containing just + modifiers, grab/ungrab every keypress event that would result in + that modifier state (eg, both left and right modifier keys, and + allow them to be pressed in any order). + + * src/display.c: Remove CompPressMask from default bindings. + (eventLoop): don't add virtual modifiers to event state. + (updateModifierMappings): store the XModifierKeymap for later + use. + + * plugins/*.c: Use eventMatches and eventTerminates. Remove + CompPressMask and "terminate" bindings (except from scale, which + is different from the others). + + * plugins/switcher.c: Make initiate_all be just the modifier key + used in addition to the initiate binding (""). Remove + next_window since it doesn't make a lot of sense to have it be + different from initiate_all, and make prev_window be just a + modifier key as well. (""). + (SwitchScreen): add extra options to store the fully-composed + initiate_all, prev, and prev_all bindings. + (switchScreenInitOptions, switchSetScreenOption): Generate and + regenerate initiate_all, prev, and prev_all bindings as needed. + (switchHandleEvent): update + + * plugins/gconf-compiz-utils.c: Remove "" handling. + + * plugins/compiz.schemas: regen, dropping the terminate bindings + and updating a few others. + + * include/compiz.h: remove CompPressMask, CompReleaseMask, + EV_BUTTON, and EV_KEY. Add eventMatches, eventTerminates, and + keycodeToModifiers. Add modMap field to CompDisplay. + +2006-04-28 David Reveman + + * plugins/water.c: Handle enter/leave notify events. + + * plugins/decoration.c (decorInitWindow): Check for window specific + decoration on both mapped and unmapped windows so that initially + minimized windows get properly decorated. (Dan Winship) + + * gnome/window-decorator/gnome-window-decorator.c: Use xfixed_16_16_t + instead of XFixed to avoid 64bit issue with XFixed being defined as + "int". + + * configure.ac: xrender 0.8.4 is good enough. + +2006-04-27 Dan Winship + + * plugins/rotate.c (rotateHandleEvent): for the + rotate-to-specific-face keys, rotate counterclockwise when that's + faster. (bnc 169427) + + * plugins/scale.c (scaleHandleEvent): Make the corners toggle + scale mode rather than only activating it. (bnc 169408) + +2006-04-27 David Reveman + + * configure.ac: Bump version to 0.0.10. + + * plugins/decoration.c: Remove debug variable. + + * src/window.c (addWindow): Check if window is minimized. (Dan Winship) + + * plugins/compiz.schemas: Regen (snapoff and maximize_effect). + + * plugins/wobbly.c: Add maximize effect. + + * plugins/zoom.c: + * plugins/water.c: + * plugins/rotate.c: + * plugins/resize.c: + * plugins/move.c: + * src/event.c: + * src/screen.c: + * src/display.c: + * include/compiz.h: Add proper warp pointer interface and update + all plugins to use it. + +2006-04-26 Dan Winship + + * src/event.c (handleEvent): activate window on Button2 click in + addition to Button1 and Button3. + + * plugins/gconf.c (gconfSetOption): gconf_value_compare against + the old value for list-type options too. + (gconfInitOption): Change the call to gconf_client_get_entry to + request the default value again; the fix to gconfSetOption will + prevent the infinite loops that happened before. + +2006-04-26 David Reveman + + * gnome/window-decorator/gnome-window-decorator.c (update_shadow): + Remove comment that is no longer valid. + + * plugins/move.c: Support for maximized windows snap-off. Based on + patch by Colin Guthrie. + + * plugins/rotate.c (rotateHandleEvent): Don't do edge flipping + when a horizontally maximized or fullscreen window is grabbed. + + * plugins/zoom.c: + * plugins/rotate.c: + * plugins/resize.c: + * plugins/move.c: + * src/screen.c: + * include/compiz.h: Add warpPointerToScreenPos and use it everywhere + we want to invisibly warp the pointer. + +2006-04-25 David Reveman + + * gnome/window-decorator/gnome-window-decorator.c: + * plugins/decoration.c: Add clamp and min size. + + * plugins/decoration.c (decorReleaseDecoration): Fix memory leak. + + * plugins/scale.c: Click on background leaves scale mode and enters + show desktop mode. (Dan Winship) + + * plugins/minimize.c (minHandleEvent): Initialize scale and + translate properly. + + * src/window.c (activateWindow): + * src/event.c (handleEvent): + * src/screen.c: Add window parameter to leaveShowDesktopMode and + use this function for making one window leave show desktop mode. + Fixes so that we're leaving show desktop mode when no windows + are longer hidden. + + * plugins/scale.c (scaleSetScreenOption): Add missing break statement. + + * plugins/rotate.c (rotateInitScreen): Initialize rotateHandle. + + * src/paint.c (paintScreen): Only paint windows that have been + damaged. + +2006-04-24 Dan Winship + + * plugins/scale.c: + * plugins/switcher.c: clarify the "initiate" descriptions + + * plugins/compiz.schemas: regen + +2006-04-24 David Reveman + + * src/paint.c (paintScreen): Always call paintWindow when window + is visible. Fixes so that window animations (fade, minimize...) aren't + paused when if window becomes invisible. + (paintWindow): Return early if region is empty. + + * plugins/switcher.c: Use hideWindow and showWindow so that the + decoration doesn't have to be redrawn every time the switcher window + is mapped. + + * src/window.c: + * include/compiz.h: Add hidden flag, that can be used to hide windows + without minimizing them. + + * plugins/compiz.schemas: Regen (drop-shadow options). + + * configure.ac: xrender 0.9, required for g-w-d. + + * gnome/window-decorator/gnome-window-decorator.c: + * plugins/decoration.c: Add configurable drop-shadows. A minor issue is + that shadows around "tiny" windows are not rendered correctly when + large shadow offsets are used. Solution is to have the decorator set + a minimum size for which a decoration can be used so that no shadows + are rendered around "tiny" windows. + +2006-04-20 Dan Winship + + * plugins/rotate.c: add 12 go-directly-to-cube-face and 12 + go-directly-to-cube-face-with-window bindings. + + * src/display.c (compDisplayInitOptions): fix the binding type on + WINDOW_MENU. + + * plugins/compiz.schemas: Regen. (lower_window, window_menu, + scale_image, images, resize, flip_move, move_window_types, and the + new rotate bindings) + +2006-04-20 David Reveman + + * src/window.c: + * src/event.c (handleEvent): + * src/display.c: + * include/compiz.h: + * gnome/window-decorator/gnome-window-decorator.c: Add force quit + dialog. + + * plugins/resize.c: Changed default binding to Button2. + + * src/display.c (LOWER_WINDOW_BUTTON_DEFAULT): Button2 -> 6. + + * gnome/window-decorator/gnome-window-decorator.c: + * include/compiz.h: + * src/event.c (handleEvent): + * src/display.c: Add window menu binding. + + * gnome/window-decorator/gnome-window-decorator.c: Pick up toolkit + actions from compiz and send gnome panel actions for "main menu" and + "run dialog" actions. + + * src/event.c (handleEvent): + * src/screen.c: + * include/compiz.h: + * src/display.c (addDisplay): panel action -> toolkit action. + + * src/window.c (getModalTransient): Group transient must not be an + ancestor to the window we've currently found as the window to focus. + (getModalTransient): Check for child modal transient. + +2006-04-19 David Reveman + + * gnome/compiz-window-manager.c: Be nice to gnome-theme-manager + and return a theme even though we currently don't support it. + + * include/compiz.h: + * src/main.c: Remove window-image option. + + * include/compiz.h: + * plugins/water.c: + * plugins/cube.c: + * src/texture.c: + * src/paint.c: + * src/main.c: Add strict-binding option. + +2006-04-18 Dan Winship + + * src/event.c (handleEvent): Fix a crasher in the screenshot + binding code (and rename some of the #defines to make them not so + ridiculously long). Also temporarily hack around a bug in EV_KEY + by putting the check for WINDOW_SCREENSHOT before the check for + SCREENSHOT. + + * plugins/scale.c: Change the keybinding again, now to "Pause". + (F11 is the "fullscreen mode" binding for many apps.) + + * plugins/compiz.schemas: update + + * plugins/gconf.c: + * plugins/gconf-compiz-utils.c: + * plugins/gconf-dump.c: Rearrange #includes to prevent warning + about TRUE and FALSE being redefined + +2006-04-18 David Reveman + + * plugins/rotate.c (ROTATE_FLIPMOVE_DEFAULT): Changed to TRUE. + + * src/window.c (recalcWindowActions): Remove maximize and fullscreen + actions when resizing isn't allowed. + + * gnome/window-decorator/gnome-window-decorator.c: Dynamic positioning + of window buttons. + + * plugins/cube.c (readSvgToTexture): Fix typo. + + * plugins/resize.c: Constrain cursor movement to min/max window size. + + * src/window.c (constrainNewWindowSize): Fix aspect ratio calculations. + +2006-04-17 David Reveman + + * plugins/cube.c: Put PNG on top face by default. + + * images/Makefile.am: Remove window.png. + Add novell.png. + + * include/compiz.h: + * src/readpng.c: Add openImageFile. + + * plugins/cube.c: Support for PNGs on top face. + Add scale image option which is used to determine if top face + image should be scaled or not. + +2006-04-15 David Reveman + + * plugins/wobbly.c: Add modal dialog type to default list of windows + that should be wobbly when moved. + + * plugins/water.c (SET): +1 for border. + +2006-04-14 Dan Winship + + * plugins/gconf-dump.c: add "water" to gconfDeps + + * plugins/compiz.schemas: regen including the water options + +2006-04-14 David Reveman + + * src/event.c (handleWindowDamageRect): Ignore damage from windows + that aren't redirected. + + * include/compiz.h: + * src/window.c: + * src/display.c (eventLoop): + * src/screen.c: Add support for automatic unredirecting of fullscreen + windows. + + * plugins/scale.c (scaleInitiate): Layout thumbnails before we + grab the screen to make sure some window exist. + + * plugins/resize.c: Allow 4-way resize. (Mike Hearn) + +2006-04-13 Dan Winship + + * src/screen.c (panelAction): take a timestamp and pass that to + the panel rather than using CurrentTime + + * src/event.c (handleEvent): update for that + + * src/window.c (moveResizeWindow): fix the gravity handling so + self-resizing windows don't dance (although I'm pretty sure this + is a symptom of mishandling gravity somewhere else). + + * plugins/gconf.c (gconfInitOption): Request the default value of + the key from gconf, rather than initializing the key to the + internal default value if it hasn't yet been set by the user. + Notably, this makes it so that "compiz gconf" on a new account + will use the default value of active_plugins rather than the + (effectively empty) list of plugins on the command line. (It also + makes it so that the sysadmin can override defaults via sabayon or + whatever.) + +2006-04-13 David Reveman + + * src/window.c (mapWindow): Maybe not, disable it again. :( + + * src/window.c (mapWindow): Enable draw synchronization on map + again. Should be working correctly with CVS version of X server. + +2006-04-12 Dan Winship + + * src/window.c (moveResizeWindow): move duplicated code from + _NET_MOVERESIZE_WINDOW and ConfigureRequest handlers in event.c to + here, and handle gravity as well. (Fixes bnc 163058.) + (updateWindowAttributes): Do nothing if the window is + override_redirect (and remove a few now-redundant checks of that + elsewhere). Previously we were forgetting to check + !override_redirect in the case where the motif hints changed. (bnc + 163931) + (getWindowUserTime): fix a cut-and-paste-o that caused a crash on + 64bit machines. + + * src/event.c (handleEvent): fix the _NET_MOVERESIZE_WINDOW bit + manipulation to correspond to what the EWMH means rather than what + it says, and use moveResizeWindow for that and for + ConfigureRequest. + + * plugins/gconf-compiz-utils.c (gconfBindingToString): DTRT with + "None" bindings. + + * gnome/window-decorator/gnome-window-decorator.c (title_event): + if the user right-clicks on the titlebar while the context menu is + popped up, just pop it down and eat the click, like all other + GNOME context menus do. + (style_changed, value_changed): Don't add decorations to + previously-undecorated windows. (bnc 165393) + +2006-04-11 David Reveman + + * src/screen.c (addScreen): Fix typo. + +2006-04-10 Dan Winship + + * src/window.c (focusWindowOnMap): new function to decide whether + or not to focus a newly-mapped window. In addition to the old + checks, this also checks that _NET_WM_USER_TIME isn't 0, to allow + a window to explicitly request to not get focus. + + * src/event.c (handleEvent): use focusWindowOnMap when processing + MapRequest. + + * plugins/rotate.c (rotateHandleEvent): fix _NET_ACTIVE_WINDOW + handling so this doesn't interfere with focusable panel applets. + + * plugins/compiz.schemas: regen (fixing cube top/bottom color) + + * plugins/gconf-dump.c: Handle CompOptionTypeColor. + + * configure.ac: Add --enable-gconf-dump so that the gconf-dump + plugin doesn't get built in normal builds + + * plugins/Makefile.am: make gconf-dump optional. + +2006-04-09 Dan Winship + + * plugins/gconf-dump.c: add plugin options, and add information + about restrictions (numeric ranges, specific string values) to the + long description. Make gconf-dump refuse to run if gconf is + running (since you want the defaults it writes out to be coming + from the defaults in the source code, not from any gconf + overrides). + + * plugins/compiz.schemas: regen + + * plugins/gconf.c (gconfGetOptionValue): don't call gconfSetOption + from here, or we'll get an infinite loop when anything changes + +2006-04-09 David Reveman + + * include/compiz.h: + * src/display.c: + * src/main.c: + * src/screen.c: + * src/texture.c: + * src/window.c: Remove test mode. + + * plugins/Makefile.am: Remove schema from CLEANFILES. + + * plugins/compiz.schemas: + * src/display.c: + Improve documentation for runcommand keys slightly. (Mike Hearn) + + * include/compiz.h: + * src/texture.c: + * src/screen.c (addScreen): Switch to using GLX 1.3 functions. + (James Jones) + + * src/main.c: Indirect rendering option. (James Jones) + +2006-04-08 David Reveman + + * plugins/water.c: Add rain delay option. (Emilie Roberts) + +2006-04-07 David Reveman + + * plugins/gconf-dump.c: Dump list options correctly. + + * plugins/rotate.c: Add flip_move option, edge flipping is only + used when moving windows if this option is enabled. + (rotateHandleEvent): Make we don't rotate when some other plugin + has grabbed the screen. + + * plugins/scale.c: Change default key-binding to F11. + (scaleInitiate): Make sure screen isn't grabbed by some other plugin. + (scaleInitScreen): Initialize darkenBack properly. + + * configure.ac: Bump version to 0.0.9. + + * plugins/Makefile.am (CLEANFILES, EXTRA_DIST): Fix. + + * plugins/rotate.c (ROTATE_SPEED_DEFAULT): 1.5. + +2006-04-07 Dan Winship + + (Much of this patch was written by Radek Doulik + .) + + * src/display.c: + * src/event.c: + * src/screen.c: Move keybinding stuff to CompDisplay, making it no + longer settable per-screen. Add bindings for screenshots (for + compatibility with metacity, which handles that keybinding in + GNOME for historical reasons). + + * include/compiz.h: add an explicit CompBindingTypeNone rather + than relying on modifiers==0 to mean none. Update bindings stuff. + + * src/screen.c (removePassiveKeyGrab, removePassiveButtonGrab): + Fix these to remove the right grab rather than always removing the + most-recently-added one. + (addScreenBinding): deal with CompBindingTypeNone + + * plugins/gconf-dump.c: hacky plugin to dump information about the + other plugins to a gconf schemas file (used to regenerate + compiz.schemas) + + * plugins/gconf-compiz-utils.c: shared code between gconf.c and + gconf-dump.c + + * plugins/Makefile.am: add gconf-dump plugin and compiz.schemas, + and code to install compiz.schemas. + + * configure.ac: Update gconf test to set macros needed for schema + install. + +2006-04-07 David Reveman + + * plugins/rotate.c: Add edge flipping support. + + * plugins/scale.c: Allow corner screen edges to be used for + initiating scale mode. + + * src/option.c (compSetBoolOption): Only return TRUE if value changed. + + * src/screen.c: + * src/window.c: + * plugins/minimize.c: + * plugins/decoration.c: + * include/compiz.h: Add immediate argument to MoveNotify, immediate + means that any animations should be avoided. + + * src/screen.c: + * plugins/water.c: + * plugins/resize.c: + * plugins/place.c: + * plugins/move.c: + * plugins/zoom.c: + * plugins/rotate.c: + * plugins/scale.c: + * src/event.c: + * include/compiz.h: + Add previous pointer position that can be shared between multiple + plugins. + +2006-04-06 David Reveman + + * include/compiz.h: + * src/screen.c: Add screen edges and simple interface for enabling + and disabling them. + + * plugins/switcher.c (switchDamageWindowRect) + (switchWindowRemove): Update switcher list even when screen isn't + grabbed. + + * plugins/switcher.c (switchDamageWindowRect): + * include/compiz.h: + * src/event.c (handleEvent): + * src/window.c: Made it possible to select if window should be + stacked above fullscreen windows or not. + + * src/window.c (findSiblingBelow): Only find a fullscreen sibling + if aboveFs is TRUE. + (activateWindow): Allow stacking of window above fullscreen windows + when being activated. + +2006-04-05 David Reveman + + * plugins/water.c (fboEpilogue): Reset raster position. Avoids + an FBO/raster-position issue found in newer nvidia drivers. + + * plugins/move.c: Add constrain_y option that constrains window + movement so that top of window is always visible (on by default). + + * src/event.c (handleEvent): Change active window property even though + it's not different than the window we currently have as active. + + * src/window.c (moveInputFocusToWindow): Set focus even though + the window is considered the active window. + +2006-04-03 David Reveman + + * plugins/water.c: Use char everywhere instead. + Fix offset direction (P-a Bäckström). + Add offset scale option. + + * plugins/water.c: (loadFragmentProgram): GLubyte -> const GLbyte. + (loadWaterProgram): char -> GLbyte. + (loadBumpMapProgram): char -> GLbyte. + Use char everywhere. + + * configure.ac: Bump version to 0.0.8. + + * plugins/water.c: Add simple rain effect. + (loadFragmentProgram): Clear any previous error. + + * src/display.c: Change so that timeouts are not only triggered + when we're idle. + +2006-04-02 David Reveman + + * plugins/water.c: Add scale and bias to normal so that light can be + computed correclty. Offset texture coordinates for nice refraction + effect. (P-a Bäckström) + (waterDrawWindowTexture): Add scaling after setting up texture + coordinate generation. + Fix up loading of bump map programs. + (softwareUpdate): Improve performance of software fall-back code a bit. + (waterDrawWindowTexture): Always use filter for when window is + transformed. + + * plugins/gconf.c (gconfGetValue): Fix typo that caused color + parsing to be incomplete (Quinn Storm). + +2006-04-01 David Reveman + + * plugins/switcher.c: Add "initiate all" binding which brings up the + switcher window with all mapped windows and "initiate" binding will + now bring up the switcher window with only the visible windows. + +2006-03-31 David Reveman + + * plugins/minimize.c (minDamageWindowRect): Never leave windows + in scaled state. + + * src/screen.c (moveScreenViewport): Move hidden windows as well. + + * src/window.c (addWindow, activateWindow, hideWindow) + (showWindow): + * src/screen.c (enterShowDesktopMode, leaveShowDesktopMode): + * src/event.c (handleEvent): + * include/compiz.h: Fix up show desktop mode. + + * plugins/water.c (fboVertices): return 1. + +2006-03-30 David Reveman + + * src/texture.c (enableTexture): Always make sure mipmaps are up to + date when using GL_LINEAR_MIPMAP_LINEAR filter. + +2006-03-29 David Reveman + + * gnome/window-decorator/gnome-window-decorator.c: Draw outline around + window title text and buttons instead of small shadow. + + * src/event.c (handleEvent): + * include/compiz.h: + * src/window.c: Set allowed window actions more correctly. + + * plugins/move.c: Add opacity option. + + * plugins/Makefile.am: Add water plugin. It's not very useful yet + and it needs more work but it's a good example of how to use + GL_ARB_fragment_program and GL_EXT_framebuffer_object for visual + effects. + + * src/screen.c (addScreen): Fix light position. + + * src/paint.c (paintWindow): + * plugins/switcher.c (switchPaintThumb): + * plugins/decoration.c (decorPaintWindow): + * include/compiz.h: Make drawWindowTexture a screen function so that + plugins can wrap it. + + * src/texture.c (enableTexture): + * src/screen.c (addScreen): + * include/compiz.h: GL_EXT_framebuffer_object and + GL_ARB_fragment_program support. + +2006-03-21 David Reveman + + * gnome/window-decorator/gnome-window-decorator.c (lower_window): Don't + try to lower a window below hidden windows or desktop windows. + +2006-03-20 David Reveman + + * plugins/wobbly.c (wobblyHandleEvent): + xunmap -> xmap (François Ingelrest). + + * src/screen.c (isClientListWindow): All type of windows should go into + the client lists (Thanks to Quinn Storm). + + * src/window.c (freeWindow): Destroy frame window. + (mapWindow): Fix so the sync requests are sent correctly when a window + is mapped but disable it for now as it seems to be causing problems + with some applications. + (recalcWindowActions): Allow dialog window actions on util and + toolbar windows. + + * src/event.c (handleEvent): Remove event mask and button grabs + when window is reparented. + (handleEvent): Update client list when window type changes. + (handleEvent): Use constrainNewWindowSize on move/resize client + messages and configure requests. + + * gnome/window-decorator/gnome-window-decorator.c (window_closed): + Delete decor property when window is closed. + +2006-03-17 Jeremy C. Reed + + reviewed by: David Reveman + + * autogen.sh: + Be consistent with rest of modular xorg by using same + autogen.sh. This allows it to be run using a different + work directory. + +2006-03-17 Jeremy C. Reed + + reviewed by: David Reveman + + * INSTALL: + Mention startup-notification requirement. + +2006-03-17 David Reveman + + * plugins/scale.c: Add opacity option. + + * configure.ac: Bump version to 0.0.7. + +2006-03-17 Radek Doulik + + * src/session.c: added all mandatory SM client callbacks, handle + ICE connection and process ICE messages + + * src/display.c (compAddWatchFd): new function, adds new fd watch + - for poll io multiplexing + (compRemoveWatchFd): new function, remove fd watch added by + compAddWatchFd + (doPoll): new helper function, does call poll and calls callbacks + for watch fd's. returns the value of poll call + (eventLoop): use doPoll, we use NULL for display fd watch so that + it doesn't call anything and just use return value from poll as + before + +2006-03-17 David Reveman + + * plugins/switcher.c (switchDamageWindowRect): Update window + attributes for popup window. We never get a MapRequest for this + window so it most be done here. + Add "bring to front" option. (Greg) + + * src/window.c (stackAncestors): Never raise desktop windows. + Made restackWindowAbove and restackWindowBelow smarter. + +2006-03-16 David Reveman + + * plugins/minimize.c: + * src/event.c (handleEvent): + * src/window.c: + Handle window state changes correctly. + (maximizeWindow): Use actions to determine if we're allowed maximize + window. + + * src/event.c (handleEvent): + * src/window.c: Send configure notifies correctly. + +2006-03-15 David Reveman + + * plugins/switcher.c (switchPaintWindow): Fix paint attribute + calculations. + + * include/compiz.h: + * src/event.c (handleEvent): + * src/window.c: Add restackWindowBelow. + +2006-03-14 David Reveman + + * plugins/switcher.c: Opacity, brightness and saturation as adjustable + options. (Greg) + + * src/window.c (syncWindowPosition): Move frame window now instead of + waiting for client window to change before moving it. + + * plugins/move.c (moveTerminate): Sync window position before + releasing pointer grab so that the EnterNotify event from the release + go to the correct window. + + * src/window.c (unmapWindow): Put window in withdrawn state when + being unmapped. Should make it work better with KDE. (Tim Northover) + + * src/screen.c (addScreen): Fix ambient and diffuse light. + + * src/main.c (main): Add --version command line option. + + * src/event.c: + * src/screen.c: + * include/compiz.h: Add bindings for changing window opacity. + +2006-03-14 Radek Doulik + + * src/event.c (handleEvent): handle minimize/maximize/unmaximize + window keybindings + + * src/screen.c: added minimize/maximize/unmaximize window + options/keybindings + + * src/window.c (maximizeWindow): new helper function + (unmaximizeWindow): ditto + +2006-03-14 David Reveman + + * plugins/scale.c: Add darken background option (Daniel G. Taylor). + +2006-03-13 David Reveman + + * src/display.c (eventLoop): + * include/compiz.h: + * src/screen.c (addScreen): CopySubBufferMESA support. + +2006-03-07 David Reveman + + * gnome/window-decorator/gnome-window-decorator.c (lower_window): + Remove unused variable tmp. + + * src/event.c: + * src/display.c: + * src/window.c: + * src/screen.c: + * include/compiz.h: Better window stacking support. + + * gnome/window-decorator/gnome-window-decorator.c: Lower window + when clicking button 2 on titlebar. + + * src/window.c (ensureWindowVisibility): Only ensure that window is + visible if it isn't a override redirect window, dock window or + window with struts. + +2006-03-06 David Reveman + + * configure.ac: Bump version to 0.0.6. + + * plugins/cube.c: Skydome update. (MacSlow) + + * src/window.c: Ensure window visibility when activating window. + +2006-03-05 David Reveman + + * src/window.c (closeWindow): Use protocol mask to determine if + Client Message should be send or if we should kill the client. + + * plugins/decoration.c: Don't draw shadow only decorations around + windows with alpha channel. + +2006-03-03 David Reveman + + * src/texture.c (readImageBufferToTexture): + (readImageToTexture): Check that returnWidth and returnHeight are + not NULL. + + * plugins/cube.c: Skydome support. Thanks to MacSlow. + + * plugins/fade.c (fadeHandleEvent): Make sure opacity isn't opaque + when fading out. + Stop fading if window is resized. + + * src/window.c (resizeWindow): Only verify pixmap size if window is + mapped. + (resizeWindow): Check XGetGeometry result. + + * plugins/switcher.c: Make sure switcher is correctly updated + even though the previously selected window isn't selectable by + switcher. + + * src/event.c (handleEvent): Avoid panel actions when screen is + grabbed. + +2006-03-03 Radek Doulik + + * src/main.c (main): init and close session when sm is not + disabled. Enable sm by default. + + * src/session.c: added minimal session support so that compiz at + least register with session manager to avoid registering timeouts + +2006-03-03 David Reveman + + * src/screen.c (removeScreenGrab): Use correct cursor when changing + actvie pointer grab. + +2006-03-02 David Reveman + + * plugins/rotate.c (rotateHandleEvent): + * plugins/zoom.c (zoomHandleEvent): Make sure no pending motion + notify events exists when warping the pointer. + + * plugins/rotate.c (rotateHandleEvent): Reset movement. + + * plugins/switcher.c: Always send activate request when selecting a + window. + + * plugins/cube.c (cubePaintTransformedScreen): Reset color. + + * plugins/switcher.c (switchPaintThumb): PAINT_WINDOW_TRANSLUCENT_MASK + if opacity isn't opaque. + (switchPaintWindow): Reset color. + +2006-03-01 David Reveman + + * configure.ac: Bump version to 0.0.5. + + * plugins/fade.c (fadeAddDisplayModal): Higher brightness when showing + display modal dialogs. + + * plugins/switcher.c (switchPreparePaintScreen): Continue adjusting + window selection even though we're not grabbing the screen. + (switchPaintWindow): Use last used paint attributes for thumbnails. + (switchPaintWindow): Use blending when drawing selection rectangle. + + * plugins/fade.c (fadeHandleEvent): unmap. -> map. + (fadeDamageWindowRect): Only zero opacity if we're not already + fading the window. + + * src/window.c (unmapWindow): 'placed' variable should be reset on + first call to unmapWindow. + + * src/screen.c: + * src/event.c (handleEvent): + * src/display.c (eventLoop): + * include/compiz.h: Add slow animation option. + + * src/window.c (recalcNormalHints): Constrain window dimensions to + max texture size. + + * src/screen.c (addScreen): Get max texture size. + + * gnome/window-decorator/gnome-window-decorator.c: Nicer drop shadow + on windows without decorations. + + * src/window.c (addWindow): Move initialization of sync alarm. + + * plugins/cube.c: + * plugins/decoration.c: + (decorCreateDecoration): Fix minimum size check. + + * src/main.c: + * include/compiz.h: + * src/paint.c: + * src/screen.c: Ligthing support. + + * compiz.pc.in: Fix. + +2006-02-23 David Reveman + + * src/window.c (unmapWindow): Not minimized and not part of showing + desktop mode. + + * plugins/wobbly.c: Fix handling of scaled windows. + Update options so that user gets more control over which windows + that should wobble and when. + + * configure.ac: Bump version to 0.0.4. + + * gnome/window-decorator/gnome-window-decorator.c (window_opened): Make + sure decoration property for switcher window is set. + + * plugins/decoration.c (decorHandleEvent): + * src/event.c (handleEvent): + * plugins/switcher.c: + * src/screen.c (addScreen, setScreenOption) + (compScreenInitOptions): + * src/texture.c: + * include/compiz.h: Mipmap support. Add more RUN_COMMAND options. + +2006-02-22 David Reveman + + * src/display.c (realToVirtualModMask): Remove modifiers that should + be ignored. + (addDisplay): Select ButtonPress and ButtonRelease events on root + window. + + * include/compiz.h (EV_KEY): + (EV_BUTTON): Modifiers should match exactly. + + * plugins/switcher.c: Add binding for selecting previous window. + + * plugins/decoration.c: Remove sync hack. + + * gnome/window-decorator/gnome-window-decorator.c + (draw_shadow_background): Fix drawing of bottom and bottom right + shadow rectangle. + Add switcher window decorations. + Remove sync hack. + Always use double buffering. + + * plugins/switcher.c: Remove background color option. + Use property instead of client message to indicate change of selected + window. + +2006-02-21 David Reveman + + * plugins/cube.c (cubeHandleEvent): Only load new SVG when available. + +2006-02-20 David Reveman + + * plugins/decoration.c (decorWindowUpdate): Decorate window + MwmDecorTitle is present. + + * src/window.c (focusWindow): + (moveInputFocusToWindow): + Allow focusing windows with input hint set to false. + (activateWindow): Fix so that dock windows can be active. + + * src/screen.c (isClientListWindow): Don't put destroyed windows in + client lists. + + * src/event.c (handleEvent): Fix so that dock windows can be active. + (handleEvent): Avoid focusing windows with input hint set to false + when mapped. + +2006-02-18 David Reveman + + * src/window.c (unmapWindow): Windows not being minimized should be + placed again at next map. + + * plugins/wobbly.c (wobblyDonePaintScreen): Also add pending damage + if any window is in initial wobbly state. + +2006-02-17 David Reveman + + * configure.ac: Bump version to 0.0.3. + + * plugins/zoom.c (zoomIn): Translate less. + (zoomPaintScreen): Use selected filter. + (adjustZoomVelocity): Made zoom animation nicer. + (zoomPreparePaintScreen): Don't zoom to much. + ADd filter selection option. + + * plugins/decoration.c (decorPaintWindow): + * src/paint.c (drawWindowTexture): Use screen filters. + + * include/compiz.h: Add support for adjusting filters. + + * plugins/scale.c (scaleHandleEvent): Only button 1. + + * plugins/cube.c (cubePaintTransformedScreen): Fix drawing with size + greater than 4. + +2006-02-16 David Reveman + + * configure.ac: Remove menu. + + * plugins/switcher.c (switchNextWindow): Damage new and previously + selected window. + (switchInitiate): Damage screen initiating switching. + (switchTerminate): Damage screen terminating switching. + (switchPaintThumb): Draw thumbnail without calling any function that + can be wrapped. + + * gnome/window-decorator/gnome-window-decorator.c + (update_window_decoration_size): Make sure title isn't rendered + when it doesn't fit. + +2006-02-14 David Reveman + + * gnome/window-decorator/gnome-window-decorator.c + (draw_window_decoration): Make sure complete icon is visible. + + * src/display.c (eventLoop): + (getTimeToNextRedraw): Handle clock rollback. + +2006-02-13 David Reveman + + * configure.ac: Remove menu plugin check. + Require version 2.8.0 or greater of gtk+. + +2006-02-11 David Reveman + + * configure.ac: Bump version to 0.0.2. + + * src/window.c: + * src/event.c: + * plugins/fade.c: + * src/display.c: + * include/compiz.h: Lower brightness of windows that are not responding + and all windows when showing logout dialog. + + * gnome/window-decorator/gnome-window-decorator.c: Use metacity + titlebar font settings. + + * gnome/compiz-window-manager.c: Add titlebar font setting. + + * plugins/Makefile.am: + * plugins/switcher.c: Add switcher plugin. + + * plugins/gconf.c: Add alpha to color options. + +2006-02-10 David Reveman + + * src/screen.c: + * src/display.c: Do not include X11/extensions/Xevie.h. diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..fe1619a --- /dev/null +++ b/INSTALL @@ -0,0 +1,12 @@ +compiz uses libstartup-notification which is available at +ftp://ftp.gnome.org/pub/GNOME/sources/startup-notification/ + +compiz uses automake, in order to generate the Makefiles for compiz use: + + $ autogen.sh + +After that, standard build procedures apply: + + $ make + # make install + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1ee91f0 --- /dev/null +++ b/Makefile @@ -0,0 +1,865 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/ecomp-cube.pc.in $(srcdir)/ecomp-scale.pc.in \ + $(srcdir)/ecomp.pc.in $(top_srcdir)/configure AUTHORS COPYING \ + ChangeLog INSTALL NEWS TODO config.guess config.sub depcomp \ + install-sh ltmain.sh missing mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = ecomp.pc ecomp-cube.pc ecomp-scale.pc +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(pkgconfigdir)" +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgconfig_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz +abs_srcdir = /media/disk-3/src/compiz +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = . +top_srcdir = . +xsltdir = ${datarootdir}/bcop +SUBDIRS = include src libdecoration bcop metadata plugins expo jpeg ring shift wall thumbnail text animation mblur cubereflex scalefilter scaleaddon images po +EXTRA_DIST = \ + COPYING \ + COPYING.MIT \ + ecomp.pc.in \ + ecomp-cube.pc.in \ + ecomp-scale.pc.in \ + intltool-extract.in \ + intltool-merge.in \ + intltool-update.in \ + intltool-extract \ + intltool-merge \ + intltool-update + +DISTCLEANFILES = \ + intltool-extract \ + intltool-merge \ + intltool-update \ + po/stamp-it \ + po/.intltool-merge-cache + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = ecomp.pc ecomp-cube.pc ecomp-scale.pc $(gconfdata) + +# Some custom targets to make it easier to release things. +# Use either: +# make release-check +# or make release-publish +RELEASE_UPLOAD_HOST = xorg.freedesktop.org +RELEASE_UPLOAD_BASE = /srv/xorg.freedesktop.org/archive/individual/app +RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE) +RELEASE_URL_BASE = http://xorg.freedesktop.org/archive/individual/app +RELEASE_ANNOUNCE_LIST = ecomp@list.freedesktop.org +tar_file = $(PACKAGE)-$(VERSION).tar.gz +sha1_file = $(tar_file).sha1 +gpg_file = $(sha1_file).asc +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +ecomp.pc: $(top_builddir)/config.status $(srcdir)/ecomp.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +ecomp-cube.pc: $(top_builddir)/config.status $(srcdir)/ecomp-cube.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +ecomp-scale.pc: $(top_builddir)/config.status $(srcdir)/ecomp-scale.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-pkgconfigDATA + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-pkgconfigDATA + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ + dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ + distclean distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-pkgconfigDATA + + +$(sha1_file): $(tar_file) + sha1sum $^ > $@ + +$(gpg_file): $(sha1_file) + @echo "Please enter your GPG password to sign the checksum." + gpg --armor --sign $^ + +release-verify-even-micro: + @echo -n "Checking that $(VERSION) has an even micro component..." + @test "$(ECOMP_VERSION_MICRO)" = "`echo $(ECOMP_VERSION_MICRO)/2*2 | bc`" \ + || (echo "Ouch." && echo "The version micro component '$(ECOMP_VERSION_MICRO)' is not an even number." \ + && echo "The version in configure.in must be incremented before a new release." \ + && false) + @echo "Good." + +release-verify-newer: + @echo -n "Checking that no $(VERSION) release already exists..." + @ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \ + || (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \ + && echo "Are you sure you have an updated checkout?" \ + && echo "This should never happen." \ + && false) + @echo "Good." + +release-remove-old: + $(RM) $(tar_file) $(sha1_file) $(gpg_file) + +release-check: release-verify-even-micro release-verify-newer release-remove-old distcheck + +release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file) + mkdir -p releases + scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR) + mv $(tar_file) $(sha1_file) $(gpg_file) releases + git-tag -s -m "ecomp $(ECOMP_VERSION_MAJOR).$(ECOMP_VERSION_MINOR).$(ECOMP_VERSION_MICRO) release" ecomp-$(ECOMP_VERSION_MAJOR).$(ECOMP_VERSION_MINOR).$(ECOMP_VERSION_MICRO) + +release-publish-message: releases/$(sha1_file) + @echo "Please follow the instructions in RELEASING to push stuff out and" + @echo "send out the announcement mails. Here is the excerpt you need:" + @echo "" + @echo "Subject: [ANNOUNCE] $(PACKAGE)-$(VERSION)" + @echo "" + @echo "============================== CUT HERE ==============================" + @echo "A new $(PACKAGE) release $(VERSION) is now available from:" + @echo "" + @echo " $(RELEASE_URL_BASE)/$(tar_file)" + @echo "" + @echo " which can be verified with:" + @echo "" + @echo " $(RELEASE_URL_BASE)/$(sha1_file)" + @echo -n " " + @cat releases/$(sha1_file) + @echo "" + @echo " $(RELEASE_URL_BASE)/$(gpg_file)" + @echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)" + @echo "" + @echo " Additionally, a git clone of the source tree:" + @echo "" + @echo " git clone git://git.freedesktop.org/git/xorg/app/ecomp" + @echo "" + @echo " will include a signed ecomp-$(VERSION) tag which points to a commit named:" + @echo " `git cat-file tag ecomp-$(VERSION) | grep ^object | sed -e 's,object ,,'`" + @echo "" + @echo " which can be verified with:" + @echo " git verify-tag ecomp-$(VERSION)" + @echo "" + @echo " and can be checked out with a command such as:" + @echo " git checkout -b build ecomp-$(VERSION)" + @echo "" + @echo "============================== CUT HERE ==============================" + +release-publish: release-upload release-publish-message + +.PHONY: release-verify-even-micro release-verify-newer release-remove-old release-check release-upload release-publish docs-publish +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..84a89f8 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,114 @@ +SUBDIRS = include src libdecoration bcop metadata plugins expo jpeg ring shift wall thumbnail text animation mblur cubereflex scalefilter scaleaddon images po + +EXTRA_DIST = \ + COPYING \ + COPYING.MIT \ + ecomp.pc.in \ + ecomp-cube.pc.in \ + ecomp-scale.pc.in \ + intltool-extract.in \ + intltool-merge.in \ + intltool-update.in \ + intltool-extract \ + intltool-merge \ + intltool-update + +DISTCLEANFILES = \ + intltool-extract \ + intltool-merge \ + intltool-update \ + po/stamp-it \ + po/.intltool-merge-cache + + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = ecomp.pc ecomp-cube.pc ecomp-scale.pc $(gconfdata) + +# Some custom targets to make it easier to release things. +# Use either: +# make release-check +# or make release-publish + +RELEASE_UPLOAD_HOST = xorg.freedesktop.org +RELEASE_UPLOAD_BASE = /srv/xorg.freedesktop.org/archive/individual/app +RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE) +RELEASE_URL_BASE = http://xorg.freedesktop.org/archive/individual/app +RELEASE_ANNOUNCE_LIST = ecomp@list.freedesktop.org + +tar_file = $(PACKAGE)-$(VERSION).tar.gz +sha1_file = $(tar_file).sha1 +gpg_file = $(sha1_file).asc + +$(sha1_file): $(tar_file) + sha1sum $^ > $@ + +$(gpg_file): $(sha1_file) + @echo "Please enter your GPG password to sign the checksum." + gpg --armor --sign $^ + +release-verify-even-micro: + @echo -n "Checking that $(VERSION) has an even micro component..." + @test "$(ECOMP_VERSION_MICRO)" = "`echo $(ECOMP_VERSION_MICRO)/2*2 | bc`" \ + || (echo "Ouch." && echo "The version micro component '$(ECOMP_VERSION_MICRO)' is not an even number." \ + && echo "The version in configure.in must be incremented before a new release." \ + && false) + @echo "Good." + +release-verify-newer: + @echo -n "Checking that no $(VERSION) release already exists..." + @ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \ + || (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \ + && echo "Are you sure you have an updated checkout?" \ + && echo "This should never happen." \ + && false) + @echo "Good." + +release-remove-old: + $(RM) $(tar_file) $(sha1_file) $(gpg_file) + +release-check: release-verify-even-micro release-verify-newer release-remove-old distcheck + +release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file) + mkdir -p releases + scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR) + mv $(tar_file) $(sha1_file) $(gpg_file) releases + git-tag -s -m "ecomp $(ECOMP_VERSION_MAJOR).$(ECOMP_VERSION_MINOR).$(ECOMP_VERSION_MICRO) release" ecomp-$(ECOMP_VERSION_MAJOR).$(ECOMP_VERSION_MINOR).$(ECOMP_VERSION_MICRO) + +release-publish-message: releases/$(sha1_file) + @echo "Please follow the instructions in RELEASING to push stuff out and" + @echo "send out the announcement mails. Here is the excerpt you need:" + @echo "" + @echo "Subject: [ANNOUNCE] $(PACKAGE)-$(VERSION)" + @echo "" + @echo "============================== CUT HERE ==============================" + @echo "A new $(PACKAGE) release $(VERSION) is now available from:" + @echo "" + @echo " $(RELEASE_URL_BASE)/$(tar_file)" + @echo "" + @echo " which can be verified with:" + @echo "" + @echo " $(RELEASE_URL_BASE)/$(sha1_file)" + @echo -n " " + @cat releases/$(sha1_file) + @echo "" + @echo " $(RELEASE_URL_BASE)/$(gpg_file)" + @echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)" + @echo "" + @echo " Additionally, a git clone of the source tree:" + @echo "" + @echo " git clone git://git.freedesktop.org/git/xorg/app/ecomp" + @echo "" + @echo " will include a signed ecomp-$(VERSION) tag which points to a commit named:" + @echo " `git cat-file tag ecomp-$(VERSION) | grep ^object | sed -e 's,object ,,'`" + @echo "" + @echo " which can be verified with:" + @echo " git verify-tag ecomp-$(VERSION)" + @echo "" + @echo " and can be checked out with a command such as:" + @echo " git checkout -b build ecomp-$(VERSION)" + @echo "" + @echo "============================== CUT HERE ==============================" + +release-publish: release-upload release-publish-message + +.PHONY: release-verify-even-micro release-verify-newer release-remove-old release-check release-upload release-publish docs-publish diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..607bd2f --- /dev/null +++ b/Makefile.in @@ -0,0 +1,865 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/ecomp-cube.pc.in $(srcdir)/ecomp-scale.pc.in \ + $(srcdir)/ecomp.pc.in $(top_srcdir)/configure AUTHORS COPYING \ + ChangeLog INSTALL NEWS TODO config.guess config.sub depcomp \ + install-sh ltmain.sh missing mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = ecomp.pc ecomp-cube.pc ecomp-scale.pc +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(pkgconfigdir)" +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgconfig_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +SUBDIRS = include src libdecoration bcop metadata plugins expo jpeg ring shift wall thumbnail text animation mblur cubereflex scalefilter scaleaddon images po +EXTRA_DIST = \ + COPYING \ + COPYING.MIT \ + ecomp.pc.in \ + ecomp-cube.pc.in \ + ecomp-scale.pc.in \ + intltool-extract.in \ + intltool-merge.in \ + intltool-update.in \ + intltool-extract \ + intltool-merge \ + intltool-update + +DISTCLEANFILES = \ + intltool-extract \ + intltool-merge \ + intltool-update \ + po/stamp-it \ + po/.intltool-merge-cache + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = ecomp.pc ecomp-cube.pc ecomp-scale.pc $(gconfdata) + +# Some custom targets to make it easier to release things. +# Use either: +# make release-check +# or make release-publish +RELEASE_UPLOAD_HOST = xorg.freedesktop.org +RELEASE_UPLOAD_BASE = /srv/xorg.freedesktop.org/archive/individual/app +RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE) +RELEASE_URL_BASE = http://xorg.freedesktop.org/archive/individual/app +RELEASE_ANNOUNCE_LIST = ecomp@list.freedesktop.org +tar_file = $(PACKAGE)-$(VERSION).tar.gz +sha1_file = $(tar_file).sha1 +gpg_file = $(sha1_file).asc +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +ecomp.pc: $(top_builddir)/config.status $(srcdir)/ecomp.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +ecomp-cube.pc: $(top_builddir)/config.status $(srcdir)/ecomp-cube.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +ecomp-scale.pc: $(top_builddir)/config.status $(srcdir)/ecomp-scale.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-pkgconfigDATA + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-pkgconfigDATA + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ + dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ + distclean distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-pkgconfigDATA + + +$(sha1_file): $(tar_file) + sha1sum $^ > $@ + +$(gpg_file): $(sha1_file) + @echo "Please enter your GPG password to sign the checksum." + gpg --armor --sign $^ + +release-verify-even-micro: + @echo -n "Checking that $(VERSION) has an even micro component..." + @test "$(ECOMP_VERSION_MICRO)" = "`echo $(ECOMP_VERSION_MICRO)/2*2 | bc`" \ + || (echo "Ouch." && echo "The version micro component '$(ECOMP_VERSION_MICRO)' is not an even number." \ + && echo "The version in configure.in must be incremented before a new release." \ + && false) + @echo "Good." + +release-verify-newer: + @echo -n "Checking that no $(VERSION) release already exists..." + @ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \ + || (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \ + && echo "Are you sure you have an updated checkout?" \ + && echo "This should never happen." \ + && false) + @echo "Good." + +release-remove-old: + $(RM) $(tar_file) $(sha1_file) $(gpg_file) + +release-check: release-verify-even-micro release-verify-newer release-remove-old distcheck + +release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file) + mkdir -p releases + scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR) + mv $(tar_file) $(sha1_file) $(gpg_file) releases + git-tag -s -m "ecomp $(ECOMP_VERSION_MAJOR).$(ECOMP_VERSION_MINOR).$(ECOMP_VERSION_MICRO) release" ecomp-$(ECOMP_VERSION_MAJOR).$(ECOMP_VERSION_MINOR).$(ECOMP_VERSION_MICRO) + +release-publish-message: releases/$(sha1_file) + @echo "Please follow the instructions in RELEASING to push stuff out and" + @echo "send out the announcement mails. Here is the excerpt you need:" + @echo "" + @echo "Subject: [ANNOUNCE] $(PACKAGE)-$(VERSION)" + @echo "" + @echo "============================== CUT HERE ==============================" + @echo "A new $(PACKAGE) release $(VERSION) is now available from:" + @echo "" + @echo " $(RELEASE_URL_BASE)/$(tar_file)" + @echo "" + @echo " which can be verified with:" + @echo "" + @echo " $(RELEASE_URL_BASE)/$(sha1_file)" + @echo -n " " + @cat releases/$(sha1_file) + @echo "" + @echo " $(RELEASE_URL_BASE)/$(gpg_file)" + @echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)" + @echo "" + @echo " Additionally, a git clone of the source tree:" + @echo "" + @echo " git clone git://git.freedesktop.org/git/xorg/app/ecomp" + @echo "" + @echo " will include a signed ecomp-$(VERSION) tag which points to a commit named:" + @echo " `git cat-file tag ecomp-$(VERSION) | grep ^object | sed -e 's,object ,,'`" + @echo "" + @echo " which can be verified with:" + @echo " git verify-tag ecomp-$(VERSION)" + @echo "" + @echo " and can be checked out with a command such as:" + @echo " git checkout -b build ecomp-$(VERSION)" + @echo "" + @echo "============================== CUT HERE ==============================" + +release-publish: release-upload release-publish-message + +.PHONY: release-verify-even-micro release-verify-newer release-remove-old release-check release-upload release-publish docs-publish +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..ab115cf --- /dev/null +++ b/NEWS @@ -0,0 +1,203 @@ +Release 0.6.2 (2007-10-18 Danny Baumann ) +============================================================== +Stable release. + +Support for automatically starting one decorator per screen. + +Various stacking problem fixes. + +Fixes for various focus issues. + +Minor other bug fixes. + +Release 0.6.0 (2007-10-01 Danny Baumann ) +============================================================== +Third stable release of Compiz. + +Improved focus stealing prevention. + +Improved dynamic desktop resizing support. + +Added button action configuration options to gtk-window-decorator. + +Added UTF-8 window title support to kde-window-decorator. + +Various bug fixes and improvements. + +Release 0.5.2 (2007-08-03 David Reveman ) +============================================================ +Development release. + +Better support for multiple X-screens. + +XML-based meta-data system for handling of various kinds +for meta-data like plugin descriptions, default option +values, etc. + +Major improvements to option initialization based on the +new meta-data system. + +Logging framework. + +Support for configurable button layout in metacity themes +has been added to gtk-window-decorator. + +Glib plugin that allows plugins that use the glib main +loop to integrate properly with the compiz main loop +without waking up periodically to check for pending +events. + +Plugin plugins that make it possible to adjust and extend +the behavior of existing plugins through new plugins. + +More dynamic handling of output devices, which allows the +output device configuration used when rendering to be +changed between frames. + +Transparency support in cube plugin. + +Introspection support in dbus plugin. + + +Release 0.5.0 (2007-04-02 David Reveman ) +============================================================ +Development release. + +Remove stencil buffer requirement. + +Focus stealing prevention support. + +Blur plugin that provide support for blurring windows and +contents behind translucent windows. + +Fragment attribute interface that allow plugins +to perform more advanced fragment shading effects and +integrate properly with other plugins. + +Extensible window matching interface and new option type +that provide advanced window selection functionality. + +Plugin that provide a composited video interface for +efficient video playback. + +FUSE plugin that maps compiz options to a file-system and +allow efficient manipulation of options by reading and +writing files. + +Better occlusion detection and more efficient rendering. + +Flat file configuration backend. + + +Release 0.3.6 (2006-12-31 David Reveman ) +============================================================ +Development release. + +Add support for unredirect of fullscreen windows when using +the composite overlay window and make usage of the +composite overlay window for output default. + +Add file notification API. + +Add inotify plugin that implements file notification API. + +A "GetPlugins" method has been added to dbus plugin +and it can be used to retrieve a list of available plugins. + +A 'GetPluginMetadata' method has been added to dbus plugin +and it returns metadata for available plugins. + +Add support for switching between windows without having +the thumbnail window show up. + +Switcher thumbnails now include decorations and shadows. + +Basic drag and drop support has been added to scale plugin. + +It's now possible to initiate scale plugin for specific window +groups. + +Window menu icon support has been added to gtk window decorator. + +Improved support for metacity themes. + +Add KDE window decorator with support for shadows and opacity +has been added. + + +Release 0.3.4 (2006-11-21 David Reveman ) +============================================================ +Development release. + +Edge button, which can be used to require a button press +for edge actions to be triggered. + +Basic compiz event support. + +Zoom plugin now works without "largedesktop" feature. + +Cube plugin now handles desktop width less than 4 times +the screen better. + +Support for multiple desktops (workspaces). + +Handling of _NET_DESKTOP_GEOMETRY client messages has +been fixed. + +Much better multi-head support. + +Annotate plugin has been added. + +Clone plugin which can be used to clone outputs in a +convenient way has been added. Currently more of a +prototype as we need randr++ and input transformation +in the server to do this properly. + +Shadow color option has been added. + +initiate_all option has been added to scale plugin. + +Zoom factor option has been added to zoom plugin. + +Support for new metacity theme version and support for +metacity versions < 2.15.21. + +Event window placement when using some metacity +themes has been fixed. + +Fix a number of issues related to minimizing windows +with transients. + + +Release 0.3.2 (2006-10-20 David Reveman ) +============================================================ +Development release. + +snap_inverted option has been added to wobbly plugin. + +Configuration support has been added to dbus plugin. + +Add 'command' option has been added to decoration plugin, +which can be used to automatically launch a decorator +when one isn't already running. + +Opacity support for metacity themes. + +A raise_window option has been added. + +Decorations on maximized windows are now rendered +correctly when using metacity themes. + +An ignore_hints_when_maximized option, which makes compiz +ignore size increment and aspect hints for maximized +windows has been added and made default. + +Better default option values for rotate plugin. + +and much more... + + +Release 0.2.0 (2006-10-02 David Reveman ) +============================================================ +First official release of compiz. + diff --git a/README b/README new file mode 100644 index 0000000..3c1f560 --- /dev/null +++ b/README @@ -0,0 +1,39 @@ +ecomorph - OpenGL compositing manager + +for nice defaults: +install libecompconfig +copy ecomp to ~/.config + +if you have an ati card with free driver: +export LIBL_ALWAYS_INDIRECT=1 + +for intel cards this seems to work: +export LIBL_ALWAYS_INDIRECT=1 +export INTEL_BATCH=1 + +---- dont use gnome- or xfce-terminal to run it !!! -> use xterm ------------ + +/usr/local/bin/ecomorph fade dbus scale > /dev/null + +or run ecomorph.sh ;) + +note scale is not fully workung yet and probably not in near future + +btw you can start scale with: + + dbus-send --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/scale/allscreens/initiate_all org.freedesktop.compiz.activate string:'root' int32:`xwininfo -root | grep id: | awk '{ print $4 }'` + +cheers + + + +based on: + +compiz - OpenGL window and compositing manager + +Compiz is an OpenGL compositing manager that use GLX_EXT_texture_from_pixmap +for binding redirected top-level windows to texture objects. It has a flexible +plug-in system and it is designed to run well on most graphics hardware. + +David Reveman +davidr@novell.com diff --git a/RELEASING b/RELEASING new file mode 100644 index 0000000..0c278c6 --- /dev/null +++ b/RELEASING @@ -0,0 +1,75 @@ +Here are the steps to follow to create a new compiz release: + +1) Ensure that there are no local, uncommitted modifications. + It's probably good enough if "git diff HEAD" doesn't output + anything and your "master" and "origin" branches are at the + current revision. + +2) Verify that the code passes "make distcheck" + + Running "make distcheck" should result in no warnings or + errors and end with a message of the form: + + ============================================== + compiz-X.Y.Z archives ready for distribution: + compiz-X.Y.Z.tar.gz + ============================================== + + (But the tar file isn't actually ready yet, as we still have + some more steps to follow). + +3) Fill out an entry in the NEWS file + + Shift through the logs since the last release. This is most + easily done with a comand such as: + + git log --stat compiz-X.Y.Z.. + + where X.Y.Z is the previous release version. + + Summarize major changes briefly in a style similar to other + entries in NEWS. + +4) Increment version number in configure.ac: + + Increment to the micro version number to the next larger + (even) number. + +5) Commit the changes to NEWS and configure.ac + + It's especially important to mention the new version number in your + commit log. + +6) Run "make release-publish" which will perform the following steps + for you: + + * Check that the version number ends with an even micro component + * Check that no release exists with the current version + * Verify that make distcheck completes successfully + * Generate the final tar file + * Generate an sha1sum file + * Sign the sha1sum using your GPG setup (asks for your GPG password) + * scp the three files to appear on + http://xorg.freedesktop.org/archive/individual/app + * Place local copies of the three files in the releases directory + * Tag the entire source tree with a tag of the form compiz-X.Y.Z, and + sign the tag with your GPG key (asks for your GPG password, and you + may need to set GIT_COMMITTER_NAME and GIT_COMMITTER_EMAIL to match + your public-key's setting or this fails.) + * Provide some text for the release announcement (see below). + If for some reason you lost this message, + "make release-publish-message" prints it for you. + +7) Increment compiz_version_micro to the next larger (odd) number in + configure, commit, and push. + +8) Push the newly created tag out to the central tree with a command + something like: + + git push compiz-X.Y.Z + +9) Send a message to compiz@list.freedesktop.org to announce the + new release using the text provided from "make release-publish", + adding the excerpt from NEWS, your signature, followed by + tacking on the detailed changelog-ish thing that gets mailed + out when you push the tag (but not the diffstat thing). diff --git a/TAGS b/TAGS new file mode 100644 index 0000000..ab1f3f6 --- /dev/null +++ b/TAGS @@ -0,0 +1,6905 @@ + +animation/focusfade.c,290 +fxFocusFadeComputeOpacity(CompWindow *w, float progress, float opacity, Bool front)fxFocusFadeComputeOpacity44,1509 +fxFocusFadeUpdateWindowAttrib(AnimScreen * as,fxFocusFadeUpdateWindowAttrib80,2792 +fxFocusFadeUpdateWindowAttrib2(AnimScreen * as,fxFocusFadeUpdateWindowAttrib293,3127 + +animation/polygon.c,1423 +static Bool ensureLargerClipCapacity(PolygonSet * pset)ensureLargerClipCapacity40,1341 +freePolygonObjects(PolygonSet * pset)freePolygonObjects76,2341 +static void freeClipsPolygons(PolygonSet * pset)freeClipsPolygons107,2903 +void freePolygonSet(AnimWindow * aw)freePolygonSet128,3393 +tessellateIntoRectangles(CompWindow * w,tessellateIntoRectangles144,3696 +tessellateIntoHexagons(CompWindow * w,tessellateIntoHexagons376,8738 +polygonsStoreClips(CompScreen * s, CompWindow * w,polygonsStoreClips685,15994 +static Bool processIntersectingPolygons(CompScreen * s, PolygonSet * pset)processIntersectingPolygons785,18895 +getPerspectiveCorrectionMat (CompWindow *w,getPerspectiveCorrectionMat883,21488 +void polygonsDrawCustomGeometry(CompScreen * s, CompWindow * w)polygonsDrawCustomGeometry932,22587 +void polygonsPrePaintWindow(CompScreen * s, CompWindow * w)polygonsPrePaintWindow1402,35455 +void polygonsPostPaintWindow(CompScreen * s, CompWindow * w)polygonsPostPaintWindow1409,35604 +polygonsLinearAnimStepPolygon(CompWindow * w,polygonsLinearAnimStepPolygon1423,36048 +polygonsDeceleratingAnimStepPolygon(CompWindow * w,polygonsDeceleratingAnimStepPolygon1446,36785 +Bool polygonsAnimStep(CompScreen * s, CompWindow * w, float time)polygonsAnimStep1468,37491 +polygonsUpdateBB (CompOutput *output,polygonsUpdateBB1497,38156 +#define N_POINTS N_POINTS1558,39748 +#undef N_POINTSN_POINTS1581,40648 + +animation/ani-backup.c,7135 +int animDisplayPrivateIndex;animDisplayPrivateIndex92,2897 +CompMetadata animMetadata;animMetadata93,2926 +static AnimEffect minimizeEffects[] = {minimizeEffects102,3123 +static AnimEffect closeEffects[] = {closeEffects125,3634 +static AnimEffect focusEffects[] = {focusEffects150,4184 +static AnimEffect shadeEffects[] = {shadeEffects157,4310 +float identity[16] = {identity165,4471 +static int switcherPostWait = 0;switcherPostWait172,4593 +#define A(A177,4689 +#define B(B178,4729 +#define P(P179,4769 +matmul4 (float *product,matmul4195,5163 +#undef AA212,5633 +#undef BB213,5642 +#undef PP214,5651 +multiplyMatrixVector (float *result,multiplyMatrixVector219,5719 +#define M(M223,5808 +#undef MM227,5965 +void defaultAnimInit(CompScreen * s, CompWindow * w)defaultAnimInit236,6195 +animZoomToIcon (AnimScreen *as, AnimWindow *aw)animZoomToIcon249,6511 +defaultMinimizeAnimInit (CompScreen * s, CompWindow * w)defaultMinimizeAnimInit269,7315 +defaultLetOthersDrawGeoms (CompScreen *s, CompWindow *w)defaultLetOthersDrawGeoms283,7592 +animStoreRandomEffectList (CompOptionValue *value,animStoreRandomEffectList289,7683 +getMatchingAnimSelection (CompWindow *w,getMatchingAnimSelection330,8600 +animGetAnimEffect (AnimEffect effect,animGetAnimEffect411,11030 +AnimDirection getAnimationDirection(CompWindow * w,getAnimationDirection433,11539 +float defaultAnimProgress(AnimWindow * aw)defaultAnimProgress483,12989 +float sigmoidAnimProgress(AnimWindow * aw)sigmoidAnimProgress499,13477 +float decelerateProgressCustom(float progress, float minx, float maxx)decelerateProgressCustom525,14299 +float decelerateProgress(float progress)decelerateProgress535,14556 +Bool defaultAnimStep(CompScreen * s, CompWindow * w, float time)defaultAnimStep540,14660 +defaultMinimizeUpdateWindowAttrib(AnimScreen * as,defaultMinimizeUpdateWindowAttrib574,15465 +defaultMinimizeUpdateWindowTransform(CompScreen *s,defaultMinimizeUpdateWindowTransform585,15679 +copyResetBB (AnimWindow *aw)copyResetBB597,15929 +expandBoxWithBox (Box *target, Box *source)expandBoxWithBox605,16093 +expandBoxWithPoint (Box *target, float fx, float fy)expandBoxWithPoint618,16383 +expandBoxWithPoint2DTransform (CompScreen *s,expandBoxWithPoint2DTransform645,16954 +expandBoxWithPoints3DTransform (CompOutput *output,expandBoxWithPoints3DTransform659,17323 +modelUpdateBB (CompOutput *output,modelUpdateBB697,18136 +updateBBWindow (CompOutput *output,updateBBWindow731,18789 +updateBBScreen (CompOutput *output,updateBBScreen741,19008 +resetToIdentity (CompTransform *transform)resetToIdentity752,19216 +prepareTransform (CompScreen *s,prepareTransform758,19326 +compTransformUpdateBB (CompOutput *output,compTransformUpdateBB774,19668 +damageBoundingBox (CompWindow * w)damageBoundingBox799,20290 +AnimEffectProperties animEffectProperties[AnimEffectNum] = {animEffectProperties822,20947 +Bool getMousePointerXY(CompScreen * s, short *x, short *y)getMousePointerXY921,25905 +static int animGetWindowState(CompWindow * w)animGetWindowState937,26186 +animSetScreenOptions(CompPlugin *plugin,animSetScreenOptions971,26978 +static const CompMetadataOptionInfo animScreenOptionInfo[] = {animScreenOptionInfo1086,30008 +animGetScreenOptions(CompPlugin *plugin, CompScreen * screen, int *count)animGetScreenOptions1183,35899 +objectInit(Object * object,objectInit1192,36066 +modelInitObjects(Model * model, int x, int y, int width, int height)modelInitObjects1209,36536 +modelMove (Model *model,modelMove1298,38881 +static Model *createModel(CompWindow * w,createModel1311,39081 +animFreeModel(AnimWindow *aw)animFreeModel1366,40373 +animEnsureModel(CompWindow * w)animEnsureModel1380,40617 +static Bool playingPolygonEffect(AnimScreen *as, AnimWindow *aw)playingPolygonEffect1420,41664 +static void cleanUpParentChildChainItem(AnimScreen *as, AnimWindow *aw)cleanUpParentChildChainItem1433,41981 +static void postAnimationCleanupCustom(CompWindow * w,postAnimationCleanupCustom1449,42456 +void postAnimationCleanup(CompWindow * w, Bool resetAnimation)postAnimationCleanup1603,45908 +animActivateEvent (CompScreen *s,animActivateEvent1609,46052 +isWinVisible(CompWindow *w)isWinVisible1635,46553 +getHostedOnWin (AnimScreen *as,getHostedOnWin1643,46701 +otherPluginsActive(AnimScreen *as)otherPluginsActive1654,46943 +initiateFocusAnimation(CompWindow *w)initiateFocusAnimation1664,47114 +relevantForFadeFocus(CompWindow *nw)relevantForFadeFocus1927,53875 +restackInfoStillGood(CompScreen *s, RestackInfo *restackInfo)restackInfoStillGood1945,54383 +static void animPreparePaintScreen(CompScreen * s, int msSinceLastPaint)animPreparePaintScreen1967,55022 +static void animDonePaintScreen(CompScreen * s)animDonePaintScreen2214,61033 +animAddWindowGeometry(CompWindow * w,animAddWindowGeometry2227,61298 +animDrawWindowTexture(CompWindow * w, CompTexture * texture,animDrawWindowTexture2749,75192 +animDrawWindowGeometry(CompWindow * w)animDrawWindowGeometry2768,75703 +animPaintWindow(CompWindow * w,animPaintWindow2821,76999 +static Bool animGetWindowIconGeometry(CompWindow * w, XRectangle * rect)animGetWindowIconGeometry2963,81034 +static const PluginEventInfo watchedPlugins[] =watchedPlugins2999,81744 +static void animHandleEcompEvent(CompDisplay * d, char *pluginName,animHandleEcompEvent3008,81951 +updateLastClientListStacking(CompScreen *s)updateLastClientListStacking3044,82874 +animGetWindowName (CompWindow *w)animGetWindowName3079,83599 +static void animEventUnmap(CompDisplay *d, CompWindow *w, int event)animEventUnmap3109,84312 +static void animHandleEvent(CompDisplay * d, XEvent * event)animHandleEvent3267,88376 +static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect)animDamageWindowRect3545,95154 +static void animWindowResizeNotify(CompWindow * w, int dx, int dy, int dwidth, int dheight)animWindowResizeNotify3844,102954 +animWindowMoveNotify(CompWindow * w, int dx, int dy, Bool immediate)animWindowMoveNotify3888,104052 +animWindowGrabNotify(CompWindow * w,animWindowGrabNotify3946,105330 +static void animWindowUngrabNotify(CompWindow * w)animWindowUngrabNotify3959,105675 +animPaintOutput(CompScreen * s,animPaintOutput3972,105976 +static Bool animInitDisplay(CompPlugin * p, CompDisplay * d)animInitDisplay4034,107242 +static void animFiniDisplay(CompPlugin * p, CompDisplay * d)animFiniDisplay4061,107855 +static Bool animInitScreen(CompPlugin * p, CompScreen * s)animInitScreen4073,108083 +static void animFiniScreen(CompPlugin * p, CompScreen * s)animFiniScreen4182,111666 +static Bool animInitWindow(CompPlugin * p, CompWindow * w)animInitWindow4213,112467 +static void animFiniWindow(CompPlugin * p, CompWindow * w)animFiniWindow4267,113564 +static Bool animInit(CompPlugin * p)animInit4284,113810 +static void animFini(CompPlugin * p)animFini4307,114312 +animGetVersion (CompPlugin *plugin,animGetVersion4314,114457 +animGetMetadata (CompPlugin *plugin)animGetMetadata4321,114561 +CompPluginVTable animVTable = {animVTable4326,114629 +CompPluginVTable *getCompPluginInfo(void)getCompPluginInfo4344,114939 + +animation/domino.c,75 +void fxDomino3DInit(CompScreen * s, CompWindow * w)fxDomino3DInit39,1321 + +animation/zoomside.c,540 +void fxSidekickInit(CompScreen * s, CompWindow * w)fxSidekickInit41,1401 +fxZoomGetSpringiness(AnimScreen *as, AnimWindow *aw)fxZoomGetSpringiness55,1736 +void fxZoomInit(CompScreen * s, CompWindow * w)fxZoomInit65,2056 +void fxZoomAnimProgress(AnimScreen * as,fxZoomAnimProgress122,3985 +fxZoomUpdateWindowAttrib(AnimScreen * as,fxZoomUpdateWindowAttrib219,6592 +applyZoomTransform (CompWindow * w, CompTransform *transform)applyZoomTransform235,6909 +fxZoomUpdateWindowTransform (CompScreen *s,fxZoomUpdateWindowTransform328,9719 + +animation/particle.c,468 +void initParticles(int numParticles, ParticleSystem * ps)initParticles39,1321 +void drawParticles(CompScreen * s, CompWindow * w, ParticleSystem * ps)drawParticles67,1956 +void drawParticleSystems(CompScreen * s, CompWindow * w)drawParticleSystems245,6208 +void updateParticles(ParticleSystem * ps, float time)updateParticles263,6474 +void finiParticles(ParticleSystem * ps)finiParticles294,7154 +particlesUpdateBB (CompOutput *output,particlesUpdateBB311,7489 + +animation/skewer.c,209 +getDirection (int *dir, int *c, int direction)getDirection37,1237 +fxSkewerInit (CompScreen * s, CompWindow * w)fxSkewerInit88,1899 +fxSkewerAnimStepPolygon (CompWindow * w,fxSkewerAnimStepPolygon196,4434 + +animation/animation.c,7135 +int animDisplayPrivateIndex;animDisplayPrivateIndex92,2897 +CompMetadata animMetadata;animMetadata93,2926 +static AnimEffect minimizeEffects[] = {minimizeEffects102,3123 +static AnimEffect closeEffects[] = {closeEffects125,3634 +static AnimEffect focusEffects[] = {focusEffects150,4184 +static AnimEffect shadeEffects[] = {shadeEffects157,4310 +float identity[16] = {identity165,4471 +static int switcherPostWait = 0;switcherPostWait172,4593 +#define A(A177,4689 +#define B(B178,4729 +#define P(P179,4769 +matmul4 (float *product,matmul4195,5163 +#undef AA212,5633 +#undef BB213,5642 +#undef PP214,5651 +multiplyMatrixVector (float *result,multiplyMatrixVector219,5719 +#define M(M223,5808 +#undef MM227,5965 +void defaultAnimInit(CompScreen * s, CompWindow * w)defaultAnimInit236,6195 +animZoomToIcon (AnimScreen *as, AnimWindow *aw)animZoomToIcon249,6511 +defaultMinimizeAnimInit (CompScreen * s, CompWindow * w)defaultMinimizeAnimInit269,7315 +defaultLetOthersDrawGeoms (CompScreen *s, CompWindow *w)defaultLetOthersDrawGeoms283,7592 +animStoreRandomEffectList (CompOptionValue *value,animStoreRandomEffectList289,7683 +getMatchingAnimSelection (CompWindow *w,getMatchingAnimSelection330,8600 +animGetAnimEffect (AnimEffect effect,animGetAnimEffect411,11030 +AnimDirection getAnimationDirection(CompWindow * w,getAnimationDirection433,11539 +float defaultAnimProgress(AnimWindow * aw)defaultAnimProgress483,12989 +float sigmoidAnimProgress(AnimWindow * aw)sigmoidAnimProgress499,13477 +float decelerateProgressCustom(float progress, float minx, float maxx)decelerateProgressCustom525,14299 +float decelerateProgress(float progress)decelerateProgress535,14556 +Bool defaultAnimStep(CompScreen * s, CompWindow * w, float time)defaultAnimStep540,14660 +defaultMinimizeUpdateWindowAttrib(AnimScreen * as,defaultMinimizeUpdateWindowAttrib574,15465 +defaultMinimizeUpdateWindowTransform(CompScreen *s,defaultMinimizeUpdateWindowTransform585,15679 +copyResetBB (AnimWindow *aw)copyResetBB597,15929 +expandBoxWithBox (Box *target, Box *source)expandBoxWithBox605,16093 +expandBoxWithPoint (Box *target, float fx, float fy)expandBoxWithPoint618,16383 +expandBoxWithPoint2DTransform (CompScreen *s,expandBoxWithPoint2DTransform645,16954 +expandBoxWithPoints3DTransform (CompOutput *output,expandBoxWithPoints3DTransform659,17323 +modelUpdateBB (CompOutput *output,modelUpdateBB697,18136 +updateBBWindow (CompOutput *output,updateBBWindow731,18789 +updateBBScreen (CompOutput *output,updateBBScreen741,19008 +resetToIdentity (CompTransform *transform)resetToIdentity752,19216 +prepareTransform (CompScreen *s,prepareTransform758,19326 +compTransformUpdateBB (CompOutput *output,compTransformUpdateBB774,19668 +damageBoundingBox (CompWindow * w)damageBoundingBox799,20290 +AnimEffectProperties animEffectProperties[AnimEffectNum] = {animEffectProperties822,20947 +Bool getMousePointerXY(CompScreen * s, short *x, short *y)getMousePointerXY921,25905 +static int animGetWindowState(CompWindow * w)animGetWindowState937,26186 +animSetScreenOptions(CompPlugin *plugin,animSetScreenOptions971,26978 +static const CompMetadataOptionInfo animScreenOptionInfo[] = {animScreenOptionInfo1086,30008 +animGetScreenOptions(CompPlugin *plugin, CompScreen * screen, int *count)animGetScreenOptions1183,35899 +objectInit(Object * object,objectInit1192,36066 +modelInitObjects(Model * model, int x, int y, int width, int height)modelInitObjects1209,36536 +modelMove (Model *model,modelMove1298,38881 +static Model *createModel(CompWindow * w,createModel1311,39081 +animFreeModel(AnimWindow *aw)animFreeModel1366,40373 +animEnsureModel(CompWindow * w)animEnsureModel1380,40617 +static Bool playingPolygonEffect(AnimScreen *as, AnimWindow *aw)playingPolygonEffect1420,41664 +static void cleanUpParentChildChainItem(AnimScreen *as, AnimWindow *aw)cleanUpParentChildChainItem1433,41981 +static void postAnimationCleanupCustom(CompWindow * w,postAnimationCleanupCustom1449,42456 +void postAnimationCleanup(CompWindow * w, Bool resetAnimation)postAnimationCleanup1603,45908 +animActivateEvent (CompScreen *s,animActivateEvent1609,46052 +isWinVisible(CompWindow *w)isWinVisible1635,46553 +getHostedOnWin (AnimScreen *as,getHostedOnWin1643,46701 +otherPluginsActive(AnimScreen *as)otherPluginsActive1654,46943 +initiateFocusAnimation(CompWindow *w)initiateFocusAnimation1664,47114 +relevantForFadeFocus(CompWindow *nw)relevantForFadeFocus1927,53875 +restackInfoStillGood(CompScreen *s, RestackInfo *restackInfo)restackInfoStillGood1945,54383 +static void animPreparePaintScreen(CompScreen * s, int msSinceLastPaint)animPreparePaintScreen1967,55022 +static void animDonePaintScreen(CompScreen * s)animDonePaintScreen2214,61033 +animAddWindowGeometry(CompWindow * w,animAddWindowGeometry2227,61298 +animDrawWindowTexture(CompWindow * w, CompTexture * texture,animDrawWindowTexture2749,75192 +animDrawWindowGeometry(CompWindow * w)animDrawWindowGeometry2768,75703 +animPaintWindow(CompWindow * w,animPaintWindow2821,76999 +static Bool animGetWindowIconGeometry(CompWindow * w, XRectangle * rect)animGetWindowIconGeometry2963,81034 +static const PluginEventInfo watchedPlugins[] =watchedPlugins2999,81744 +static void animHandleEcompEvent(CompDisplay * d, char *pluginName,animHandleEcompEvent3008,81951 +updateLastClientListStacking(CompScreen *s)updateLastClientListStacking3044,82874 +animGetWindowName (CompWindow *w)animGetWindowName3079,83599 +static void animEventUnmap(CompDisplay *d, CompWindow *w, int event)animEventUnmap3109,84312 +static void animHandleEvent(CompDisplay * d, XEvent * event)animHandleEvent3267,88376 +static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect)animDamageWindowRect3545,95143 +static void animWindowResizeNotify(CompWindow * w, int dx, int dy, int dwidth, int dheight)animWindowResizeNotify3845,102942 +animWindowMoveNotify(CompWindow * w, int dx, int dy, Bool immediate)animWindowMoveNotify3889,104040 +animWindowGrabNotify(CompWindow * w,animWindowGrabNotify3947,105318 +static void animWindowUngrabNotify(CompWindow * w)animWindowUngrabNotify3960,105663 +animPaintOutput(CompScreen * s,animPaintOutput3973,105964 +static Bool animInitDisplay(CompPlugin * p, CompDisplay * d)animInitDisplay4035,107230 +static void animFiniDisplay(CompPlugin * p, CompDisplay * d)animFiniDisplay4062,107843 +static Bool animInitScreen(CompPlugin * p, CompScreen * s)animInitScreen4074,108071 +static void animFiniScreen(CompPlugin * p, CompScreen * s)animFiniScreen4183,111654 +static Bool animInitWindow(CompPlugin * p, CompWindow * w)animInitWindow4214,112455 +static void animFiniWindow(CompPlugin * p, CompWindow * w)animFiniWindow4268,113552 +static Bool animInit(CompPlugin * p)animInit4285,113798 +static void animFini(CompPlugin * p)animFini4308,114300 +animGetVersion (CompPlugin *plugin,animGetVersion4315,114445 +animGetMetadata (CompPlugin *plugin)animGetMetadata4322,114549 +CompPluginVTable animVTable = {animVTable4327,114617 +CompPluginVTable *getCompPluginInfo(void)getCompPluginInfo4345,114927 + +animation/horizontalfold.c,273 +fxHorizontalFoldsInitGrid(AnimScreen *as,fxHorizontalFoldsInitGrid43,1406 +fxHorizontalFoldsModelStepObject(CompWindow * w,fxHorizontalFoldsModelStepObject58,1833 +fxHorizontalFoldsModelStep(CompScreen * s, CompWindow * w, float time)fxHorizontalFoldsModelStep124,3545 + +animation/beamup.c,307 +void fxBeamUpInit(CompScreen * s, CompWindow * w)fxBeamUpInit42,1418 +fxBeamUpGenNewFire(CompScreen * s,fxBeamUpGenNewFire95,2907 +Bool fxBeamUpModelStep(CompScreen * s, CompWindow * w, float time)fxBeamUpModelStep175,4900 +fxBeamupUpdateWindowAttrib(AnimScreen * as,fxBeamupUpdateWindowAttrib274,7392 + +animation/curvedfold.c,258 +fxCurvedFoldModelStepObject(CompWindow * w,fxCurvedFoldModelStepObject42,1407 +Bool fxCurvedFoldModelStep(CompScreen * s, CompWindow * w, float time)fxCurvedFoldModelStep117,3553 +fxFoldUpdateWindowAttrib(AnimScreen * as,fxFoldUpdateWindowAttrib154,4416 + +animation/explode3d.c,77 +void fxExplode3DInit(CompScreen * s, CompWindow * w)fxExplode3DInit39,1321 + +animation/wave.c,157 +fxWaveModelStepObject(CompWindow * w,fxWaveModelStepObject42,1400 +Bool fxWaveModelStep(CompScreen * s, CompWindow * w, float time)fxWaveModelStep68,2200 + +animation/options.c,568 +animGetOptVal(AnimScreen *as,animGetOptVal33,1086 +animGetB(AnimScreen *as,animGetB49,1453 +animGetI(AnimScreen *as,animGetI57,1575 +animGetF(AnimScreen *as,animGetF65,1699 +animGetS(AnimScreen *as,animGetS73,1824 +animGetC(AnimScreen *as,animGetC81,1959 +void freeSingleEventOptionSets(OptionSets *oss)freeSingleEventOptionSets89,2077 +freeAllOptionSets(OptionSets **eventsOss)freeAllOptionSets100,2283 +updateOptionSet(CompScreen *s, OptionSet *os, char *optNamesValuesOrig)updateOptionSet121,2762 +updateOptionSets(CompScreen *s,updateOptionSets341,7641 + +animation/burn.c,277 +void fxBurnInit(CompScreen * s, CompWindow * w)fxBurnInit42,1415 +fxBurnGenNewFire(CompScreen * s,fxBurnGenNewFire104,3289 +fxBurnGenNewSmoke(CompScreen * s,fxBurnGenNewSmoke202,5905 +Bool fxBurnModelStep(CompScreen * s, CompWindow * w, float time)fxBurnModelStep281,7954 + +animation/glide.c,1133 +fxGlideGetParams (AnimScreen *as,fxGlideGetParams42,1401 +fxGlideIsPolygonBased (AnimScreen *as, AnimWindow *aw)fxGlideIsPolygonBased63,2042 +fxGlideZoomToTaskBar (AnimScreen *as, AnimWindow *aw)fxGlideZoomToTaskBar72,2323 +fxGlideLetOthersDrawGeoms(CompScreen *s, CompWindow *w)fxGlideLetOthersDrawGeoms84,2700 +float fxGlideAnimProgress(AnimWindow * aw)fxGlideAnimProgress92,2845 +resetAndPerspectiveDistortOnZ (CompTransform *wTransform, float v)resetAndPerspectiveDistortOnZ102,3104 +applyGlideTransform (CompWindow *w, CompTransform *transform)applyGlideTransform120,3455 +Bool fxGlideAnimStep(CompScreen * s, CompWindow * w, float time)fxGlideAnimStep172,4997 +fxGlideUpdateWindowAttrib(AnimScreen * as,fxGlideUpdateWindowAttrib191,5323 +fxGlideUpdateWindowTransform (CompScreen *s,fxGlideUpdateWindowTransform214,5766 +void fxGlideInit(CompScreen * s, CompWindow * w)fxGlideInit228,6055 +void fxGlidePrePaintWindow(CompScreen *s,fxGlidePrePaintWindow282,7241 +void fxGlidePostPaintWindow(CompScreen * s, CompWindow * w)fxGlidePostPaintWindow295,7519 +fxGlideUpdateBB (CompOutput *output,fxGlideUpdateBB308,7799 + +animation/airplane3d.c,409 +tessellateIntoAirplane (CompWindow * w)tessellateIntoAirplane37,1350 +fxAirplane3DInit (CompScreen * s, CompWindow * w)fxAirplane3DInit426,9444 +fxAirplane3DLinearAnimStepPolygon (CompWindow * w,fxAirplane3DLinearAnimStepPolygon757,15972 +AirplaneExtraPolygonTransformFunc (PolygonObject * p)AirplaneExtraPolygonTransformFunc919,20577 +fxAirplane3DAnimStep (CompScreen * s,fxAirplane3DAnimStep957,21782 + +animation/dodge.c,579 +fxDodgeProcessSubject (CompWindow *wCur,fxDodgeProcessSubject42,1401 +fxDodgeFindDodgeBox (CompWindow *w, XRectangle *dodgeBox)fxDodgeFindDodgeBox67,2081 +applyDodgeTransform (CompWindow * w, CompTransform *transform)applyDodgeTransform132,3934 +fxDodgeAnimStep (CompScreen * s, CompWindow * w, float time)fxDodgeAnimStep148,4296 +fxDodgeUpdateWindowTransform (CompScreen *s,fxDodgeUpdateWindowTransform196,5552 +fxDodgePostPreparePaintScreen(CompScreen *s, CompWindow *w)fxDodgePostPreparePaintScreen210,5824 +fxDodgeUpdateBB (CompOutput *output,fxDodgeUpdateBB309,8518 + +animation/magiclamp.c,411 +fxMagicLampInitGrid(AnimScreen *as, AnimWindow *aw,fxMagicLampInitGrid40,1326 +fxVacuumInitGrid(AnimScreen * as, AnimWindow *aw,fxVacuumInitGrid47,1522 +void fxMagicLampInit(CompScreen * s, CompWindow * w)fxMagicLampInit54,1705 +fxMagicLampModelStepObject(CompWindow * w,fxMagicLampModelStepObject138,3771 +Bool fxMagicLampModelStep(CompScreen * s, CompWindow * w, float time)fxMagicLampModelStep288,7900 + +animation/animation-internal.h,32802 +#define _GNU_SOURCE_GNU_SOURCE1,0 +#define FAKE_ICON_SIZE FAKE_ICON_SIZE19,309 +#define ANIM_TEXTURE_LIST_INCREMENT ANIM_TEXTURE_LIST_INCREMENT21,335 +#define ANIM_CLIP_LIST_INCREMENT ANIM_CLIP_LIST_INCREMENT22,373 +#define NOT_INITIALIZED NOT_INITIALIZED23,409 +#define WIN_X(WIN_X25,441 +#define WIN_Y(WIN_Y26,493 +#define WIN_W(WIN_W27,544 +#define WIN_H(WIN_H28,613 +#define BORDER_X(BORDER_X30,684 +#define BORDER_Y(BORDER_Y31,738 +#define BORDER_W(BORDER_W32,791 +#define BORDER_H(BORDER_H33,861 +#define RAND_FLOAT(RAND_FLOAT35,933 +#define MIN_WINDOW_GRID_SIZE MIN_WINDOW_GRID_SIZE36,981 +#define LIST_SIZE(LIST_SIZE38,1014 +typedef struct _xy_pair_xy_pair40,1065 + float x, y;x42,1091 + float x, y;y42,1091 +} Point, Vector;Point43,1107 +} Point, Vector;Vector43,1107 + float x1, x2, y1, y2;x147,1142 + float x1, x2, y1, y2;x247,1142 + float x1, x2, y1, y2;y147,1142 + float x1, x2, y1, y2;y247,1142 +} Boxf;Boxf48,1168 +typedef struct _xyz_tuple_xyz_tuple50,1177 + float x, y, z;x52,1205 + float x, y, z;y52,1205 + float x, y, z;z52,1205 +} Point3d, Vector3d;Point3d53,1224 +} Point3d, Vector3d;Vector3d53,1224 +typedef struct _AirplaneEffectParameters_AirplaneEffectParameters55,1246 + Vector3d rotAxisA; // Rotation axis vector ArotAxisA60,1364 + Vector3d rotAxisB; // Rotation axis vector BrotAxisB61,1415 + Point3d rotAxisOffsetA; // Rotation axis translate amount A rotAxisOffsetA63,1467 + Point3d rotAxisOffsetB; // Rotation axis translate amount BrotAxisOffsetB64,1533 + float rotAngleA; // Rotation angle ArotAngleA66,1607 + float finalRotAngA; // Final rotation angle AfinalRotAngA67,1650 + float rotAngleB; // Rotation angle BrotAngleB69,1703 + float finalRotAngB; // Final rotation angle BfinalRotAngB70,1746 + Vector3d centerPosFly; // center position (offset) during the flying phasescenterPosFly74,1827 + Vector3d flyRotation; // airplane rotation during the flying phasesflyRotation76,1908 + Vector3d flyFinalRotation; // airplane rotation during the flying phases flyFinalRotation77,1980 + float flyScale; // Scale for airplane flying effect flyScale79,2059 + float flyFinalScale; // Final Scale for airplane flying effect flyFinalScale80,2128 + float flyTheta; // Theta parameter for fly rotations and positionsflyTheta82,2206 + float moveStartTime2; // Movement starts at this time ([0-1] range)moveStartTime284,2279 + float moveDuration2; // Movement lasts this long ([0-1] range)moveDuration285,2352 + float moveStartTime3; // Movement starts at this time ([0-1] range)moveStartTime387,2425 + float moveDuration3; // Movement lasts this long ([0-1] range)moveDuration388,2498 + float moveStartTime4; // Movement starts at this time ([0-1] range)moveStartTime490,2571 + float moveDuration4; // Movement lasts this long ([0-1] range)moveDuration491,2644 + float moveStartTime5; // Movement starts at this time ([0-1] range)moveStartTime593,2717 + float moveDuration5; // Movement lasts this long ([0-1] range)moveDuration594,2797 +} AirplaneEffectParameters;AirplaneEffectParameters95,2869 +typedef struct _PolygonObject_PolygonObject104,3381 + int nVertices; // number of total vertices (front + back)nVertices106,3413 + int nSides; // number of sidesnSides107,3478 + GLfloat *vertices; // Positions of vertices relative to centervertices108,3517 + GLushort *sideIndices; // Indices of quad strip for "sides"sideIndices109,3586 + GLfloat *normals; // Surface normals for 2+nSides facesnormals110,3651 + Box boundingBox; // Bound. box to test intersection with clipsboundingBox112,3714 + GLfloat *vertexTexCoords4Clips;vertexTexCoords4Clips114,3784 + Point3d centerPosStart; // Starting position of centercenterPosStart120,3998 + float rotAngleStart; // Starting rotation anglerotAngleStart121,4058 + Point3d centerPos; // Position of centercenterPos123,4112 + Vector3d rotAxis; // Rotation axis vectorrotAxis124,4159 + float rotAngle; // Rotation anglerotAngle125,4207 + Point3d rotAxisOffset; // Rotation axis translate amountrotAxisOffset126,4248 + Point centerRelPos; // Relative pos of center within the windowcenterRelPos128,4311 + Vector3d finalRelPos; // Velocity factor for scripted movementfinalRelPos130,4382 + float finalRotAng; // Final rotation angle around rotAxisfinalRotAng131,4450 + float moveStartTime; // Movement starts at this time ([0-1] range)moveStartTime133,4515 + float moveDuration; // Movement lasts this long ([0-1] range)moveDuration134,4587 + float fadeStartTime; // Fade out starts at this time ([0,1] range)fadeStartTime136,4660 + float fadeDuration; // Duration of fade out ([0,1] range)fadeDuration137,4732 + void *effectParameters; /* Pointer to a struct that can containeffectParameters139,4805 + float boundSphereRadius; // Radius of bounding sphereboundSphereRadius142,4940 +} PolygonObject;PolygonObject143,5009 +typedef struct _Clip4Polygons // Rectangular clips_Clip4Polygons145,5027 + int id; // clip id (what number this clip is amongid147,5130 + Box box; // Coordsbox149,5208 + Boxf boxf; // Float coords (for small clipping adjustment)boxf150,5233 + CompMatrix texMatrix; // Corresponding texture coord. matrixtexMatrix151,5298 + int *intersectingPolygons;intersectingPolygons152,5363 + int nIntersectingPolygons; // Clips (in PolygonSet) that intersectnIntersectingPolygons153,5394 + GLfloat *polygonVertexTexCoords;polygonVertexTexCoords154,5465 +} Clip4Polygons;Clip4Polygons157,5646 + CorrectPerspectiveNone = 0,CorrectPerspectiveNone161,5679 + CorrectPerspectivePolygon,CorrectPerspectivePolygon162,5711 + CorrectPerspectiveWindowCorrectPerspectiveWindow163,5742 +} CorrectPerspective;CorrectPerspective164,5771 +typedef struct _PolygonSet // Polygon objects with same thickness_PolygonSet166,5794 + int nClips; // Rect. clips collected in AddWindowGeometriesnClips168,5862 + Clip4Polygons *clips; // List of clipsclips169,5928 + int clipCapacity; // # of clips this list can holdclipCapacity170,5971 + int firstNondrawnClip;firstNondrawnClip171,6027 + int *lastClipInGroup; // index of the last clip in each group of clipslastClipInGroup172,6054 + Bool doDepthTest; // whether depth testing should be used in the effectdoDepthTest175,6165 + Bool doLighting; // whether lighting should be used in the effectdoLighting176,6251 + CorrectPerspective correctPerspective;correctPerspective177,6332 + PolygonObject *polygons; // The polygons in this setpolygons178,6375 + int nPolygons;nPolygons179,6432 + float thickness; // Window thickness (depth along z axis)thickness180,6451 + int nTotalFrontVertices; // Total # of polygon vertices on front facesnTotalFrontVertices181,6514 + float backAndSidesFadeDur; // How long side and back faces should fade in/outbackAndSidesFadeDur182,6589 + float allFadeDuration; /* Duration of fade out at the end in [0,1] rangeallFadeDuration183,6671 + Bool includeShadows; // include shadows in polygonincludeShadows187,6864 + void (*extraPolygonTransformFunc) (PolygonObject *);extraPolygonTransformFunc189,6927 +} PolygonSet;PolygonSet190,6984 +typedef struct _WaveParam_WaveParam192,6999 + float halfWidth;halfWidth194,7027 + float amp;amp195,7048 + float pos;pos196,7063 +} WaveParam;WaveParam197,7078 + WindowEventOpen = 0,WindowEventOpen201,7107 + WindowEventClose,WindowEventClose202,7132 + WindowEventMinimize,WindowEventMinimize203,7154 + WindowEventUnminimize,WindowEventUnminimize204,7179 + WindowEventFocus,WindowEventFocus205,7206 + WindowEventShade,WindowEventShade206,7228 + WindowEventUnshade,WindowEventUnshade207,7250 + WindowEventNoneWindowEventNone208,7274 +} WindowEvent;WindowEvent209,7294 +#define NUM_EVENTS NUM_EVENTS210,7309 +typedef struct _Object_Object212,7331 + Point gridPosition; // position on window in [0,1] rangegridPosition214,7356 + Point position; // position on screenposition215,7418 + Point3d posRel3d; /* position relative to model centerposRel3d216,7461 + Point offsetTexCoordForQuadBefore;offsetTexCoordForQuadBefore222,7744 + Point offsetTexCoordForQuadAfter;offsetTexCoordForQuadAfter223,7783 +} Object;Object224,7821 +typedef struct _Model_Model226,7832 + Object *objects;objects228,7856 + int numObjects;numObjects229,7877 + int gridWidth;gridWidth230,7897 + int gridHeight;gridHeight231,7916 + int winWidth; // keeps win. size when model was createdwinWidth233,7937 + int winHeight;winHeight234,7998 + Vector scale;scale236,8018 + Point scaleOrigin;scaleOrigin237,8036 + int magicLampWaveCount;magicLampWaveCount239,8060 + WaveParam *magicLampWaves;magicLampWaves240,8088 + WindowEvent forWindowEvent;forWindowEvent241,8119 + float topHeight;topHeight242,8151 + float bottomHeight;bottomHeight243,8172 +} Model;Model244,8196 +typedef struct _Particle_Particle246,8206 + float life; // particle lifelife248,8233 + float fade; // fade speedfade249,8268 + float width; // particle widthwidth250,8300 + float height; // particle heightheight251,8336 + float w_mod; // particle size modification during lifew_mod252,8374 + float h_mod; // particle size modification during lifeh_mod253,8434 + float r; // red valuer254,8494 + float g; // green valueg255,8522 + float b; // blue valueb256,8552 + float a; // alpha valuea257,8581 + float x; // X positionx258,8611 + float y; // Y positiony259,8640 + float z; // Z positionz260,8669 + float xi; // X directionxi261,8698 + float yi; // Y directionyi262,8729 + float zi; // Z directionzi263,8760 + float xg; // X gravityxg264,8791 + float yg; // Y gravityyg265,8820 + float zg; // Z gravityzg266,8849 + float xo; // orginal X positionxo267,8878 + float yo; // orginal Y positionyo268,8916 + float zo; // orginal Z positionzo269,8954 +} Particle;Particle270,8992 +typedef struct _ParticleSystem_ParticleSystem272,9005 + int numParticles;numParticles274,9038 + Particle *particles;particles275,9060 + float slowdown;slowdown276,9085 + GLuint tex;tex277,9105 + Bool active;active278,9121 + int x, y;x279,9138 + int x, y;y279,9138 + float darken;darken280,9152 + GLuint blendMode;blendMode281,9170 + GLfloat *vertices_cache;vertices_cache284,9257 + int vertex_cache_count;vertex_cache_count285,9286 + GLfloat *coords_cache;coords_cache286,9314 + int coords_cache_count;coords_cache_count287,9341 + GLfloat *colors_cache;colors_cache288,9369 + int color_cache_count;color_cache_count289,9396 + GLfloat *dcolors_cache;dcolors_cache290,9423 + int dcolors_cache_count;dcolors_cache_count291,9451 +} ParticleSystem;ParticleSystem292,9480 + AnimDirectionDown = 0,AnimDirectionDown297,9515 + AnimDirectionUp,AnimDirectionUp298,9542 + AnimDirectionLeft,AnimDirectionLeft299,9563 + AnimDirectionRight,AnimDirectionRight300,9586 + AnimDirectionRandom,AnimDirectionRandom301,9610 + AnimDirectionAutoAnimDirectionAuto302,9635 +} AnimDirection;AnimDirection303,9657 +#define LAST_ANIM_DIRECTION LAST_ANIM_DIRECTION304,9674 + ZoomFromCenterOff = 0,ZoomFromCenterOff308,9720 + ZoomFromCenterMin,ZoomFromCenterMin309,9747 + ZoomFromCenterCreate,ZoomFromCenterCreate310,9770 + ZoomFromCenterOnZoomFromCenterOn311,9796 +} ZoomFromCenter;ZoomFromCenter312,9817 +#define LAST_ZOOM_FROM_CENTER LAST_ZOOM_FROM_CENTER313,9835 + PolygonTessRect = 0,PolygonTessRect318,9935 + PolygonTessHexPolygonTessHex319,9960 +} PolygonTess;PolygonTess320,9979 +#define LAST_POLYGON_TESS LAST_POLYGON_TESS321,9994 + AnimEffectNone = 0,AnimEffectNone325,10038 + AnimEffectRandom,AnimEffectRandom326,10062 + AnimEffectAirplane3D,AnimEffectAirplane3D327,10084 + AnimEffectBeamUp,AnimEffectBeamUp328,10110 + AnimEffectBurn,AnimEffectBurn329,10132 + AnimEffectCurvedFold,AnimEffectCurvedFold330,10152 + AnimEffectDodge,AnimEffectDodge331,10178 + AnimEffectDomino3D,AnimEffectDomino3D332,10199 + AnimEffectDream,AnimEffectDream333,10223 + AnimEffectExplode3D,AnimEffectExplode3D334,10244 + AnimEffectFade,AnimEffectFade335,10269 + AnimEffectFocusFade,AnimEffectFocusFade336,10289 + AnimEffectFold3D,AnimEffectFold3D337,10314 + AnimEffectGlide3D1,AnimEffectGlide3D1338,10336 + AnimEffectGlide3D2,AnimEffectGlide3D2339,10360 + AnimEffectHorizontalFolds,AnimEffectHorizontalFolds340,10384 + AnimEffectLeafSpread3D,AnimEffectLeafSpread3D341,10415 + AnimEffectMagicLamp,AnimEffectMagicLamp342,10443 + AnimEffectRazr3D,AnimEffectRazr3D343,10468 + AnimEffectRollUp,AnimEffectRollUp344,10490 + AnimEffectSidekick,AnimEffectSidekick345,10512 + AnimEffectSkewer,AnimEffectSkewer346,10536 + AnimEffectVacuum,AnimEffectVacuum347,10558 + AnimEffectWave,AnimEffectWave348,10580 + AnimEffectZoom,AnimEffectZoom349,10600 + AnimEffectNumAnimEffectNum350,10620 +} AnimEffect;AnimEffect351,10638 +#define RANDOM_EFFECT_OFFSET RANDOM_EFFECT_OFFSET353,10653 +#define NUM_MINIMIZE_EFFECT NUM_MINIMIZE_EFFECT362,10979 +#define LAST_MINIMIZE_EFFECT LAST_MINIMIZE_EFFECT363,11010 +#define LAST_RANDOM_MINIMIZE_EFFECT LAST_RANDOM_MINIMIZE_EFFECT364,11042 +#define NUM_CLOSE_EFFECT NUM_CLOSE_EFFECT366,11082 +#define LAST_CLOSE_EFFECT LAST_CLOSE_EFFECT367,11110 +#define LAST_RANDOM_CLOSE_EFFECT LAST_RANDOM_CLOSE_EFFECT368,11139 +#define NUM_FOCUS_EFFECT NUM_FOCUS_EFFECT370,11176 +#define LAST_FOCUS_EFFECT LAST_FOCUS_EFFECT371,11203 +#define NUM_SHADE_EFFECT NUM_SHADE_EFFECT373,11232 +#define LAST_SHADE_EFFECT LAST_SHADE_EFFECT374,11259 +#define LAST_RANDOM_SHADE_EFFECT LAST_RANDOM_SHADE_EFFECT375,11287 +typedef struct _RestackInfo_RestackInfo377,11323 + CompWindow *wRestacked, *wStart, *wEnd, *wOldAbove;wRestacked379,11353 + CompWindow *wRestacked, *wStart, *wEnd, *wOldAbove;wStart379,11353 + CompWindow *wRestacked, *wStart, *wEnd, *wOldAbove;wEnd379,11353 + CompWindow *wRestacked, *wStart, *wEnd, *wOldAbove;wOldAbove379,11353 + Bool raised;raised380,11409 +} RestackInfo;RestackInfo381,11426 +typedef struct _IdValuePair_IdValuePair383,11442 + int id;id385,11472 + CompOptionValue value;value386,11484 +} IdValuePair;IdValuePair387,11511 +typedef struct _OptionSet_OptionSet389,11531 + int nPairs;nPairs391,11559 + IdValuePair *pairs;pairs392,11575 +} OptionSet;OptionSet393,11599 +typedef struct _OptionSets_OptionSets395,11613 + int nSets;nSets397,11642 + OptionSet *sets;sets398,11657 +} OptionSets;OptionSets399,11678 +typedef struct _AnimDisplay_AnimDisplay404,11764 + int screenPrivateIndex;screenPrivateIndex406,11794 + Atom winIconGeometryAtom;winIconGeometryAtom407,11822 + Atom wmNameAtom;wmNameAtom408,11852 + HandleEventProc handleEvent;handleEvent409,11873 + HandleEcompEventProc handleEcompEvent;handleEcompEvent410,11906 + int activeWindow;activeWindow411,11949 +} AnimDisplay;AnimDisplay412,11971 +typedef struct _PluginEventInfo_PluginEventInfo414,11987 + char *pluginName;pluginName416,12021 + char *activateEventName;activateEventName417,12043 +} PluginEventInfo;PluginEventInfo418,12072 +#define NUM_WATCHED_PLUGINS NUM_WATCHED_PLUGINS420,12092 + ANIM_SCREEN_OPTION_OPEN_EFFECTS = 0,ANIM_SCREEN_OPTION_OPEN_EFFECTS425,12160 + ANIM_SCREEN_OPTION_OPEN_DURATIONS,ANIM_SCREEN_OPTION_OPEN_DURATIONS426,12201 + ANIM_SCREEN_OPTION_OPEN_MATCHES,ANIM_SCREEN_OPTION_OPEN_MATCHES427,12240 + ANIM_SCREEN_OPTION_OPEN_OPTIONS,ANIM_SCREEN_OPTION_OPEN_OPTIONS428,12277 + ANIM_SCREEN_OPTION_OPEN_RANDOM_EFFECTS,ANIM_SCREEN_OPTION_OPEN_RANDOM_EFFECTS429,12314 + ANIM_SCREEN_OPTION_CLOSE_EFFECTS,ANIM_SCREEN_OPTION_CLOSE_EFFECTS430,12358 + ANIM_SCREEN_OPTION_CLOSE_DURATIONS,ANIM_SCREEN_OPTION_CLOSE_DURATIONS431,12396 + ANIM_SCREEN_OPTION_CLOSE_MATCHES,ANIM_SCREEN_OPTION_CLOSE_MATCHES432,12436 + ANIM_SCREEN_OPTION_CLOSE_OPTIONS,ANIM_SCREEN_OPTION_CLOSE_OPTIONS433,12474 + ANIM_SCREEN_OPTION_CLOSE_RANDOM_EFFECTS,ANIM_SCREEN_OPTION_CLOSE_RANDOM_EFFECTS434,12512 + ANIM_SCREEN_OPTION_MINIMIZE_EFFECTS,ANIM_SCREEN_OPTION_MINIMIZE_EFFECTS435,12557 + ANIM_SCREEN_OPTION_MINIMIZE_DURATIONS,ANIM_SCREEN_OPTION_MINIMIZE_DURATIONS436,12598 + ANIM_SCREEN_OPTION_MINIMIZE_MATCHES,ANIM_SCREEN_OPTION_MINIMIZE_MATCHES437,12641 + ANIM_SCREEN_OPTION_MINIMIZE_OPTIONS,ANIM_SCREEN_OPTION_MINIMIZE_OPTIONS438,12682 + ANIM_SCREEN_OPTION_MINIMIZE_RANDOM_EFFECTS,ANIM_SCREEN_OPTION_MINIMIZE_RANDOM_EFFECTS439,12723 + ANIM_SCREEN_OPTION_FOCUS_EFFECTS,ANIM_SCREEN_OPTION_FOCUS_EFFECTS440,12771 + ANIM_SCREEN_OPTION_FOCUS_DURATIONS,ANIM_SCREEN_OPTION_FOCUS_DURATIONS441,12809 + ANIM_SCREEN_OPTION_FOCUS_MATCHES,ANIM_SCREEN_OPTION_FOCUS_MATCHES442,12849 + ANIM_SCREEN_OPTION_FOCUS_OPTIONS,ANIM_SCREEN_OPTION_FOCUS_OPTIONS443,12887 + ANIM_SCREEN_OPTION_SHADE_EFFECTS,ANIM_SCREEN_OPTION_SHADE_EFFECTS444,12925 + ANIM_SCREEN_OPTION_SHADE_DURATIONS,ANIM_SCREEN_OPTION_SHADE_DURATIONS445,12963 + ANIM_SCREEN_OPTION_SHADE_MATCHES,ANIM_SCREEN_OPTION_SHADE_MATCHES446,13003 + ANIM_SCREEN_OPTION_SHADE_OPTIONS,ANIM_SCREEN_OPTION_SHADE_OPTIONS447,13041 + ANIM_SCREEN_OPTION_SHADE_RANDOM_EFFECTS,ANIM_SCREEN_OPTION_SHADE_RANDOM_EFFECTS448,13079 + ANIM_SCREEN_OPTION_ALL_RANDOM,ANIM_SCREEN_OPTION_ALL_RANDOM450,13146 + ANIM_SCREEN_OPTION_TIME_STEP,ANIM_SCREEN_OPTION_TIME_STEP451,13181 + ANIM_SCREEN_OPTION_TIME_STEP_INTENSE,ANIM_SCREEN_OPTION_TIME_STEP_INTENSE452,13215 + ANIM_SCREEN_OPTION_AIRPLANE_PATHLENGTH,ANIM_SCREEN_OPTION_AIRPLANE_PATHLENGTH454,13280 + ANIM_SCREEN_OPTION_AIRPLANE_FLY2TOM,ANIM_SCREEN_OPTION_AIRPLANE_FLY2TOM455,13324 + ANIM_SCREEN_OPTION_BEAMUP_SIZE,ANIM_SCREEN_OPTION_BEAMUP_SIZE456,13365 + ANIM_SCREEN_OPTION_BEAMUP_SPACING,ANIM_SCREEN_OPTION_BEAMUP_SPACING457,13401 + ANIM_SCREEN_OPTION_BEAMUP_COLOR,ANIM_SCREEN_OPTION_BEAMUP_COLOR458,13440 + ANIM_SCREEN_OPTION_BEAMUP_SLOWDOWN,ANIM_SCREEN_OPTION_BEAMUP_SLOWDOWN459,13477 + ANIM_SCREEN_OPTION_BEAMUP_LIFE,ANIM_SCREEN_OPTION_BEAMUP_LIFE460,13517 + ANIM_SCREEN_OPTION_CURVED_FOLD_AMP,ANIM_SCREEN_OPTION_CURVED_FOLD_AMP461,13553 + ANIM_SCREEN_OPTION_CURVED_FOLD_Z2TOM,ANIM_SCREEN_OPTION_CURVED_FOLD_Z2TOM462,13593 + ANIM_SCREEN_OPTION_DODGE_GAP_RATIO,ANIM_SCREEN_OPTION_DODGE_GAP_RATIO463,13635 + ANIM_SCREEN_OPTION_DOMINO_DIRECTION,ANIM_SCREEN_OPTION_DOMINO_DIRECTION464,13675 + ANIM_SCREEN_OPTION_DREAM_Z2TOM,ANIM_SCREEN_OPTION_DREAM_Z2TOM465,13716 + ANIM_SCREEN_OPTION_RAZR_DIRECTION,ANIM_SCREEN_OPTION_RAZR_DIRECTION466,13752 + ANIM_SCREEN_OPTION_EXPLODE3D_THICKNESS,ANIM_SCREEN_OPTION_EXPLODE3D_THICKNESS467,13791 + ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_X,ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_X468,13835 + ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_Y,ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_Y469,13880 + ANIM_SCREEN_OPTION_EXPLODE3D_TESS,ANIM_SCREEN_OPTION_EXPLODE3D_TESS470,13925 + ANIM_SCREEN_OPTION_FIRE_PARTICLES,ANIM_SCREEN_OPTION_FIRE_PARTICLES471,13964 + ANIM_SCREEN_OPTION_FIRE_SIZE,ANIM_SCREEN_OPTION_FIRE_SIZE472,14003 + ANIM_SCREEN_OPTION_FIRE_SLOWDOWN,ANIM_SCREEN_OPTION_FIRE_SLOWDOWN473,14037 + ANIM_SCREEN_OPTION_FIRE_LIFE,ANIM_SCREEN_OPTION_FIRE_LIFE474,14075 + ANIM_SCREEN_OPTION_FIRE_COLOR,ANIM_SCREEN_OPTION_FIRE_COLOR475,14109 + ANIM_SCREEN_OPTION_FIRE_DIRECTION,ANIM_SCREEN_OPTION_FIRE_DIRECTION476,14144 + ANIM_SCREEN_OPTION_FIRE_CONSTANT_SPEED,ANIM_SCREEN_OPTION_FIRE_CONSTANT_SPEED477,14183 + ANIM_SCREEN_OPTION_FIRE_SMOKE,ANIM_SCREEN_OPTION_FIRE_SMOKE478,14227 + ANIM_SCREEN_OPTION_FIRE_MYSTICAL,ANIM_SCREEN_OPTION_FIRE_MYSTICAL479,14262 + ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_X,ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_X480,14300 + ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_Y,ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_Y481,14342 + ANIM_SCREEN_OPTION_FOLD3D_DIR,ANIM_SCREEN_OPTION_FOLD3D_DIR482,14384 + ANIM_SCREEN_OPTION_GLIDE1_AWAY_POS,ANIM_SCREEN_OPTION_GLIDE1_AWAY_POS483,14419 + ANIM_SCREEN_OPTION_GLIDE1_AWAY_ANGLE,ANIM_SCREEN_OPTION_GLIDE1_AWAY_ANGLE484,14459 + ANIM_SCREEN_OPTION_GLIDE1_THICKNESS,ANIM_SCREEN_OPTION_GLIDE1_THICKNESS485,14501 + ANIM_SCREEN_OPTION_GLIDE1_Z2TOM,ANIM_SCREEN_OPTION_GLIDE1_Z2TOM486,14542 + ANIM_SCREEN_OPTION_GLIDE2_AWAY_POS,ANIM_SCREEN_OPTION_GLIDE2_AWAY_POS487,14579 + ANIM_SCREEN_OPTION_GLIDE2_AWAY_ANGLE,ANIM_SCREEN_OPTION_GLIDE2_AWAY_ANGLE488,14619 + ANIM_SCREEN_OPTION_GLIDE2_THICKNESS,ANIM_SCREEN_OPTION_GLIDE2_THICKNESS489,14661 + ANIM_SCREEN_OPTION_GLIDE2_Z2TOM,ANIM_SCREEN_OPTION_GLIDE2_Z2TOM490,14702 + ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_AMP,ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_AMP491,14739 + ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_NUM_FOLDS,ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_NUM_FOLDS492,14784 + ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_Z2TOM,ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_Z2TOM493,14835 + ANIM_SCREEN_OPTION_MAGIC_LAMP_MOVING_END,ANIM_SCREEN_OPTION_MAGIC_LAMP_MOVING_END494,14882 + ANIM_SCREEN_OPTION_MAGIC_LAMP_GRID_RES,ANIM_SCREEN_OPTION_MAGIC_LAMP_GRID_RES495,14928 + ANIM_SCREEN_OPTION_MAGIC_LAMP_MAX_WAVES,ANIM_SCREEN_OPTION_MAGIC_LAMP_MAX_WAVES496,14972 + ANIM_SCREEN_OPTION_MAGIC_LAMP_WAVE_AMP_MIN,ANIM_SCREEN_OPTION_MAGIC_LAMP_WAVE_AMP_MIN497,15017 + ANIM_SCREEN_OPTION_MAGIC_LAMP_WAVE_AMP_MAX,ANIM_SCREEN_OPTION_MAGIC_LAMP_WAVE_AMP_MAX498,15065 + ANIM_SCREEN_OPTION_MAGIC_LAMP_OPEN_START_WIDTH,ANIM_SCREEN_OPTION_MAGIC_LAMP_OPEN_START_WIDTH499,15113 + ANIM_SCREEN_OPTION_ROLLUP_FIXED_INTERIOR,ANIM_SCREEN_OPTION_ROLLUP_FIXED_INTERIOR500,15165 + ANIM_SCREEN_OPTION_SIDEKICK_NUM_ROTATIONS,ANIM_SCREEN_OPTION_SIDEKICK_NUM_ROTATIONS501,15211 + ANIM_SCREEN_OPTION_SIDEKICK_SPRINGINESS,ANIM_SCREEN_OPTION_SIDEKICK_SPRINGINESS502,15258 + ANIM_SCREEN_OPTION_SIDEKICK_ZOOM_FROM_CENTER,ANIM_SCREEN_OPTION_SIDEKICK_ZOOM_FROM_CENTER503,15303 + ANIM_SCREEN_OPTION_SKEWER_GRIDSIZE_X,ANIM_SCREEN_OPTION_SKEWER_GRIDSIZE_X504,15353 + ANIM_SCREEN_OPTION_SKEWER_GRIDSIZE_Y,ANIM_SCREEN_OPTION_SKEWER_GRIDSIZE_Y505,15395 + ANIM_SCREEN_OPTION_SKEWER_THICKNESS,ANIM_SCREEN_OPTION_SKEWER_THICKNESS506,15437 + ANIM_SCREEN_OPTION_SKEWER_DIRECTION,ANIM_SCREEN_OPTION_SKEWER_DIRECTION507,15478 + ANIM_SCREEN_OPTION_SKEWER_TESS,ANIM_SCREEN_OPTION_SKEWER_TESS508,15519 + ANIM_SCREEN_OPTION_SKEWER_ROTATION,ANIM_SCREEN_OPTION_SKEWER_ROTATION509,15555 + ANIM_SCREEN_OPTION_VACUUM_MOVING_END,ANIM_SCREEN_OPTION_VACUUM_MOVING_END510,15595 + ANIM_SCREEN_OPTION_VACUUM_GRID_RES,ANIM_SCREEN_OPTION_VACUUM_GRID_RES511,15637 + ANIM_SCREEN_OPTION_VACUUM_OPEN_START_WIDTH,ANIM_SCREEN_OPTION_VACUUM_OPEN_START_WIDTH512,15677 + ANIM_SCREEN_OPTION_WAVE_WIDTH,ANIM_SCREEN_OPTION_WAVE_WIDTH513,15725 + ANIM_SCREEN_OPTION_WAVE_AMP,ANIM_SCREEN_OPTION_WAVE_AMP514,15760 + ANIM_SCREEN_OPTION_ZOOM_FROM_CENTER,ANIM_SCREEN_OPTION_ZOOM_FROM_CENTER515,15793 + ANIM_SCREEN_OPTION_ZOOM_SPRINGINESS,ANIM_SCREEN_OPTION_ZOOM_SPRINGINESS516,15834 + ANIM_SCREEN_OPTION_NUMANIM_SCREEN_OPTION_NUM518,15876 +} AnimScreenOptions;AnimScreenOptions519,15903 +#define NUM_NONEFFECT_OPTIONS NUM_NONEFFECT_OPTIONS523,16013 +typedef struct _AnimScreen_AnimScreen525,16083 + int windowPrivateIndex;windowPrivateIndex527,16112 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen529,16141 + DonePaintScreenProc donePaintScreen;donePaintScreen530,16188 + PaintOutputProc paintOutput;paintOutput531,16229 + PaintWindowProc paintWindow;paintWindow532,16262 + DamageWindowRectProc damageWindowRect;damageWindowRect533,16295 + AddWindowGeometryProc addWindowGeometry;addWindowGeometry534,16338 + DrawWindowTextureProc drawWindowTexture;drawWindowTexture535,16383 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify537,16429 + WindowMoveNotifyProc windowMoveNotify;windowMoveNotify538,16476 + WindowGrabNotifyProc windowGrabNotify;windowGrabNotify539,16519 + WindowUngrabNotifyProc windowUngrabNotify;windowUngrabNotify540,16562 + CompOption opt[ANIM_SCREEN_OPTION_NUM];opt542,16610 + Bool aWinWasRestackedJustNow; // a window was restacked this paint roundaWinWasRestackedJustNow544,16655 + Bool pluginActive[NUM_WATCHED_PLUGINS];pluginActive546,16733 + Bool switcherWinOpeningSuppressed; /* whether switcher window openingswitcherWinOpeningSuppressed548,16778 + Window *lastClientListStacking; // to store last known stacking orderlastClientListStacking551,16891 + int nLastClientListStacking;nLastClientListStacking552,16965 + int markAllWinCreatedCountdown;markAllWinCreatedCountdown553,16998 + Bool animInProgress;animInProgress557,17123 + AnimEffect openRandomEffects[NUM_CLOSE_EFFECT];openRandomEffects559,17149 + AnimEffect closeRandomEffects[NUM_CLOSE_EFFECT];closeRandomEffects560,17201 + AnimEffect minimizeRandomEffects[NUM_MINIMIZE_EFFECT];minimizeRandomEffects561,17254 + AnimEffect shadeRandomEffects[NUM_SHADE_EFFECT];shadeRandomEffects562,17313 + unsigned int nCloseRandomEffects;nCloseRandomEffects563,17366 + unsigned int nOpenRandomEffects;nOpenRandomEffects564,17404 + unsigned int nMinimizeRandomEffects;nMinimizeRandomEffects565,17441 + unsigned int nShadeRandomEffects;nShadeRandomEffects566,17482 + CompOutput *output;output568,17521 + OptionSets *eventOptionSets[NUM_EVENTS];eventOptionSets570,17546 +} AnimScreen;AnimScreen571,17591 +typedef struct _AnimWindow_AnimWindow573,17606 + Model *model;model575,17635 + int numPs;numPs576,17653 + ParticleSystem *ps;ps577,17668 + unsigned int state;state578,17692 + unsigned int newState;newState579,17716 + char *wmName;wmName581,17744 + PolygonSet *polygonSet;polygonSet583,17763 + float mvm[16];mvm584,17791 + Region drawRegion;drawRegion586,17811 + Bool useDrawRegion;useDrawRegion587,17834 + XRectangle icon;icon589,17859 + XRectangle origWindowRect;origWindowRect590,17880 + XRectangle lastKnownCoords; /* used to determine if paintWindow is drawinglastKnownCoords592,17912 + float numZoomRotations;numZoomRotations595,18045 + GLushort storedOpacity;storedOpacity596,18073 + float timestep; // to be used in updateWindowAttribFunctimestep597,18101 + int nDrawGeometryCalls;nDrawGeometryCalls599,18163 + Bool animInitialized; // whether the animation effect (not the window) is initializedanimInitialized601,18192 + float animTotalTime;animTotalTime602,18282 + float animRemainingTime;animRemainingTime603,18307 + float remainderSteps;remainderSteps604,18336 + int animOverrideProgressDir; // 0: default dir, 1: forward, 2: backwardanimOverrideProgressDir605,18362 + float transformStartProgress;transformStartProgress607,18439 + float transformProgress;transformProgress608,18473 + Bool nowShaded;nowShaded610,18503 + Bool grabbed;grabbed611,18523 + WindowEvent curWindowEvent;curWindowEvent613,18542 + AnimEffect curAnimEffect;curAnimEffect614,18574 + int unmapCnt;unmapCnt616,18605 + int destroyCnt;destroyCnt617,18623 + int nClipsPassed; /* # of clips passed to animAddWindowGeometry so farnClipsPassed619,18644 + Bool clipsUpdated; // whether stored clips are updated in this anim stepclipsUpdated621,18755 + FragmentAttrib curPaintAttrib;curPaintAttrib622,18841 + CompTexture *curTexture;curTexture623,18876 + int curTextureFilter;curTextureFilter624,18905 + int animatedAtom;animatedAtom625,18931 + int animFireDirection;animFireDirection627,18954 + Bool deceleratingMotion; // For effects that have decel. motiondeceleratingMotion628,18981 + int curAnimSelectionRow;curAnimSelectionRow630,19050 + CompTransform transform;transform632,19080 + Box BB; // Bounding box for damage region calc. of CompTransform fxBB634,19110 + Box lastBB; // Last bounding boxlastBB635,19188 + Bool minimizeToTop;minimizeToTop638,19250 + float glideModRotAngle; // The angle of rotation modulo 360glideModRotAngle641,19299 + RestackInfo *restackInfo; // restack info if window was restacked this paint roundrestackInfo644,19394 + CompWindow *winToBePaintedBeforeThis; // Window which should be painted before thiswinToBePaintedBeforeThis645,19483 + CompWindow *winThisIsPaintedBefore; // the inverse relation of the abovewinThisIsPaintedBefore646,19571 + CompWindow *moreToBePaintedPrev; // doubly linked list for windows underneath thatmoreToBePaintedPrev647,19648 + CompWindow *moreToBePaintedNext; // raise together with this onemoreToBePaintedNext648,19735 + Bool created;created649,19806 + Bool configureNotified; // was configureNotified before restack checkconfigureNotified650,19824 + Bool isDodgeSubject; // TRUE if this window is the cause of dodgingisDodgeSubject653,19920 + CompWindow *dodgeSubjectWin;// The window being dodgeddodgeSubjectWin654,19992 + float dodgeMaxAmount; /* max # pixels it should dodgedodgeMaxAmount655,20051 + int dodgeOrder; // dodge order (used temporarily)dodgeOrder657,20144 + Bool dodgeDirection; // 0: up, down, left, rightdodgeDirection658,20199 + CompWindow *dodgeChainStart;// for the subject windowdodgeChainStart660,20253 + CompWindow *dodgeChainPrev; // for dodging windowsdodgeChainPrev661,20311 + CompWindow *dodgeChainNext; // for dodging windowsdodgeChainNext662,20366 + Bool skipPostPrepareScreen;skipPostPrepareScreen663,20421 + Bool drawnOnHostSkip;drawnOnHostSkip664,20453 + float airplanePathLength;airplanePathLength667,20501 + Bool airplaneFly2TaskBar;airplaneFly2TaskBar668,20531 +} AnimWindow;AnimWindow669,20561 +typedef struct _AnimEffectProperties_AnimEffectProperties671,20576 + void (*updateWindowAttribFunc) (AnimScreen *, CompWindow *,updateWindowAttribFunc673,20615 + void (*prePaintWindowFunc) (CompScreen *, CompWindow *);prePaintWindowFunc675,20709 + void (*postPaintWindowFunc) (CompScreen *, CompWindow *);postPaintWindowFunc676,20770 + Bool (*animStepFunc) (CompScreen *, CompWindow *, float time);animStepFunc677,20832 + void (*initFunc) (CompScreen *, CompWindow *);initFunc678,20899 + void (*initGridFunc) (AnimScreen *, AnimWindow *, int *, int *);initGridFunc679,20950 + void (*addCustomGeometryFunc) (CompScreen *, CompWindow *, int, Box *,addCustomGeometryFunc680,21019 + void (*drawCustomGeometryFunc) (CompScreen *, CompWindow *);drawCustomGeometryFunc682,21121 + Bool dontUseQTexCoord; // TRUE if effect doesn't need Q coord.dontUseQTexCoord683,21186 + void (*animStepPolygonFunc) (CompWindow *, PolygonObject *, float);animStepPolygonFunc684,21254 + Bool (*letOthersDrawGeoms) (CompScreen *, CompWindow *);letOthersDrawGeoms685,21326 + void (*updateWindowTransformFunc)updateWindowTransformFunc686,21387 + void (*postPreparePaintScreenFunc) (CompScreen *, CompWindow *);postPreparePaintScreenFunc688,21476 + void (*updateBBFunc) (CompOutput *, CompWindow *);updateBBFunc689,21545 +} AnimEffectProperties;AnimEffectProperties690,21600 +AnimEffectProperties *animEffectPropertiesTmp;animEffectPropertiesTmp692,21625 +#define GET_ANIM_DISPLAY(GET_ANIM_DISPLAY694,21673 +#define ANIM_DISPLAY(ANIM_DISPLAY697,21774 +#define GET_ANIM_SCREEN(GET_ANIM_SCREEN700,21847 +#define ANIM_SCREEN(ANIM_SCREEN703,21951 +#define GET_ANIM_WINDOW(GET_ANIM_WINDOW706,22055 +#define ANIM_WINDOW(ANIM_WINDOW709,22159 +#define NUM_OPTIONS(NUM_OPTIONS713,22354 +#define sigmoid(sigmoid715,22420 +#define sigmoid2(sigmoid2716,22478 +#define DODGE_AMOUNT(DODGE_AMOUNT719,22565 +#define DODGE_AMOUNT_BOX(DODGE_AMOUNT_BOX726,22838 +#define DOMINO_PERCEIVED_T DOMINO_PERCEIVED_T735,23240 +#define DREAM_PERCEIVED_T DREAM_PERCEIVED_T736,23272 +#define EXPLODE_PERCEIVED_T EXPLODE_PERCEIVED_T737,23303 +#define FOLD_PERCEIVED_T FOLD_PERCEIVED_T738,23336 +#define LEAFSPREAD_PERCEIVED_T LEAFSPREAD_PERCEIVED_T739,23367 +#define ROLLUP_PERCEIVED_T ROLLUP_PERCEIVED_T740,23403 +#define SKEWER_PERCEIVED_T SKEWER_PERCEIVED_T741,23435 +#define SPRINGY_ZOOM_PERCEIVED_T SPRINGY_ZOOM_PERCEIVED_T743,23468 +#define NONSPRINGY_ZOOM_PERCEIVED_T NONSPRINGY_ZOOM_PERCEIVED_T744,23507 +#define ZOOM_PERCEIVED_T ZOOM_PERCEIVED_T745,23548 + +animation/dream.c,312 +fxDreamAnimInit (CompScreen * s, CompWindow * w)fxDreamAnimInit40,1326 +fxDreamModelStepObject(CompWindow * w,fxDreamModelStepObject56,1631 +Bool fxDreamModelStep(CompScreen * s, CompWindow * w, float time)fxDreamModelStep77,2270 +fxDreamUpdateWindowAttrib(AnimScreen * as,fxDreamUpdateWindowAttrib108,2960 + +animation/rollup.c,321 +fxRollUpInitGrid(AnimScreen * as, AnimWindow *aw,fxRollUpInitGrid42,1396 +fxRollUpModelStepObject(CompWindow * w,fxRollUpModelStepObject54,1657 +Bool fxRollUpModelStep(CompScreen * s, CompWindow * w, float time)fxRollUpModelStep119,3163 +void fxRollUpAnimInit(CompScreen * s, CompWindow * w)fxRollUpAnimInit144,3660 + +animation/leafspread.c,83 +void fxLeafSpread3DInit(CompScreen * s, CompWindow * w)fxLeafSpread3DInit39,1321 + +animation/fade.c,75 +fxFadeUpdateWindowAttrib(AnimScreen * as,fxFadeUpdateWindowAttrib42,1393 + +animation/fold3d.c,160 +fxFold3DInit (CompScreen * s, CompWindow * w)fxFold3DInit34,1116 +fxFold3dAnimStepPolygon (CompWindow * w, PolygonObject * p,fxFold3dAnimStepPolygon140,3521 + +animation/animation_tex.h,60 +static const unsigned char fireTex[4096] = {fireTex21,658 + +autogen.sh,0 + +bcop/install-sh,0 + +bcop/missing,0 + +bcop/configure,836 +as_func_success () {as_func_success167,3978 +as_func_failure () {as_func_failure170,4020 +as_func_ret_success () {as_func_ret_success173,4062 +as_func_ret_failure () {as_func_ret_failure176,4100 +as_func_success () {as_func_success282,6283 +as_func_failure () {as_func_failure285,6325 +as_func_ret_success () {as_func_ret_success288,6367 +as_func_ret_failure () {as_func_ret_failure291,6405 +as_func_success () {as_func_success371,7767 +as_func_failure () {as_func_failure374,7809 +as_func_ret_success () {as_func_ret_success377,7851 +as_func_ret_failure () {as_func_ret_failure380,7889 + function prototypes and stuff, but not '\xHH' hex character constants.prototypes3139,88892 + function prototypes and stuff, but not '\xHH' hex character constants.prototypes4008,113357 + _ascii (); _ebcdic ();_ascii4952,140178 + +bcop/autogen.sh,0 + +bcop/src/bcop.in,28 +function usageusage23,693 + +config.guess,72 + main()main515,16565 + main ()main661,20947 +main ()main1338,40379 + +config.sub,0 + +configure,1633 +as_func_success () {as_func_success167,3964 +as_func_failure () {as_func_failure170,4006 +as_func_ret_success () {as_func_ret_success173,4048 +as_func_ret_failure () {as_func_ret_failure176,4086 +as_func_success () {as_func_success282,6269 +as_func_failure () {as_func_failure285,6311 +as_func_ret_success () {as_func_ret_success288,6353 +as_func_ret_failure () {as_func_ret_failure291,6391 +as_func_success () {as_func_success371,7753 +as_func_failure () {as_func_failure374,7795 +as_func_ret_success () {as_func_ret_success377,7837 +as_func_ret_failure () {as_func_ret_failure380,7875 + function prototypes and stuff, but not '\xHH' hex character constants.prototypes3499,98498 + function prototypes and stuff, but not '\xHH' hex character constants.prototypes4978,144064 + _ascii (); _ebcdic ();_ascii18598,552601 +func_dirname ()func_dirname22686,682296 +func_basename ()func_basename22695,682445 +func_dirname_and_basename ()func_dirname_and_basename22712,683119 +func_stripname ()func_stripname22726,683549 +func_opt_split ()func_opt_split22736,683867 +func_lo2o ()func_lo2o22743,683968 +func_xform ()func_xform22752,684122 +func_arith ()func_arith22758,684204 +func_len ()func_len22765,684309 +func_dirname ()func_dirname22778,684599 +func_basename ()func_basename22790,684889 +func_stripname ()func_stripname22802,685261 +func_opt_split ()func_opt_split22817,685617 +func_lo2o ()func_lo2o22824,685793 +func_xform ()func_xform22830,685895 +func_arith ()func_arith22836,686011 +func_len ()func_len22843,686118 +func_append ()func_append22857,686359 +func_append ()func_append22868,686523 + +cubereflex/cubereflex.c,2704 +#define DEG2RAD DEG2RAD34,848 +static const CompTransform identity =identity36,881 +#define MULTMV(MULTMV46,1020 +static int displayPrivateIndex;displayPrivateIndex53,1343 +static int cubeDisplayPrivateIndex;cubeDisplayPrivateIndex55,1376 +typedef struct _CubereflexDisplay_CubereflexDisplay57,1413 + int screenPrivateIndex;screenPrivateIndex59,1449 +CubereflexDisplay;CubereflexDisplay62,1480 +typedef struct _CubereflexScreen_CubereflexScreen64,1500 + DonePaintScreenProc donePaintScreen;donePaintScreen66,1535 + PaintOutputProc paintOutput;paintOutput67,1583 + PaintScreenProc paintScreen;paintScreen68,1627 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen69,1671 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput70,1722 + CubeClearTargetOutputProc clearTargetOutput;clearTargetOutput72,1778 + CubeGetRotationProc getRotation;getRotation73,1827 + CubeCheckOrientationProc checkOrientation;checkOrientation74,1870 + Bool reflection;reflection76,1919 + Bool first;first77,1940 + CompOutput *last;last79,1961 + float yTrans;yTrans81,1984 + float zTrans;zTrans82,2002 + float backVRotate;backVRotate84,2021 + float vRot;vRot85,2044 +CubereflexScreen;CubereflexScreen88,2063 +#define GET_CUBEREFLEX_DISPLAY(GET_CUBEREFLEX_DISPLAY90,2082 +#define CUBEREFLEX_DISPLAY(CUBEREFLEX_DISPLAY92,2185 +#define GET_CUBEREFLEX_SCREEN(GET_CUBEREFLEX_SCREEN95,2273 +#define CUBEREFLEX_SCREEN(CUBEREFLEX_SCREEN97,2383 +drawBasicGround (CompScreen *s)drawBasicGround101,2515 +cubereflexCheckOrientation (CompScreen *s,cubereflexCheckOrientation144,3529 +cubereflexGetRotation (CompScreen *s,cubereflexGetRotation167,4098 +cubereflexClearTargetOutput (CompScreen *s,cubereflexClearTargetOutput188,4513 +cubereflexPaintTransformedOutput (CompScreen *s,cubereflexPaintTransformedOutput207,4943 +cubereflexPaintOutput (CompScreen *s,cubereflexPaintOutput438,11148 +cubereflexDonePaintScreen (CompScreen * s)cubereflexDonePaintScreen462,11729 +cubereflexInitDisplay (CompPlugin *p,cubereflexInitDisplay477,12028 +cubereflexFiniDisplay (CompPlugin *p,cubereflexFiniDisplay522,12975 +cubereflexInitScreen (CompPlugin *p,cubereflexInitScreen532,13156 +cubereflexFiniScreen (CompPlugin *p,cubereflexFiniScreen564,13978 +cubereflexInit (CompPlugin *p)cubereflexInit582,14348 +cubereflexFini (CompPlugin *p)cubereflexFini593,14520 +cubereflexGetVersion (CompPlugin *plugin,cubereflexGetVersion600,14649 +CompPluginVTable cubereflexVTable = {cubereflexVTable606,14747 +getCompPluginInfo (void)getCompPluginInfo626,15047 + +depcomp,0 + +ecomorph.sh,555 +verbose()verbose80,2588 +check_npot_texture()check_npot_texture89,2702 +check_fbconfig()check_fbconfig103,3053 +check_tfp()check_tfp127,3395 +check_composite()check_composite150,3906 +check_xgl()check_xgl163,4148 +check_nvidia_memory()check_nvidia_memory176,4375 +check_nvidia()check_nvidia187,4672 +check_texture_size()check_texture_size205,5050 +running_under_whitelisted_driver()running_under_whitelisted_driver221,5599 +have_blacklisted_pciid()have_blacklisted_pciid241,6060 +build_env()build_env255,6348 +build_args()build_args281,6856 + +expo/expo.c,4623 +#define PI PI36,890 +#define WIN_X(WIN_X38,917 +#define WIN_Y(WIN_Y39,968 +#define WIN_W(WIN_W40,1018 +#define WIN_H(WIN_H41,1085 +static int displayPrivateIndex;displayPrivateIndex43,1154 + DnDNone = 0,DnDNone47,1202 + DnDDuring,DnDDuring48,1219 + DnDStartDnDStart49,1234 +} DnDState;DnDState50,1247 + VPUpdateNone = 0,VPUpdateNone54,1275 + VPUpdateMouseOver,VPUpdateMouseOver55,1297 + VPUpdatePreviousVPUpdatePrevious56,1320 +} VPUpdateMode;VPUpdateMode57,1341 +typedef struct _ExpoDisplay_ExpoDisplay59,1358 + int screenPrivateIndex;screenPrivateIndex61,1388 + HandleEventProc handleEvent;handleEvent63,1417 + KeyCode leftKey;leftKey65,1451 + KeyCode rightKey;rightKey66,1472 + KeyCode upKey;upKey67,1494 + KeyCode downKey;downKey68,1513 +} ExpoDisplay;ExpoDisplay69,1534 +typedef struct _ExpoScreen_ExpoScreen71,1550 + DonePaintScreenProc donePaintScreen;donePaintScreen73,1579 + PaintOutputProc paintOutput;paintOutput74,1627 + PaintScreenProc paintScreen;paintScreen75,1671 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen76,1715 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput77,1766 + PaintWindowProc paintWindow;paintWindow78,1821 + DrawWindowProc drawWindow;drawWindow79,1865 + DamageWindowRectProc damageWindowRect;damageWindowRect80,1908 + float expoCam;expoCam83,1998 + Bool expoActive;expoActive84,2017 + Bool expoMode;expoMode86,2063 + int grabIndex;grabIndex89,2108 + GLint viewport[4];viewport91,2128 + DnDState dndState;dndState94,2196 + CompWindow *dndWindow;dndWindow95,2221 + int prevCursorX, prevCursorY;prevCursorX97,2253 + int prevCursorX, prevCursorY;prevCursorY97,2253 + int newCursorX, newCursorY;newCursorX98,2287 + int newCursorX, newCursorY;newCursorY98,2287 + int origVX;origVX100,2320 + int origVY;origVY101,2336 + int selectedVX;selectedVX102,2352 + int selectedVY;selectedVY103,2372 + VPUpdateMode vpUpdateMode;vpUpdateMode105,2393 + Bool anyClick;anyClick107,2425 + unsigned int clickTime;clickTime109,2445 + Bool doubleClick;doubleClick110,2473 + CompTimeoutHandle mouseQueryPointerHandle; mouseQueryPointerHandle112,2504 +} ExpoScreen;ExpoScreen113,2551 +typedef struct _xyz_tuple_xyz_tuple115,2566 + float x, y, z;x117,2594 + float x, y, z;y117,2594 + float x, y, z;z117,2594 +Point3d;Point3d119,2615 +#define GET_EXPO_DISPLAY(GET_EXPO_DISPLAY122,2639 +#define EXPO_DISPLAY(EXPO_DISPLAY124,2730 +#define GET_EXPO_SCREEN(GET_EXPO_SCREEN127,2800 +#define EXPO_SCREEN(EXPO_SCREEN129,2898 +#define sigmoid(sigmoid132,2994 +#define sigmoidProgress(sigmoidProgress133,3061 +expoQueryPointerTimeout (void *closure)expoQueryPointerTimeout137,3170 +expoMoveFocusViewport (CompScreen *s,expoMoveFocusViewport165,3672 +expoTermExpo (CompDisplay *d,expoTermExpo183,4079 +expoExpo (CompDisplay *d,expoExpo235,5168 +expoNext (CompDisplay *d,expoNext281,6006 +expoPrev (CompDisplay *d,expoPrev341,7099 +sendMoveResizeWindowMessage (CompWindow *w, int x, int y, int width, int height)sendMoveResizeWindowMessage400,8160 +expoFinishWindowMovement (CompWindow *w)expoFinishWindowMovement438,9252 +expoHandleEvent (CompDisplay *d,expoHandleEvent494,10783 +invertTransformedVertex (CompScreen *s,invertTransformedVertex746,16174 +expoDamageWindowRect (CompWindow *w,expoDamageWindowRect785,17228 +expoPaintScreen (CompScreen *s,expoPaintScreen803,17634 +expoPaintOutput (CompScreen *s,expoPaintOutput823,18102 +expoPreparePaintScreen (CompScreen *s,expoPreparePaintScreen845,18657 +expoPaintWall (CompScreen *s,expoPaintWall863,19095 +expoPaintTransformedOutput (CompScreen *s,expoPaintTransformedOutput1097,25901 +expoDrawWindow (CompWindow *w,expoDrawWindow1136,26949 +expoPaintWindow (CompWindow *w,expoPaintWindow1201,28420 +expoDonePaintScreen (CompScreen * s)expoDonePaintScreen1259,29861 +expoInitDisplay (CompPlugin *p,expoInitDisplay1446,34284 +expoFiniDisplay (CompPlugin *p,expoFiniDisplay1483,35250 +expoInitScreen (CompPlugin *p,expoInitScreen1495,35447 +expoFiniScreen (CompPlugin *p,expoFiniScreen1541,36510 +expoInit (CompPlugin * p)expoInit1568,37093 +expoFini (CompPlugin * p)expoFini1579,37260 +expoGetVersion (CompPlugin *p,expoGetVersion1585,37353 +CompPluginVTable expoVTable = {expoVTable1591,37434 +getCompPluginInfo (void)getCompPluginInfo1610,37697 + +group/group_glow.h,150 +#define _GROUP_GLOW_H_GROUP_GLOW_H2,22 +static char glowTexRect[4096] = {glowTexRect32,875 +static char glowTexRing [4096]= {glowTexRing195,13336 + +group/queues.c,506 +groupEnqueueMoveNotify (CompWindow *w,groupEnqueueMoveNotify36,966 +groupDequeueMoveNotifies (CompScreen *s)groupDequeueMoveNotifies76,1649 +groupEnqueueGrabNotify (CompWindow *w,groupEnqueueGrabNotify100,2020 +groupDequeueGrabNotifies (CompScreen *s)groupDequeueGrabNotifies139,2701 +groupEnqueueUngrabNotify (CompWindow *w)groupEnqueueUngrabNotify163,3082 +groupDequeueUngrabNotifies (CompScreen *s)groupDequeueUngrabNotifies195,3625 +groupDequeueTimer (void *closure)groupDequeueTimer217,3970 + +group/group.c,2322 +screenGrabExist (CompScreen *s, ...)screenGrabExist29,860 +groupIsGroupWindow (CompWindow *w)groupIsGroupWindow65,1310 +groupDragHoverTimeout (void* closure)groupDragHoverTimeout90,1738 +groupFindGroupByID (CompScreen *s,groupFindGroupByID117,2190 +groupCheckWindowProperty (CompWindow *w,groupCheckWindowProperty137,2454 +groupUpdateWindowProperty (CompWindow *w)groupUpdateWindowProperty181,3322 +groupUpdateResizeRectangle (CompWindow *w,groupUpdateResizeRectangle210,3960 +groupGrabScreen (CompScreen *s,groupGrabScreen282,5609 +groupRaiseWindows (CompWindow *top,groupRaiseWindows310,6106 +groupMinimizeWindows (CompWindow *top,groupMinimizeWindows339,6620 +groupShadeWindows (CompWindow *top,groupShadeWindows362,6969 +groupDeleteGroupWindow (CompWindow *w,groupDeleteGroupWindow393,7580 +groupDeleteGroup (GroupSelection *group)groupDeleteGroup547,11021 +groupAddWindowToGroup (CompWindow *w,groupAddWindowToGroup629,12331 +groupGroupWindows (CompDisplay *d,groupGroupWindows781,15550 +groupUnGroupWindows (CompDisplay *d,groupUnGroupWindows855,16883 +groupRemoveWindow (CompDisplay *d,groupRemoveWindow879,17264 +groupCloseWindows (CompDisplay *d,groupCloseWindows903,17652 +groupChangeColor (CompDisplay *d,groupChangeColor934,18154 +groupSetIgnore (CompDisplay *d,groupSetIgnore965,18795 +groupUnsetIgnore (CompDisplay *d,groupUnsetIgnore986,19127 +groupHandleButtonPressEvent (CompDisplay *d,groupHandleButtonPressEvent1006,19451 +groupHandleButtonReleaseEvent (CompDisplay *d,groupHandleButtonReleaseEvent1105,21418 +#define RADIUS RADIUS1344,27294 +groupHandleMotionEvent (CompScreen *s,groupHandleMotionEvent1347,27324 +groupHandleEvent (CompDisplay *d,groupHandleEvent1419,29050 +groupGetOutputExtentsForWindow (CompWindow *w,groupGetOutputExtentsForWindow1730,35684 +groupWindowResizeNotify (CompWindow *w,groupWindowResizeNotify1767,36899 +groupWindowMoveNotify (CompWindow *w,groupWindowMoveNotify1804,37681 +groupWindowGrabNotify(CompWindow *w,groupWindowGrabNotify1895,39699 +groupWindowUngrabNotify (CompWindow *w)groupWindowUngrabNotify1969,41522 +groupDamageWindowRect (CompWindow *w,groupDamageWindowRect2054,43314 +groupWindowStateChangeNotify (CompWindow *w,groupWindowStateChangeNotify2129,44724 + +group/paint.c,1440 +groupPaintThumb (GroupSelection *group,groupPaintThumb32,923 +groupRenderTopTabHighlight (GroupSelection *group)groupRenderTopTabHighlight127,3641 +groupRenderTabBarBackground(GroupSelection *group)groupRenderTabBarBackground187,5101 +groupRenderWindowTitle (GroupSelection *group)groupRenderWindowTitle593,18217 +groupPaintTabBar (GroupSelection *group,groupPaintTabBar678,20430 +#define PAINT_BG PAINT_BG701,21027 +#define PAINT_SEL PAINT_SEL702,21050 +#define PAINT_THUMBS PAINT_THUMBS703,21073 +#define PAINT_TEXT PAINT_TEXT704,21096 +#define PAINT_MAX PAINT_MAX705,21119 +groupPaintSelectionOutline (CompScreen *s,groupPaintSelectionOutline871,25611 +groupPreparePaintScreen (CompScreen *s,groupPreparePaintScreen930,26985 +groupPaintOutput (CompScreen *s,groupPaintOutput969,27889 +groupPaintTransformedOutput (CompScreen *s,groupPaintTransformedOutput1038,29500 +groupRecomputeGlow (CompScreen *s)groupRecomputeGlow1077,30561 +groupDonePaintScreen (CompScreen *s)groupDonePaintScreen1092,30770 +groupComputeGlowQuads (CompWindow *w,groupComputeGlowQuads1142,31688 +groupDrawWindow(CompWindow *w,groupDrawWindow1322,37686 +groupGetStretchRectangle (CompWindow *w,groupGetStretchRectangle1414,40147 +groupDamagePaintRectangle (CompScreen *s,groupDamagePaintRectangle1460,41399 +groupPaintWindow (CompWindow *w,groupPaintWindow1483,41741 + +group/init.c,953 +int groupDisplayPrivateIndex;groupDisplayPrivateIndex28,859 +static const GlowTextureProperties glowTextureProperties[2] = {glowTextureProperties30,890 +groupScreenOptionChanged (CompScreen *s,groupScreenOptionChanged38,1070 +groupApplyInitialActions (void *closure)groupApplyInitialActions129,3263 +groupInitDisplay (CompPlugin *p,groupInitDisplay180,4420 +groupFiniDisplay (CompPlugin *p,groupFiniDisplay235,5848 +groupInitScreen (CompPlugin *p,groupInitScreen252,6068 +groupFiniScreen (CompPlugin *p,groupFiniScreen346,8946 +static Bool groupInitWindow(CompPlugin * p, CompWindow * w)groupInitWindow421,10563 +groupFiniWindow (CompPlugin *p,groupFiniWindow471,11476 +groupInit (CompPlugin *p)groupInit490,11708 +groupFini (CompPlugin *p)groupFini504,11900 +groupGetVersion (CompPlugin *plugin,groupGetVersion510,11995 +CompPluginVTable groupVTable = {groupVTable520,12110 +getCompPluginInfo (void)getCompPluginInfo543,12377 + +group/selection.c,702 +groupWindowInRegion (CompWindow *w,groupWindowInRegion32,884 +groupFindGroupInWindows (GroupSelection *group,groupFindGroupInWindows70,1501 +groupFindWindowsInRegion (CompScreen *s,groupFindWindowsInRegion93,1829 +groupDeleteSelectionWindow (CompWindow *w)groupDeleteSelectionWindow127,2465 +groupAddWindowToSelection (CompWindow *w)groupAddWindowToSelection161,3045 +groupSelectWindow (CompWindow * w)groupSelectWindow181,3393 +groupSelectSingle (CompDisplay *d,groupSelectSingle248,4781 +groupSelect (CompDisplay *d,groupSelect269,5095 +groupSelectTerminate (CompDisplay *d,groupSelectTerminate305,5746 +groupDamageSelectionRect (CompScreen *s,groupDamageSelectionRect373,7112 + +group/tab.c,4935 +groupGetCurrentMousePosition (CompScreen *s,groupGetCurrentMousePosition36,1041 +groupGetClippingRegion (CompWindow *w)groupGetClippingRegion72,1933 +groupClearWindowInputShape (CompWindow *w,groupClearWindowInputShape115,2621 +groupSetWindowVisibility (CompWindow *w,groupSetWindowVisibility161,3778 +groupTabBarTimeout (void *data)groupTabBarTimeout248,6022 +groupShowDelayTimeout (void *data)groupShowDelayTimeout264,6291 +groupCheckForVisibleTabBars (CompScreen *s)groupCheckForVisibleTabBars304,7291 +groupTabSetVisibility (GroupSelection *group,groupTabSetVisibility340,8310 +groupGetDrawOffsetForSlot (GroupTabBarSlot *slot,groupGetDrawOffsetForSlot416,10159 +groupHandleHoverDetection (GroupSelection *group)groupHandleHoverDetection481,11463 +groupHandleTabBarFade (GroupSelection *group,groupHandleTabBarFade577,13850 +groupHandleTextFade(GroupSelection *group, int msSinceLastPaint)groupHandleTextFade629,15028 +groupHandleTabBarAnimation (GroupSelection *group,groupHandleTabBarAnimation686,16417 +groupTabChangeActivateEvent (CompScreen *s,groupTabChangeActivateEvent712,16945 +groupHandleTabChange (GroupSelection *group)groupHandleTabChange739,17578 +groupHandleAnimation (GroupSelection *group)groupHandleAnimation832,19865 +groupHandleTab (GroupSelection *group)groupHandleTab919,22042 +groupHandleTabbingAnimation (GroupSelection *group)groupHandleTabbingAnimation961,22841 +groupHandleUntab (GroupSelection *group)groupHandleUntab1001,23685 +groupHandleUngroup (GroupSelection *group)groupHandleUngroup1033,24556 +groupHandleChanges (CompScreen *s)groupHandleChanges1121,26120 +adjustTabVelocity (CompWindow *w)adjustTabVelocity1142,26579 +groupDrawTabAnimation (CompScreen *s,groupDrawTabAnimation1199,27882 +groupUpdateTabBars (CompScreen *s,groupUpdateTabBars1267,29366 +groupGetConstrainRegion (CompScreen *s)groupGetConstrainRegion1371,31917 +groupConstrainMovement (CompWindow *w,groupConstrainMovement1433,33329 +groupApplyConstrainingToWindows (GroupSelection *group,groupApplyConstrainingToWindows1494,34482 +groupStartTabbingAnimation (GroupSelection *group,groupStartTabbingAnimation1557,35943 +groupTabGroup (CompWindow *main)groupTabGroup1680,39274 +groupUntabGroup(GroupSelection *group)groupUntabGroup1812,42687 +groupChangeTab (GroupTabBarSlot *topTab,groupChangeTab1894,44716 +groupRebuildCairoLayer (CompScreen *s,groupRebuildCairoLayer1992,47157 +groupClearCairoLayer (GroupCairoLayer *layer)groupClearCairoLayer2016,47607 +groupDestroyCairoLayer (CompScreen *s,groupDestroyCairoLayer2031,47835 +groupCreateCairoLayer (CompScreen *s,groupCreateCairoLayer2053,48179 +groupRecalcSlotPos (GroupTabBarSlot *slot,groupRecalcSlotPos2109,49418 +groupRecalcTabBarPos(GroupSelection *group, int middleX, int minX1, int maxX2)groupRecalcTabBarPos2141,50036 +groupDamageTabBarRegion (GroupSelection *group)groupDamageTabBarRegion2247,52555 +#define DAMAGE_BUFFER DAMAGE_BUFFER2259,52898 +groupMoveTabBarRegion (GroupSelection *group,groupMoveTabBarRegion2278,53542 +groupResizeTabBarRegion (GroupSelection *group,groupResizeTabBarRegion2297,53971 +groupInsertTabBarSlotBefore (GroupTabBar *bar,groupInsertTabBarSlotBefore2353,55234 +groupInsertTabBarSlotAfter (GroupTabBar *bar,groupInsertTabBarSlotAfter2392,56083 +groupInsertTabBarSlot (GroupTabBar *bar,groupInsertTabBarSlot2431,56927 +groupUnhookTabBarSlot (GroupTabBar *bar,groupUnhookTabBarSlot2469,57726 +groupDeleteTabBarSlot (GroupTabBar *bar,groupDeleteTabBarSlot2544,59387 +void groupCreateSlot(GroupSelection *group, CompWindow *w)groupCreateSlot2575,59914 +#define SPRING_K SPRING_K2594,60249 +#define FRICTION FRICTION2595,60290 +#define SIZE SIZE2596,60332 +#define BORDER BORDER2597,60368 +#define Y_START_MOVE Y_START_MOVE2598,60409 +#define SPEED_LIMIT SPEED_LIMIT2599,60455 +groupSpringForce (CompScreen *s,groupSpringForce2606,60551 +groupDraggedSlotForce (CompScreen *s,groupDraggedSlotForce2622,60947 +groupApplyFriction (CompScreen *s,groupApplyFriction2676,62737 +groupApplySpeedLimit (CompScreen *s,groupApplySpeedLimit2692,62986 +groupApplyForces (CompScreen *s,groupApplyForces2706,63198 +groupApplySpeeds (CompScreen *s,groupApplySpeeds2818,65876 +groupInitTabBar (GroupSelection *group,groupInitTabBar2923,68554 +groupDeleteTabBar (GroupSelection *group)groupDeleteTabBar2964,69375 +groupInitTab (CompDisplay *d,groupInitTab2992,69928 +groupChangeTabLeft(CompDisplay * d, CompAction * action, CompActionState state,groupChangeTabLeft3033,70682 +groupChangeTabRight (CompDisplay *d,groupChangeTabRight3070,71438 +groupSwitchTopTabInput (GroupSelection *group,groupSwitchTopTabInput3110,72237 +groupCreateInputPreventionWindow (GroupSelection *group)groupCreateInputPreventionWindow3134,72708 +groupDestroyInputPreventionWindow (GroupSelection *group)groupDestroyInputPreventionWindow3155,73173 + +group/group-internal.h,12033 +#define _GROUP_H_GROUP_H26,832 +#define PI PI49,1192 +#define GET_GROUP_DISPLAY(GET_GROUP_DISPLAY55,1241 +#define GROUP_DISPLAY(GROUP_DISPLAY57,1339 +#define GET_GROUP_SCREEN(GET_GROUP_SCREEN60,1412 +#define GROUP_SCREEN(GROUP_SCREEN62,1513 +#define GET_GROUP_WINDOW(GET_GROUP_WINDOW65,1615 +#define GROUP_WINDOW(GROUP_WINDOW67,1716 +#define WIN_X(WIN_X72,1875 +#define WIN_Y(WIN_Y73,1906 +#define WIN_WIDTH(WIN_WIDTH74,1937 +#define WIN_HEIGHT(WIN_HEIGHT75,1976 +#define WIN_BORDER(WIN_BORDER76,2017 +#define WIN_REAL_X(WIN_REAL_X79,2106 +#define WIN_REAL_Y(WIN_REAL_Y80,2158 +#define WIN_REAL_WIDTH(WIN_REAL_WIDTH81,2209 +#define WIN_REAL_HEIGHT(WIN_REAL_HEIGHT82,2308 +#define NUM_OPTIONS(NUM_OPTIONS84,2410 +#define N_WIN_TYPE N_WIN_TYPE85,2476 +#define N_SEL_MODE N_SEL_MODE86,2556 +#define REAL_POSITION(REAL_POSITION88,2641 +#define VIEWPORT(VIEWPORT89,2714 +#define TOP_TAB(TOP_TAB91,2792 +#define PREV_TOP_TAB(PREV_TOP_TAB92,2833 +#define NEXT_TOP_TAB(NEXT_TOP_TAB93,2883 +#define HAS_TOP_WIN(HAS_TOP_WIN95,2934 +#define HAS_PREV_TOP_WIN(HAS_PREV_TOP_WIN96,3010 +#define IS_TOP_TAB(IS_TOP_TAB98,3100 +#define IS_PREV_TOP_TAB(IS_PREV_TOP_TAB99,3187 + WindowNormal = 0,WindowNormal110,3351 + WindowMinimized,WindowMinimized111,3370 + WindowShadedWindowShaded112,3388 +} GroupWindowState;GroupWindowState113,3402 + ScreenGrabNone = 0,ScreenGrabNone119,3466 + ScreenGrabSelect,ScreenGrabSelect120,3487 + ScreenGrabTabDragScreenGrabTabDrag121,3506 +} GroupScreenGrabState;GroupScreenGrabState122,3525 + UngroupNone = 0,UngroupNone128,3593 + UngroupAll,UngroupAll129,3611 + UngroupSingleUngroupSingle130,3624 +} GroupUngroupState;GroupUngroupState131,3639 + RotateUncertain = 0,RotateUncertain137,3730 + RotateLeft,RotateLeft138,3752 + RotateRightRotateRight139,3765 +} ChangeTabAnimationDirection;ChangeTabAnimationDirection140,3778 +typedef struct _GlowTextureProperties {_GlowTextureProperties142,3810 + char *textureData;textureData143,3850 + int textureSize;textureSize144,3870 + int glowOffset;glowOffset145,3888 +} GlowTextureProperties;GlowTextureProperties146,3905 +typedef struct _GroupPendingMoves GroupPendingMoves;GroupPendingMoves151,3971 +struct _GroupPendingMoves {_GroupPendingMoves152,4024 + CompWindow *w;w153,4052 + int dx;dx154,4075 + int dy;dy155,4098 + Bool immediate;immediate156,4121 + Bool sync;sync157,4151 + GroupPendingMoves *next;next158,4176 +typedef struct _GroupPendingGrabs GroupPendingGrabs;GroupPendingGrabs161,4206 +struct _GroupPendingGrabs {_GroupPendingGrabs162,4259 + CompWindow *w;w163,4287 + int x;x164,4310 + int y;y165,4332 + unsigned int state;state166,4354 + unsigned int mask;mask167,4380 + GroupPendingGrabs *next;next168,4405 +typedef struct _GroupPendingUngrabs GroupPendingUngrabs;GroupPendingUngrabs171,4435 +struct _GroupPendingUngrabs {_GroupPendingUngrabs172,4492 + CompWindow *w;w173,4522 + GroupPendingUngrabs *next;next174,4547 +#define SHOW_BAR_INSTANTLY_MASK SHOW_BAR_INSTANTLY_MASK187,4717 +#define PERMANENT PERMANENT188,4758 +#define IS_ANIMATED IS_ANIMATED191,4835 +#define FINISHED_ANIMATION FINISHED_ANIMATION192,4869 +#define CONSTRAINED_X CONSTRAINED_X193,4905 +#define CONSTRAINED_Y CONSTRAINED_Y194,4937 +#define DONT_CONSTRAIN DONT_CONSTRAIN195,4969 + PaintOff = 0,PaintOff198,5018 + PaintFadeIn,PaintFadeIn199,5033 + PaintFadeOut,PaintFadeOut200,5047 + PaintOn,PaintOn201,5062 + PaintPermanentOnPaintPermanentOn202,5072 +} PaintState;PaintState203,5090 + AnimationNone = 0,AnimationNone206,5120 + AnimationPulse,AnimationPulse207,5140 + AnimationReflexAnimationReflex208,5157 +} GroupAnimationType;GroupAnimationType209,5174 +typedef struct _GroupCairoLayer {_GroupCairoLayer211,5197 + unsigned char *buffer;buffer212,5231 + CompTexture texture;texture213,5255 + cairo_surface_t *surface;surface214,5278 + cairo_t *cairo;cairo215,5305 + int texWidth;texWidth217,5325 + int texHeight;texHeight218,5340 + PaintState state;state220,5357 + int animationTime;animationTime221,5377 +} GroupCairoLayer;GroupCairoLayer222,5399 +typedef struct _GroupTabBarSlot GroupTabBarSlot;GroupTabBarSlot227,5445 +struct _GroupTabBarSlot {_GroupTabBarSlot228,5494 + GroupTabBarSlot *prev;prev229,5520 + GroupTabBarSlot *next;next230,5544 + Region region;region232,5569 + CompWindow *window;window234,5587 + int springX;springX237,5635 + int speed;speed238,5651 + float msSinceLastMove;msSinceLastMove239,5665 +typedef struct _GroupTabBar {_GroupTabBar245,5715 + GroupTabBarSlot *slots;slots246,5745 + GroupTabBarSlot *revSlots;revSlots247,5770 + int nSlots;nSlots248,5798 + GroupTabBarSlot *hoveredSlot;hoveredSlot250,5821 + GroupTabBarSlot *textSlot;textSlot251,5852 + GroupCairoLayer *textLayer;textLayer253,5881 + GroupCairoLayer *bgLayer;bgLayer254,5910 + GroupCairoLayer *selectionLayer;selectionLayer255,5937 + int bgAnimationTime;bgAnimationTime258,5994 + GroupAnimationType bgAnimation;bgAnimation259,6031 + PaintState state;state261,6065 + int timeoutHandle;timeoutHandle262,6084 + int animationTime;animationTime263,6108 + Region region;region264,6132 + int oldWidth;oldWidth265,6151 + int leftSpringX, rightSpringX;leftSpringX268,6197 + int leftSpringX, rightSpringX;rightSpringX268,6197 + int leftSpeed, rightSpeed;leftSpeed269,6231 + int leftSpeed, rightSpeed;rightSpeed269,6231 + float leftMsSinceLastMove, rightMsSinceLastMove;leftMsSinceLastMove270,6261 + float leftMsSinceLastMove, rightMsSinceLastMove;rightMsSinceLastMove270,6261 +} GroupTabBar;GroupTabBar271,6311 +typedef struct _GlowQuad {_GlowQuad277,6348 + BoxRec box;box278,6375 + CompMatrix matrix;matrix279,6388 +} GlowQuad;GlowQuad280,6408 +#define GLOWQUAD_TOPLEFT GLOWQUAD_TOPLEFT282,6421 +#define GLOWQUAD_TOPRIGHT GLOWQUAD_TOPRIGHT283,6449 +#define GLOWQUAD_BOTTOMLEFT GLOWQUAD_BOTTOMLEFT284,6478 +#define GLOWQUAD_BOTTOMRIGHT GLOWQUAD_BOTTOMRIGHT285,6509 +#define GLOWQUAD_TOP GLOWQUAD_TOP286,6540 +#define GLOWQUAD_BOTTOM GLOWQUAD_BOTTOM287,6565 +#define GLOWQUAD_LEFT GLOWQUAD_LEFT288,6593 +#define GLOWQUAD_RIGHT GLOWQUAD_RIGHT289,6619 +#define NUM_GLOWQUADS NUM_GLOWQUADS290,6646 +typedef struct _GroupSelection GroupSelection;GroupSelection295,6698 +struct _GroupSelection {_GroupSelection296,6745 + GroupSelection *prev;prev297,6770 + GroupSelection *next;next298,6793 + CompScreen *screen;screen300,6817 + CompWindow **windows;windows301,6838 + int nWins;nWins302,6861 + long int identifier;identifier305,6921 + GroupTabBarSlot* topTab;topTab307,6944 + GroupTabBarSlot* prevTopTab;prevTopTab308,6970 + CompWindow *lastTopTab;lastTopTab311,7039 + ChangeTabAnimationDirection nextDirection;nextDirection317,7252 + GroupTabBarSlot *nextTopTab;nextTopTab318,7296 + GroupTabBarSlot *activateTab;activateTab320,7339 + GroupTabBar *tabBar;tabBar322,7371 + int changeAnimationTime;changeAnimationTime324,7394 + int changeAnimationDirection;changeAnimationDirection325,7427 + PaintState changeState;changeState326,7465 + Bool changeTab;changeTab327,7490 + Bool doTabbing;doTabbing329,7511 + PaintState tabbingState;tabbingState330,7534 + GroupUngroupState ungroupState;ungroupState332,7561 + Window grabWindow;grabWindow334,7595 + unsigned int grabMask;grabMask335,7621 + int oldTopTabCenterX;oldTopTabCenterX337,7646 + int oldTopTabCenterY;oldTopTabCenterY338,7669 + Window inputPrevention;inputPrevention340,7693 + Bool ipwMapped;ipwMapped341,7718 + GLushort color[4];color343,7738 +typedef struct _GroupWindowHideInfo {_GroupWindowHideInfo346,7762 + Window frameWindow;frameWindow347,7800 + unsigned long skipState;skipState349,7822 + unsigned long shapeMask;shapeMask350,7848 + XRectangle *inputRects;inputRects352,7875 + int nInputRects;nInputRects353,7900 + int inputRectOrdering;inputRectOrdering354,7925 +} GroupWindowHideInfo;GroupWindowHideInfo355,7956 +typedef struct _GroupResizeInfo {_GroupResizeInfo357,7980 + CompWindow *resizedWindow;resizedWindow358,8014 + XRectangle origGeometry;origGeometry359,8042 +} GroupResizeInfo;GroupResizeInfo360,8068 +typedef struct _GroupDisplay {_GroupDisplay365,8121 + int screenPrivateIndex;screenPrivateIndex366,8152 + HandleEventProc handleEvent;handleEvent368,8178 + Bool ignoreMode;ignoreMode370,8209 + GroupResizeInfo *resizeInfo;resizeInfo372,8228 + GlowTextureProperties *glowTextureProperties;glowTextureProperties374,8259 + GroupSelection *lastRestackedGroup;lastRestackedGroup376,8307 + Atom groupWinPropertyAtom;groupWinPropertyAtom378,8345 + Atom resizeNotifyAtom;resizeNotifyAtom379,8373 +} GroupDisplay;GroupDisplay380,8397 +typedef struct _GroupScreen {_GroupScreen385,8446 + int windowPrivateIndex;windowPrivateIndex386,8476 + WindowMoveNotifyProc windowMoveNotify;windowMoveNotify388,8502 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify389,8551 + GetOutputExtentsForWindowProc getOutputExtentsForWindow;getOutputExtentsForWindow390,8602 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen391,8660 + PaintOutputProc paintOutput;paintOutput392,8711 + DrawWindowProc drawWindow;drawWindow393,8755 + PaintWindowProc paintWindow;paintWindow394,8798 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput395,8842 + DonePaintScreenProc donePaintScreen;donePaintScreen396,8897 + WindowGrabNotifyProc windowGrabNotify;windowGrabNotify397,8945 + WindowUngrabNotifyProc windowUngrabNotify;windowUngrabNotify398,8994 + DamageWindowRectProc damageWindowRect;damageWindowRect399,9045 + WindowStateChangeNotifyProc windowStateChangeNotify;windowStateChangeNotify400,9094 + GroupPendingMoves *pendingMoves;pendingMoves402,9150 + GroupPendingGrabs *pendingGrabs;pendingGrabs403,9186 + GroupPendingUngrabs *pendingUngrabs;pendingUngrabs404,9222 + Bool dequeueTimerSet;dequeueTimerSet405,9260 + GroupSelection *groups;groups407,9299 + GroupSelection tmpSel;tmpSel408,9324 + Bool queued;queued410,9349 + Bool tabBarVisible;tabBarVisible411,9363 + GroupScreenGrabState grabState;grabState413,9385 + int grabIndex;grabIndex414,9418 + GroupSelection *lastHoveredGroup;lastHoveredGroup416,9452 + int showDelayTimeoutHandle;showDelayTimeoutHandle418,9488 + Bool painted;painted421,9539 + int vpX, vpY;vpX422,9554 + int vpX, vpY;vpY422,9554 + int x1, y1, x2, y2;x1423,9570 + int x1, y1, x2, y2;y1423,9570 + int x1, y1, x2, y2;x2423,9570 + int x1, y1, x2, y2;y2423,9570 + GroupTabBarSlot *draggedSlot;draggedSlot426,9608 + int dragHoverTimeoutHandle;dragHoverTimeoutHandle427,9639 + Bool dragged;dragged428,9680 + int prevX, prevY; /* Buffer for mouse coordinates */prevX429,9706 + int prevX, prevY; /* Buffer for mouse coordinates */prevY429,9706 + CompTexture glowTexture;glowTexture431,9773 +} GroupScreen;GroupScreen432,9799 +typedef struct _GroupWindow {_GroupWindow437,9847 + GroupSelection *group;group438,9877 + Bool inSelection;inSelection439,9901 + GroupTabBarSlot *slot;slot442,9944 + Bool needsPosSync;needsPosSync444,9969 + GlowQuad *glowQuads;glowQuads446,9990 + GroupWindowState windowState;windowState448,10013 + GroupWindowHideInfo *windowHideInfo;windowHideInfo449,10047 + XRectangle *resizeGeometry;resizeGeometry451,10086 + Bool ungroup;ungroup454,10141 + int animateState;animateState455,10158 + XPoint mainTabOffset;mainTabOffset456,10180 + XPoint destination;destination457,10203 + XPoint orgPos;orgPos458,10224 + float tx,ty;tx460,10241 + float tx,ty;ty460,10241 + float xVelocity, yVelocity;xVelocity461,10255 + float xVelocity, yVelocity;yVelocity461,10255 +} GroupWindow;GroupWindow462,10284 + +include/ecomp.h,61050 +#define _ECOMP_H_ECOMP_H27,1222 +#define ABIVERSION ABIVERSION29,1240 +#define KEYBINDING KEYBINDING31,1269 +#define USE_COWUSE_COW58,1786 +#define LSBFirst LSBFirst65,1947 +#define MSBFirst MSBFirst66,1966 +# define IMAGE_BYTE_ORDER IMAGE_BYTE_ORDER69,2009 +# define BITMAP_BIT_ORDER BITMAP_BIT_ORDER70,2045 +# define IMAGE_BYTE_ORDER IMAGE_BYTE_ORDER72,2087 +# define BITMAP_BIT_ORDER BITMAP_BIT_ORDER73,2123 +typedef struct _CompPlugin CompPlugin;CompPlugin76,2167 +typedef struct _CompDisplay CompDisplay;CompDisplay77,2208 +typedef struct _CompScreen CompScreen;CompScreen78,2251 +typedef struct _CompWindow CompWindow;CompWindow79,2292 +typedef struct _CompTexture CompTexture;CompTexture80,2333 +typedef struct _CompIcon CompIcon;CompIcon81,2376 +typedef struct _CompWindowExtents CompWindowExtents;CompWindowExtents82,2413 +typedef struct _CompProgram CompProgram;CompProgram83,2466 +typedef struct _CompFunction CompFunction;CompFunction84,2509 +typedef struct _CompFunctionData CompFunctionData;CompFunctionData85,2554 +typedef struct _FragmentAttrib FragmentAttrib;FragmentAttrib86,2606 +typedef struct _CompCursor CompCursor;CompCursor87,2656 +typedef struct _CompMatch CompMatch;CompMatch88,2697 +typedef struct _CompMetadata CompMetadata;CompMetadata89,2736 +typedef struct _CompOutput CompOutput;CompOutput90,2784 +typedef struct _CompWalker CompWalker;CompWalker91,2830 +#define CompModAlt CompModAlt95,2902 +#define CompModMeta CompModMeta96,2930 +#define CompModSuper CompModSuper97,2958 +#define CompModHyper CompModHyper98,2986 +#define CompModModeSwitch CompModModeSwitch99,3014 +#define CompModNumLock CompModNumLock100,3042 +#define CompModScrollLock CompModScrollLock101,3070 +#define CompModNum CompModNum102,3098 +#define CompAltMask CompAltMask104,3127 +#define CompMetaMask CompMetaMask105,3164 +#define CompSuperMask CompSuperMask106,3201 +#define CompHyperMask CompHyperMask107,3238 +#define CompModeSwitchMask CompModeSwitchMask108,3275 +#define CompNumLockMask CompNumLockMask109,3312 +#define CompScrollLockMask CompScrollLockMask110,3349 +#define CompNoMask CompNoMask112,3387 +#define CompWindowProtocolDeleteMask CompWindowProtocolDeleteMask114,3425 +#define CompWindowProtocolTakeFocusMask CompWindowProtocolTakeFocusMask115,3473 +#define CompWindowProtocolPingMask CompWindowProtocolPingMask116,3524 +#define CompWindowProtocolSyncRequestMask CompWindowProtocolSyncRequestMask117,3570 +#define CompWindowTypeDesktopMask CompWindowTypeDesktopMask119,3622 +#define CompWindowTypeDockMask CompWindowTypeDockMask120,3670 +#define CompWindowTypeToolbarMask CompWindowTypeToolbarMask121,3718 +#define CompWindowTypeMenuMask CompWindowTypeMenuMask122,3766 +#define CompWindowTypeUtilMask CompWindowTypeUtilMask123,3814 +#define CompWindowTypeSplashMask CompWindowTypeSplashMask124,3862 +#define CompWindowTypeDialogMask CompWindowTypeDialogMask125,3910 +#define CompWindowTypeNormalMask CompWindowTypeNormalMask126,3958 +#define CompWindowTypeDropdownMenuMask CompWindowTypeDropdownMenuMask127,4006 +#define CompWindowTypePopupMenuMask CompWindowTypePopupMenuMask128,4054 +#define CompWindowTypeTooltipMask CompWindowTypeTooltipMask129,4102 +#define CompWindowTypeNotificationMask CompWindowTypeNotificationMask130,4151 +#define CompWindowTypeComboMask CompWindowTypeComboMask131,4200 +#define CompWindowTypeDndMask CompWindowTypeDndMask132,4249 +#define CompWindowTypeModalDialogMask CompWindowTypeModalDialogMask133,4296 +#define CompWindowTypeFullscreenMask CompWindowTypeFullscreenMask134,4345 +#define CompWindowTypeUnknownMask CompWindowTypeUnknownMask135,4394 +#define NO_FOCUS_MASK NO_FOCUS_MASK137,4444 +#define CompWindowStateModalMask CompWindowStateModalMask141,4572 +#define CompWindowStateStickyMask CompWindowStateStickyMask142,4619 +#define CompWindowStateMaximizedVertMask CompWindowStateMaximizedVertMask143,4667 +#define CompWindowStateMaximizedHorzMask CompWindowStateMaximizedHorzMask144,4721 +#define CompWindowStateShadedMask CompWindowStateShadedMask145,4775 +#define CompWindowStateSkipTaskbarMask CompWindowStateSkipTaskbarMask146,4823 +#define CompWindowStateSkipPagerMask CompWindowStateSkipPagerMask147,4876 +#define CompWindowStateHiddenMask CompWindowStateHiddenMask148,4927 +#define CompWindowStateFullscreenMask CompWindowStateFullscreenMask149,4975 +#define CompWindowStateAboveMask CompWindowStateAboveMask150,5027 +#define CompWindowStateBelowMask CompWindowStateBelowMask151,5074 +#define CompWindowStateDemandsAttentionMask CompWindowStateDemandsAttentionMask152,5121 +#define CompWindowStateDisplayModalMask CompWindowStateDisplayModalMask153,5175 +#define MAXIMIZE_STATE MAXIMIZE_STATE155,5230 +#define CompWindowActionMoveMask CompWindowActionMoveMask158,5329 +#define CompWindowActionResizeMask CompWindowActionResizeMask159,5373 +#define CompWindowActionStickMask CompWindowActionStickMask160,5419 +#define CompWindowActionMinimizeMask CompWindowActionMinimizeMask161,5464 +#define CompWindowActionMaximizeHorzMask CompWindowActionMaximizeHorzMask162,5515 +#define CompWindowActionMaximizeVertMask CompWindowActionMaximizeVertMask163,5566 +#define CompWindowActionFullscreenMask CompWindowActionFullscreenMask164,5617 +#define CompWindowActionCloseMask CompWindowActionCloseMask165,5667 +#define CompWindowActionShadeMask CompWindowActionShadeMask166,5712 +#define CompWindowActionChangeDesktopMask CompWindowActionChangeDesktopMask167,5757 +#define CompWindowActionAboveMask CompWindowActionAboveMask168,5808 +#define CompWindowActionBelowMask CompWindowActionBelowMask169,5854 +#define MwmFuncAll MwmFuncAll171,5901 +#define MwmFuncResize MwmFuncResize172,5935 +#define MwmFuncMove MwmFuncMove173,5969 +#define MwmFuncIconify MwmFuncIconify174,6003 +#define MwmFuncMaximize MwmFuncMaximize175,6037 +#define MwmFuncClose MwmFuncClose176,6071 +#define MwmDecorHandle MwmDecorHandle178,6106 +#define MwmDecorTitle MwmDecorTitle179,6141 +#define MwmDecorMenu MwmDecorMenu180,6176 +#define MwmDecorMinimize MwmDecorMinimize181,6211 +#define MwmDecorMaximize MwmDecorMaximize182,6246 +#define MwmDecorAll MwmDecorAll184,6282 +#define MwmDecorBorder MwmDecorBorder185,6317 +#define MwmDecorHandle MwmDecorHandle186,6352 +#define MwmDecorTitle MwmDecorTitle187,6387 +#define MwmDecorMenu MwmDecorMenu188,6422 +#define MwmDecorMinimize MwmDecorMinimize189,6457 +#define MwmDecorMaximize MwmDecorMaximize190,6492 +#define WmMoveResizeSizeTopLeft WmMoveResizeSizeTopLeft192,6528 +#define WmMoveResizeSizeTop WmMoveResizeSizeTop193,6567 +#define WmMoveResizeSizeTopRight WmMoveResizeSizeTopRight194,6606 +#define WmMoveResizeSizeRight WmMoveResizeSizeRight195,6645 +#define WmMoveResizeSizeBottomRight WmMoveResizeSizeBottomRight196,6684 +#define WmMoveResizeSizeBottom WmMoveResizeSizeBottom197,6723 +#define WmMoveResizeSizeBottomLeft WmMoveResizeSizeBottomLeft198,6762 +#define WmMoveResizeSizeLeft WmMoveResizeSizeLeft199,6801 +#define WmMoveResizeMove WmMoveResizeMove200,6840 +#define WmMoveResizeSizeKeyboard WmMoveResizeSizeKeyboard201,6879 +#define WmMoveResizeMoveKeyboard WmMoveResizeMoveKeyboard202,6918 +#define OPAQUE OPAQUE204,6958 +#define COLOR COLOR205,6980 +#define BRIGHT BRIGHT206,7002 +#define RED_SATURATION_WEIGHT RED_SATURATION_WEIGHT208,7025 +#define GREEN_SATURATION_WEIGHT GREEN_SATURATION_WEIGHT209,7063 +#define BLUE_SATURATION_WEIGHT BLUE_SATURATION_WEIGHT210,7101 +#define RESTRICT_VALUE(RESTRICT_VALUE242,7966 +#define MOD(MOD245,8086 +#define WRAP(WRAP250,8178 +#define UNWRAP(UNWRAP254,8288 +typedef union _CompPrivate {_CompPrivate257,8356 + void *ptr;ptr258,8385 + long val;val259,8402 + unsigned long uval;uval260,8418 + void *(*fptr) (void);fptr261,8442 +} CompPrivate;CompPrivate262,8470 +typedef int (*ReallocPrivatesProc) (int size, void *closure);ReallocPrivatesProc264,8486 + CompOptionTypeBool,CompOptionTypeBool281,8786 + CompOptionTypeInt,CompOptionTypeInt282,8810 + CompOptionTypeFloat,CompOptionTypeFloat283,8833 + CompOptionTypeString,CompOptionTypeString284,8858 + CompOptionTypeColor,CompOptionTypeColor285,8884 + CompOptionTypeAction,CompOptionTypeAction286,8909 + CompOptionTypeMatch,CompOptionTypeMatch287,8935 + CompOptionTypeListCompOptionTypeList288,8960 +} CompOptionType;CompOptionType289,8983 + CompBindingTypeNone = 0,CompBindingTypeNone292,9017 + CompBindingTypeKey = 1 << 0,CompBindingTypeKey293,9052 + CompBindingTypeButton = 1 << 1,CompBindingTypeButton294,9092 + CompBindingTypeEdgeButton = 1 << 2CompBindingTypeEdgeButton295,9132 +} CompBindingType;CompBindingType296,9171 + CompActionStateInitKey = 1 << 0,CompActionStateInitKey299,9206 + CompActionStateTermKey = 1 << 1,CompActionStateTermKey300,9248 + CompActionStateInitButton = 1 << 2,CompActionStateInitButton301,9290 + CompActionStateTermButton = 1 << 3,CompActionStateTermButton302,9332 + CompActionStateInitBell = 1 << 4,CompActionStateInitBell303,9374 + CompActionStateInitEdge = 1 << 5,CompActionStateInitEdge304,9416 + CompActionStateTermEdge = 1 << 6,CompActionStateTermEdge305,9458 + CompActionStateInitEdgeDnd = 1 << 7,CompActionStateInitEdgeDnd306,9500 + CompActionStateTermEdgeDnd = 1 << 8,CompActionStateTermEdgeDnd307,9542 + CompActionStateCommit = 1 << 9,CompActionStateCommit308,9584 + CompActionStateCancel = 1 << 10,CompActionStateCancel309,9626 + CompActionStateAutoGrab = 1 << 11CompActionStateAutoGrab310,9668 +} CompActionState;CompActionState311,9709 + CompLogLevelFatal = 0,CompLogLevelFatal314,9744 + CompLogLevelError,CompLogLevelError315,9771 + CompLogLevelWarn,CompLogLevelWarn316,9794 + CompLogLevelInfo,CompLogLevelInfo317,9816 + CompLogLevelDebugCompLogLevelDebug318,9838 +} CompLogLevel;CompLogLevel320,9861 +typedef struct _CompKeyBinding {_CompKeyBinding322,9878 + int keycode;keycode323,9911 + unsigned int modifiers;modifiers324,9930 +} CompKeyBinding;CompKeyBinding325,9958 +typedef struct _CompButtonBinding {_CompButtonBinding327,9977 + int button;button328,10013 + unsigned int modifiers;modifiers329,10031 +} CompButtonBinding;CompButtonBinding330,10059 +typedef union _CompOptionValue CompOptionValue;CompOptionValue332,10081 +typedef struct _CompOption CompOption;CompOption334,10130 +typedef struct _CompAction CompAction;CompAction335,10169 +typedef Bool (*CompActionCallBackProc) (CompDisplay *d,CompActionCallBackProc337,10209 +struct _CompAction {_CompAction343,10364 + CompActionCallBackProc initiate;initiate344,10385 + CompActionCallBackProc terminate;terminate345,10422 + CompActionState state;state347,10461 + CompBindingType type;type349,10489 + CompKeyBinding key;key350,10517 + CompButtonBinding button;button351,10544 + Bool bell;bell353,10575 + unsigned int edgeMask;edgeMask355,10591 + int edgeButton;edgeButton356,10618 + CompPrivate priv;priv358,10641 +typedef union _CompMatchOp CompMatchOp;CompMatchOp361,10667 +struct _CompMatch {_CompMatch363,10708 + CompDisplay *display;display364,10728 + CompMatchOp *op;op365,10754 + int nOp;nOp366,10775 + CompOptionType type;type370,10810 + CompOptionValue *value;value371,10836 + int nValue;nValue372,10864 +} CompListValue;CompListValue373,10885 +union _CompOptionValue {_CompOptionValue375,10903 + Bool b;b376,10928 + int i;i377,10943 + float f;f378,10958 + char *s;s379,10974 + unsigned short c[4];c380,10990 + CompAction action;action381,11015 + CompMatch match;match382,11042 + CompListValue list;list383,11068 +typedef struct _CompOptionIntRestriction {_CompOptionIntRestriction386,11097 + int min;min387,11140 + int max;max388,11153 +} CompOptionIntRestriction;CompOptionIntRestriction389,11166 +typedef struct _CompOptionFloatRestriction {_CompOptionFloatRestriction391,11195 + float min;min392,11240 + float max;max393,11255 + float precision;precision394,11270 +} CompOptionFloatRestriction;CompOptionFloatRestriction395,11291 + CompOptionIntRestriction i;i398,11338 + CompOptionFloatRestriction f;f399,11373 +} CompOptionRestriction;CompOptionRestriction400,11408 +struct _CompOption {_CompOption402,11434 + char *name;name403,11455 + CompOptionType type;type404,11474 + CompOptionValue value;value405,11501 + CompOptionRestriction rest;rest406,11530 +typedef CompOption *(*DisplayOptionsProc) (CompDisplay *display, int *count);DisplayOptionsProc409,11566 +typedef CompOption *(*ScreenOptionsProc) (CompScreen *screen, int *count);ScreenOptionsProc410,11644 +typedef int CompTimeoutHandle;CompTimeoutHandle533,14085 +typedef int CompWatchFdHandle;CompWatchFdHandle534,14116 +typedef int CompFileWatchHandle;CompFileWatchHandle535,14147 +#define COMP_DISPLAY_OPTION_ACTIVE_PLUGINS COMP_DISPLAY_OPTION_ACTIVE_PLUGINS537,14181 +#define COMP_DISPLAY_OPTION_TEXTURE_FILTER COMP_DISPLAY_OPTION_TEXTURE_FILTER538,14241 +#define COMP_DISPLAY_OPTION_NUM COMP_DISPLAY_OPTION_NUM597,17960 +typedef CompOption *(*GetDisplayOptionsProc) (CompDisplay *display,GetDisplayOptionsProc599,18000 +typedef Bool (*SetDisplayOptionProc) (CompDisplay *display,SetDisplayOptionProc602,18095 +typedef CompOption *(*GetPluginDisplayOptionsProc) (CompPlugin *plugin,GetPluginDisplayOptionsProc606,18223 +typedef Bool (*SetPluginDisplayOptionProc) (CompPlugin *plugin,SetPluginDisplayOptionProc610,18360 +typedef Bool (*SetDisplayOptionForPluginProc) (CompDisplay *display,SetDisplayOptionForPluginProc615,18524 +typedef Bool (*InitPluginForDisplayProc) (CompPlugin *plugin,InitPluginForDisplayProc620,18699 +typedef void (*FiniPluginForDisplayProc) (CompPlugin *plugin,FiniPluginForDisplayProc623,18793 +typedef void (*HandleEventProc) (CompDisplay *display,HandleEventProc626,18887 +typedef void (*HandleEcompEventProc) (CompDisplay *display,HandleEcompEventProc629,18969 +typedef Bool (*CallBackProc) (void *closure);CallBackProc635,19166 +typedef void (*ForEachWindowProc) (CompWindow *window,ForEachWindowProc637,19213 +typedef Bool (*FileToImageProc) (CompDisplay *display,FileToImageProc640,19298 +typedef Bool (*ImageToFileProc) (CompDisplay *display,ImageToFileProc648,19494 +#define NOTIFY_CREATE_MASK NOTIFY_CREATE_MASK657,19712 +#define NOTIFY_DELETE_MASK NOTIFY_DELETE_MASK658,19748 +#define NOTIFY_MOVE_MASK NOTIFY_MOVE_MASK659,19784 +#define NOTIFY_MODIFY_MASK NOTIFY_MODIFY_MASK660,19820 +typedef void (*FileWatchCallBackProc) (const char *name,FileWatchCallBackProc662,19857 +typedef struct _CompFileWatch {_CompFileWatch665,19944 + struct _CompFileWatch *next;next666,19976 + char *path;path667,20009 + int mask;mask668,20028 + FileWatchCallBackProc callBack;callBack669,20046 + void *closure;closure670,20082 + CompFileWatchHandle handle;handle671,20104 +} CompFileWatch;CompFileWatch672,20138 +typedef void (*FileWatchAddedProc) (CompDisplay *display,FileWatchAddedProc674,20156 +typedef void (*FileWatchRemovedProc) (CompDisplay *display,FileWatchRemovedProc677,20252 +#define MATCH_OP_AND_MASK MATCH_OP_AND_MASK680,20352 +#define MATCH_OP_NOT_MASK MATCH_OP_NOT_MASK681,20387 + CompMatchOpTypeGroup,CompMatchOpTypeGroup684,20438 + CompMatchOpTypeExpCompMatchOpTypeExp685,20464 +} CompMatchOpType;CompMatchOpType686,20487 +typedef struct _CompMatchAnyOp {_CompMatchAnyOp688,20507 + CompMatchOpType type;type689,20540 + int flags;flags690,20566 +} CompMatchAnyOp;CompMatchAnyOp691,20586 +typedef struct _CompMatchGroupOp {_CompMatchGroupOp693,20605 + CompMatchOpType type;type694,20640 + int flags;flags695,20666 + CompMatchOp *op;op696,20686 + int nOp;nOp697,20711 +} CompMatchGroupOp;CompMatchGroupOp698,20729 +typedef void (*CompMatchExpFiniProc) (CompDisplay *display,CompMatchExpFiniProc700,20750 +typedef Bool (*CompMatchExpEvalProc) (CompDisplay *display,CompMatchExpEvalProc703,20840 +typedef struct _CompMatchExp {_CompMatchExp707,20961 + CompMatchExpFiniProc fini;fini708,20992 + CompMatchExpEvalProc eval;eval709,21023 + CompPrivate priv;priv710,21054 +} CompMatchExp;CompMatchExp711,21078 +typedef struct _CompMatchExpOp {_CompMatchExpOp713,21095 + CompMatchOpType type;type714,21128 + int flags;flags715,21154 + char *value;value716,21174 + CompMatchExp e;e717,21195 +} CompMatchExpOp;CompMatchExpOp718,21218 +union _CompMatchOp {_CompMatchOp720,21237 + CompMatchOpType type;type721,21258 + CompMatchAnyOp any;any722,21285 + CompMatchGroupOp group;group723,21311 + CompMatchExpOp exp;exp724,21339 +typedef void (*MatchInitExpProc) (CompDisplay *display,MatchInitExpProc727,21369 +typedef void (*MatchExpHandlerChangedProc) (CompDisplay *display);MatchExpHandlerChangedProc731,21480 +typedef void (*MatchPropertyChangedProc) (CompDisplay *display,MatchPropertyChangedProc733,21548 +typedef void (*LogMessageProc) (CompDisplay *d,LogMessageProc736,21642 +struct _CompDisplay {_CompDisplay741,21777 + Display *display;display742,21799 + CompScreen *screens;screens743,21824 + char *screenPrivateIndices;screenPrivateIndices745,21850 + int screenPrivateLen;screenPrivateLen746,21882 + int compositeEvent, compositeError, compositeOpcode;compositeEvent748,21910 + int compositeEvent, compositeError, compositeOpcode;compositeError748,21910 + int compositeEvent, compositeError, compositeOpcode;compositeOpcode748,21910 + int damageEvent, damageError;damageEvent749,21967 + int damageEvent, damageError;damageError749,21967 + int syncEvent, syncError;syncEvent750,22001 + int syncEvent, syncError;syncError750,22001 + int fixesEvent, fixesError, fixesVersion;fixesEvent751,22031 + int fixesEvent, fixesError, fixesVersion;fixesError751,22031 + int fixesEvent, fixesError, fixesVersion;fixesVersion751,22031 + Bool randrExtension;randrExtension753,22078 + int randrEvent, randrError;randrEvent754,22103 + int randrEvent, randrError;randrError754,22103 + Bool shapeExtension;shapeExtension756,22136 + int shapeEvent, shapeError;shapeEvent757,22161 + int shapeEvent, shapeError;shapeError757,22161 + Bool xkbExtension;xkbExtension759,22195 + int xkbEvent, xkbError;xkbEvent760,22218 + int xkbEvent, xkbError;xkbError760,22218 + Bool xineramaExtension;xineramaExtension762,22248 + int xineramaEvent, xineramaError;xineramaEvent763,22276 + int xineramaEvent, xineramaError;xineramaError763,22276 + XineramaScreenInfo *screenInfo;screenInfo765,22316 + int nScreenInfo;nScreenInfo766,22352 + Atom supportedAtom;supportedAtom770,22409 + Atom supportingWmCheckAtom;supportingWmCheckAtom771,22433 + Atom utf8StringAtom;utf8StringAtom773,22466 + Atom wmNameAtom;wmNameAtom775,22492 + Atom winTypeAtom;winTypeAtom777,22514 + Atom winTypeDesktopAtom;winTypeDesktopAtom778,22536 + Atom winTypeDockAtom;winTypeDockAtom779,22565 + Atom winTypeToolbarAtom;winTypeToolbarAtom780,22591 + Atom winTypeMenuAtom;winTypeMenuAtom781,22620 + Atom winTypeUtilAtom;winTypeUtilAtom782,22646 + Atom winTypeSplashAtom;winTypeSplashAtom783,22672 + Atom winTypeDialogAtom;winTypeDialogAtom784,22700 + Atom winTypeNormalAtom;winTypeNormalAtom785,22728 + Atom winTypeDropdownMenuAtom;winTypeDropdownMenuAtom786,22756 + Atom winTypePopupMenuAtom;winTypePopupMenuAtom787,22790 + Atom winTypeTooltipAtom;winTypeTooltipAtom788,22821 + Atom winTypeNotificationAtom;winTypeNotificationAtom789,22850 + Atom winTypeComboAtom;winTypeComboAtom790,22884 + Atom winTypeDndAtom;winTypeDndAtom791,22911 + Atom winOpacityAtom;winOpacityAtom793,22937 + Atom winBrightnessAtom;winBrightnessAtom794,22962 + Atom winSaturationAtom;winSaturationAtom795,22990 + Atom winActiveAtom;winActiveAtom796,23018 + Atom winDesktopAtom;winDesktopAtom797,23042 + Atom workareaAtom;workareaAtom799,23068 + Atom desktopViewportAtom;desktopViewportAtom801,23092 + Atom desktopGeometryAtom;desktopGeometryAtom802,23122 + Atom currentDesktopAtom;currentDesktopAtom803,23152 + Atom numberOfDesktopsAtom;numberOfDesktopsAtom804,23181 + Atom winStateAtom;winStateAtom806,23213 + Atom winStateModalAtom;winStateModalAtom807,23236 + Atom winStateStickyAtom;winStateStickyAtom808,23264 + Atom winStateMaximizedVertAtom;winStateMaximizedVertAtom809,23293 + Atom winStateMaximizedHorzAtom;winStateMaximizedHorzAtom810,23329 + Atom winStateShadedAtom;winStateShadedAtom811,23365 + Atom winStateSkipTaskbarAtom;winStateSkipTaskbarAtom812,23394 + Atom winStateSkipPagerAtom;winStateSkipPagerAtom813,23428 + Atom winStateHiddenAtom;winStateHiddenAtom814,23460 + Atom winStateFullscreenAtom;winStateFullscreenAtom815,23489 + Atom winStateAboveAtom;winStateAboveAtom816,23522 + Atom winStateBelowAtom;winStateBelowAtom817,23550 + Atom winStateDemandsAttentionAtom;winStateDemandsAttentionAtom818,23578 + Atom winStateDisplayModalAtom;winStateDisplayModalAtom819,23617 + Atom winActionMoveAtom;winActionMoveAtom821,23653 + Atom winActionResizeAtom;winActionResizeAtom822,23681 + Atom winActionStickAtom;winActionStickAtom823,23711 + Atom winActionMinimizeAtom;winActionMinimizeAtom824,23740 + Atom winActionMaximizeHorzAtom;winActionMaximizeHorzAtom825,23772 + Atom winActionMaximizeVertAtom;winActionMaximizeVertAtom826,23808 + Atom winActionFullscreenAtom;winActionFullscreenAtom827,23844 + Atom winActionCloseAtom;winActionCloseAtom828,23878 + Atom winActionShadeAtom;winActionShadeAtom829,23907 + Atom winActionChangeDesktopAtom;winActionChangeDesktopAtom830,23936 + Atom winActionAboveAtom;winActionAboveAtom831,23973 + Atom winActionBelowAtom;winActionBelowAtom832,24002 + Atom wmAllowedActionsAtom;wmAllowedActionsAtom834,24032 + Atom wmStrutAtom;wmStrutAtom836,24064 + Atom wmStrutPartialAtom;wmStrutPartialAtom837,24086 + Atom wmUserTimeAtom;wmUserTimeAtom839,24116 + Atom wmIconAtom;wmIconAtom841,24142 + Atom clientListAtom;clientListAtom843,24164 + Atom clientListStackingAtom;clientListStackingAtom844,24189 + Atom frameExtentsAtom;frameExtentsAtom846,24223 + Atom frameWindowAtom;frameWindowAtom847,24250 + Atom wmStateAtom;wmStateAtom849,24277 + Atom wmChangeStateAtom;wmChangeStateAtom850,24299 + Atom wmProtocolsAtom;wmProtocolsAtom851,24327 + Atom wmClientLeaderAtom;wmClientLeaderAtom852,24353 + Atom wmDeleteWindowAtom;wmDeleteWindowAtom854,24383 + Atom wmTakeFocusAtom;wmTakeFocusAtom855,24412 + Atom wmPingAtom;wmPingAtom856,24438 + Atom wmSyncRequestAtom;wmSyncRequestAtom857,24459 + Atom wmSyncRequestCounterAtom;wmSyncRequestCounterAtom859,24488 + Atom closeWindowAtom;closeWindowAtom861,24524 + Atom wmMoveResizeAtom;wmMoveResizeAtom862,24550 + Atom moveResizeWindowAtom;moveResizeWindowAtom863,24577 + Atom restackWindowAtom;restackWindowAtom864,24608 + Atom showingDesktopAtom;showingDesktopAtom866,24637 + Atom xBackgroundAtom[2];xBackgroundAtom868,24667 + Atom mwmHintsAtom;mwmHintsAtom876,24914 + Atom xdndAwareAtom;xdndAwareAtom878,24938 + Atom xdndEnterAtom;xdndEnterAtom879,24962 + Atom xdndLeaveAtom;xdndLeaveAtom880,24986 + Atom xdndPositionAtom;xdndPositionAtom881,25010 + Atom xdndStatusAtom;xdndStatusAtom882,25037 + Atom xdndDropAtom;xdndDropAtom883,25062 + Atom managerAtom;managerAtom885,25086 + Atom targetsAtom;targetsAtom886,25108 + Atom multipleAtom;multipleAtom887,25130 + Atom timestampAtom;timestampAtom888,25153 + Atom versionAtom;versionAtom889,25177 + Atom atomPairAtom;atomPairAtom890,25199 + Atom startupIdAtom;startupIdAtom892,25223 + Atom eManagedAtom;eManagedAtom894,25248 + unsigned int lastPing;lastPing897,25296 + CompTimeoutHandle pingHandle;pingHandle898,25328 + GLenum textureFilter;textureFilter900,25363 + Window activeWindow;activeWindow902,25390 + Window below;below904,25416 + char displayString[256];displayString905,25434 + XModifierKeymap *modMap;modMap907,25466 + unsigned int modMask[CompModNum];modMask908,25495 + unsigned int ignoredModMask;ignoredModMask909,25536 + KeyCode escapeKeyCode;escapeKeyCode911,25573 + KeyCode returnKeyCode;returnKeyCode912,25600 + CompOption opt[COMP_DISPLAY_OPTION_NUM];opt914,25628 + CompTimeoutHandle autoRaiseHandle;autoRaiseHandle916,25674 + Window autoRaiseWindow;autoRaiseWindow917,25713 + CompOptionValue plugin;plugin919,25748 + Bool dirtyPluginList;dirtyPluginList920,25776 + CompFileWatch *fileWatch;fileWatch922,25807 + SetDisplayOptionProc setDisplayOption;setDisplayOption924,25838 + SetDisplayOptionForPluginProc setDisplayOptionForPlugin;setDisplayOptionForPlugin925,25883 + InitPluginForDisplayProc initPluginForDisplay;initPluginForDisplay927,25945 + FiniPluginForDisplayProc finiPluginForDisplay;finiPluginForDisplay928,25996 + HandleEventProc handleEvent;handleEvent930,26048 + HandleEcompEventProc handleEcompEvent;handleEcompEvent931,26087 + FileToImageProc fileToImage;fileToImage933,26131 + ImageToFileProc imageToFile;imageToFile934,26164 + FileWatchAddedProc fileWatchAdded;fileWatchAdded936,26198 + FileWatchRemovedProc fileWatchRemoved;fileWatchRemoved937,26239 + MatchInitExpProc matchInitExp;matchInitExp939,26283 + MatchExpHandlerChangedProc matchExpHandlerChanged;matchExpHandlerChanged940,26325 + MatchPropertyChangedProc matchPropertyChanged;matchPropertyChanged941,26380 + LogMessageProc logMessage;logMessage943,26434 + CompPrivate *privates;privates945,26466 +#define MULTIPLY_USHORT(MULTIPLY_USHORT1152,30246 +#define DEFAULT_Z_CAMERA DEFAULT_Z_CAMERA1156,30385 +typedef struct _CompTransform {_CompTransform1158,30424 + float m[16];m1159,30456 +} CompTransform;CompTransform1160,30473 +typedef struct _ScreenPaintAttrib {_ScreenPaintAttrib1163,30536 + GLfloat xRotate;xRotate1164,30572 + GLfloat yRotate;yRotate1165,30593 + GLfloat vRotate;vRotate1166,30614 + GLfloat xTranslate;xTranslate1167,30635 + GLfloat yTranslate;yTranslate1168,30659 + GLfloat zTranslate;zTranslate1169,30683 + GLfloat zCamera;zCamera1170,30707 +} ScreenPaintAttrib;ScreenPaintAttrib1171,30728 +typedef struct _WindowPaintAttrib {_WindowPaintAttrib1174,30804 + GLushort opacity;opacity1175,30840 + GLushort brightness;brightness1176,30862 + GLushort saturation;saturation1177,30887 + GLfloat xScale;xScale1178,30912 + GLfloat yScale;yScale1179,30933 + GLfloat xTranslate;xTranslate1180,30954 + GLfloat yTranslate;yTranslate1181,30979 +} WindowPaintAttrib;WindowPaintAttrib1182,31004 +typedef struct _CompMatrix {_CompMatrix1187,31129 + float xx; float yx;xx1188,31158 + float xx; float yx;yx1188,31158 + float xy; float yy;xy1189,31182 + float xy; float yy;yy1189,31182 + float x0; float y0;x01190,31206 + float x0; float y0;y01190,31206 +} CompMatrix;CompMatrix1191,31230 +#define COMP_TEX_COORD_X(COMP_TEX_COORD_X1193,31245 +#define COMP_TEX_COORD_Y(COMP_TEX_COORD_Y1194,31304 +#define COMP_TEX_COORD_XY(COMP_TEX_COORD_XY1196,31364 +#define COMP_TEX_COORD_YX(COMP_TEX_COORD_YX1198,31452 +typedef void (*PreparePaintScreenProc) (CompScreen *screen,PreparePaintScreenProc1202,31542 +typedef void (*DonePaintScreenProc) (CompScreen *screen);DonePaintScreenProc1205,31634 +#define PAINT_SCREEN_REGION_MASK PAINT_SCREEN_REGION_MASK1207,31693 +#define PAINT_SCREEN_FULL_MASK PAINT_SCREEN_FULL_MASK1208,31739 +#define PAINT_SCREEN_TRANSFORMED_MASK PAINT_SCREEN_TRANSFORMED_MASK1209,31784 +#define PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK1210,31835 +#define PAINT_SCREEN_CLEAR_MASK PAINT_SCREEN_CLEAR_MASK1211,31895 +typedef void (*PaintScreenProc) (CompScreen *screen,PaintScreenProc1213,31942 +typedef Bool (*PaintOutputProc) (CompScreen *screen,PaintOutputProc1218,32080 +typedef void (*PaintTransformedOutputProc) (CompScreen *screen,PaintTransformedOutputProc1225,32290 +typedef void (*ApplyScreenTransformProc) (CompScreen *screen,ApplyScreenTransformProc1233,32596 +typedef void (*WalkerFiniProc) (CompScreen *screen,WalkerFiniProc1238,32777 +typedef CompWindow *(*WalkInitProc) (CompScreen *screen);WalkInitProc1241,32855 +typedef CompWindow *(*WalkStepProc) (CompWindow *window);WalkStepProc1242,32913 +struct _CompWalker {_CompWalker1244,32972 + WalkerFiniProc fini;fini1245,32993 + CompPrivate priv;priv1246,33018 + WalkInitProc first;first1248,33044 + WalkInitProc last;last1249,33068 + WalkStepProc next;next1250,33091 + WalkStepProc prev;prev1251,33114 +#define PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK1269,33489 +#define PAINT_WINDOW_OCCLUSION_DETECTION_MASK PAINT_WINDOW_OCCLUSION_DETECTION_MASK1275,33638 +#define PAINT_WINDOW_TRANSLUCENT_MASK PAINT_WINDOW_TRANSLUCENT_MASK1280,33746 +#define PAINT_WINDOW_TRANSFORMED_MASK PAINT_WINDOW_TRANSFORMED_MASK1285,33855 +#define PAINT_WINDOW_NO_CORE_INSTANCE_MASK PAINT_WINDOW_NO_CORE_INSTANCE_MASK1291,33998 +#define PAINT_WINDOW_BLEND_MASK PAINT_WINDOW_BLEND_MASK1296,34101 +typedef Bool (*PaintWindowProc) (CompWindow *window,PaintWindowProc1299,34147 +typedef Bool (*DrawWindowProc) (CompWindow *window,DrawWindowProc1305,34332 +typedef void (*AddWindowGeometryProc) (CompWindow *window,AddWindowGeometryProc1311,34517 +typedef void (*DrawWindowTextureProc) (CompWindow *w,DrawWindowTextureProc1317,34689 +typedef void (*DrawWindowGeometryProc) (CompWindow *window);DrawWindowGeometryProc1322,34863 +typedef void (*PaintCursorProc) (CompCursor *cursor,PaintCursorProc1324,34925 +#define PAINT_BACKGROUND_ON_TRANSFORMED_SCREEN_MASK PAINT_BACKGROUND_ON_TRANSFORMED_SCREEN_MASK1329,35077 +typedef void (*PaintBackgroundProc) (CompScreen *screen,PaintBackgroundProc1331,35139 +#define POWER_OF_TWO(POWER_OF_TWO1432,37370 + COMP_TEXTURE_FILTER_FAST,COMP_TEXTURE_FILTER_FAST1435,37431 + COMP_TEXTURE_FILTER_GOODCOMP_TEXTURE_FILTER_GOOD1436,37461 +} CompTextureFilter;CompTextureFilter1437,37490 +struct _CompTexture {_CompTexture1439,37512 + GLuint name;name1440,37534 + GLenum target;target1441,37555 + GLfloat dx, dy;dx1442,37578 + GLfloat dx, dy;dy1442,37578 + GLXPixmap pixmap;pixmap1443,37601 + GLenum filter;filter1444,37624 + GLenum wrap;wrap1445,37647 + CompMatrix matrix;matrix1446,37668 + Bool oldMipmaps;oldMipmaps1447,37691 + Bool mipmap;mipmap1448,37718 + int refCount;refCount1449,37741 +#define COMP_SCREEN_OPTION_DETECT_REFRESH_RATE COMP_SCREEN_OPTION_DETECT_REFRESH_RATE1529,39316 +#define COMP_SCREEN_OPTION_LIGHTING COMP_SCREEN_OPTION_LIGHTING1530,39367 +#define COMP_SCREEN_OPTION_REFRESH_RATE COMP_SCREEN_OPTION_REFRESH_RATE1531,39408 +#define COMP_SCREEN_OPTION_HSIZE COMP_SCREEN_OPTION_HSIZE1532,39453 +#define COMP_SCREEN_OPTION_VSIZE COMP_SCREEN_OPTION_VSIZE1533,39491 +#define COMP_SCREEN_OPTION_OPACITY_STEP COMP_SCREEN_OPTION_OPACITY_STEP1534,39529 +#define COMP_SCREEN_OPTION_UNREDIRECT_FS COMP_SCREEN_OPTION_UNREDIRECT_FS1535,39574 +#define COMP_SCREEN_OPTION_DEFAULT_ICON COMP_SCREEN_OPTION_DEFAULT_ICON1536,39619 +#define COMP_SCREEN_OPTION_SYNC_TO_VBLANK COMP_SCREEN_OPTION_SYNC_TO_VBLANK1537,39664 +#define COMP_SCREEN_OPTION_NUMBER_OF_DESKTOPS COMP_SCREEN_OPTION_NUMBER_OF_DESKTOPS1538,39710 +#define COMP_SCREEN_OPTION_DETECT_OUTPUTS COMP_SCREEN_OPTION_DETECT_OUTPUTS1539,39760 +#define COMP_SCREEN_OPTION_OUTPUTS COMP_SCREEN_OPTION_OUTPUTS1540,39807 +#define COMP_SCREEN_OPTION_FOCUS_PREVENTION_MATCH COMP_SCREEN_OPTION_FOCUS_PREVENTION_MATCH1541,39848 +#define COMP_SCREEN_OPTION_OPACITY_MATCHES COMP_SCREEN_OPTION_OPACITY_MATCHES1542,39901 +#define COMP_SCREEN_OPTION_OPACITY_VALUES COMP_SCREEN_OPTION_OPACITY_VALUES1543,39949 +#define COMP_SCREEN_OPTION_NUM COMP_SCREEN_OPTION_NUM1544,39996 +#define GLX_BIND_TO_TEXTURE_RGB_EXT GLX_BIND_TO_TEXTURE_RGB_EXT1547,40078 +#define GLX_BIND_TO_TEXTURE_RGBA_EXT GLX_BIND_TO_TEXTURE_RGBA_EXT1548,40128 +#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT GLX_BIND_TO_MIPMAP_TEXTURE_EXT1549,40178 +#define GLX_BIND_TO_TEXTURE_TARGETS_EXT GLX_BIND_TO_TEXTURE_TARGETS_EXT1550,40228 +#define GLX_Y_INVERTED_EXT GLX_Y_INVERTED_EXT1551,40278 +#define GLX_TEXTURE_FORMAT_EXT GLX_TEXTURE_FORMAT_EXT1552,40328 +#define GLX_TEXTURE_TARGET_EXT GLX_TEXTURE_TARGET_EXT1553,40378 +#define GLX_MIPMAP_TEXTURE_EXT GLX_MIPMAP_TEXTURE_EXT1554,40428 +#define GLX_TEXTURE_FORMAT_NONE_EXT GLX_TEXTURE_FORMAT_NONE_EXT1555,40478 +#define GLX_TEXTURE_FORMAT_RGB_EXT GLX_TEXTURE_FORMAT_RGB_EXT1556,40528 +#define GLX_TEXTURE_FORMAT_RGBA_EXT GLX_TEXTURE_FORMAT_RGBA_EXT1557,40578 +#define GLX_TEXTURE_1D_BIT_EXT GLX_TEXTURE_1D_BIT_EXT1558,40628 +#define GLX_TEXTURE_2D_BIT_EXT GLX_TEXTURE_2D_BIT_EXT1559,40682 +#define GLX_TEXTURE_RECTANGLE_BIT_EXT GLX_TEXTURE_RECTANGLE_BIT_EXT1560,40736 +#define GLX_TEXTURE_1D_EXT GLX_TEXTURE_1D_EXT1561,40790 +#define GLX_TEXTURE_2D_EXT GLX_TEXTURE_2D_EXT1562,40840 +#define GLX_TEXTURE_RECTANGLE_EXT GLX_TEXTURE_RECTANGLE_EXT1563,40890 +#define GLX_FRONT_LEFT_EXT GLX_FRONT_LEFT_EXT1564,40940 +typedef void (*FuncPtr) (void);FuncPtr1567,40998 +typedef FuncPtr (*GLXGetProcAddressProc) (const GLubyte *procName);GLXGetProcAddressProc1568,41030 +typedef void (*GLXBindTexImageProc) (Display *display,GLXBindTexImageProc1570,41099 +typedef void (*GLXReleaseTexImageProc) (Display *display,GLXReleaseTexImageProc1574,41242 +typedef void (*GLXQueryDrawableProc) (Display *display,GLXQueryDrawableProc1577,41358 +typedef void (*GLXCopySubBufferProc) (Display *display,GLXCopySubBufferProc1582,41508 +typedef int (*GLXGetVideoSyncProc) (unsigned int *count);GLXGetVideoSyncProc1589,41687 +typedef int (*GLXWaitVideoSyncProc) (int divisor,GLXWaitVideoSyncProc1590,41746 +typedef struct __GLXFBConfigRec *GLXFBConfig;GLXFBConfig1595,41880 +typedef GLXFBConfig *(*GLXGetFBConfigsProc) (Display *display,GLXGetFBConfigsProc1598,41934 +typedef int (*GLXGetFBConfigAttribProc) (Display *display,GLXGetFBConfigAttribProc1601,42054 +typedef GLXPixmap (*GLXCreatePixmapProc) (Display *display,GLXCreatePixmapProc1605,42193 +typedef void (*GLActiveTextureProc) (GLenum texture);GLActiveTextureProc1610,42345 +typedef void (*GLClientActiveTextureProc) (GLenum texture);GLClientActiveTextureProc1611,42399 +typedef void (*GLGenProgramsProc) (GLsizei n,GLGenProgramsProc1613,42460 +typedef void (*GLDeleteProgramsProc) (GLsizei n,GLDeleteProgramsProc1615,42533 +typedef void (*GLBindProgramProc) (GLenum target,GLBindProgramProc1617,42612 +typedef void (*GLProgramStringProc) (GLenum target,GLProgramStringProc1619,42686 +typedef void (*GLProgramParameter4fProc) (GLenum target,GLProgramParameter4fProc1623,42822 +typedef void (*GLGenFramebuffersProc) (GLsizei n,GLGenFramebuffersProc1630,42976 +typedef void (*GLDeleteFramebuffersProc) (GLsizei n,GLDeleteFramebuffersProc1632,43061 +typedef void (*GLBindFramebufferProc) (GLenum target,GLBindFramebufferProc1634,43145 +typedef GLenum (*GLCheckFramebufferStatusProc) (GLenum target);GLCheckFramebufferStatusProc1636,43231 +typedef void (*GLFramebufferTexture2DProc) (GLenum target,GLFramebufferTexture2DProc1637,43295 +typedef void (*GLGenerateMipmapProc) (GLenum target);GLGenerateMipmapProc1642,43458 +#define MAX_DEPTH MAX_DEPTH1644,43513 +typedef CompOption *(*GetScreenOptionsProc) (CompScreen *screen,GetScreenOptionsProc1646,43535 +typedef Bool (*SetScreenOptionProc) (CompScreen *screen,SetScreenOptionProc1648,43623 +typedef CompOption *(*GetPluginScreenOptionsProc) (CompPlugin *plugin,GetPluginScreenOptionsProc1651,43745 +typedef Bool (*SetPluginScreenOptionProc) (CompPlugin *plugin,SetPluginScreenOptionProc1654,43873 +typedef Bool (*SetScreenOptionForPluginProc) (CompScreen *screen,SetScreenOptionForPluginProc1658,44038 +typedef Bool (*InitPluginForScreenProc) (CompPlugin *plugin,InitPluginForScreenProc1663,44206 +typedef void (*FiniPluginForScreenProc) (CompPlugin *plugin,FiniPluginForScreenProc1666,44295 +typedef void (*EnterShowDesktopModeProc) (CompScreen *screen);EnterShowDesktopModeProc1669,44384 +typedef void (*LeaveShowDesktopModeProc) (CompScreen *screen,LeaveShowDesktopModeProc1671,44448 +typedef Bool (*DamageWindowRectProc) (CompWindow *w,DamageWindowRectProc1674,44539 +typedef Bool (*DamageWindowRegionProc) (CompWindow *w,DamageWindowRegionProc1678,44651 +typedef Bool (*DamageCursorRectProc) (CompCursor *c,DamageCursorRectProc1681,44732 +typedef void (*GetOutputExtentsForWindowProc) (CompWindow *w,GetOutputExtentsForWindowProc1686,44845 +typedef void (*GetAllowedActionsForWindowProc) (CompWindow *w,GetAllowedActionsForWindowProc1689,44949 +typedef Bool (*FocusWindowProc) (CompWindow *window);FocusWindowProc1693,45082 +typedef Bool (*PlaceWindowProc) (CompWindow *window,PlaceWindowProc1695,45137 +typedef void (*WindowResizeNotifyProc) (CompWindow *window,WindowResizeNotifyProc1701,45276 +typedef void (*WindowMoveNotifyProc) (CompWindow *window,WindowMoveNotifyProc1707,45427 +#define CompWindowGrabKeyMask CompWindowGrabKeyMask1712,45552 +#define CompWindowGrabButtonMask CompWindowGrabButtonMask1713,45594 +#define CompWindowGrabMoveMask CompWindowGrabMoveMask1714,45636 +#define CompWindowGrabResizeMask CompWindowGrabResizeMask1715,45678 +typedef void (*WindowGrabNotifyProc) (CompWindow *window,WindowGrabNotifyProc1717,45721 +typedef void (*WindowUngrabNotifyProc) (CompWindow *window);WindowUngrabNotifyProc1723,45882 +typedef void (*WindowStateChangeNotifyProc) (CompWindow *window,WindowStateChangeNotifyProc1725,45944 +typedef void (*WindowAddNotifyProc) (CompWindow *window);WindowAddNotifyProc1728,46047 +typedef void (*OutputChangeNotifyProc) (CompScreen *screen);OutputChangeNotifyProc1730,46106 +typedef void (*InitWindowWalkerProc) (CompScreen *screen,InitWindowWalkerProc1732,46168 +#define COMP_SCREEN_DAMAGE_PENDING_MASK COMP_SCREEN_DAMAGE_PENDING_MASK1735,46258 +#define COMP_SCREEN_DAMAGE_REGION_MASK COMP_SCREEN_DAMAGE_REGION_MASK1736,46307 +#define COMP_SCREEN_DAMAGE_ALL_MASK COMP_SCREEN_DAMAGE_ALL_MASK1737,46356 +typedef struct _CompKeyGrab {_CompKeyGrab1739,46406 + int keycode;keycode1740,46436 + unsigned int modifiers;modifiers1741,46455 + int count;count1742,46483 +} CompKeyGrab;CompKeyGrab1743,46500 +typedef struct _CompButtonGrab {_CompButtonGrab1745,46516 + int button;button1746,46549 + unsigned int modifiers;modifiers1747,46567 + int count;count1748,46595 +} CompButtonGrab;CompButtonGrab1749,46612 +typedef struct _CompGrab {_CompGrab1751,46631 + Bool active;active1752,46658 + Cursor cursor;cursor1753,46681 + const char *name;name1754,46704 +} CompGrab;CompGrab1755,46726 +typedef struct _CompGroup {_CompGroup1757,46739 + struct _CompGroup *next;next1758,46767 + unsigned int refCnt;refCnt1759,46796 + Window id;id1760,46826 +} CompGroup;CompGroup1761,46847 +typedef struct _CompFBConfig {_CompFBConfig1770,47073 + GLXFBConfig fbConfig;fbConfig1771,47104 + int yInverted;yInverted1772,47130 + int mipmap;mipmap1773,47157 + int textureFormat;textureFormat1774,47181 + int textureTargets;textureTargets1775,47212 +} CompFBConfig;CompFBConfig1776,47244 +#define NOTHING_TRANS_FILTER NOTHING_TRANS_FILTER1778,47261 +#define SCREEN_TRANS_FILTER SCREEN_TRANS_FILTER1779,47292 +#define WINDOW_TRANS_FILTER WINDOW_TRANS_FILTER1780,47323 +#define SCREEN_EDGE_LEFT SCREEN_EDGE_LEFT1782,47355 +#define SCREEN_EDGE_RIGHT SCREEN_EDGE_RIGHT1783,47382 +#define SCREEN_EDGE_TOP SCREEN_EDGE_TOP1784,47410 +#define SCREEN_EDGE_BOTTOM SCREEN_EDGE_BOTTOM1785,47437 +#define SCREEN_EDGE_TOPLEFT SCREEN_EDGE_TOPLEFT1786,47466 +#define SCREEN_EDGE_TOPRIGHT SCREEN_EDGE_TOPRIGHT1787,47496 +#define SCREEN_EDGE_BOTTOMLEFT SCREEN_EDGE_BOTTOMLEFT1788,47527 +#define SCREEN_EDGE_BOTTOMRIGHT SCREEN_EDGE_BOTTOMRIGHT1789,47560 +#define SCREEN_EDGE_NUM SCREEN_EDGE_NUM1790,47594 +typedef struct _CompScreenEdge {_CompScreenEdge1792,47622 + Window id;id1793,47655 + unsigned int count;count1794,47671 +} CompScreenEdge;CompScreenEdge1795,47695 +struct _CompIcon {_CompIcon1797,47714 + CompTexture texture;texture1798,47733 + int width;width1799,47758 + int height;height1800,47774 +struct _CompOutput {_CompOutput1803,47795 + char *name;name1804,47816 + int id;id1805,47838 + REGION region;region1806,47857 + int width;width1807,47880 + int height;height1808,47902 + XRectangle workArea;workArea1809,47925 +typedef struct _CompCursorImage {_CompCursorImage1812,47954 + struct _CompCursorImage *next;next1813,47988 + unsigned long serial;serial1815,48024 + Pixmap pixmap;pixmap1816,48050 + CompTexture texture;texture1817,48071 + int xhot;xhot1818,48098 + int yhot;yhot1819,48115 + int width;width1820,48139 + int height;height1821,48157 +} CompCursorImage;CompCursorImage1822,48183 +struct _CompCursor {_CompCursor1824,48203 + struct _CompCursor *next;next1825,48224 + CompScreen *screen;screen1827,48255 + CompCursorImage *image;image1828,48283 + int x;x1830,48312 + int y;y1831,48323 + CompMatrix matrix;matrix1833,48335 +#define ACTIVE_WINDOW_HISTORY_SIZE ACTIVE_WINDOW_HISTORY_SIZE1836,48362 +#define ACTIVE_WINDOW_HISTORY_NUM ACTIVE_WINDOW_HISTORY_NUM1837,48400 +typedef struct _CompActiveWindowHistory {_CompActiveWindowHistory1839,48439 + Window id[ACTIVE_WINDOW_HISTORY_SIZE];id1840,48481 + int x;x1841,48524 + int y;y1842,48538 + int activeNum;activeNum1843,48552 +} CompActiveWindowHistory;CompActiveWindowHistory1844,48574 +struct _CompScreen {_CompScreen1846,48602 + CompScreen *next;next1847,48623 + CompDisplay *display;display1848,48646 + CompWindow *windows;windows1849,48672 + CompWindow *reverseWindows;reverseWindows1850,48697 + char *windowPrivateIndices;windowPrivateIndices1852,48730 + int windowPrivateLen;windowPrivateLen1853,48762 + Colormap colormap;colormap1855,48790 + int screenNum;screenNum1856,48819 + int width;width1857,48845 + int height;height1858,48867 + int x;x1859,48890 + int y;y1860,48908 + int hsize; /* Number of horizontal viewports */hsize1861,48926 + int vsize; /* Number of vertical viewports */vsize1862,48986 + unsigned int nDesktop;nDesktop1863,49044 + unsigned int currentDesktop;currentDesktop1864,49076 + REGION region;region1865,49114 + Region damage;damage1866,49139 + unsigned long damageMask;damageMask1867,49164 + Window root;root1868,49198 + Window overlay;overlay1869,49221 + Window output;output1870,49247 + XWindowAttributes attrib;attrib1871,49272 + Window grabWindow;grabWindow1872,49302 + CompFBConfig glxPixmapFBConfigs[MAX_DEPTH + 1];glxPixmapFBConfigs1873,49331 + int textureRectangle;textureRectangle1874,49388 + int textureNonPowerOfTwo;textureNonPowerOfTwo1875,49421 + int textureEnvCombine;textureEnvCombine1876,49458 + int textureEnvCrossbar;textureEnvCrossbar1877,49492 + int textureBorderClamp;textureBorderClamp1878,49527 + GLint maxTextureSize;maxTextureSize1879,49562 + int fbo;fbo1880,49594 + int fragmentProgram;fragmentProgram1881,49614 + int maxTextureUnits;maxTextureUnits1882,49646 + Cursor invisibleCursor;invisibleCursor1883,49678 + XRectangle *exposeRects;exposeRects1884,49712 + int sizeExpose;sizeExpose1885,49748 + int nExpose;nExpose1886,49775 + CompTexture backgroundTexture;backgroundTexture1887,49799 + Bool backgroundLoaded;backgroundLoaded1888,49840 + unsigned int pendingDestroys;pendingDestroys1889,49873 + int desktopWindowCount;desktopWindowCount1890,49912 + unsigned int mapNum;mapNum1891,49947 + unsigned int activeNum;activeNum1892,49977 + CompOutput *outputDev;outputDev1894,50011 + int nOutputDev;nOutputDev1895,50038 + int currentOutputDev;currentOutputDev1896,50065 + CompOutput fullscreenOutput;fullscreenOutput1897,50098 + XRectangle lastViewport;lastViewport1899,50132 + CompActiveWindowHistory history[ACTIVE_WINDOW_HISTORY_NUM];history1901,50162 + int currentHistory;currentHistory1902,50226 + int overlayWindowCount;overlayWindowCount1904,50257 + CompScreenEdge screenEdge[SCREEN_EDGE_NUM];screenEdge1906,50286 + int filter[3];filter1912,50470 + CompGroup *groups;groups1914,50490 + CompIcon *defaultIcon;defaultIcon1916,50514 + Bool canDoSaturated;canDoSaturated1918,50542 + Bool canDoSlightlySaturated;canDoSlightlySaturated1919,50567 + Cursor normalCursor;normalCursor1925,50687 + Cursor busyCursor;busyCursor1926,50712 + CompWindow **clientList;clientList1928,50736 + int nClientList;nClientList1929,50765 + CompButtonGrab *buttonGrab;buttonGrab1931,50794 + int nButtonGrab;nButtonGrab1932,50826 + CompKeyGrab *keyGrab;keyGrab1933,50851 + int nKeyGrab;nKeyGrab1934,50880 + CompGrab *grabs;grabs1936,50903 + int grabSize;grabSize1937,50924 + int maxGrab;maxGrab1938,50947 + int rasterX;rasterX1940,50970 + int rasterY;rasterY1941,50991 + struct timeval lastRedraw;lastRedraw1942,51012 + int nextRedraw;nextRedraw1943,51043 + int redrawTime;redrawTime1944,51067 + int optimalRedrawTime;optimalRedrawTime1945,51091 + int frameStatus;frameStatus1946,51122 + int timeMult;timeMult1947,51147 + Bool idle;idle1948,51169 + int timeLeft;timeLeft1949,51187 + Bool pendingCommands;pendingCommands1950,51209 + int lastFunctionId;lastFunctionId1952,51239 + CompFunction *fragmentFunctions;fragmentFunctions1954,51264 + CompProgram *fragmentPrograms;fragmentPrograms1955,51301 + int saturateFunction[2][64];saturateFunction1957,51338 + GLfloat projection[16];projection1959,51372 + Bool clearBuffers;clearBuffers1961,51401 + Bool lighting;lighting1963,51425 + Bool slowAnimations;slowAnimations1964,51444 + XRectangle workArea;workArea1966,51470 + unsigned int showingDesktopMask;showingDesktopMask1968,51496 + unsigned long *desktopHintData;desktopHintData1970,51534 + int desktopHintSize;desktopHintSize1971,51570 + CompCursor *cursors;cursors1973,51606 + CompCursorImage *cursorImages;cursorImages1974,51636 + GLXGetProcAddressProc getProcAddress;getProcAddress1976,51672 + GLXBindTexImageProc bindTexImage;bindTexImage1977,51717 + GLXReleaseTexImageProc releaseTexImage;releaseTexImage1978,51760 + GLXQueryDrawableProc queryDrawable;queryDrawable1979,51806 + GLXCopySubBufferProc copySubBuffer;copySubBuffer1980,51850 + GLXGetVideoSyncProc getVideoSync;getVideoSync1981,51894 + GLXWaitVideoSyncProc waitVideoSync;waitVideoSync1982,51937 + GLXGetFBConfigsProc getFBConfigs;getFBConfigs1983,51981 + GLXGetFBConfigAttribProc getFBConfigAttrib;getFBConfigAttrib1984,52024 + GLXCreatePixmapProc createPixmap;createPixmap1985,52072 + GLActiveTextureProc activeTexture;activeTexture1987,52116 + GLClientActiveTextureProc clientActiveTexture;clientActiveTexture1988,52161 + GLGenProgramsProc genPrograms;genPrograms1990,52213 + GLDeleteProgramsProc deletePrograms;deletePrograms1991,52253 + GLBindProgramProc bindProgram;bindProgram1992,52298 + GLProgramStringProc programString;programString1993,52338 + GLProgramParameter4fProc programEnvParameter4f;programEnvParameter4f1994,52382 + GLProgramParameter4fProc programLocalParameter4f;programLocalParameter4f1995,52434 + GLGenFramebuffersProc genFramebuffers;genFramebuffers1997,52489 + GLDeleteFramebuffersProc deleteFramebuffers;deleteFramebuffers1998,52539 + GLBindFramebufferProc bindFramebuffer;bindFramebuffer1999,52592 + GLCheckFramebufferStatusProc checkFramebufferStatus;checkFramebufferStatus2000,52642 + GLFramebufferTexture2DProc framebufferTexture2D;framebufferTexture2D2001,52699 + GLGenerateMipmapProc generateMipmap;generateMipmap2002,52754 + GLXContext ctx;ctx2004,52804 + CompOption opt[COMP_SCREEN_OPTION_NUM];opt2006,52825 + SetScreenOptionProc setScreenOption;setScreenOption2008,52870 + SetScreenOptionForPluginProc setScreenOptionForPlugin;setScreenOptionForPlugin2009,52913 + InitPluginForScreenProc initPluginForScreen;initPluginForScreen2011,52973 + FiniPluginForScreenProc finiPluginForScreen;finiPluginForScreen2012,53022 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen2014,53072 + DonePaintScreenProc donePaintScreen;donePaintScreen2015,53122 + PaintScreenProc paintScreen;paintScreen2016,53167 + PaintOutputProc paintOutput;paintOutput2017,53204 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput2018,53241 + ApplyScreenTransformProc applyScreenTransform;applyScreenTransform2019,53299 + PaintBackgroundProc paintBackground;paintBackground2020,53353 + PaintWindowProc paintWindow;paintWindow2021,53398 + DrawWindowProc drawWindow;drawWindow2022,53435 + AddWindowGeometryProc addWindowGeometry;addWindowGeometry2023,53470 + DrawWindowTextureProc drawWindowTexture;drawWindowTexture2024,53518 + DamageWindowRectProc damageWindowRect;damageWindowRect2025,53566 + GetOutputExtentsForWindowProc getOutputExtentsForWindow;getOutputExtentsForWindow2026,53612 + GetAllowedActionsForWindowProc getAllowedActionsForWindow;getAllowedActionsForWindow2027,53674 + FocusWindowProc focusWindow;focusWindow2028,53737 + PlaceWindowProc placeWindow;placeWindow2029,53774 + PaintCursorProc paintCursor;paintCursor2031,53823 + DamageCursorRectProc damageCursorRect;damageCursorRect2032,53861 + WindowAddNotifyProc windowAddNotify;windowAddNotify2034,53905 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify2035,53949 + WindowMoveNotifyProc windowMoveNotify;windowMoveNotify2036,53996 + WindowGrabNotifyProc windowGrabNotify;windowGrabNotify2037,54041 + WindowUngrabNotifyProc windowUngrabNotify;windowUngrabNotify2038,54086 + EnterShowDesktopModeProc enterShowDesktopMode;enterShowDesktopMode2040,54134 + LeaveShowDesktopModeProc leaveShowDesktopMode;leaveShowDesktopMode2041,54185 + WindowStateChangeNotifyProc windowStateChangeNotify;windowStateChangeNotify2043,54237 + OutputChangeNotifyProc outputChangeNotify;outputChangeNotify2045,54295 + InitWindowWalkerProc initWindowWalker;initWindowWalker2047,54343 + CompPrivate *privates;privates2049,54387 +#define WINDOW_INVISIBLE(WINDOW_INVISIBLE2307,58862 +typedef Bool (*InitPluginForWindowProc) (CompPlugin *plugin,InitPluginForWindowProc2315,59244 +typedef void (*FiniPluginForWindowProc) (CompPlugin *plugin,FiniPluginForWindowProc2317,59332 + CompStackingUpdateModeNone = 0,CompStackingUpdateModeNone2321,59436 + CompStackingUpdateModeNormal,CompStackingUpdateModeNormal2322,59472 + CompStackingUpdateModeAboveFullscreen,CompStackingUpdateModeAboveFullscreen2323,59506 + CompStackingUpdateModeInitialMapCompStackingUpdateModeInitialMap2324,59549 +} CompStackingUpdateMode;CompStackingUpdateMode2325,59586 +struct _CompWindowExtents {_CompWindowExtents2327,59613 + int left;left2328,59641 + int right;right2329,59655 + int top;top2330,59670 + int bottom;bottom2331,59683 +typedef struct _CompStruts {_CompStruts2334,59703 + XRectangle left;left2335,59732 + XRectangle right;right2336,59753 + XRectangle top;top2337,59775 + XRectangle bottom;bottom2338,59795 +} CompStruts;CompStruts2339,59818 +struct _CompWindow {_CompWindow2341,59833 + CompScreen *screen;screen2342,59854 + CompWindow *next;next2343,59878 + CompWindow *prev;prev2344,59900 + int refcnt;refcnt2346,59923 + Window id;id2347,59946 + Window frame;frame2348,59967 + unsigned int mapNum;mapNum2349,59991 + unsigned int activeNum;activeNum2350,60021 + XWindowAttributes attrib;attrib2351,60054 + int serverX;serverX2352,60084 + int serverY;serverY2353,60108 + int serverWidth;serverWidth2354,60132 + int serverHeight;serverHeight2355,60160 + int serverBorderWidth;serverBorderWidth2356,60189 + Window transientFor;transientFor2357,60223 + Window clientLeader;clientLeader2358,60254 + XSizeHints sizeHints;sizeHints2359,60285 + Pixmap pixmap;pixmap2360,60317 + CompTexture *texture;texture2361,60342 + CompMatrix matrix;matrix2362,60374 + Damage damage;damage2363,60404 + Bool inputHint;inputHint2364,60429 + Bool alpha;alpha2365,60455 + GLint width;width2366,60477 + GLint height;height2367,60500 + Region region;region2368,60524 + Region clip;clip2369,60549 + unsigned int wmType;wmType2370,60572 + unsigned int type;type2371,60602 + unsigned int state;state2372,60630 + unsigned int actions;actions2373,60659 + unsigned int protocols;protocols2374,60690 + unsigned int mwmDecor;mwmDecor2375,60723 + unsigned int mwmFunc;mwmFunc2376,60755 + Bool invisible;invisible2377,60786 + Bool destroyed;destroyed2378,60812 + Bool damaged;damaged2379,60838 + Bool redirected;redirected2380,60862 + Bool managed;managed2381,60889 + Bool bindFailed;bindFailed2382,60913 + Bool added;added2383,60940 + int destroyRefCnt;destroyRefCnt2384,60962 + int unmapRefCnt;unmapRefCnt2385,60992 + unsigned int initialViewportX;initialViewportX2387,61021 + unsigned int initialViewportY;initialViewportY2388,61056 + Time initialTimestamp;initialTimestamp2390,61092 + Bool initialTimestampSet;initialTimestampSet2391,61119 + Bool placed;placed2393,61150 + Bool minimized;minimized2394,61167 + Bool inShowDesktopMode;inShowDesktopMode2395,61187 + Bool shaded;shaded2396,61215 + Bool hidden;hidden2397,61232 + Bool grabbed;grabbed2398,61249 + unsigned int desktop;desktop2400,61268 + int pendingUnmaps;pendingUnmaps2402,61295 + int pendingMaps;pendingMaps2403,61318 + char *startupId;startupId2405,61340 + char *resName;resName2406,61361 + char *resClass;resClass2407,61380 + CompGroup *group;group2409,61401 + unsigned int lastPong;lastPong2411,61424 + Bool alive;alive2412,61451 + GLushort opacity;opacity2414,61469 + GLushort brightness;brightness2415,61491 + GLushort saturation;saturation2416,61516 + Bool opacityPropSet;opacityPropSet2418,61542 + int opacityFactor;opacityFactor2419,61567 + WindowPaintAttrib paint;paint2421,61592 + WindowPaintAttrib lastPaint;lastPaint2422,61621 + unsigned int lastMask;lastMask2424,61655 + CompWindowExtents input;input2426,61683 + CompWindowExtents output;output2427,61712 + CompStruts *struts;struts2429,61743 + CompIcon **icon;icon2431,61768 + int nIcon;nIcon2432,61789 + XWindowChanges saveWc;saveWc2434,61810 + int saveMask;saveMask2435,61837 + XSyncCounter syncCounter;syncCounter2437,61860 + XSyncValue syncValue;syncValue2438,61891 + XSyncAlarm syncAlarm;syncAlarm2439,61919 + unsigned long syncAlarmConnection;syncAlarmConnection2440,61947 + unsigned int syncWaitHandle;syncWaitHandle2441,61986 + Bool syncWait;syncWait2443,62021 + int syncX;syncX2444,62040 + int syncY;syncY2445,62056 + int syncWidth;syncWidth2446,62072 + int syncHeight;syncHeight2447,62092 + int syncBorderWidth;syncBorderWidth2448,62113 + Bool closeRequests;closeRequests2450,62140 + Time lastCloseRequestTime;lastCloseRequestTime2451,62164 + XRectangle *damageRects;damageRects2453,62196 + int sizeDamage;sizeDamage2454,62225 + int nDamage;nDamage2455,62252 + GLfloat *vertices;vertices2457,62277 + int vertexSize;vertexSize2458,62301 + GLushort *indices;indices2459,62326 + int indexSize;indexSize2460,62349 + int vCount;vCount2461,62373 + int texUnits;texUnits2462,62394 + int texCoordSize;texCoordSize2463,62417 + int indexCount;indexCount2464,62444 + DrawWindowGeometryProc drawWindowGeometry;drawWindowGeometry2467,62513 + CompPrivate *privates;privates2469,62561 + Bool mapped;mapped2471,62589 +#define HOME_PLUGINDIR HOME_PLUGINDIR2842,68760 +typedef int (*GetVersionProc) (CompPlugin *plugin,GetVersionProc2844,68801 +typedef Bool (*InitPluginProc) (CompPlugin *plugin);InitPluginProc2847,68879 +typedef void (*FiniPluginProc) (CompPlugin *plugin);FiniPluginProc2848,68932 +typedef CompMetadata *(*GetMetadataProc) (CompPlugin *plugin);GetMetadataProc2850,68986 +typedef struct _CompPluginVTable {_CompPluginVTable2852,69050 + char *name;name2853,69085 + GetVersionProc getVersion;getVersion2855,69102 + GetMetadataProc getMetadata;getMetadata2856,69134 + InitPluginProc init;init2858,69168 + FiniPluginProc fini;fini2859,69193 + InitPluginForDisplayProc initDisplay;initDisplay2861,69219 + FiniPluginForDisplayProc finiDisplay;finiDisplay2862,69261 + InitPluginForScreenProc initScreen;initScreen2864,69304 + FiniPluginForScreenProc finiScreen;finiScreen2865,69344 + InitPluginForWindowProc initWindow;initWindow2867,69385 + FiniPluginForWindowProc finiWindow;finiWindow2868,69425 + GetPluginDisplayOptionsProc getDisplayOptions;getDisplayOptions2870,69466 + SetPluginDisplayOptionProc setDisplayOption;setDisplayOption2871,69517 + GetPluginScreenOptionsProc getScreenOptions;getScreenOptions2872,69567 + SetPluginScreenOptionProc setScreenOption;setScreenOption2873,69617 +} CompPluginVTable;CompPluginVTable2874,69666 +typedef CompPluginVTable *(*PluginGetInfoProc) (void);PluginGetInfoProc2876,69687 +typedef Bool (*LoadPluginProc) (CompPlugin *p,LoadPluginProc2878,69743 +typedef void (*UnloadPluginProc) (CompPlugin *p);UnloadPluginProc2882,69830 +typedef char **(*ListPluginsProc) (char *path,ListPluginsProc2884,69881 +struct _CompPlugin {_CompPlugin2891,70075 + CompPlugin *next;next2892,70096 + CompPrivate devPrivate;devPrivate2893,70124 + char *devType;devType2894,70157 + CompPluginVTable *vTable;vTable2895,70181 +#define MAX_FRAGMENT_FUNCTIONS MAX_FRAGMENT_FUNCTIONS2962,71056 +struct _FragmentAttrib {_FragmentAttrib2964,71091 + GLushort opacity;opacity2965,71116 + GLushort brightness;brightness2966,71138 + GLushort saturation;saturation2967,71163 + int nTexture;nTexture2968,71188 + int function[MAX_FRAGMENT_FUNCTIONS];function2969,71211 + int nFunction;nFunction2970,71258 + int nParam;nParam2971,71282 +#define COMP_FETCH_TARGET_2D COMP_FETCH_TARGET_2D2992,71656 +#define COMP_FETCH_TARGET_RECT COMP_FETCH_TARGET_RECT2993,71689 +#define COMP_FETCH_TARGET_NUM COMP_FETCH_TARGET_NUM2994,71722 +#define STRINGIFY(STRINGIFY3159,74463 +#define TOSTRING(TOSTRING3160,74487 +#define MINTOSTRING(MINTOSTRING3161,74521 +#define MAXTOSTRING(MAXTOSTRING3162,74574 +#define RESTOSTRING(RESTOSTRING3163,74627 +typedef struct _CompMetadataOptionInfo {_CompMetadataOptionInfo3165,74694 + char *name;name3166,74735 + char *type;type3167,74755 + char *data;data3168,74775 + CompActionCallBackProc initiate;initiate3169,74795 + CompActionCallBackProc terminate;terminate3170,74832 +} CompMetadataOptionInfo;CompMetadataOptionInfo3171,74870 +struct _CompMetadata {_CompMetadata3178,75064 + char *path;path3179,75087 + xmlDoc **doc;doc3180,75105 + int nDoc;nDoc3181,75123 + +include/cube.h,6440 +#define CUBE_ABIVERSION CUBE_ABIVERSION28,1225 +#define CUBE_MOMODE_AUTO CUBE_MOMODE_AUTO30,1259 +#define CUBE_MOMODE_MULTI CUBE_MOMODE_MULTI31,1287 +#define CUBE_MOMODE_ONE CUBE_MOMODE_ONE32,1315 +#define CUBE_MOMODE_LAST CUBE_MOMODE_LAST33,1343 +#define CUBE_DISPLAY_OPTION_ABI CUBE_DISPLAY_OPTION_ABI35,1386 +#define CUBE_DISPLAY_OPTION_INDEX CUBE_DISPLAY_OPTION_INDEX36,1423 +#define CUBE_DISPLAY_OPTION_UNFOLD CUBE_DISPLAY_OPTION_UNFOLD37,1460 +#define CUBE_DISPLAY_OPTION_NEXT CUBE_DISPLAY_OPTION_NEXT38,1497 +#define CUBE_DISPLAY_OPTION_PREV CUBE_DISPLAY_OPTION_PREV39,1534 +#define CUBE_DISPLAY_OPTION_NUM CUBE_DISPLAY_OPTION_NUM40,1571 +typedef struct _CubeDisplay {_CubeDisplay42,1609 + int screenPrivateIndex;screenPrivateIndex43,1639 + CompOption opt[CUBE_DISPLAY_OPTION_NUM];opt45,1668 +} CubeDisplay;CubeDisplay46,1713 +#define CUBE_SCREEN_OPTION_COLOR CUBE_SCREEN_OPTION_COLOR48,1729 +#define CUBE_SCREEN_OPTION_IN CUBE_SCREEN_OPTION_IN49,1775 +#define CUBE_SCREEN_OPTION_SCALE_IMAGE CUBE_SCREEN_OPTION_SCALE_IMAGE50,1819 +#define CUBE_SCREEN_OPTION_IMAGES CUBE_SCREEN_OPTION_IMAGES51,1871 +#define CUBE_SCREEN_OPTION_SKYDOME CUBE_SCREEN_OPTION_SKYDOME52,1918 +#define CUBE_SCREEN_OPTION_SKYDOME_IMG CUBE_SCREEN_OPTION_SKYDOME_IMG53,1966 +#define CUBE_SCREEN_OPTION_SKYDOME_ANIM CUBE_SCREEN_OPTION_SKYDOME_ANIM54,2018 +#define CUBE_SCREEN_OPTION_SKYDOME_GRAD_START CUBE_SCREEN_OPTION_SKYDOME_GRAD_START55,2071 +#define CUBE_SCREEN_OPTION_SKYDOME_GRAD_END CUBE_SCREEN_OPTION_SKYDOME_GRAD_END56,2124 +#define CUBE_SCREEN_OPTION_ACCELERATION CUBE_SCREEN_OPTION_ACCELERATION57,2177 +#define CUBE_SCREEN_OPTION_SPEED CUBE_SCREEN_OPTION_SPEED58,2230 +#define CUBE_SCREEN_OPTION_TIMESTEP CUBE_SCREEN_OPTION_TIMESTEP59,2277 +#define CUBE_SCREEN_OPTION_MIPMAP CUBE_SCREEN_OPTION_MIPMAP60,2327 +#define CUBE_SCREEN_OPTION_BACKGROUNDS CUBE_SCREEN_OPTION_BACKGROUNDS61,2375 +#define CUBE_SCREEN_OPTION_ADJUST_IMAGE CUBE_SCREEN_OPTION_ADJUST_IMAGE62,2428 +#define CUBE_SCREEN_OPTION_ACTIVE_OPACITY CUBE_SCREEN_OPTION_ACTIVE_OPACITY63,2482 +#define CUBE_SCREEN_OPTION_INACTIVE_OPACITY CUBE_SCREEN_OPTION_INACTIVE_OPACITY64,2536 +#define CUBE_SCREEN_OPTION_FADE_TIME CUBE_SCREEN_OPTION_FADE_TIME65,2590 +#define CUBE_SCREEN_OPTION_TRANSPARENT_MANUAL_ONLY CUBE_SCREEN_OPTION_TRANSPARENT_MANUAL_ONLY66,2644 +#define CUBE_SCREEN_OPTION_MULTIOUTPUT_MODE CUBE_SCREEN_OPTION_MULTIOUTPUT_MODE67,2698 +#define CUBE_SCREEN_OPTION_NUM CUBE_SCREEN_OPTION_NUM68,2752 +typedef void (*CubeGetRotationProc) (CompScreen *s,CubeGetRotationProc70,2807 +typedef void (*CubeClearTargetOutputProc) (CompScreen *s,CubeClearTargetOutputProc74,2909 +typedef void (*CubePaintTopProc) (CompScreen *s,CubePaintTopProc78,3025 +typedef void (*CubePaintBottomProc) (CompScreen *s,CubePaintBottomProc84,3205 +typedef void (*CubePaintInsideProc) (CompScreen *s,CubePaintInsideProc90,3398 +typedef Bool (*CubeCheckOrientationProc) (CompScreen *s,CubeCheckOrientationProc96,3591 +typedef enum _PaintOrder_PaintOrder102,3832 + BTF = 0,BTF104,3859 + FTBFTB105,3872 +} PaintOrder;PaintOrder106,3880 +typedef enum _RotationState_RotationState108,3895 + RotationNone = 0,RotationNone110,3925 + RotationChange,RotationChange111,3947 + RotationManualRotationManual112,3967 +} RotationState;RotationState113,3986 +typedef struct _CubeScreen {_CubeScreen115,4004 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen116,4033 + DonePaintScreenProc donePaintScreen;donePaintScreen117,4084 + PaintOutputProc paintOutput;paintOutput118,4132 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput119,4172 + PaintBackgroundProc paintBackground;paintBackground120,4227 + PaintWindowProc paintWindow;paintWindow121,4275 + ApplyScreenTransformProc applyScreenTransform;applyScreenTransform122,4319 + SetScreenOptionProc setScreenOption;setScreenOption123,4372 + OutputChangeNotifyProc outputChangeNotify;outputChangeNotify124,4420 + InitWindowWalkerProc initWindowWalker;initWindowWalker125,4471 + CubeGetRotationProc getRotation;getRotation127,4521 + CubeClearTargetOutputProc clearTargetOutput;clearTargetOutput128,4564 + CubePaintTopProc paintTop;paintTop129,4613 + CubePaintBottomProc paintBottom;paintBottom130,4653 + CubePaintInsideProc paintInside;paintInside131,4696 + CubeCheckOrientationProc checkOrientation;checkOrientation132,4739 + CompOption opt[CUBE_SCREEN_OPTION_NUM];opt134,4788 + int invert;invert136,4833 + int xRotations;xRotations137,4855 + PaintOrder paintOrder;paintOrder138,4881 + RotationState rotationState;rotationState140,4909 + GLfloat distance;distance142,4943 + GLushort color[3];color143,4966 + GLfloat tc[12];tc144,4989 + int grabIndex;grabIndex146,5011 + int srcOutput;srcOutput148,5031 + Bool unfolded;unfolded150,5051 + GLfloat unfold, unfoldVelocity;unfold151,5073 + GLfloat unfold, unfoldVelocity;unfoldVelocity151,5073 + GLfloat *vertices;vertices153,5110 + int nVertices;nVertices154,5134 + GLuint skyListId;skyListId156,5159 + int pw, ph;pw158,5182 + int pw, ph;ph158,5182 + unsigned int skyW, skyH;skyW159,5200 + unsigned int skyW, skyH;skyH159,5200 + CompTexture texture, sky;texture160,5229 + CompTexture texture, sky;sky160,5229 + int imgCurFile;imgCurFile162,5261 + int nOutput;nOutput164,5282 + int output[64];output165,5299 + int outputMask[64];outputMask166,5319 + Bool cleared[64];cleared168,5344 + Bool capsPainted[64];capsPainted170,5367 + Bool fullscreenOutput;fullscreenOutput172,5394 + float outputXScale;outputXScale174,5422 + float outputYScale;outputYScale175,5446 + float outputXOffset;outputXOffset176,5470 + float outputYOffset;outputYOffset177,5495 + float desktopOpacity;desktopOpacity179,5521 + float toOpacity;toOpacity180,5547 + CompTexture *bg;bg182,5569 + int nBg;nBg183,5590 + int moMode;moMode185,5605 + Bool recalcOutput;recalcOutput186,5622 +} CubeScreen;CubeScreen187,5645 +#define GET_CUBE_DISPLAY(GET_CUBE_DISPLAY189,5660 +#define CUBE_DISPLAY(CUBE_DISPLAY192,5761 +#define GET_CUBE_SCREEN(GET_CUBE_SCREEN195,5836 +#define CUBE_SCREEN(CUBE_SCREEN198,5940 + +include/decoration.h,4708 +#define _DECORATION_H_DECORATION_H27,1227 +#define DECOR_SUPPORTING_DM_CHECK_ATOM_NAME DECOR_SUPPORTING_DM_CHECK_ATOM_NAME39,1391 +#define DECOR_BARE_ATOM_NAME DECOR_BARE_ATOM_NAME40,1465 +#define DECOR_NORMAL_ATOM_NAME DECOR_NORMAL_ATOM_NAME41,1537 +#define DECOR_ACTIVE_ATOM_NAME DECOR_ACTIVE_ATOM_NAME42,1611 +#define DECOR_WINDOW_ATOM_NAME DECOR_WINDOW_ATOM_NAME43,1685 +#define DECOR_BLUR_ATOM_NAME DECOR_BLUR_ATOM_NAME44,1752 +#define DECOR_SWITCH_WINDOW_ATOM_NAME DECOR_SWITCH_WINDOW_ATOM_NAME45,1827 +#define GRAVITY_WEST GRAVITY_WEST47,1903 +#define GRAVITY_EAST GRAVITY_EAST48,1934 +#define GRAVITY_NORTH GRAVITY_NORTH49,1965 +#define GRAVITY_SOUTH GRAVITY_SOUTH50,1996 +#define ALIGN_LEFT ALIGN_LEFT52,2028 +#define ALIGN_RIGHT ALIGN_RIGHT53,2053 +#define ALIGN_TOP ALIGN_TOP54,2083 +#define ALIGN_BOTTOM ALIGN_BOTTOM55,2108 +#define CLAMP_HORZ CLAMP_HORZ57,2139 +#define CLAMP_VERT CLAMP_VERT58,2167 +#define STRETCH_X STRETCH_X60,2196 +#define STRETCH_Y STRETCH_Y61,2223 +#define XX_MASK XX_MASK63,2251 +#define XY_MASK XY_MASK64,2277 +#define YX_MASK YX_MASK65,2303 +#define YY_MASK YY_MASK66,2329 +#define PAD_TOP PAD_TOP68,2356 +#define PAD_BOTTOM PAD_BOTTOM69,2384 +#define PAD_LEFT PAD_LEFT70,2412 +#define PAD_RIGHT PAD_RIGHT71,2440 +typedef struct _decor_point {_decor_point73,2469 + int x;x74,2499 + int y;y75,2510 + int gravity;gravity76,2521 +} decor_point_t;decor_point_t77,2538 +typedef struct _decor_matrix {_decor_matrix79,2556 + double xx; double yx;xx80,2587 + double xx; double yx;yx80,2587 + double xy; double yy;xy81,2613 + double xy; double yy;yy81,2613 + double x0; double y0;x082,2639 + double x0; double y0;y082,2639 +} decor_matrix_t;decor_matrix_t83,2665 +typedef struct _decor_quad {_decor_quad85,2684 + decor_point_t p1;p186,2713 + decor_point_t p2;p287,2736 + int max_width;max_width88,2759 + int max_height;max_height89,2782 + int align;align90,2806 + int clamp;clamp91,2825 + int stretch;stretch92,2844 + decor_matrix_t m;m93,2872 +} decor_quad_t;decor_quad_t94,2894 +typedef struct _decor_extents {_decor_extents96,2911 + int left;left97,2943 + int right;right98,2957 + int top;top99,2972 + int bottom;bottom100,2985 +} decor_extents_t;decor_extents_t101,3001 +typedef struct _decor_context {_decor_context103,3021 + decor_extents_t extents;extents104,3053 + int left_space;left_space106,3083 + int right_space;right_space107,3103 + int top_space;top_space108,3124 + int bottom_space;bottom_space109,3143 + int left_corner_space;left_corner_space111,3166 + int right_corner_space;right_corner_space112,3193 + int top_corner_space;top_corner_space113,3221 + int bottom_corner_space;bottom_corner_space114,3247 +} decor_context_t;decor_context_t115,3276 +typedef struct _decor_box {_decor_box117,3296 + int x1;x1118,3324 + int y1;y1119,3336 + int x2;x2120,3348 + int y2;y2121,3360 + int pad;pad123,3373 +} decor_box_t;decor_box_t124,3386 +typedef struct _decor_layout {_decor_layout126,3402 + int width;width127,3433 + int height;height128,3448 + decor_box_t left;left130,3465 + decor_box_t right;right131,3487 + decor_box_t top;top132,3510 + decor_box_t bottom;bottom133,3531 + int rotation;rotation135,3556 +} decor_layout_t;decor_layout_t136,3574 +typedef struct _decor_shadow_options {_decor_shadow_options138,3593 + double shadow_radius;shadow_radius139,3632 + double shadow_opacity;shadow_opacity140,3661 + unsigned short shadow_color[3];shadow_color141,3691 + int shadow_offset_x;shadow_offset_x142,3727 + int shadow_offset_y;shadow_offset_y143,3756 +} decor_shadow_options_t;decor_shadow_options_t144,3785 +typedef struct _decor_shadow {_decor_shadow146,3812 + int ref_count;ref_count147,3843 + Pixmap pixmap;pixmap148,3866 + Picture picture;picture149,3886 + int width;width150,3907 + int height;height151,3926 +} decor_shadow_t;decor_shadow_t152,3946 +typedef void (*decor_draw_func_t) (Display *xdisplay,decor_draw_func_t154,3965 +#define BASE_PROP_SIZE BASE_PROP_SIZE162,4180 +#define QUAD_PROP_SIZE QUAD_PROP_SIZE163,4206 +#define N_QUADS_MAX N_QUADS_MAX164,4231 +#define DECOR_ACQUIRE_STATUS_SUCCESS DECOR_ACQUIRE_STATUS_SUCCESS395,9647 +#define DECOR_ACQUIRE_STATUS_FAILED DECOR_ACQUIRE_STATUS_FAILED396,9692 +#define DECOR_ACQUIRE_STATUS_OTHER_DM_RUNNING DECOR_ACQUIRE_STATUS_OTHER_DM_RUNNING397,9736 +#define DECOR_SELECTION_KEEP DECOR_SELECTION_KEEP410,10013 +#define DECOR_SELECTION_GIVE_UP DECOR_SELECTION_GIVE_UP411,10047 + +include/text.h,938 +#define _ECOMP_TEXT_H_ECOMP_TEXT_H22,840 +#define TEXT_ID TEXT_ID24,863 +#define TEXT_STYLE_NORMAL TEXT_STYLE_NORMAL26,895 +#define TEXT_STYLE_BOLD TEXT_STYLE_BOLD27,931 +#define TEXT_STYLE_ITALIC TEXT_STYLE_ITALIC28,966 + TextRenderNormal = 0,TextRenderNormal31,1018 + TextRenderWindowTitleTextRenderWindowTitle32,1041 +} TextRenderMode;TextRenderMode33,1064 +typedef struct _CompTextAttrib {_CompTextAttrib35,1083 + TextRenderMode renderMode;renderMode36,1116 + void *data;data37,1144 + int maxwidth;maxwidth38,1157 + int maxheight;maxheight39,1172 + CompScreen *screen;screen40,1188 + char *family;family41,1209 + int size;size42,1224 + unsigned short color[4];color43,1235 + unsigned int style;style44,1261 + Bool ellipsize;ellipsize45,1282 +} CompTextAttrib;CompTextAttrib46,1299 +typedef Pixmap (*TextToPixmapProc) (CompDisplay *d, CompTextAttrib* text_attrib, int *width, int *height);TextToPixmapProc48,1318 + +include/scale.h,6343 +#define SCALE_ABIVERSION SCALE_ABIVERSION28,1225 +#define SCALE_STATE_NONE SCALE_STATE_NONE30,1260 +#define SCALE_STATE_OUT SCALE_STATE_OUT31,1287 +#define SCALE_STATE_WAIT SCALE_STATE_WAIT32,1314 +#define SCALE_STATE_IN SCALE_STATE_IN33,1341 +#define SCALE_ICON_NONE SCALE_ICON_NONE35,1369 +#define SCALE_ICON_EMBLEM SCALE_ICON_EMBLEM36,1397 +#define SCALE_ICON_BIG SCALE_ICON_BIG37,1425 +#define SCALE_ICON_LAST SCALE_ICON_LAST38,1453 +#define SCALE_MOMODE_CURRENT SCALE_MOMODE_CURRENT40,1495 +#define SCALE_MOMODE_ALL SCALE_MOMODE_ALL41,1526 +#define SCALE_MOMODE_LAST SCALE_MOMODE_LAST42,1557 +typedef struct _ScaleSlot {_ScaleSlot44,1604 + int x1, y1, x2, y2;x145,1632 + int x1, y1, x2, y2;y145,1632 + int x1, y1, x2, y2;x245,1632 + int x1, y1, x2, y2;y245,1632 + int filled;filled46,1658 + float scale;scale47,1676 +} ScaleSlot;ScaleSlot48,1693 +typedef struct _SlotArea {_SlotArea50,1707 + int nWindows;nWindows51,1734 + XRectangle workArea;workArea52,1759 +} SlotArea;SlotArea53,1784 +#define SCALE_DISPLAY_OPTION_ABI SCALE_DISPLAY_OPTION_ABI55,1797 +#define SCALE_DISPLAY_OPTION_INDEX SCALE_DISPLAY_OPTION_INDEX56,1837 +#define SCALE_DISPLAY_OPTION_INITIATE SCALE_DISPLAY_OPTION_INITIATE57,1879 +#define SCALE_DISPLAY_OPTION_INITIATE_ALL SCALE_DISPLAY_OPTION_INITIATE_ALL58,1926 +#define SCALE_DISPLAY_OPTION_INITIATE_GROUP SCALE_DISPLAY_OPTION_INITIATE_GROUP59,1973 +#define SCALE_DISPLAY_OPTION_INITIATE_OUTPUT SCALE_DISPLAY_OPTION_INITIATE_OUTPUT60,2020 +#define SCALE_DISPLAY_OPTION_SHOW_DESKTOP SCALE_DISPLAY_OPTION_SHOW_DESKTOP61,2067 +#define SCALE_DISPLAY_OPTION_RELAYOUT SCALE_DISPLAY_OPTION_RELAYOUT62,2114 +#define SCALE_DISPLAY_OPTION_NUM SCALE_DISPLAY_OPTION_NUM63,2161 +typedef struct _ScaleDisplay {_ScaleDisplay65,2209 + int screenPrivateIndex;screenPrivateIndex66,2240 + HandleEventProc handleEvent;handleEvent67,2273 + CompOption opt[SCALE_DISPLAY_OPTION_NUM];opt69,2307 + unsigned int lastActiveNum;lastActiveNum71,2354 + Window lastActiveWindow;lastActiveWindow72,2386 + Window selectedWindow;selectedWindow73,2421 + Window hoveredWindow;hoveredWindow74,2454 + KeyCode leftKeyCode, rightKeyCode, upKeyCode, downKeyCode;leftKeyCode75,2486 + KeyCode leftKeyCode, rightKeyCode, upKeyCode, downKeyCode;rightKeyCode75,2486 + KeyCode leftKeyCode, rightKeyCode, upKeyCode, downKeyCode;upKeyCode75,2486 + KeyCode leftKeyCode, rightKeyCode, upKeyCode, downKeyCode;downKeyCode75,2486 +} ScaleDisplay;ScaleDisplay76,2550 +#define SCALE_SCREEN_OPTION_SPACING SCALE_SCREEN_OPTION_SPACING78,2567 +#define SCALE_SCREEN_OPTION_SPEED SCALE_SCREEN_OPTION_SPEED79,2614 +#define SCALE_SCREEN_OPTION_TIMESTEP SCALE_SCREEN_OPTION_TIMESTEP80,2655 +#define SCALE_SCREEN_OPTION_WINDOW_MATCH SCALE_SCREEN_OPTION_WINDOW_MATCH81,2699 +#define SCALE_SCREEN_OPTION_DARKEN_BACK SCALE_SCREEN_OPTION_DARKEN_BACK82,2746 +#define SCALE_SCREEN_OPTION_OPACITY SCALE_SCREEN_OPTION_OPACITY83,2793 +#define SCALE_SCREEN_OPTION_ICON SCALE_SCREEN_OPTION_ICON84,2840 +#define SCALE_SCREEN_OPTION_HOVER_TIME SCALE_SCREEN_OPTION_HOVER_TIME85,2887 +#define SCALE_SCREEN_OPTION_MULTIOUTPUT_MODE SCALE_SCREEN_OPTION_MULTIOUTPUT_MODE86,2934 +#define SCALE_SCREEN_OPTION_NUM SCALE_SCREEN_OPTION_NUM87,2981 + ScaleTypeNormal = 0,ScaleTypeNormal90,3044 + ScaleTypeOutput,ScaleTypeOutput91,3069 + ScaleTypeGroup,ScaleTypeGroup92,3090 + ScaleTypeAllScaleTypeAll93,3110 +} ScaleType;ScaleType94,3127 +typedef Bool (*ScaleLayoutSlotsAndAssignWindowsProc) (CompScreen *s);ScaleLayoutSlotsAndAssignWindowsProc96,3141 +typedef Bool (*ScaleSetScaledPaintAttributesProc) (CompWindow *w,ScaleSetScaledPaintAttributesProc98,3212 +typedef void (*ScalePaintDecorationProc) (CompWindow *w,ScalePaintDecorationProc101,3323 +typedef struct _ScaleScreen {_ScaleScreen107,3522 + int windowPrivateIndex;windowPrivateIndex108,3552 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen110,3581 + DonePaintScreenProc donePaintScreen;donePaintScreen111,3628 + PaintOutputProc paintOutput;paintOutput112,3672 + PaintWindowProc paintWindow;paintWindow113,3712 + DamageWindowRectProc damageWindowRect;damageWindowRect114,3752 + ScaleLayoutSlotsAndAssignWindowsProc layoutSlotsAndAssignWindows;layoutSlotsAndAssignWindows116,3798 + ScaleSetScaledPaintAttributesProc setScaledPaintAttributes;setScaledPaintAttributes117,3868 + ScalePaintDecorationProc scalePaintDecoration;scalePaintDecoration118,3935 + CompOption opt[SCALE_SCREEN_OPTION_NUM];opt120,3989 + Bool grab;grab122,4035 + int grabIndex;grabIndex123,4050 + Window dndTarget;dndTarget125,4071 + CompTimeoutHandle hoverHandle;hoverHandle127,4094 + int state;state129,4130 + int moreAdjust;moreAdjust130,4145 + Cursor cursor;cursor132,4166 + ScaleSlot *slots;slots134,4186 + int slotsSize;slotsSize135,4208 + int nSlots;nSlots136,4234 + CompWindow **windows;windows139,4290 + int windowsSize;windowsSize140,4316 + int nWindows;nWindows141,4344 + GLushort opacity;opacity143,4370 + ScaleType type;type145,4393 + Window clientLeader;clientLeader147,4414 + CompMatch match;match149,4440 + CompMatch *currentMatch;currentMatch150,4461 +} ScaleScreen;ScaleScreen151,4490 +typedef struct _ScaleWindow {_ScaleWindow153,4506 + ScaleSlot *slot;slot154,4536 + int sid;sid156,4558 + int distance;distance157,4571 + GLfloat xVelocity, yVelocity, scaleVelocity;xVelocity159,4590 + GLfloat xVelocity, yVelocity, scaleVelocity;yVelocity159,4590 + GLfloat xVelocity, yVelocity, scaleVelocity;scaleVelocity159,4590 + GLfloat scale;scale160,4639 + GLfloat tx, ty;tx161,4658 + GLfloat tx, ty;ty161,4658 + float delta;delta162,4678 + Bool adjust;adjust163,4697 + float lastThumbOpacity;lastThumbOpacity165,4718 +} ScaleWindow;ScaleWindow166,4746 +#define GET_SCALE_DISPLAY(GET_SCALE_DISPLAY168,4762 +#define SCALE_DISPLAY(SCALE_DISPLAY171,4870 +#define GET_SCALE_SCREEN(GET_SCALE_SCREEN174,4949 +#define SCALE_SCREEN(SCALE_SCREEN177,5056 +#define GET_SCALE_WINDOW(GET_SCALE_WINDOW180,5167 +#define SCALE_WINDOW(SCALE_WINDOW183,5274 + +install-sh,0 + +jpeg/imgjpeg.c,1366 +#define _GNU_SOURCE_GNU_SOURCE22,887 +static int displayPrivateIndex;displayPrivateIndex35,1100 +struct jpegErrorMgrjpegErrorMgr37,1133 + struct jpeg_error_mgr pub; /* "public" fields */pub39,1155 + jmp_buf setjmp_buffer; /* for return to caller */setjmp_buffer40,1209 +typedef struct _JPEGDisplay_JPEGDisplay43,1267 + FileToImageProc fileToImage;fileToImage45,1297 + ImageToFileProc imageToFile;imageToFile46,1330 +} JPEGDisplay;JPEGDisplay47,1363 +#define GET_JPEG_DISPLAY(GET_JPEG_DISPLAY49,1379 +#define JPEG_DISPLAY(JPEG_DISPLAY52,1478 +rgbToBGRA (const JSAMPLE *source,rgbToBGRA56,1563 +rgbaToRGB (char *source,rgbaToRGB92,2452 +jpegErrorExit (j_common_ptr cinfo)jpegErrorExit127,3293 +readJPEGFileToImage (FILE *file,readJPEGFileToImage142,3654 +writeJPEG (CompDisplay *d,writeJPEG217,5456 +createFilename (const char *path,createFilename267,6815 +JPEGImageToFile (CompDisplay *d,JPEGImageToFile283,7110 +JPEGFileToImage (CompDisplay *d,JPEGFileToImage324,7968 +JPEGInitDisplay (CompPlugin *p,JPEGInitDisplay376,9086 +JPEGFiniDisplay (CompPlugin *p,JPEGFiniDisplay394,9408 +JPEGInit (CompPlugin *p)JPEGInit407,9583 +JPEGFini (CompPlugin *p)JPEGFini417,9749 +JPEGGetVersion (CompPlugin *p,JPEGGetVersion423,9841 +CompPluginVTable JPEGVTable = {JPEGVTable429,9922 +getCompPluginInfo (void)getCompPluginInfo448,10143 + +libdecoration/decoration.c,3805 +decor_version (void)decor_version36,1016 +decor_quads_to_property (long *data,decor_quads_to_property79,1925 +decor_property_get_version (long *data)decor_property_get_version132,3073 +decor_property_to_quads (long *data,decor_property_to_quads138,3146 +add_blur_boxes (long *data,add_blur_boxes208,4611 +decor_region_to_blur_property (long *data,decor_region_to_blur_property292,5755 +decor_apply_gravity (int gravity,decor_apply_gravity343,6849 +decor_set_vert_quad_row (decor_quad_t *q,decor_set_vert_quad_row387,7512 +decor_set_horz_quad_line (decor_quad_t *q,decor_set_horz_quad_line505,9704 +decor_set_lSrS_window_quads (decor_quad_t *q,decor_set_lSrS_window_quads585,11508 +decor_set_lSrStSbS_window_quads (decor_quad_t *q,decor_set_lSrStSbS_window_quads644,12493 +decor_set_lSrStXbS_window_quads (decor_quad_t *q,decor_set_lSrStXbS_window_quads694,13444 +decor_set_lSrStSbX_window_quads (decor_quad_t *q,decor_set_lSrStSbX_window_quads750,14571 +decor_set_lXrXtXbX_window_quads (decor_quad_t *q,decor_set_lXrXtXbX_window_quads806,15734 +static int errors;errors921,17994 +error_handler (Display *xdisplay,error_handler924,18025 +XRenderSetPictureFilter_wrapper (Display *dpy,XRenderSetPictureFilter_wrapper935,18245 +#define XRenderSetPictureFilter XRenderSetPictureFilter966,18880 +set_picture_transform (Display *xdisplay,set_picture_transform970,18964 +set_picture_clip (Display *xdisplay,set_picture_clip987,19300 +set_no_picture_clip (Display *xdisplay,set_no_picture_clip1022,20058 +create_gaussian_kernel (double radius,create_gaussian_kernel1036,20325 +#define SIGMA(SIGMA1102,21368 +#define ALPHA(ALPHA1103,21397 +decor_shadow_create (Display *xdisplay,decor_shadow_create1106,21436 +decor_shadow_destroy (Display *xdisplay,decor_shadow_destroy1391,28577 +decor_shadow_reference (decor_shadow_t *shadow)decor_shadow_reference1408,28887 +decor_draw_simple (Display *xdisplay,decor_draw_simple1414,28970 +decor_get_default_layout (decor_context_t *c,decor_get_default_layout1440,29716 +decor_get_best_layout (decor_context_t *c,decor_get_best_layout1481,30874 +static XTransform xident = {xident1653,34724 +decor_fill_picture_extents_with_shadow (Display *xdisplay,decor_fill_picture_extents_with_shadow1662,34870 +_decor_pad_border_picture (Display *xdisplay,_decor_pad_border_picture1961,42650 +XRenderCreateLinearGradient_wrapper (Display *xdisplay,XRenderCreateLinearGradient_wrapper2019,43729 +XRenderCreateRadialGradient_wrapper (Display *xdisplay,XRenderCreateRadialGradient_wrapper2032,44062 +#define XRenderCreateLinearGradient XRenderCreateLinearGradient2044,44380 +#define XRenderCreateRadialGradient XRenderCreateRadialGradient2045,44452 +_decor_blend_horz_border_picture (Display *xdisplay,_decor_blend_horz_border_picture2049,44544 +decor_blend_top_border_picture (Display *xdisplay,decor_blend_top_border_picture2207,48010 +decor_blend_bottom_border_picture (Display *xdisplay,decor_blend_bottom_border_picture2251,49013 +_decor_blend_vert_border_picture (Display *xdisplay,_decor_blend_vert_border_picture2295,50050 +decor_blend_left_border_picture (Display *xdisplay,decor_blend_left_border_picture2451,53069 +decor_blend_right_border_picture (Display *xdisplay,decor_blend_right_border_picture2494,53968 +decor_acquire_dm_session (Display *xdisplay,decor_acquire_dm_session2537,54892 +decor_set_dm_check_hint (Display *xdisplay,decor_set_dm_check_hint2636,57616 +convert_property (Display *xdisplay,convert_property2669,58374 +#define N_TARGETS N_TARGETS2676,58500 +decor_handle_selection_request (Display *xdisplay,decor_handle_selection_request2710,59531 +decor_handle_selection_clear (Display *xdisplay,decor_handle_selection_clear2790,61755 + +ltmain.sh,2233 +func_dirname_and_basename ()func_dirname_and_basename159,5738 +func_echo ()func_echo244,8251 +func_verbose ()func_verbose251,8391 +func_error ()func_error263,8694 +func_warning ()func_warning270,8852 +func_fatal_error ()func_fatal_error280,9072 +func_fatal_help ()func_fatal_help289,9263 +func_grep ()func_grep299,9512 +func_mkdir_p ()func_mkdir_p307,9657 +func_mktempdir ()func_mktempdir354,11317 +func_quote_for_eval ()func_quote_for_eval391,12477 +func_quote_for_expand ()func_quote_for_expand418,13397 +func_show_eval ()func_show_eval446,14222 +func_show_eval_locale ()func_show_eval_locale470,14849 +func_version ()func_version497,15354 +func_usage ()func_usage510,15616 +func_help ()func_help525,15893 +func_missing_arg ()func_missing_arg547,16445 +func_fatal_configuration ()func_fatal_configuration609,17730 +func_config ()func_config619,17984 +func_features ()func_features637,18450 +func_enable_tag ()func_enable_tag658,18966 +func_check_version_match ()func_check_version_match825,23051 +func_lalib_p ()func_lalib_p894,25178 +func_lalib_unsafe_p ()func_lalib_unsafe_p907,25708 +func_ltwrapper_script_p ()func_ltwrapper_script_p927,26168 +func_ltwrapper_executable_p ()func_ltwrapper_executable_p936,26400 +func_ltwrapper_scriptname ()func_ltwrapper_scriptname950,26781 +func_ltwrapper_p ()func_ltwrapper_p964,27284 +func_execute_cmds ()func_execute_cmds974,27565 +func_source ()func_source993,28093 +func_infer_tag ()func_infer_tag1009,28482 +func_write_libtool_object ()func_write_libtool_object1065,30570 +func_mode_compile ()func_mode_compile1100,31275 +func_mode_help ()func_mode_help1450,40644 +func_mode_execute ()func_mode_execute1636,47476 +func_mode_finish ()func_mode_finish1767,50781 +func_mode_install ()func_mode_install1847,53236 +func_generate_dlsyms ()func_generate_dlsyms2288,64985 +func_win32_libid ()func_win32_libid2551,72951 +func_extract_an_archive ()func_extract_an_archive2595,73958 +func_extract_archives ()func_extract_archives2610,74385 +func_emit_wrapper ()func_emit_wrapper2708,77689 +func_emit_cwrapperexe_src ()func_emit_cwrapperexe_src2923,83909 +func_mode_link ()func_mode_link3514,97329 +func_mode_uninstall ()func_mode_uninstall7664,219397 + +mblur/mblur.c,1796 +#define GET_MBLUR_DISPLAY(GET_MBLUR_DISPLAY35,882 +#define MBLUR_DISPLAY(MBLUR_DISPLAY38,1009 +#define GET_MBLUR_SCREEN(GET_MBLUR_SCREEN41,1119 +#define MBLUR_SCREEN(MBLUR_SCREEN44,1250 +static int displayPrivateIndex = 0;displayPrivateIndex47,1390 +typedef struct _MblurDisplay_MblurDisplay49,1427 + int screenPrivateIndex;screenPrivateIndex51,1458 +MblurDisplay;MblurDisplay53,1488 +typedef struct _MblurScreen_MblurScreen55,1503 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen58,1576 + PaintScreenProc paintScreen;paintScreen59,1627 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput60,1671 + Bool active;active62,1727 + Bool update; /* is an update of the motion blut texture needed */update63,1744 + float alpha; /* motion blur blending value */alpha65,1819 + float timer; /* motion blur fadeout time */timer66,1869 + Bool activated;activated67,1917 + GLuint texture;texture69,1938 +MblurScreen;MblurScreen71,1960 +mblurToggle (CompDisplay *d,mblurToggle76,2025 +mblurPreparePaintScreen (CompScreen * s,mblurPreparePaintScreen96,2389 +mblurPaintScreen (CompScreen *s,mblurPaintScreen141,3234 +mblurPaintTransformedOutput (CompScreen *s,mblurPaintTransformedOutput290,6497 +mblurInit (CompPlugin *p)mblurInit313,7121 +mblurFini (CompPlugin *p)mblurFini324,7289 +mblurInitDisplay (CompPlugin *p,mblurInitDisplay331,7414 +mblurFiniDisplay (CompPlugin *p,mblurFiniDisplay357,7985 +mblurInitScreen (CompPlugin *p,mblurInitScreen370,8210 +mblurFiniScreen (CompPlugin *p,mblurFiniScreen395,8807 +mblurGetVersion (CompPlugin *plugin,mblurGetVersion413,9162 +CompPluginVTable mblurVTable = {mblurVTable420,9251 +getCompPluginInfo (void)getCompPluginInfo440,9506 + +missing,0 + +mkinstalldirs,0 + +plugins/zoom.c,4412 +static CompMetadata zoomMetadata;zoomMetadata36,1354 +static int displayPrivateIndex;displayPrivateIndex38,1389 +#define ZOOM_DISPLAY_OPTION_INITIATE ZOOM_DISPLAY_OPTION_INITIATE40,1422 +#define ZOOM_DISPLAY_OPTION_IN ZOOM_DISPLAY_OPTION_IN41,1461 +#define ZOOM_DISPLAY_OPTION_OUT ZOOM_DISPLAY_OPTION_OUT42,1499 +#define ZOOM_DISPLAY_OPTION_PAN ZOOM_DISPLAY_OPTION_PAN43,1538 +#define ZOOM_DISPLAY_OPTION_NUM ZOOM_DISPLAY_OPTION_NUM44,1577 +typedef struct _ZoomDisplay {_ZoomDisplay46,1617 + int screenPrivateIndex;screenPrivateIndex47,1647 + HandleEventProc handleEvent;handleEvent48,1680 + CompOption opt[ZOOM_DISPLAY_OPTION_NUM];opt50,1714 +} ZoomDisplay;ZoomDisplay51,1759 +typedef struct _ZoomBox {_ZoomBox53,1775 + float x1;x154,1801 + float y1;y155,1815 + float x2;x256,1829 + float y2;y257,1843 +} ZoomBox;ZoomBox58,1857 +#define ZOOM_SCREEN_OPTION_SPEED ZOOM_SCREEN_OPTION_SPEED60,1869 +#define ZOOM_SCREEN_OPTION_TIMESTEP ZOOM_SCREEN_OPTION_TIMESTEP61,1905 +#define ZOOM_SCREEN_OPTION_ZOOM_FACTOR ZOOM_SCREEN_OPTION_ZOOM_FACTOR62,1944 +#define ZOOM_SCREEN_OPTION_FILTER_LINEAR ZOOM_SCREEN_OPTION_FILTER_LINEAR63,1987 +#define ZOOM_SCREEN_OPTION_NUM ZOOM_SCREEN_OPTION_NUM64,2030 +typedef struct _ZoomScreen {_ZoomScreen66,2066 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen67,2095 + DonePaintScreenProc donePaintScreen;donePaintScreen68,2143 + PaintOutputProc paintOutput;paintOutput69,2186 + CompOption opt[ZOOM_SCREEN_OPTION_NUM];opt71,2222 + float pointerSensitivity;pointerSensitivity73,2267 + int grabIndex;grabIndex75,2298 + Bool grab;grab76,2318 + int zoomed;zoomed78,2334 + Bool adjust;adjust80,2351 + int panGrabIndex;panGrabIndex82,2369 + Cursor panCursor;panCursor83,2394 + GLfloat velocity;velocity85,2417 + GLfloat scale;scale86,2439 + ZoomBox current[16];current88,2459 + ZoomBox last[16];last89,2484 + int x1, y1, x2, y2;x191,2507 + int x1, y1, x2, y2;y191,2507 + int x1, y1, x2, y2;x291,2507 + int x1, y1, x2, y2;y291,2507 + int zoomOutput;zoomOutput93,2532 +} ZoomScreen;ZoomScreen94,2552 +#define GET_ZOOM_DISPLAY(GET_ZOOM_DISPLAY96,2567 +#define ZOOM_DISPLAY(ZOOM_DISPLAY99,2668 +#define GET_ZOOM_SCREEN(GET_ZOOM_SCREEN102,2750 +#define ZOOM_SCREEN(ZOOM_SCREEN105,2861 +#define NUM_OPTIONS(NUM_OPTIONS108,2972 +zoomGetScreenOptions (CompPlugin *plugin,zoomGetScreenOptions111,3058 +zoomSetScreenOption (CompPlugin *plugin,zoomSetScreenOption122,3244 +adjustZoomVelocity (ZoomScreen *zs)adjustZoomVelocity139,3583 +zoomInEvent (CompScreen *s)zoomInEvent158,3970 +zoomOutEvent (CompScreen *s)zoomOutEvent192,4786 +zoomPreparePaintScreen (CompScreen *s,zoomPreparePaintScreen210,5144 +zoomGetCurrentZoom (CompScreen *s,zoomGetCurrentZoom263,6271 +zoomDonePaintScreen (CompScreen *s)zoomDonePaintScreen294,6992 +zoomPaintOutput (CompScreen *s,zoomPaintOutput307,7231 +zoomInitiateForSelection (CompScreen *s,zoomInitiateForSelection405,9648 +zoomIn (CompDisplay *d,zoomIn502,11948 +zoomInitiate (CompDisplay *d,zoomInitiate563,13366 +zoomOut (CompDisplay *d,zoomOut636,14776 +zoomTerminate (CompDisplay *d,zoomTerminate683,15730 +zoomInitiatePan (CompDisplay *d,zoomInitiatePan735,16761 +zoomTerminatePan (CompDisplay *d,zoomTerminatePan776,17536 +zoomHandleMotionEvent (CompScreen *s,zoomHandleMotionEvent811,18159 +zoomHandleEvent (CompDisplay *d,zoomHandleEvent896,20008 +zoomGetDisplayOptions (CompPlugin *plugin,zoomGetDisplayOptions924,20601 +zoomSetDisplayOption (CompPlugin *plugin,zoomSetDisplayOption935,20797 +static const CompMetadataOptionInfo zoomDisplayOptionInfo[] = {zoomDisplayOptionInfo961,21312 +zoomInitDisplay (CompPlugin *p,zoomInitDisplay969,21609 +zoomFiniDisplay (CompPlugin *p,zoomFiniDisplay1004,22284 +static const CompMetadataOptionInfo zoomScreenOptionInfo[] = {zoomScreenOptionInfo1018,22537 +zoomInitScreen (CompPlugin *p,zoomInitScreen1026,22817 +zoomFiniScreen (CompPlugin *p,zoomFiniScreen1075,23794 +zoomInit (CompPlugin *p)zoomInit1093,24147 +zoomFini (CompPlugin *p)zoomFini1116,24637 +zoomGetVersion (CompPlugin *plugin,zoomGetVersion1123,24767 +zoomGetMetadata (CompPlugin *plugin)zoomGetMetadata1130,24871 +CompPluginVTable zoomVTable = {zoomVTable1135,24939 +getCompPluginInfo (void)getCompPluginInfo1154,25308 + +plugins/inotify.c,1568 +static CompMetadata inotifyMetadata;inotifyMetadata33,1309 +static int displayPrivateIndex;displayPrivateIndex35,1347 +typedef struct _CompInotifyWatch {_CompInotifyWatch37,1380 + struct _CompInotifyWatch *next;next38,1415 + CompFileWatchHandle handle;handle39,1451 + int wd;wd40,1488 +} CompInotifyWatch;CompInotifyWatch41,1507 +typedef struct _InotifyDisplay {_InotifyDisplay43,1528 + int fd;fd44,1561 + CompInotifyWatch *watch;watch45,1580 + CompWatchFdHandle watchFdHandle;watchFdHandle46,1610 + FileWatchAddedProc fileWatchAdded;fileWatchAdded48,1648 + FileWatchRemovedProc fileWatchRemoved;fileWatchRemoved49,1689 +} InotifyDisplay;InotifyDisplay50,1732 +#define GET_INOTIFY_DISPLAY(GET_INOTIFY_DISPLAY52,1751 +#define INOTIFY_DISPLAY(INOTIFY_DISPLAY55,1860 +inotifyProcessEvents (void *data)inotifyProcessEvents60,1962 +inotifyMask (CompFileWatch *fileWatch)inotifyMask111,2840 +inotifyFileWatchAdded (CompDisplay *d,inotifyFileWatchAdded131,3196 +inotifyFileWatchRemoved (CompDisplay *d,inotifyFileWatchRemoved158,3681 +inotifyInitDisplay (CompPlugin *p,inotifyInitDisplay188,4127 +inotifyFiniDisplay (CompPlugin *p,inotifyFiniDisplay225,4854 +inotifyInit (CompPlugin *p)inotifyInit241,5110 +inotifyFini (CompPlugin *p)inotifyFini260,5506 +inotifyGetVersion (CompPlugin *plugin,inotifyGetVersion267,5642 +inotifyGetMetadata (CompPlugin *plugin)inotifyGetMetadata274,5755 +CompPluginVTable inotifyVTable = {inotifyVTable279,5829 +getCompPluginInfo (void)getCompPluginInfo298,6247 + +plugins/annotate.c,3530 +static CompMetadata annoMetadata;annoMetadata33,1316 +static int displayPrivateIndex;displayPrivateIndex35,1351 +static int annoLastPointerX = 0;annoLastPointerX37,1384 +static int annoLastPointerY = 0;annoLastPointerY38,1417 +#define ANNO_DISPLAY_OPTION_INITIATE ANNO_DISPLAY_OPTION_INITIATE40,1451 +#define ANNO_DISPLAY_OPTION_DRAW ANNO_DISPLAY_OPTION_DRAW41,1494 +#define ANNO_DISPLAY_OPTION_ERASE ANNO_DISPLAY_OPTION_ERASE42,1530 +#define ANNO_DISPLAY_OPTION_CLEAR ANNO_DISPLAY_OPTION_CLEAR43,1573 +#define ANNO_DISPLAY_OPTION_FILL_COLOR ANNO_DISPLAY_OPTION_FILL_COLOR44,1616 +#define ANNO_DISPLAY_OPTION_STROKE_COLOR ANNO_DISPLAY_OPTION_STROKE_COLOR45,1659 +#define ANNO_DISPLAY_OPTION_LINE_WIDTH ANNO_DISPLAY_OPTION_LINE_WIDTH46,1702 +#define ANNO_DISPLAY_OPTION_STROKE_WIDTH ANNO_DISPLAY_OPTION_STROKE_WIDTH47,1745 +#define ANNO_DISPLAY_OPTION_NUM ANNO_DISPLAY_OPTION_NUM48,1788 +typedef struct _AnnoDisplay {_AnnoDisplay50,1832 + int screenPrivateIndex;screenPrivateIndex51,1862 + HandleEventProc handleEvent;handleEvent52,1895 + CompOption opt[ANNO_DISPLAY_OPTION_NUM];opt54,1929 +} AnnoDisplay;AnnoDisplay55,1974 +typedef struct _AnnoScreen {_AnnoScreen57,1990 + PaintOutputProc paintOutput;paintOutput58,2019 + int grabIndex;grabIndex59,2052 + Pixmap pixmap;pixmap61,2077 + CompTexture texture;texture62,2100 + cairo_surface_t *surface;surface63,2129 + cairo_t *cairo;cairo64,2159 + Bool content;content65,2183 + Bool eraseMode;eraseMode67,2213 +} AnnoScreen;AnnoScreen68,2233 +#define GET_ANNO_DISPLAY(GET_ANNO_DISPLAY70,2248 +#define ANNO_DISPLAY(ANNO_DISPLAY73,2348 +#define GET_ANNO_SCREEN(GET_ANNO_SCREEN76,2423 +#define ANNO_SCREEN(ANNO_SCREEN79,2527 +#define NUM_OPTIONS(NUM_OPTIONS82,2631 +#define NUM_TOOLS NUM_TOOLS85,2698 +annoCairoClear (CompScreen *s,annoCairoClear88,2766 +annoCairoContext (CompScreen *s)annoCairoContext102,3003 +annoSetSourceColor (cairo_t *cr,annoSetSourceColor147,3950 +annoDrawCircle (CompScreen *s,annoDrawCircle158,4200 +annoDrawRectangle (CompScreen *s,annoDrawRectangle198,5005 +annoDrawLine (CompScreen *s,annoDrawLine239,5819 +annoDrawText (CompScreen *s,annoDrawText278,6551 +annoDraw (CompDisplay *d,annoDraw327,7686 +annoInitiate (CompDisplay *d,annoInitiate445,11162 +annoTerminate (CompDisplay *d,annoTerminate483,11924 +annoEraseInitiate (CompDisplay *d,annoEraseInitiate514,12510 +annoClear (CompDisplay *d,annoClear552,13274 +annoPaintOutput (CompScreen *s,annoPaintOutput586,13786 +annoHandleMotionEvent (CompScreen *s,annoHandleMotionEvent652,15389 +annoHandleEvent (CompDisplay *d,annoHandleEvent686,16016 +annoGetDisplayOptions (CompPlugin *plugin,annoGetDisplayOptions714,16609 +annoSetDisplayOption (CompPlugin *plugin,annoSetDisplayOption725,16805 +static const CompMetadataOptionInfo annoDisplayOptionInfo[] = {annoDisplayOptionInfo741,17143 +annoInitDisplay (CompPlugin *p,annoInitDisplay753,17586 +annoFiniDisplay (CompPlugin *p,annoFiniDisplay788,18261 +annoInitScreen (CompPlugin *p,annoInitScreen803,18526 +annoFiniScreen (CompPlugin *p,annoFiniScreen830,18994 +annoInit (CompPlugin *p)annoInit852,19343 +annoFini (CompPlugin *p)annoFini874,19787 +annoGetVersion (CompPlugin *plugin,annoGetVersion881,19917 +annoGetMetadata (CompPlugin *plugin)annoGetMetadata888,20021 +static CompPluginVTable annoVTable = {annoVTable893,20089 +getCompPluginInfo (void)getCompPluginInfo912,20478 + +plugins/blur.c,9115 +static CompMetadata blurMetadata;blurMetadata36,1352 +#define BLUR_GAUSSIAN_RADIUS_MAX BLUR_GAUSSIAN_RADIUS_MAX38,1387 +#define BLUR_FILTER_4X_BILINEAR BLUR_FILTER_4X_BILINEAR40,1424 +#define BLUR_FILTER_GAUSSIAN BLUR_FILTER_GAUSSIAN41,1458 +#define BLUR_FILTER_MIPMAP BLUR_FILTER_MIPMAP42,1492 +#define BLUR_FILTER_LAST BLUR_FILTER_LAST43,1526 +typedef struct _BlurFunction {_BlurFunction45,1571 + struct _BlurFunction *next;next46,1602 + int handle;handle48,1635 + int target;target49,1651 + int param;param50,1667 + int unit;unit51,1682 +} BlurFunction;BlurFunction52,1696 +typedef struct _BlurBox {_BlurBox54,1713 + decor_point_t p1;p155,1739 + decor_point_t p2;p256,1761 +} BlurBox;BlurBox57,1783 +#define BLUR_STATE_CLIENT BLUR_STATE_CLIENT59,1795 +#define BLUR_STATE_DECOR BLUR_STATE_DECOR60,1823 +#define BLUR_STATE_NUM BLUR_STATE_NUM61,1851 +typedef struct _BlurState {_BlurState63,1880 + int threshold;threshold64,1908 + BlurBox *box;box65,1931 + int nBox;nBox66,1949 + Bool active;active67,1967 + Bool clipped;clipped68,1987 +} BlurState;BlurState69,2008 +static int displayPrivateIndex;displayPrivateIndex71,2022 +#define BLUR_DISPLAY_OPTION_PULSE BLUR_DISPLAY_OPTION_PULSE73,2055 +#define BLUR_DISPLAY_OPTION_NUM BLUR_DISPLAY_OPTION_NUM74,2091 +typedef struct _BlurDisplay {_BlurDisplay76,2128 + int screenPrivateIndex;screenPrivateIndex77,2158 + HandleEventProc handleEvent;handleEvent78,2195 + MatchExpHandlerChangedProc matchExpHandlerChanged;matchExpHandlerChanged79,2235 + MatchPropertyChangedProc matchPropertyChanged;matchPropertyChanged80,2290 + CompOption opt[BLUR_DISPLAY_OPTION_NUM];opt82,2344 + Atom blurAtom[BLUR_STATE_NUM];blurAtom84,2390 +} BlurDisplay;BlurDisplay85,2425 +#define BLUR_SCREEN_OPTION_BLUR_SPEED BLUR_SCREEN_OPTION_BLUR_SPEED87,2441 +#define BLUR_SCREEN_OPTION_FOCUS_BLUR_MATCH BLUR_SCREEN_OPTION_FOCUS_BLUR_MATCH88,2488 +#define BLUR_SCREEN_OPTION_FOCUS_BLUR BLUR_SCREEN_OPTION_FOCUS_BLUR89,2535 +#define BLUR_SCREEN_OPTION_ALPHA_BLUR_MATCH BLUR_SCREEN_OPTION_ALPHA_BLUR_MATCH90,2582 +#define BLUR_SCREEN_OPTION_ALPHA_BLUR BLUR_SCREEN_OPTION_ALPHA_BLUR91,2629 +#define BLUR_SCREEN_OPTION_FILTER BLUR_SCREEN_OPTION_FILTER92,2676 +#define BLUR_SCREEN_OPTION_GAUSSIAN_RADIUS BLUR_SCREEN_OPTION_GAUSSIAN_RADIUS93,2723 +#define BLUR_SCREEN_OPTION_GAUSSIAN_STRENGTH BLUR_SCREEN_OPTION_GAUSSIAN_STRENGTH94,2770 +#define BLUR_SCREEN_OPTION_MIPMAP_LOD BLUR_SCREEN_OPTION_MIPMAP_LOD95,2817 +#define BLUR_SCREEN_OPTION_SATURATION BLUR_SCREEN_OPTION_SATURATION96,2864 +#define BLUR_SCREEN_OPTION_BLUR_OCCLUSION BLUR_SCREEN_OPTION_BLUR_OCCLUSION97,2911 +#define BLUR_SCREEN_OPTION_NUM BLUR_SCREEN_OPTION_NUM98,2959 +typedef struct _BlurScreen {_BlurScreen100,3000 + int windowPrivateIndex;windowPrivateIndex101,3029 + CompOption opt[BLUR_SCREEN_OPTION_NUM];opt103,3058 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen105,3103 + DonePaintScreenProc donePaintScreen;donePaintScreen106,3156 + PaintOutputProc paintOutput;paintOutput107,3206 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput108,3248 + PaintWindowProc paintWindow;paintWindow109,3304 + DrawWindowProc drawWindow;drawWindow110,3346 + DrawWindowTextureProc drawWindowTexture;drawWindowTexture111,3386 + WindowAddNotifyProc windowAddNotify;windowAddNotify113,3439 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify114,3483 + WindowMoveNotifyProc windowMoveNotify;windowMoveNotify115,3530 + Bool alphaBlur;alphaBlur117,3576 + int blurTime;blurTime119,3597 + Bool moreBlur;moreBlur120,3616 + Bool blurOcclusion;blurOcclusion122,3636 + int filterRadius;filterRadius124,3661 + BlurFunction *srcBlurFunctions;srcBlurFunctions126,3684 + BlurFunction *dstBlurFunctions;dstBlurFunctions127,3720 + Region region;region129,3757 + Region tmpRegion;tmpRegion130,3776 + Region tmpRegion2;tmpRegion2131,3798 + Region tmpRegion3;tmpRegion3132,3821 + Region occlusion;occlusion133,3844 + BoxRec stencilBox;stencilBox135,3867 + GLint stencilBits;stencilBits136,3890 + CompOutput *output;output138,3915 + int count;count139,3939 + GLuint texture[2];texture141,3955 + GLenum target;target143,3979 + float tx;tx144,3998 + float ty;ty145,4013 + int width;width146,4028 + int height;height147,4046 + GLuint program;program149,4066 + GLuint fbo;fbo150,4086 + Bool fboStatus;fboStatus151,4102 + float amp[BLUR_GAUSSIAN_RADIUS_MAX];amp153,4125 + float pos[BLUR_GAUSSIAN_RADIUS_MAX];pos154,4166 + int numTexop;numTexop155,4207 +} BlurScreen;BlurScreen156,4227 +typedef struct _BlurWindow {_BlurWindow158,4242 + int blur;blur159,4271 + Bool pulse;pulse160,4286 + Bool focusBlur;focusBlur161,4302 + BlurState state[BLUR_STATE_NUM];state163,4323 + Bool propSet[BLUR_STATE_NUM];propSet164,4360 + Region region;region166,4400 + Region clip;clip167,4419 +} BlurWindow;BlurWindow168,4436 +#define GET_BLUR_DISPLAY(GET_BLUR_DISPLAY170,4451 +#define BLUR_DISPLAY(BLUR_DISPLAY173,4551 +#define GET_BLUR_SCREEN(GET_BLUR_SCREEN176,4626 +#define BLUR_SCREEN(BLUR_SCREEN179,4730 +#define GET_BLUR_WINDOW(GET_BLUR_WINDOW182,4834 +#define BLUR_WINDOW(BLUR_WINDOW185,4938 +#define NUM_OPTIONS(NUM_OPTIONS190,5113 +blurCreateGaussianLinearKernel (int radius,blurCreateGaussianLinearKernel194,5235 +blurUpdateFilterRadius (CompScreen *s)blurUpdateFilterRadius267,6435 +blurDestroyFragmentFunctions (CompScreen *s,blurDestroyFragmentFunctions293,7104 +blurReset (CompScreen *s)blurReset312,7444 +regionFromBoxes (BlurBox *box,regionFromBoxes330,7791 +blurWindowUpdateRegion (CompWindow *w)blurWindowUpdateRegion372,8501 +blurSetWindowBlur (CompWindow *w,blurSetWindowBlur469,10416 +blurUpdateAlphaWindowMatch (BlurScreen *bs,blurUpdateAlphaWindowMatch490,10821 +blurUpdateWindowMatch (BlurScreen *bs,blurUpdateWindowMatch514,11323 +blurGetScreenOptions (CompPlugin *plugin,blurGetScreenOptions535,11744 +blurSetScreenOption (CompPlugin *plugin,blurSetScreenOption546,11930 +blurWindowUpdate (CompWindow *w,blurWindowUpdate671,14508 +blurPreparePaintScreen (CompScreen *s,blurPreparePaintScreen741,15783 +blurPaintOutput (CompScreen *s,blurPaintOutput852,17912 +blurPaintTransformedOutput (CompScreen *s,blurPaintTransformedOutput904,19051 +blurDonePaintScreen (CompScreen *s)blurDonePaintScreen931,19761 +blurPaintWindow (CompWindow *w,blurPaintWindow954,20146 +getSrcBlurFragmentFunction (CompScreen *s,getSrcBlurFragmentFunction983,20920 +getDstBlurFragmentFunction (CompScreen *s,getDstBlurFragmentFunction1064,23107 +projectVertices (CompScreen *s,projectVertices1268,28520 +loadFragmentProgram (CompScreen *s,loadFragmentProgram1310,29333 +loadFilterProgram (CompScreen *s)loadFilterProgram1343,30034 +fboPrologue (CompScreen *s)fboPrologue1391,31103 +fboEpilogue (CompScreen *s)fboEpilogue1446,32388 +fboUpdate (CompScreen *s,fboUpdate1472,32900 +#define MAX_VERTEX_PROJECT_COUNT MAX_VERTEX_PROJECT_COUNT1531,34063 +blurProjectRegion (CompWindow *w,blurProjectRegion1534,34112 +blurUpdateDstTexture (CompWindow *w,blurUpdateDstTexture1653,36467 +blurDrawWindow (CompWindow *w,blurDrawWindow1876,42065 +blurDrawWindowTexture (CompWindow *w,blurDrawWindowTexture2018,45535 +blurHandleEvent (CompDisplay *d,blurHandleEvent2212,50662 +blurWindowResizeNotify (CompWindow *w,blurWindowResizeNotify2271,51688 +blurWindowMoveNotify (CompWindow *w,blurWindowMoveNotify2294,52203 +blurGetDisplayOptions (CompPlugin *plugin,blurGetDisplayOptions2311,52604 +blurSetDisplayOption (CompPlugin *plugin,blurSetDisplayOption2322,52800 +blurPulse (CompDisplay *d,blurPulse2339,53146 +blurMatchExpHandlerChanged (CompDisplay *d)blurMatchExpHandlerChanged2366,53644 +blurMatchPropertyChanged (CompDisplay *d,blurMatchPropertyChanged2388,54146 +blurWindowAdd (CompWindow *w)blurWindowAdd2402,54461 +blurWindowAddNotify (CompWindow *w)blurWindowAddNotify2413,54663 +static const CompMetadataOptionInfo blurDisplayOptionInfo[] = {blurDisplayOptionInfo2424,54906 +blurInitDisplay (CompPlugin *p,blurInitDisplay2429,55029 +blurFiniDisplay (CompPlugin *p,blurFiniDisplay2471,56032 +static const CompMetadataOptionInfo blurScreenOptionInfo[] = {blurScreenOptionInfo2487,56371 +blurInitScreen (CompPlugin *p,blurInitScreen2502,57057 +blurFiniScreen (CompPlugin *p,blurFiniScreen2638,60432 +blurInitWindow (CompPlugin *p,blurInitWindow2682,61521 +blurFiniWindow (CompPlugin *p,blurFiniWindow2727,62260 +blurInit (CompPlugin *p)blurInit2747,62552 +blurFini (CompPlugin *p)blurFini2770,63042 +blurGetVersion (CompPlugin *plugin,blurGetVersion2777,63172 +blurGetMetadata (CompPlugin *plugin)blurGetMetadata2784,63276 +static CompPluginVTable blurVTable = {blurVTable2789,63344 +getCompPluginInfo (void)getCompPluginInfo2808,63712 + +plugins/png.c,1299 +static CompMetadata pngMetadata;pngMetadata34,1322 +#define PNG_SIG_SIZE PNG_SIG_SIZE36,1356 +static int displayPrivateIndex;displayPrivateIndex38,1380 +typedef struct _PngDisplay {_PngDisplay40,1413 + FileToImageProc fileToImage;fileToImage41,1442 + ImageToFileProc imageToFile;imageToFile42,1475 +} PngDisplay;PngDisplay43,1508 +#define GET_PNG_DISPLAY(GET_PNG_DISPLAY45,1523 +#define PNG_DISPLAY(PNG_DISPLAY48,1620 +premultiplyData (png_structp png,premultiplyData53,1703 +readPngData (png_struct *png,readPngData78,2317 +readPngFileToImage (FILE *file,readPngFileToImage158,4150 +writePng (unsigned char *buffer,writePng247,6085 +stdioWriteFunc (png_structp png,stdioWriteFunc318,7403 +pngExtension (const char *name)pngExtension330,7618 +pngImageToFile (CompDisplay *d,pngImageToFile343,7802 +pngFileToImage (CompDisplay *d,pngFileToImage409,9012 +pngInitDisplay (CompPlugin *p,pngInitDisplay463,9955 +pngFiniDisplay (CompPlugin *p,pngFiniDisplay485,10356 +pngInit (CompPlugin *p)pngInit502,10613 +pngFini (CompPlugin *p)pngFini521,10993 +pngGetVersion (CompPlugin *plugin,pngGetVersion528,11121 +pngGetMetadata (CompPlugin *plugin)pngGetMetadata535,11229 +CompPluginVTable pngVTable = {pngVTable540,11295 +getCompPluginInfo (void)getCompPluginInfo559,11681 + +plugins/place.c,4557 +static CompMetadata placeMetadata;placeMetadata31,974 +#define PLACE_MODE_CASCADE PLACE_MODE_CASCADE33,1010 +#define PLACE_MODE_CENTERED PLACE_MODE_CENTERED34,1040 +#define PLACE_MODE_SMART PLACE_MODE_SMART35,1070 +#define PLACE_MODE_MAXIMIZE PLACE_MODE_MAXIMIZE36,1100 +#define PLACE_MODE_RANDOM PLACE_MODE_RANDOM37,1130 +#define PLACE_MODE_LAST PLACE_MODE_LAST38,1160 +#define NONE NONE41,1227 +#define H_WRONG H_WRONG42,1245 +#define W_WRONG W_WRONG43,1264 +static int displayPrivateIndex;displayPrivateIndex45,1284 +typedef struct _PlaceDisplay {_PlaceDisplay47,1317 + int screenPrivateIndex;screenPrivateIndex48,1348 +} PlaceDisplay;PlaceDisplay49,1381 +#define PLACE_SCREEN_OPTION_WORKAROUND PLACE_SCREEN_OPTION_WORKAROUND51,1398 +#define PLACE_SCREEN_OPTION_MODE PLACE_SCREEN_OPTION_MODE52,1446 +#define PLACE_SCREEN_OPTION_POSITION_MATCHES PLACE_SCREEN_OPTION_POSITION_MATCHES53,1494 +#define PLACE_SCREEN_OPTION_POSITION_X_VALUES PLACE_SCREEN_OPTION_POSITION_X_VALUES54,1542 +#define PLACE_SCREEN_OPTION_POSITION_Y_VALUES PLACE_SCREEN_OPTION_POSITION_Y_VALUES55,1590 +#define PLACE_SCREEN_OPTION_VIEWPORT_MATCHES PLACE_SCREEN_OPTION_VIEWPORT_MATCHES56,1638 +#define PLACE_SCREEN_OPTION_VIEWPORT_X_VALUES PLACE_SCREEN_OPTION_VIEWPORT_X_VALUES57,1686 +#define PLACE_SCREEN_OPTION_VIEWPORT_Y_VALUES PLACE_SCREEN_OPTION_VIEWPORT_Y_VALUES58,1734 +#define PLACE_SCREEN_OPTION_NUM PLACE_SCREEN_OPTION_NUM59,1782 +typedef struct _PlaceScreen {_PlaceScreen61,1831 + CompOption opt[PLACE_SCREEN_OPTION_NUM];opt62,1861 + PlaceWindowProc placeWindow;placeWindow64,1907 +} PlaceScreen;PlaceScreen66,1941 +#define GET_PLACE_DISPLAY(GET_PLACE_DISPLAY68,1957 +#define PLACE_DISPLAY(PLACE_DISPLAY71,2060 +#define GET_PLACE_SCREEN(GET_PLACE_SCREEN74,2139 +#define PLACE_SCREEN(PLACE_SCREEN77,2246 +#define NUM_OPTIONS(NUM_OPTIONS80,2357 +placeMatchXYValue (CompWindow *w,placeMatchXYValue83,2435 +placeMatchPosition (CompWindow *w,placeMatchPosition113,3029 +placeMatchViewport (CompWindow *w,placeMatchViewport128,3385 +placeGetScreenOptions (CompPlugin *plugin,placeGetScreenOptions143,3749 +placeSetScreenOption (CompPlugin *plugin,placeSetScreenOption154,3940 + PlaceLeft,PlaceLeft195,4772 + PlaceRight,PlaceRight196,4787 + PlaceTop,PlaceTop197,4803 + PlaceBottomPlaceBottom198,4817 +} PlaceWindowDirection;PlaceWindowDirection199,4833 +rectangleIntersect (XRectangle *src1,rectangleIntersect202,4870 +northwestcmp (gconstpointer a,northwestcmp239,5670 +get_workarea_of_current_output_device (CompScreen *s,get_workarea_of_current_output_device268,6351 +get_window_width (CompWindow *window)get_window_width275,6507 +get_window_height (CompWindow *window)get_window_height281,6625 +get_outer_rect_of_window (CompWindow *w,get_outer_rect_of_window287,6746 +find_next_cascade (CompWindow *window,find_next_cascade297,7056 +#define CASCADE_FUZZ CASCADE_FUZZ324,7821 +#define CASCADE_INTERVAL CASCADE_INTERVAL381,9387 +find_most_freespace (CompWindow *window,find_most_freespace423,10339 +avoid_being_obscured_as_second_modal_dialog (CompWindow *window,avoid_being_obscured_as_second_modal_dialog525,13361 +rectangle_overlaps_some_window (XRectangle *rect,rectangle_overlaps_some_window561,14778 +leftmost_cmp (gconstpointer a,leftmost_cmp600,15591 +topmost_cmp (gconstpointer a,topmost_cmp619,15918 +center_tile_rect_in_area (XRectangle *rect,center_tile_rect_in_area638,16241 +rect_fits_in_work_area (XRectangle *work_area,rect_fits_in_work_area656,16742 +find_first_fit (CompWindow *window,find_first_fit674,17376 +placeCentered (CompWindow *window,placeCentered789,20189 +placeRandom (CompWindow *window,placeRandom799,20457 +placeSmart (CompWindow *window,placeSmart819,20850 +placeWin (CompWindow *window,placeWin1018,26180 +placePlaceWindow (CompWindow *w,placePlaceWindow1362,35498 +placeInitDisplay (CompPlugin *p,placeInitDisplay1396,36252 +placeFiniDisplay (CompPlugin *p,placeFiniDisplay1418,36618 +static const CompMetadataOptionInfo placeScreenOptionInfo[] = {placeScreenOptionInfo1428,36773 +placeInitScreen (CompPlugin *p,placeInitScreen1440,37335 +placeFiniScreen (CompPlugin *p,placeFiniScreen1469,37841 +placeInit (CompPlugin *p)placeInit1482,38046 +placeFini (CompPlugin *p)placeFini1503,38488 +placeGetVersion (CompPlugin *plugin,placeGetVersion1510,38620 +placeGetMetadata (CompPlugin *plugin)placeGetMetadata1517,38727 +static CompPluginVTable placeVTable = {placeVTable1522,38797 +getCompPluginInfo (void)getCompPluginInfo1541,39193 + +plugins/screenshot.c,2537 +static CompMetadata shotMetadata;shotMetadata32,1286 +static int displayPrivateIndex;displayPrivateIndex34,1321 +#define SHOT_DISPLAY_OPTION_INITIATE SHOT_DISPLAY_OPTION_INITIATE36,1354 +#define SHOT_DISPLAY_OPTION_DIR SHOT_DISPLAY_OPTION_DIR37,1395 +#define SHOT_DISPLAY_OPTION_LAUNCH_APP SHOT_DISPLAY_OPTION_LAUNCH_APP38,1436 +#define SHOT_DISPLAY_OPTION_NUM SHOT_DISPLAY_OPTION_NUM39,1477 +typedef struct _ShotDisplay {_ShotDisplay41,1519 + int screenPrivateIndex;screenPrivateIndex42,1549 + HandleEventProc handleEvent;handleEvent43,1582 + CompOption opt[SHOT_DISPLAY_OPTION_NUM];opt45,1616 +} ShotDisplay;ShotDisplay46,1661 +typedef struct _ShotScreen {_ShotScreen48,1677 + PaintOutputProc paintOutput;paintOutput49,1706 + PaintScreenProc paintScreen;paintScreen50,1739 + int grabIndex;grabIndex51,1772 + int x1, y1, x2, y2;x153,1797 + int x1, y1, x2, y2;y153,1797 + int x1, y1, x2, y2;x253,1797 + int x1, y1, x2, y2;y253,1797 + Bool grab;grab54,1822 +} ShotScreen;ShotScreen55,1837 +#define GET_SHOT_DISPLAY(GET_SHOT_DISPLAY57,1852 +#define SHOT_DISPLAY(SHOT_DISPLAY60,1952 +#define GET_SHOT_SCREEN(GET_SHOT_SCREEN63,2027 +#define SHOT_SCREEN(SHOT_SCREEN66,2131 +#define NUM_OPTIONS(NUM_OPTIONS69,2235 +shotInitiate (CompDisplay *d,shotInitiate73,2314 +shotTerminate (CompDisplay *d,shotTerminate110,3045 +shotFilter (const struct dirent *d)shotFilter156,3972 +shotSort (const void *_a,shotSort167,4124 +shotPaintScreen (CompScreen *s,shotPaintScreen182,4449 +shotPaintOutput (CompScreen *s,shotPaintOutput283,6335 +shotHandleMotionEvent (CompScreen *s,shotHandleMotionEvent335,7515 +shotHandleEvent (CompDisplay *d,shotHandleEvent372,8251 +shotGetDisplayOptions (CompPlugin *plugin,shotGetDisplayOptions400,8844 +shotSetDisplayOption (CompPlugin *plugin,shotSetDisplayOption411,9040 +static const CompMetadataOptionInfo shotDisplayOptionInfo[] = {shotDisplayOptionInfo427,9372 +shotInitDisplay (CompPlugin *p,shotInitDisplay434,9594 +shotFiniDisplay (CompPlugin *p,shotFiniDisplay469,10269 +shotInitScreen (CompPlugin *p,shotInitScreen484,10534 +shotFiniScreen (CompPlugin *p,shotFiniScreen507,10933 +shotInit (CompPlugin *p)shotInit519,11102 +shotFini (CompPlugin *p)shotFini541,11546 +shotGetVersion (CompPlugin *plugin,shotGetVersion548,11676 +shotGetMetadata (CompPlugin *plugin)shotGetMetadata555,11780 +static CompPluginVTable shotVTable = {shotVTable560,11848 +getCompPluginInfo (void)getCompPluginInfo579,12239 + +plugins/minimize.c,4125 +static CompMetadata minMetadata;minMetadata34,1308 +static int displayPrivateIndex;displayPrivateIndex36,1342 +typedef struct _MinDisplay {_MinDisplay38,1375 + int screenPrivateIndex;screenPrivateIndex39,1404 + HandleEventProc handleEvent;handleEvent40,1437 + Atom winChangeStateAtom;winChangeStateAtom41,1470 + Atom winIconGeometryAtom;winIconGeometryAtom42,1503 +} MinDisplay;MinDisplay43,1537 +#define MIN_SCREEN_OPTION_SPEED MIN_SCREEN_OPTION_SPEED45,1552 +#define MIN_SCREEN_OPTION_TIMESTEP MIN_SCREEN_OPTION_TIMESTEP46,1590 +#define MIN_SCREEN_OPTION_WINDOW_MATCH MIN_SCREEN_OPTION_WINDOW_MATCH47,1630 +#define MIN_SCREEN_OPTION_SHADE_RESISTANCE MIN_SCREEN_OPTION_SHADE_RESISTANCE48,1674 +#define MIN_SCREEN_OPTION_NUM MIN_SCREEN_OPTION_NUM49,1719 +typedef struct _MinScreen {_MinScreen51,1756 + int windowPrivateIndex;windowPrivateIndex52,1784 + CompOption opt[MIN_SCREEN_OPTION_NUM];opt54,1813 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen56,1857 + DonePaintScreenProc donePaintScreen;donePaintScreen57,1904 + PaintOutputProc paintOutput;paintOutput58,1948 + PaintWindowProc paintWindow;paintWindow59,1988 + DamageWindowRectProc damageWindowRect;damageWindowRect60,2028 + FocusWindowProc focusWindow;focusWindow61,2073 + int shadeStep;shadeStep63,2110 + int moreAdjust;moreAdjust64,2129 +} MinScreen;MinScreen65,2149 +typedef struct _MinWindow {_MinWindow67,2163 + GLfloat xVelocity, yVelocity, xScaleVelocity, yScaleVelocity;xVelocity68,2191 + GLfloat xVelocity, yVelocity, xScaleVelocity, yScaleVelocity;yVelocity68,2191 + GLfloat xVelocity, yVelocity, xScaleVelocity, yScaleVelocity;xScaleVelocity68,2191 + GLfloat xVelocity, yVelocity, xScaleVelocity, yScaleVelocity;yScaleVelocity68,2191 + GLfloat xScale, yScale;xScale69,2257 + GLfloat xScale, yScale;yScale69,2257 + GLfloat tx, ty;tx70,2285 + GLfloat tx, ty;ty70,2285 + Bool adjust;adjust72,2306 + XRectangle icon;icon74,2324 + int state, newState;state76,2346 + int state, newState;newState76,2346 + int shade;shade78,2372 + Region region;region79,2390 + int unmapCnt;unmapCnt81,2410 +} MinWindow;MinWindow82,2428 +#define GET_MIN_DISPLAY(GET_MIN_DISPLAY84,2442 +#define MIN_DISPLAY(MIN_DISPLAY87,2539 +#define GET_MIN_SCREEN(GET_MIN_SCREEN90,2609 +#define MIN_SCREEN(MIN_SCREEN93,2710 +#define GET_MIN_WINDOW(GET_MIN_WINDOW96,2814 +#define MIN_WINDOW(MIN_WINDOW99,2922 +#define NUM_OPTIONS(NUM_OPTIONS104,3086 +minGetScreenOptions (CompPlugin *plugin,minGetScreenOptions107,3172 +minSetScreenOption (CompPlugin *plugin,minSetScreenOption118,3353 +minSetShade (CompWindow *w,minSetShade154,3990 +minGetWindowIconGeometry (CompWindow *w,minGetWindowIconGeometry185,4724 +minGetWindowState (CompWindow *w)minGetWindowState223,5446 +adjustMinVelocity (CompWindow *w)adjustMinVelocity249,5969 +minPreparePaintScreen (CompScreen *s,minPreparePaintScreen335,7893 +minDonePaintScreen (CompScreen *s)minDonePaintScreen466,10201 +minPaintOutput (CompScreen *s,minPaintOutput498,10740 +minPaintWindow (CompWindow *w,minPaintWindow520,11225 +minHandleEvent (CompDisplay *d,minHandleEvent580,12708 +minDamageWindowRect (CompWindow *w,minDamageWindowRect706,15073 +minFocusWindow (CompWindow *w)minFocusWindow783,16711 +minInitDisplay (CompPlugin *p,minInitDisplay801,17008 +minFiniDisplay (CompPlugin *p,minFiniDisplay829,17562 +static const CompMetadataOptionInfo minScreenOptionInfo[] = {minScreenOptionInfo841,17737 +minInitScreen (CompPlugin *p,minInitScreen849,18030 +minFiniScreen (CompPlugin *p,minFiniScreen895,19142 +minInitWindow (CompPlugin *p,minInitWindow915,19564 +minFiniWindow (CompPlugin *p,minFiniWindow962,20441 +minInit (CompPlugin *p)minInit977,20644 +minFini (CompPlugin *p)minFini998,21074 +minGetVersion (CompPlugin *plugin,minGetVersion1005,21202 +minGetMetadata (CompPlugin *plugin)minGetMetadata1012,21310 +static CompPluginVTable minVTable = {minVTable1017,21376 +getCompPluginInfo (void)getCompPluginInfo1036,21743 + +plugins/rotate.c,8885 +static int cubeDisplayPrivateIndex;cubeDisplayPrivateIndex37,1372 +#define ROTATE_POINTER_SENSITIVITY_FACTOR ROTATE_POINTER_SENSITIVITY_FACTOR39,1409 +static CompMetadata rotateMetadata;rotateMetadata41,1458 +static int displayPrivateIndex;displayPrivateIndex43,1495 +#define ROTATE_DISPLAY_OPTION_INITIATE ROTATE_DISPLAY_OPTION_INITIATE45,1528 +#define ROTATE_DISPLAY_OPTION_LEFT ROTATE_DISPLAY_OPTION_LEFT46,1572 +#define ROTATE_DISPLAY_OPTION_RIGHT ROTATE_DISPLAY_OPTION_RIGHT47,1612 +#define ROTATE_DISPLAY_OPTION_LEFT_WINDOW ROTATE_DISPLAY_OPTION_LEFT_WINDOW48,1653 +#define ROTATE_DISPLAY_OPTION_RIGHT_WINDOW ROTATE_DISPLAY_OPTION_RIGHT_WINDOW49,1699 +#define ROTATE_DISPLAY_OPTION_EDGEFLIP_POINTER ROTATE_DISPLAY_OPTION_EDGEFLIP_POINTER50,1746 +#define ROTATE_DISPLAY_OPTION_EDGEFLIP_WINDOW ROTATE_DISPLAY_OPTION_EDGEFLIP_WINDOW51,1797 +#define ROTATE_DISPLAY_OPTION_EDGEFLIP_DND ROTATE_DISPLAY_OPTION_EDGEFLIP_DND52,1847 +#define ROTATE_DISPLAY_OPTION_FLIPTIME ROTATE_DISPLAY_OPTION_FLIPTIME53,1894 +#define ROTATE_DISPLAY_OPTION_TO_1 ROTATE_DISPLAY_OPTION_TO_154,1938 +#define ROTATE_DISPLAY_OPTION_TO_2 ROTATE_DISPLAY_OPTION_TO_255,1978 +#define ROTATE_DISPLAY_OPTION_TO_3 ROTATE_DISPLAY_OPTION_TO_356,2019 +#define ROTATE_DISPLAY_OPTION_TO_4 ROTATE_DISPLAY_OPTION_TO_457,2060 +#define ROTATE_DISPLAY_OPTION_TO_5 ROTATE_DISPLAY_OPTION_TO_558,2101 +#define ROTATE_DISPLAY_OPTION_TO_6 ROTATE_DISPLAY_OPTION_TO_659,2142 +#define ROTATE_DISPLAY_OPTION_TO_7 ROTATE_DISPLAY_OPTION_TO_760,2183 +#define ROTATE_DISPLAY_OPTION_TO_8 ROTATE_DISPLAY_OPTION_TO_861,2224 +#define ROTATE_DISPLAY_OPTION_TO_9 ROTATE_DISPLAY_OPTION_TO_962,2265 +#define ROTATE_DISPLAY_OPTION_TO_10 ROTATE_DISPLAY_OPTION_TO_1063,2306 +#define ROTATE_DISPLAY_OPTION_TO_11 ROTATE_DISPLAY_OPTION_TO_1164,2348 +#define ROTATE_DISPLAY_OPTION_TO_12 ROTATE_DISPLAY_OPTION_TO_1265,2390 +#define ROTATE_DISPLAY_OPTION_TO_1_WINDOW ROTATE_DISPLAY_OPTION_TO_1_WINDOW66,2432 +#define ROTATE_DISPLAY_OPTION_TO_2_WINDOW ROTATE_DISPLAY_OPTION_TO_2_WINDOW67,2479 +#define ROTATE_DISPLAY_OPTION_TO_3_WINDOW ROTATE_DISPLAY_OPTION_TO_3_WINDOW68,2526 +#define ROTATE_DISPLAY_OPTION_TO_4_WINDOW ROTATE_DISPLAY_OPTION_TO_4_WINDOW69,2573 +#define ROTATE_DISPLAY_OPTION_TO_5_WINDOW ROTATE_DISPLAY_OPTION_TO_5_WINDOW70,2620 +#define ROTATE_DISPLAY_OPTION_TO_6_WINDOW ROTATE_DISPLAY_OPTION_TO_6_WINDOW71,2667 +#define ROTATE_DISPLAY_OPTION_TO_7_WINDOW ROTATE_DISPLAY_OPTION_TO_7_WINDOW72,2714 +#define ROTATE_DISPLAY_OPTION_TO_8_WINDOW ROTATE_DISPLAY_OPTION_TO_8_WINDOW73,2761 +#define ROTATE_DISPLAY_OPTION_TO_9_WINDOW ROTATE_DISPLAY_OPTION_TO_9_WINDOW74,2808 +#define ROTATE_DISPLAY_OPTION_TO_10_WINDOW ROTATE_DISPLAY_OPTION_TO_10_WINDOW75,2855 +#define ROTATE_DISPLAY_OPTION_TO_11_WINDOW ROTATE_DISPLAY_OPTION_TO_11_WINDOW76,2903 +#define ROTATE_DISPLAY_OPTION_TO_12_WINDOW ROTATE_DISPLAY_OPTION_TO_12_WINDOW77,2951 +#define ROTATE_DISPLAY_OPTION_TO ROTATE_DISPLAY_OPTION_TO78,2999 +#define ROTATE_DISPLAY_OPTION_WINDOW ROTATE_DISPLAY_OPTION_WINDOW79,3038 +#define ROTATE_DISPLAY_OPTION_FLIP_LEFT ROTATE_DISPLAY_OPTION_FLIP_LEFT80,3081 +#define ROTATE_DISPLAY_OPTION_FLIP_RIGHT ROTATE_DISPLAY_OPTION_FLIP_RIGHT81,3127 +#define ROTATE_DISPLAY_OPTION_RAISE_ON_ROTATE ROTATE_DISPLAY_OPTION_RAISE_ON_ROTATE82,3173 +#define ROTATE_DISPLAY_OPTION_NUM ROTATE_DISPLAY_OPTION_NUM83,3224 +typedef struct _RotateDisplay {_RotateDisplay85,3265 + int screenPrivateIndex;screenPrivateIndex86,3297 + HandleEventProc handleEvent;handleEvent87,3330 + CompOption opt[ROTATE_DISPLAY_OPTION_NUM];opt89,3364 +} RotateDisplay;RotateDisplay90,3411 +#define ROTATE_SCREEN_OPTION_POINTER_INVERT_Y ROTATE_SCREEN_OPTION_POINTER_INVERT_Y92,3429 +#define ROTATE_SCREEN_OPTION_POINTER_SENSITIVITY ROTATE_SCREEN_OPTION_POINTER_SENSITIVITY93,3478 +#define ROTATE_SCREEN_OPTION_ACCELERATION ROTATE_SCREEN_OPTION_ACCELERATION94,3529 +#define ROTATE_SCREEN_OPTION_SNAP_TOP ROTATE_SCREEN_OPTION_SNAP_TOP95,3580 +#define ROTATE_SCREEN_OPTION_SPEED ROTATE_SCREEN_OPTION_SPEED96,3622 +#define ROTATE_SCREEN_OPTION_TIMESTEP ROTATE_SCREEN_OPTION_TIMESTEP97,3661 +#define ROTATE_SCREEN_OPTION_ZOOM ROTATE_SCREEN_OPTION_ZOOM98,3703 +#define ROTATE_SCREEN_OPTION_NUM ROTATE_SCREEN_OPTION_NUM99,3741 +typedef struct _RotateScreen {_RotateScreen101,3779 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen102,3810 + DonePaintScreenProc donePaintScreen;donePaintScreen103,3858 + PaintScreenProc paintScreen;paintScreen104,3901 + PaintOutputProc paintOutput;paintOutput105,3936 + WindowGrabNotifyProc windowGrabNotify;windowGrabNotify106,3971 + WindowUngrabNotifyProc windowUngrabNotify;windowUngrabNotify107,4015 + CubeGetRotationProc getRotation;getRotation109,4064 + CompOption opt[ROTATE_SCREEN_OPTION_NUM];opt111,4102 + float pointerSensitivity;pointerSensitivity113,4149 + Bool snapTop;snapTop115,4180 + int grabIndex;grabIndex117,4199 + GLfloat xrot, xVelocity;xrot119,4219 + GLfloat xrot, xVelocity;xVelocity119,4219 + GLfloat yrot, yVelocity;yrot120,4248 + GLfloat yrot, yVelocity;yVelocity120,4248 + GLfloat baseXrot;baseXrot122,4278 + Bool moving;moving124,4301 + GLfloat moveTo;moveTo125,4321 + Window moveWindow;moveWindow127,4342 + int moveWindowX;moveWindowX128,4365 + XPoint savedPointer;savedPointer130,4390 + Bool grabbed;grabbed131,4415 + CompTimeoutHandle rotateHandle;rotateHandle133,4436 + Bool slow;slow134,4472 + unsigned int grabMask;grabMask135,4493 + CompWindow *grabWindow;grabWindow136,4525 + GLfloat zoomTranslate;zoomTranslate138,4560 + GLfloat zoomVelocity;zoomVelocity139,4587 +} RotateScreen;RotateScreen140,4613 +#define GET_ROTATE_DISPLAY(GET_ROTATE_DISPLAY142,4630 +#define ROTATE_DISPLAY(ROTATE_DISPLAY145,4736 +#define GET_ROTATE_SCREEN(GET_ROTATE_SCREEN148,4820 +#define ROTATE_SCREEN(ROTATE_SCREEN151,4929 +#define NUM_OPTIONS(NUM_OPTIONS154,5046 +rotateGetScreenOptions (CompPlugin *plugin,rotateGetScreenOptions157,5132 +rotateSetScreenOption (CompPlugin *plugin,rotateSetScreenOption168,5314 +adjustVelocity (RotateScreen *rs,adjustVelocity199,5944 +rotateReleaseMoveWindow (CompScreen *s)rotateReleaseMoveWindow248,7113 +rotatePreparePaintScreen (CompScreen *s,rotatePreparePaintScreen262,7326 +rotateDonePaintScreen (CompScreen *s)rotateDonePaintScreen496,12400 +rotateGetRotation (CompScreen *s,rotateGetRotation516,12870 +rotatePaintScreen (CompScreen *s,rotatePaintScreen532,13181 +rotatePaintOutput (CompScreen *s,rotatePaintOutput550,13687 +rotateInitiate (CompDisplay *d,rotateInitiate577,14347 +rotateTerminate (CompDisplay *d,rotateTerminate658,16024 +rotate (CompDisplay *d,rotate692,16605 +rotateWithWindow (CompDisplay *d,rotateWithWindow756,17904 +rotateLeft (CompDisplay *d,rotateLeft847,19713 +rotateRight (CompDisplay *d,rotateRight877,20418 +rotateLeftWithWindow (CompDisplay *d,rotateLeftWithWindow907,21127 +rotateRightWithWindow (CompDisplay *d,rotateRightWithWindow941,21998 +rotateFlipLeft (void *closure)rotateFlipLeft975,22874 +rotateFlipRight (void *closure)rotateFlipRight1020,23807 +rotateEdgeFlip (CompScreen *s,rotateEdgeFlip1066,24740 +rotateFlipTerminate (CompDisplay *d,rotateFlipTerminate1227,28334 +rotateEdgeFlipLeft (CompDisplay *d,rotateEdgeFlipLeft1267,29027 +rotateEdgeFlipRight (CompDisplay *d,rotateEdgeFlipRight1286,29437 +rotateRotationTo (CompScreen *s,rotateRotationTo1305,29852 +rotateTo (CompDisplay *d,rotateTo1322,30150 +rotateToWithWindow (CompDisplay *d,rotateToWithWindow1379,31306 +rotateHandleEvent (CompDisplay *d,rotateHandleEvent1440,32645 +rotateWindowGrabNotify (CompWindow *w,rotateWindowGrabNotify1613,36209 +rotateWindowUngrabNotify (CompWindow *w)rotateWindowUngrabNotify1633,36630 +rotateGetDisplayOptions (CompPlugin *plugin,rotateGetDisplayOptions1649,36977 +rotateSetDisplayOption (CompPlugin *plugin,rotateSetDisplayOption1660,37169 +static const CompMetadataOptionInfo rotateDisplayOptionInfo[] = {rotateDisplayOptionInfo1676,37498 +rotateInitDisplay (CompPlugin *p,rotateInitDisplay1720,39801 +rotateFiniDisplay (CompPlugin *p,rotateFiniDisplay1774,41046 +static const CompMetadataOptionInfo rotateScreenOptionInfo[] = {rotateScreenOptionInfo1788,41307 +rotateInitScreen (CompPlugin *p,rotateInitScreen1799,41696 +rotateFiniScreen (CompPlugin *p,rotateFiniScreen1869,43203 +rotateInit (CompPlugin *p)rotateInit1890,43656 +rotateFini (CompPlugin *p)rotateFini1913,44162 +rotateGetVersion (CompPlugin *plugin,rotateGetVersion1920,44296 +rotateGetMetadata (CompPlugin *plugin)rotateGetMetadata1927,44406 +CompPluginVTable rotateVTable = {rotateVTable1932,44478 +getCompPluginInfo (void)getCompPluginInfo1951,44875 + +plugins/svg.c,3891 +static CompMetadata svgMetadata;svgMetadata39,1437 +#define SVG_DISPLAY_OPTION_SET SVG_DISPLAY_OPTION_SET41,1471 +#define SVG_DISPLAY_OPTION_NUM SVG_DISPLAY_OPTION_NUM42,1504 +static int displayPrivateIndex;displayPrivateIndex44,1538 +typedef struct _SvgDisplay {_SvgDisplay46,1571 + CompOption opt[SVG_DISPLAY_OPTION_NUM];opt47,1600 + int screenPrivateIndex;screenPrivateIndex49,1645 + HandleEcompEventProc handleEcompEvent;handleEcompEvent51,1674 + FileToImageProc fileToImage;fileToImage53,1718 +} SvgDisplay;SvgDisplay54,1751 +typedef struct _SvgScreen {_SvgScreen56,1766 + int windowPrivateIndex;windowPrivateIndex57,1794 + DrawWindowProc drawWindow;drawWindow59,1823 + WindowMoveNotifyProc windowMoveNotify;windowMoveNotify61,1855 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify62,1900 + BoxRec zoom;zoom64,1948 +} SvgScreen;SvgScreen65,1965 +typedef struct _SvgSource {_SvgSource67,1979 + decor_point_t p1;p168,2007 + decor_point_t p2;p269,2029 + RsvgHandle *svg;svg71,2052 + RsvgDimensionData dimension;dimension72,2079 +} SvgSource;SvgSource73,2112 +typedef struct _SvgTexture {_SvgTexture75,2126 + CompTexture texture;texture76,2155 + CompMatrix matrix;matrix77,2180 + cairo_t *cr;cr78,2204 + Pixmap pixmap;pixmap79,2225 + int width;width80,2249 + int height;height81,2265 +} SvgTexture;SvgTexture82,2289 +typedef struct _SvgContext {_SvgContext84,2304 + SvgSource *source;source85,2333 + REGION box;box86,2357 + SvgTexture texture[2];texture87,2377 + BoxRec rect;rect88,2404 + int width, height;width89,2425 + int width, height;height89,2425 +} SvgContext;SvgContext90,2455 +typedef struct _SvgWindow {_SvgWindow92,2470 + SvgSource *source;source93,2498 + SvgContext *context;context94,2522 +} SvgWindow;SvgWindow95,2547 +#define GET_SVG_DISPLAY(GET_SVG_DISPLAY97,2561 +#define SVG_DISPLAY(SVG_DISPLAY100,2658 +#define GET_SVG_SCREEN(GET_SVG_SCREEN103,2728 +#define SVG_SCREEN(SVG_SCREEN106,2829 +#define GET_SVG_WINDOW(GET_SVG_WINDOW109,2933 +#define SVG_WINDOW(SVG_WINDOW112,3034 +#define NUM_OPTIONS(NUM_OPTIONS117,3198 +renderSvg (CompScreen *s,renderSvg120,3276 +initSvgTexture (CompScreen *s,initSvgTexture156,4150 +finiSvgTexture (CompScreen *s,finiSvgTexture206,5279 +updateWindowSvgMatrix (CompWindow *w)updateWindowSvgMatrix219,5521 +svgDrawWindow (CompWindow *w,svgDrawWindow252,6534 +updateWindowSvgContext (CompWindow *w,updateWindowSvgContext400,10325 +svgSet (CompDisplay *d,svgSet477,12064 +svgWindowMoveNotify (CompWindow *w,svgWindowMoveNotify564,13827 +svgWindowResizeNotify (CompWindow *w,svgWindowResizeNotify588,14371 +svgHandleEcompEvent (CompDisplay *d,svgHandleEcompEvent606,14826 +readSvgFileToImage (char *file,readSvgFileToImage645,15861 +svgExtension (const char *name)svgExtension705,17088 +svgFileToImage (CompDisplay *d,svgFileToImage718,17272 +svgGetDisplayOptions (CompPlugin *plugin,svgGetDisplayOptions762,18133 +svgSetDisplayOption (CompPlugin *plugin,svgSetDisplayOption773,18324 +static const CompMetadataOptionInfo svgDisplayOptionInfo[] = {svgDisplayOptionInfo789,18656 +svgInitDisplay (CompPlugin *p,svgInitDisplay794,18776 +svgFiniDisplay (CompPlugin *p,svgFiniDisplay834,19584 +svgInitScreen (CompPlugin *p,svgInitScreen855,19969 +svgFiniScreen (CompPlugin *p,svgFiniScreen885,20571 +svgInitWindow (CompPlugin *p,svgInitWindow900,20845 +svgFiniWindow (CompPlugin *p,svgFiniWindow920,21148 +svgInit (CompPlugin *p)svgInit941,21454 +svgFini (CompPlugin *p)svgFini963,21892 +svgGetVersion (CompPlugin *plugin,svgGetVersion970,22020 +svgGetMetadata (CompPlugin *plugin)svgGetMetadata977,22128 +CompPluginVTable svgVTable = {svgVTable982,22194 +getCompPluginInfo (void)getCompPluginInfo1001,22550 + +plugins/move.c,3317 +static CompMetadata moveMetadata;moveMetadata34,1314 +struct _MoveKeys {_MoveKeys36,1349 + char *name;name37,1368 + int dx;dx38,1384 + int dy;dy39,1397 +} mKeys[] = {mKeys40,1410 +#define NUM_KEYS NUM_KEYS47,1527 +#define KEY_MOVE_INC KEY_MOVE_INC49,1582 +#define SNAP_BACK SNAP_BACK51,1607 +#define SNAP_OFF SNAP_OFF52,1628 +static int displayPrivateIndex;displayPrivateIndex54,1651 +#define MOVE_DISPLAY_OPTION_INITIATE MOVE_DISPLAY_OPTION_INITIATE56,1684 +#define MOVE_DISPLAY_OPTION_OPACITY MOVE_DISPLAY_OPTION_OPACITY57,1729 +#define MOVE_DISPLAY_OPTION_CONSTRAIN_Y MOVE_DISPLAY_OPTION_CONSTRAIN_Y58,1773 +#define MOVE_DISPLAY_OPTION_SNAPOFF_MAXIMIZED MOVE_DISPLAY_OPTION_SNAPOFF_MAXIMIZED59,1821 +#define MOVE_DISPLAY_OPTION_LAZY_POSITIONING MOVE_DISPLAY_OPTION_LAZY_POSITIONING60,1869 +#define MOVE_DISPLAY_OPTION_NUM MOVE_DISPLAY_OPTION_NUM61,1917 +typedef struct _MoveDisplay {_MoveDisplay63,1959 + int screenPrivateIndex;screenPrivateIndex64,1989 + HandleEventProc handleEvent;handleEvent65,2022 + CompOption opt[MOVE_DISPLAY_OPTION_NUM];opt67,2056 + CompWindow *w;w69,2102 + int savedX;savedX70,2121 + int savedY;savedY71,2144 + int x;x72,2167 + int y;y73,2185 + Region region;region74,2203 + int status;status75,2226 + KeyCode key[NUM_KEYS];key76,2249 + GLushort moveOpacity;moveOpacity78,2280 +} MoveDisplay;MoveDisplay79,2306 +typedef struct _MoveScreen {_MoveScreen81,2322 + PaintWindowProc paintWindow;paintWindow82,2351 + int grabIndex;grabIndex84,2385 + Cursor moveCursor;moveCursor86,2405 + unsigned int origState;origState88,2429 + int snapOffY;snapOffY90,2458 + int snapBackY;snapBackY91,2476 +} MoveScreen;MoveScreen92,2495 +#define GET_MOVE_DISPLAY(GET_MOVE_DISPLAY94,2510 +#define MOVE_DISPLAY(MOVE_DISPLAY97,2610 +#define GET_MOVE_SCREEN(GET_MOVE_SCREEN100,2692 +#define MOVE_SCREEN(MOVE_SCREEN103,2803 +#define NUM_OPTIONS(NUM_OPTIONS106,2914 +moveInitiate (CompDisplay *d,moveInitiate109,2992 +moveTerminate (CompDisplay *d,moveTerminate215,5186 +moveGetYConstrainRegion (CompScreen *s)moveGetYConstrainRegion264,6311 +sendMoveResizeWindowMessage (CompWindow *w, int x, int y, int width, int height)sendMoveResizeWindowMessage352,8416 +moveHandleMotionEvent (CompScreen *s,moveHandleMotionEvent389,9511 +moveHandleEvent (CompDisplay *d,moveHandleEvent599,13899 +movePaintWindow (CompWindow *w,movePaintWindow740,17044 +moveGetDisplayOptions (CompPlugin *plugin,moveGetDisplayOptions774,17794 +moveSetDisplayOption (CompPlugin *plugin,moveSetDisplayOption785,17990 +static const CompMetadataOptionInfo moveDisplayOptionInfo[] = {moveDisplayOptionInfo814,18564 +moveInitDisplay (CompPlugin *p,moveInitDisplay823,18898 +moveFiniDisplay (CompPlugin *p,moveFiniDisplay870,19879 +moveInitScreen (CompPlugin *p,moveInitScreen885,20144 +moveFiniScreen (CompPlugin *p,moveFiniScreen908,20544 +moveInit (CompPlugin *p)moveInit922,20757 +moveFini (CompPlugin *p)moveFini944,21201 +moveGetVersion (CompPlugin *plugin,moveGetVersion951,21331 +moveGetMetadata (CompPlugin *plugin)moveGetMetadata958,21435 +CompPluginVTable moveVTable = {moveVTable963,21503 +getCompPluginInfo (void)getCompPluginInfo982,21881 + +plugins/wobbly.c,10433 +#define WIN_X(WIN_X36,1342 +#define WIN_Y(WIN_Y37,1394 +#define WIN_W(WIN_W38,1445 +#define WIN_H(WIN_H39,1514 +#define GRID_WIDTH GRID_WIDTH41,1585 +#define GRID_HEIGHT GRID_HEIGHT42,1607 +#define MODEL_MAX_SPRINGS MODEL_MAX_SPRINGS44,1630 +#define MASS MASS46,1688 +typedef struct _xy_pair {_xy_pair48,1708 + float x, y;x49,1734 + float x, y;y49,1734 +} Point, Vector;Point50,1750 +} Point, Vector;Vector50,1750 +#define NorthEdgeMask NorthEdgeMask52,1768 +#define SouthEdgeMask SouthEdgeMask53,1800 +#define WestEdgeMask WestEdgeMask54,1832 +#define EastEdgeMask EastEdgeMask55,1864 +#define EDGE_DISTANCE EDGE_DISTANCE57,1897 +#define EDGE_VELOCITY EDGE_VELOCITY58,1925 +typedef struct _Edge {_Edge60,1954 + float next, prev;next61,1977 + float next, prev;prev61,1977 + float start;start63,2000 + float end;end64,2017 + float attract;attract66,2033 + float velocity;velocity67,2052 + Bool snapped;snapped69,2073 +} Edge;Edge70,2092 +typedef struct _Object {_Object72,2101 + Vector force;force73,2126 + Point position;position74,2145 + Vector velocity;velocity75,2166 + float theta;theta76,2188 + Bool immobile;immobile77,2206 + unsigned int edgeMask;edgeMask78,2226 + Edge vertEdge;vertEdge79,2253 + Edge horzEdge;horzEdge80,2273 +} Object;Object81,2293 +typedef struct _Spring {_Spring83,2304 + Object *a;a84,2329 + Object *b;b85,2344 + Vector offset;offset86,2359 +} Spring;Spring87,2378 +#define NORTH NORTH89,2389 +#define SOUTH SOUTH90,2405 +#define WEST WEST91,2421 +#define EAST EAST92,2437 +typedef struct _Model {_Model94,2454 + Object *objects;objects95,2478 + int numObjects;numObjects96,2500 + Spring springs[MODEL_MAX_SPRINGS];springs97,2522 + int numSprings;numSprings98,2562 + Object *anchorObject;anchorObject99,2584 + float steps;steps100,2611 + Point topLeft;topLeft101,2629 + Point bottomRight;bottomRight102,2649 + unsigned int edgeMask;edgeMask103,2673 + unsigned int snapCnt[4];snapCnt104,2700 +} Model;Model105,2729 +#define WOBBLY_EFFECT_NONE WOBBLY_EFFECT_NONE107,2739 +#define WOBBLY_EFFECT_SHIVER WOBBLY_EFFECT_SHIVER108,2770 +#define WOBBLY_EFFECT_LAST WOBBLY_EFFECT_LAST109,2801 +static CompMetadata wobblyMetadata;wobblyMetadata111,2852 +static int displayPrivateIndex;displayPrivateIndex113,2889 +#define WOBBLY_DISPLAY_OPTION_SNAP WOBBLY_DISPLAY_OPTION_SNAP115,2922 +#define WOBBLY_DISPLAY_OPTION_SNAP_INVERTED WOBBLY_DISPLAY_OPTION_SNAP_INVERTED116,2968 +#define WOBBLY_DISPLAY_OPTION_SHIVER WOBBLY_DISPLAY_OPTION_SHIVER117,3014 +#define WOBBLY_DISPLAY_OPTION_NUM WOBBLY_DISPLAY_OPTION_NUM118,3060 +typedef struct _WobblyDisplay {_WobblyDisplay120,3107 + int screenPrivateIndex;screenPrivateIndex121,3139 + HandleEventProc handleEvent;handleEvent122,3172 + CompOption opt[WOBBLY_DISPLAY_OPTION_NUM];opt124,3206 + Bool snapping;snapping126,3254 +} WobblyDisplay;WobblyDisplay127,3273 +#define WOBBLY_SCREEN_OPTION_FRICTION WOBBLY_SCREEN_OPTION_FRICTION129,3291 +#define WOBBLY_SCREEN_OPTION_SPRING_K WOBBLY_SCREEN_OPTION_SPRING_K130,3339 +#define WOBBLY_SCREEN_OPTION_GRID_RESOLUTION WOBBLY_SCREEN_OPTION_GRID_RESOLUTION131,3387 +#define WOBBLY_SCREEN_OPTION_MIN_GRID_SIZE WOBBLY_SCREEN_OPTION_MIN_GRID_SIZE132,3437 +#define WOBBLY_SCREEN_OPTION_MAP_EFFECT WOBBLY_SCREEN_OPTION_MAP_EFFECT133,3487 +#define WOBBLY_SCREEN_OPTION_FOCUS_EFFECT WOBBLY_SCREEN_OPTION_FOCUS_EFFECT134,3537 +#define WOBBLY_SCREEN_OPTION_MAP_WINDOW_MATCH WOBBLY_SCREEN_OPTION_MAP_WINDOW_MATCH135,3587 +#define WOBBLY_SCREEN_OPTION_FOCUS_WINDOW_MATCH WOBBLY_SCREEN_OPTION_FOCUS_WINDOW_MATCH136,3637 +#define WOBBLY_SCREEN_OPTION_GRAB_WINDOW_MATCH WOBBLY_SCREEN_OPTION_GRAB_WINDOW_MATCH137,3687 +#define WOBBLY_SCREEN_OPTION_MOVE_WINDOW_MATCH WOBBLY_SCREEN_OPTION_MOVE_WINDOW_MATCH138,3737 +#define WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT139,3787 +#define WOBBLY_SCREEN_OPTION_NUM WOBBLY_SCREEN_OPTION_NUM140,3838 +typedef struct _WobblyScreen {_WobblyScreen142,3883 + int windowPrivateIndex;windowPrivateIndex143,3914 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen145,3943 + DonePaintScreenProc donePaintScreen;donePaintScreen146,3990 + PaintOutputProc paintOutput;paintOutput147,4034 + PaintWindowProc paintWindow;paintWindow148,4070 + DamageWindowRectProc damageWindowRect;damageWindowRect149,4106 + AddWindowGeometryProc addWindowGeometry;addWindowGeometry150,4151 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify152,4198 + WindowMoveNotifyProc windowMoveNotify;windowMoveNotify153,4245 + WindowGrabNotifyProc windowGrabNotify;windowGrabNotify154,4290 + WindowUngrabNotifyProc windowUngrabNotify;windowUngrabNotify155,4335 + CompOption opt[WOBBLY_SCREEN_OPTION_NUM];opt157,4383 + Bool wobblyWindows;wobblyWindows159,4430 + unsigned int grabMask;grabMask161,4455 + CompWindow *grabWindow;grabWindow162,4482 + Bool moveWindow;moveWindow163,4511 +} WobblyScreen;WobblyScreen164,4540 +#define WobblyInitial WobblyInitial166,4557 +#define WobblyForce WobblyForce167,4590 +#define WobblyVelocity WobblyVelocity168,4623 +typedef struct _WobblyWindow {_WobblyWindow170,4657 + Model *model;model171,4688 + int wobbly;wobbly172,4707 + Bool grabbed;grabbed173,4725 + Bool velocity;velocity174,4744 + unsigned int state;state175,4764 +} WobblyWindow;WobblyWindow176,4788 +#define GET_WOBBLY_DISPLAY(GET_WOBBLY_DISPLAY178,4805 +#define WOBBLY_DISPLAY(WOBBLY_DISPLAY181,4911 +#define GET_WOBBLY_SCREEN(GET_WOBBLY_SCREEN184,4995 +#define WOBBLY_SCREEN(WOBBLY_SCREEN187,5104 +#define GET_WOBBLY_WINDOW(GET_WOBBLY_WINDOW190,5221 +#define WOBBLY_WINDOW(WOBBLY_WINDOW193,5330 +#define NUM_OPTIONS(NUM_OPTIONS198,5530 +wobblyGetScreenOptions (CompPlugin *plugin,wobblyGetScreenOptions201,5616 +wobblySetScreenOption (CompPlugin *plugin,wobblySetScreenOption212,5798 +static const CompMetadataOptionInfo wobblyScreenOptionInfo[] = {wobblyScreenOptionInfo228,6138 +#define SNAP_WINDOW_TYPE SNAP_WINDOW_TYPE242,6827 +findNextWestEdge (CompWindow *w,findNextWestEdge248,6995 +findNextEastEdge (CompWindow *w,findNextEastEdge353,8970 +findNextNorthEdge (CompWindow *w,findNextNorthEdge458,10919 +findNextSouthEdge (CompWindow *w,findNextSouthEdge561,12874 +objectInit (Object *object,objectInit665,14826 +springInit (Spring *spring,springInit693,15389 +modelCalcBounds (Model *model)modelCalcBounds706,15620 +modelAddSpring (Model *model,modelAddSpring730,16338 +modelSetMiddleAnchor (Model *model,modelSetMiddleAnchor745,16593 +modelSetTopAnchor (Model *model,modelSetTopAnchor769,17208 +modelAddEdgeAnchors (Model *model,modelAddEdgeAnchors789,17654 +modelRemoveEdgeAnchors (Model *model,modelRemoveEdgeAnchors822,18360 +modelAdjustObjectPosition (Model *model,modelAdjustObjectPosition856,19107 +modelInitObjects (Model *model,modelInitObjects885,19628 +modelUpdateSnapping (CompWindow *window,modelUpdateSnapping913,20121 +modelReduceEdgeEscapeVelocity (Model *model)modelReduceEdgeEscapeVelocity986,21757 +modelDisableSnapping (CompWindow *window,modelDisableSnapping1006,22187 +modelAdjustObjectsForShiver (Model *model,modelAdjustObjectsForShiver1035,22774 +modelInitSprings (Model *model,modelInitSprings1073,23469 +modelMove (Model *model,modelMove1109,24116 +createModel (int x,createModel1123,24331 +objectApplyForce (Object *object,objectApplyForce1161,25040 +springExertForces (Spring *spring,springExertForces1170,25175 +objectReleaseWestEdge (CompWindow *w,objectReleaseWestEdge1190,25648 +objectReleaseEastEdge (CompWindow *w,objectReleaseEastEdge1214,26065 +objectReleaseNorthEdge (CompWindow *w,objectReleaseNorthEdge1238,26482 +objectReleaseSouthEdge (CompWindow *w,objectReleaseSouthEdge1262,26891 +modelStepObject (CompWindow *window,modelStepObject1286,27301 +modelStep (CompWindow *window,modelStep1478,31920 +bezierPatchEvaluate (Model *model,bezierPatchEvaluate1523,32771 +wobblyEnsureModel (CompWindow *w)wobblyEnsureModel1561,33575 +objectDistance (Object *object,objectDistance1583,33973 +modelFindNearestObject (Model *model,modelFindNearestObject1596,34173 +isWobblyWin (CompWindow *w)isWobblyWin1618,34587 +wobblyPreparePaintScreen (CompScreen *s,wobblyPreparePaintScreen1640,34987 +wobblyDonePaintScreen (CompScreen *s)wobblyDonePaintScreen1750,37661 +wobblyDrawWindowGeometry (CompWindow *w)wobblyDrawWindowGeometry1763,37957 +wobblyAddWindowGeometry (CompWindow *w,wobblyAddWindowGeometry1803,38945 +wobblyPaintWindow (CompWindow *w,wobblyPaintWindow1965,42228 +wobblyEnableSnapping (CompDisplay *d,wobblyEnableSnapping1987,42743 +wobblyDisableSnapping (CompDisplay *d,wobblyDisableSnapping2015,43230 +wobblyShiver (CompDisplay *d,wobblyShiver2056,43940 +wobblyHandleEvent (CompDisplay *d,wobblyHandleEvent2090,44688 +wobblyDamageWindowRect (CompWindow *w,wobblyDamageWindowRect2240,47861 +wobblyWindowResizeNotify (CompWindow *w,wobblyWindowResizeNotify2315,49471 +wobblyWindowMoveNotify (CompWindow *w,wobblyWindowMoveNotify2408,51852 +wobblyWindowGrabNotify (CompWindow *w,wobblyWindowGrabNotify2454,52785 +wobblyWindowUngrabNotify (CompWindow *w)wobblyWindowUngrabNotify2558,55024 +wobblyPaintOutput (CompScreen *s,wobblyPaintOutput2602,55905 +wobblyGetDisplayOptions (CompPlugin *plugin,wobblyGetDisplayOptions2624,56432 +wobblySetDisplayOption (CompPlugin *plugin,wobblySetDisplayOption2635,56624 +static const CompMetadataOptionInfo wobblyDisplayOptionInfo[] = {wobblyDisplayOptionInfo2664,57184 +wobblyInitDisplay (CompPlugin *p,wobblyInitDisplay2672,57470 +wobblyFiniDisplay (CompPlugin *p,wobblyFiniDisplay2709,58190 +wobblyInitScreen (CompPlugin *p,wobblyInitScreen2724,58463 +wobblyFiniScreen (CompPlugin *p,wobblyFiniScreen2776,59832 +wobblyInitWindow (CompPlugin *p,wobblyInitWindow2800,60441 +wobblyFiniWindow (CompPlugin *p,wobblyFiniWindow2828,60938 +wobblyInit (CompPlugin *p)wobblyInit2850,61243 +wobblyFini (CompPlugin *p)wobblyFini2873,61749 +wobblyGetVersion (CompPlugin *plugin,wobblyGetVersion2880,61883 +wobblyGetMetadata (CompPlugin *plugin)wobblyGetMetadata2887,61993 +CompPluginVTable wobblyVTable = {wobblyVTable2892,62065 +getCompPluginInfo (void)getCompPluginInfo2911,62458 + +plugins/glib.c,1649 +static CompMetadata glibMetadata;glibMetadata29,1243 +static int displayPrivateIndex;displayPrivateIndex31,1278 +typedef struct _GLibWatch {_GLibWatch33,1311 + CompWatchFdHandle handle;handle34,1339 + int index;index35,1369 + CompDisplay *display;display36,1391 +} GLibWatch;GLibWatch37,1423 +typedef struct _GConfDisplay {_GConfDisplay39,1437 + HandleEventProc handleEvent;handleEvent40,1468 + CompTimeoutHandle timeoutHandle;timeoutHandle41,1503 + gint maxPriority;maxPriority42,1540 + GPollFD *fds;fds43,1568 + gint fdsSize;fdsSize44,1592 + gint nFds;nFds45,1616 + GLibWatch *watch;watch46,1637 + Atom notifyAtom;notifyAtom47,1665 +} GLibDisplay;GLibDisplay48,1692 +#define GET_GLIB_DISPLAY(GET_GLIB_DISPLAY50,1708 +#define GLIB_DISPLAY(GLIB_DISPLAY53,1808 +glibDispatch (CompDisplay *display,glibDispatch57,1895 +glibDispatchAndPrepare (void *closure)glibDispatchAndPrepare76,2288 +glibWakeup (CompDisplay *display)glibWakeup88,2545 +glibCollectEvents (void *closure)glibCollectEvents102,2792 +glibPrepare (CompDisplay *display,glibPrepare117,3081 +glibHandleEvent (CompDisplay *d,glibHandleEvent172,4148 +glibInitDisplay (CompPlugin *p,glibInitDisplay189,4483 +glibFiniDisplay (CompPlugin *p,glibFiniDisplay213,4962 +glibInit (CompPlugin *p)glibInit232,5256 +glibFini (CompPlugin *p)glibFini251,5640 +glibGetVersion (CompPlugin *plugin,glibGetVersion258,5770 +glibGetMetadata (CompPlugin *plugin)glibGetMetadata265,5874 +CompPluginVTable glibVTable = {glibVTable270,5942 +getCompPluginInfo (void)getCompPluginInfo289,6336 + +plugins/plane.c,4467 +static CompMetadata planeMetadata;planeMetadata37,1382 +static int displayPrivateIndex;displayPrivateIndex39,1418 + PLANE_DISPLAY_OPTION_LEFT,PLANE_DISPLAY_OPTION_LEFT43,1458 + PLANE_DISPLAY_OPTION_RIGHT,PLANE_DISPLAY_OPTION_RIGHT44,1489 + PLANE_DISPLAY_OPTION_DOWN,PLANE_DISPLAY_OPTION_DOWN45,1521 + PLANE_DISPLAY_OPTION_UP,PLANE_DISPLAY_OPTION_UP46,1552 + PLANE_DISPLAY_OPTION_TO_1,PLANE_DISPLAY_OPTION_TO_147,1581 + PLANE_DISPLAY_OPTION_TO_2,PLANE_DISPLAY_OPTION_TO_248,1612 + PLANE_DISPLAY_OPTION_TO_3,PLANE_DISPLAY_OPTION_TO_349,1643 + PLANE_DISPLAY_OPTION_TO_4,PLANE_DISPLAY_OPTION_TO_450,1674 + PLANE_DISPLAY_OPTION_TO_5,PLANE_DISPLAY_OPTION_TO_551,1705 + PLANE_DISPLAY_OPTION_TO_6,PLANE_DISPLAY_OPTION_TO_652,1736 + PLANE_DISPLAY_OPTION_TO_7,PLANE_DISPLAY_OPTION_TO_753,1767 + PLANE_DISPLAY_OPTION_TO_8,PLANE_DISPLAY_OPTION_TO_854,1798 + PLANE_DISPLAY_OPTION_TO_9,PLANE_DISPLAY_OPTION_TO_955,1829 + PLANE_DISPLAY_OPTION_TO_10,PLANE_DISPLAY_OPTION_TO_1056,1860 + PLANE_DISPLAY_OPTION_TO_11,PLANE_DISPLAY_OPTION_TO_1157,1892 + PLANE_DISPLAY_OPTION_TO_12,PLANE_DISPLAY_OPTION_TO_1258,1924 + PLANE_N_DISPLAY_OPTIONSPLANE_N_DISPLAY_OPTIONS59,1956 +typedef struct _PlaneDisplay {_PlaneDisplay62,1988 + int screenPrivateIndex;screenPrivateIndex63,2019 + HandleEventProc handleEvent;handleEvent64,2049 + CompOption opt[PLANE_N_DISPLAY_OPTIONS];opt66,2083 +} PlaneDisplay;PlaneDisplay67,2129 +typedef struct _PlaneScreen {_PlaneScreen69,2146 + int windowPrivateIndex;windowPrivateIndex70,2176 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput72,2205 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen73,2261 + DonePaintScreenProc donePaintScreen;donePaintScreen74,2309 + PaintOutputProc paintOutput;paintOutput75,2352 + PaintWindowProc paintWindow;paintWindow76,2387 + WindowGrabNotifyProc windowGrabNotify;windowGrabNotify78,2441 + WindowUngrabNotifyProc windowUngrabNotify;windowUngrabNotify79,2485 + CompTimeoutHandle timeoutHandle;timeoutHandle81,2534 + int timer;timer82,2573 + double cur_x;cur_x84,2593 + double cur_y;cur_y85,2614 + double dest_x;dest_x86,2635 + double dest_y;dest_y87,2657 +} PlaneScreen;PlaneScreen88,2679 +#define GET_PLANE_DISPLAY(GET_PLANE_DISPLAY90,2695 +#define PLANE_DISPLAY(PLANE_DISPLAY93,2799 +#define GET_PLANE_SCREEN(GET_PLANE_SCREEN96,2880 +#define PLANE_SCREEN(PLANE_SCREEN99,2987 +#define NUM_OPTIONS(NUM_OPTIONS102,3100 +endMove (void *data)endMove105,3178 +#define SCROLL_TIME SCROLL_TIME120,3457 +computeTranslation (PlaneScreen *ps,computeTranslation123,3492 +moveViewport (CompScreen *screen,moveViewport144,3949 +planePreparePaintScreen (CompScreen *s,planePreparePaintScreen189,4811 +planePaintTransformedOutput (CompScreen *screen,planePaintTransformedOutput204,5115 +planePaintWindow (CompWindow *w,planePaintWindow327,7627 +planeDonePaintScreen (CompScreen *s)planeDonePaintScreen389,9154 +planePaintOutput (CompScreen *s,planePaintOutput404,9405 +planeHandleEvent (CompDisplay *d,planeHandleEvent429,9946 +planeWindowGrabNotify (CompWindow *w,planeWindowGrabNotify494,11123 +planeWindowUngrabNotify (CompWindow *w)planeWindowUngrabNotify508,11480 +planeGetDisplayOptions (CompPlugin *plugin,planeGetDisplayOptions518,11737 +planeSetDisplayOption (CompPlugin *plugin,planeSetDisplayOption529,11924 +getScreen (CompDisplay *d,getScreen546,12288 +planeLeft (CompDisplay *d,planeLeft556,12503 +planeRight (CompDisplay *d,planeRight569,12762 +planeUp (CompDisplay *d,planeUp582,13033 +planeDown (CompDisplay *d,planeDown595,13278 +planeTo (CompDisplay *d,planeTo608,13540 +static const CompMetadataOptionInfo planeDisplayOptionInfo[] = {planeDisplayOptionInfo643,14284 +planeInitDisplay (CompPlugin *p,planeInitDisplay663,15125 +planeFiniDisplay (CompPlugin *p,planeFiniDisplay698,15807 +planeInitScreen (CompPlugin *p,planeInitScreen713,16075 +planeFiniScreen (CompPlugin *p,planeFiniScreen748,16980 +planeInit (CompPlugin *p)planeInit767,17408 +planeFini (CompPlugin *p)planeFini789,17860 +planeGetVersion (CompPlugin *plugin,planeGetVersion796,17992 +planeGetMetadata (CompPlugin *plugin)planeGetMetadata803,18099 +CompPluginVTable planeVTable = {planeVTable808,18169 +getCompPluginInfo (void)getCompPluginInfo827,18543 + +plugins/clone.c,3337 +static CompMetadata cloneMetadata;cloneMetadata34,1325 +static int displayPrivateIndex;displayPrivateIndex36,1361 +#define CLONE_DISPLAY_OPTION_INITIATE CLONE_DISPLAY_OPTION_INITIATE38,1394 +#define CLONE_DISPLAY_OPTION_NUM CLONE_DISPLAY_OPTION_NUM39,1434 +typedef struct _CloneDisplay {_CloneDisplay41,1475 + int screenPrivateIndex;screenPrivateIndex42,1506 + HandleEventProc handleEvent;handleEvent43,1539 + CompOption opt[CLONE_DISPLAY_OPTION_NUM];opt45,1573 +} CloneDisplay;CloneDisplay46,1619 +typedef struct _CloneClone {_CloneClone48,1636 + int src;src49,1665 + int dst;dst50,1681 + Region region;region51,1697 + Window input;input52,1716 +} CloneClone;CloneClone53,1734 +typedef struct _CloneScreen {_CloneScreen55,1749 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen56,1779 + DonePaintScreenProc donePaintScreen;donePaintScreen57,1826 + PaintOutputProc paintOutput;paintOutput58,1870 + PaintWindowProc paintWindow;paintWindow59,1906 + OutputChangeNotifyProc outputChangeNotify;outputChangeNotify60,1942 + int grabIndex;grabIndex62,1990 + Bool grab;grab63,2010 + float offset;offset65,2026 + Bool transformed;transformed67,2045 + CloneClone *clone;clone69,2068 + int nClone;nClone70,2091 + int x, y;x72,2115 + int x, y;y72,2115 + int grabbedOutput;grabbedOutput73,2129 + int src, dst;src74,2152 + int src, dst;dst74,2152 +} CloneScreen;CloneScreen75,2170 +#define GET_CLONE_DISPLAY(GET_CLONE_DISPLAY77,2186 +#define CLONE_DISPLAY(CLONE_DISPLAY80,2289 +#define GET_CLONE_SCREEN(GET_CLONE_SCREEN83,2368 +#define CLONE_SCREEN(CLONE_SCREEN86,2482 +#define NUM_OPTIONS(NUM_OPTIONS89,2600 +cloneRemove (CompScreen *s,cloneRemove92,2678 +cloneFinish (CompScreen *s)cloneFinish120,3156 +clonePreparePaintScreen (CompScreen *s,clonePreparePaintScreen206,4714 +cloneDonePaintScreen (CompScreen *s)cloneDonePaintScreen274,6328 +clonePaintOutput (CompScreen *s,clonePaintOutput287,6582 +clonePaintWindow (CompWindow *w,clonePaintWindow428,10238 +cloneInitiate (CompDisplay *d,cloneInitiate449,10748 +cloneTerminate (CompDisplay *d,cloneTerminate503,11756 +cloneSetStrutsForCloneWindow (CompScreen *s,cloneSetStrutsForCloneWindow543,12518 +cloneHandleMotionEvent (CompScreen *s,cloneHandleMotionEvent604,13984 +cloneHandleEvent (CompDisplay *d,cloneHandleEvent620,14182 +cloneOutputChangeNotify (CompScreen *s)cloneOutputChangeNotify665,15111 +cloneGetDisplayOptions (CompPlugin *plugin,cloneGetDisplayOptions689,15608 +cloneSetDisplayOption (CompPlugin *plugin,cloneSetDisplayOption700,15795 +static const CompMetadataOptionInfo cloneDisplayOptionInfo[] = {cloneDisplayOptionInfo716,16139 +cloneInitDisplay (CompPlugin *p,cloneInitDisplay722,16316 +cloneFiniDisplay (CompPlugin *p,cloneFiniDisplay757,17000 +cloneInitScreen (CompPlugin *p,cloneInitScreen772,17269 +cloneFiniScreen (CompPlugin *p,cloneFiniScreen807,17977 +cloneInit (CompPlugin *p)cloneInit822,18266 +cloneFini (CompPlugin *p)cloneFini844,18716 +cloneGetVersion (CompPlugin *plugin,cloneGetVersion851,18848 +cloneGetMetadata (CompPlugin *plugin)cloneGetMetadata858,18955 +CompPluginVTable cloneVTable = {cloneVTable863,19025 +getCompPluginInfo (void)getCompPluginInfo882,19415 + +plugins/water.c,5984 +#define TEXTURE_SIZE TEXTURE_SIZE37,1357 +#define K K39,1383 +#define TEXTURE_NUM TEXTURE_NUM41,1402 +typedef struct _WaterFunction {_WaterFunction43,1425 + struct _WaterFunction *next;next44,1457 + int handle;handle46,1491 + int target;target47,1507 + int param;param48,1523 + int unit;unit49,1538 +} WaterFunction;WaterFunction50,1552 +#define TINDEX(TINDEX52,1570 +#define CLAMP(CLAMP54,1630 +#define WATER_INITIATE_MODIFIERS_DEFAULT WATER_INITIATE_MODIFIERS_DEFAULT60,1747 +static CompMetadata waterMetadata;waterMetadata62,1819 +static int displayPrivateIndex;displayPrivateIndex64,1855 +static int waterLastPointerX = 0;waterLastPointerX66,1888 +static int waterLastPointerY = 0;waterLastPointerY67,1922 +#define WATER_DISPLAY_OPTION_INITIATE WATER_DISPLAY_OPTION_INITIATE69,1957 +#define WATER_DISPLAY_OPTION_TOGGLE_RAIN WATER_DISPLAY_OPTION_TOGGLE_RAIN70,2001 +#define WATER_DISPLAY_OPTION_TOGGLE_WIPER WATER_DISPLAY_OPTION_TOGGLE_WIPER71,2045 +#define WATER_DISPLAY_OPTION_OFFSET_SCALE WATER_DISPLAY_OPTION_OFFSET_SCALE72,2089 +#define WATER_DISPLAY_OPTION_RAIN_DELAY WATER_DISPLAY_OPTION_RAIN_DELAY73,2133 +#define WATER_DISPLAY_OPTION_TITLE_WAVE WATER_DISPLAY_OPTION_TITLE_WAVE74,2177 +#define WATER_DISPLAY_OPTION_POINT WATER_DISPLAY_OPTION_POINT75,2221 +#define WATER_DISPLAY_OPTION_LINE WATER_DISPLAY_OPTION_LINE76,2265 +#define WATER_DISPLAY_OPTION_NUM WATER_DISPLAY_OPTION_NUM77,2309 +typedef struct _WaterDisplay {_WaterDisplay79,2354 + int screenPrivateIndex;screenPrivateIndex80,2385 + CompOption opt[WATER_DISPLAY_OPTION_NUM];opt82,2419 + HandleEventProc handleEvent;handleEvent84,2466 + float offsetScale;offsetScale86,2500 +} WaterDisplay;WaterDisplay87,2523 +typedef struct _WaterScreen {_WaterScreen89,2540 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen90,2570 + DonePaintScreenProc donePaintScreen;donePaintScreen91,2617 + DrawWindowTextureProc drawWindowTexture;drawWindowTexture92,2661 + int grabIndex;grabIndex94,2708 + int width, height;width95,2727 + int width, height;height95,2727 + GLuint program;program97,2751 + GLuint texture[TEXTURE_NUM];texture98,2771 + int tIndex;tIndex100,2805 + GLenum target;target101,2825 + GLfloat tx, ty;tx102,2845 + GLfloat tx, ty;ty102,2845 + int count;count104,2866 + GLuint fbo;fbo106,2882 + GLint fboStatus;fboStatus107,2898 + void *data;data109,2921 + float *d0;d0110,2939 + float *d1;d1111,2956 + unsigned char *t0;t0112,2973 + CompTimeoutHandle rainHandle;rainHandle114,2997 + CompTimeoutHandle wiperHandle;wiperHandle115,3031 + float wiperAngle;wiperAngle117,3067 + float wiperSpeed;wiperSpeed118,3089 + WaterFunction *bumpMapFunctions;bumpMapFunctions120,3112 +} WaterScreen;WaterScreen121,3149 +#define GET_WATER_DISPLAY(GET_WATER_DISPLAY123,3165 +#define WATER_DISPLAY(WATER_DISPLAY126,3268 +#define GET_WATER_SCREEN(GET_WATER_SCREEN129,3347 +#define WATER_SCREEN(WATER_SCREEN132,3454 +#define NUM_OPTIONS(NUM_OPTIONS135,3565 +static const char *waterFpString =waterFpString143,3726 +loadFragmentProgram (CompScreen *s,loadFragmentProgram204,5231 +loadWaterProgram (CompScreen *s)loadWaterProgram237,5929 +getBumpMapFragmentFunction (CompScreen *s,getBumpMapFragmentFunction259,6402 +allocTexture (CompScreen *s,allocTexture390,9258 +fboPrologue (CompScreen *s,fboPrologue423,9974 +fboEpilogue (CompScreen *s)fboEpilogue478,11173 +fboUpdate (CompScreen *s,fboUpdate504,11692 +fboVertices (CompScreen *s,fboVertices571,13572 +softwareUpdate (CompScreen *s,softwareUpdate610,14225 +#define D(D633,14675 +#undef DD716,16425 +#define SET(SET745,16877 +softwarePoints (CompScreen *s,softwarePoints748,16967 +softwareLines (CompScreen *s,softwareLines775,17399 +#define SWAP(SWAP790,17643 +#undef SWAPSWAP822,17981 +#undef SETSET854,18333 +softwareVertices (CompScreen *s,softwareVertices857,18357 +waterUpdate (CompScreen *s,waterUpdate874,18621 +scaleVertices (CompScreen *s,scaleVertices894,18921 +waterVertices (CompScreen *s,waterVertices908,19146 +waterRainTimeout (void *closure)waterRainTimeout929,19494 +waterWiperTimeout (void *closure)waterWiperTimeout945,19832 +waterReset (CompScreen *s)waterReset963,20107 +waterDrawWindowTexture (CompWindow *w,waterDrawWindowTexture1030,21341 +waterPreparePaintScreen (CompScreen *s,waterPreparePaintScreen1114,23649 +#define TAN(TAN1165,24521 +#undef TANTAN1196,25094 +waterDonePaintScreen (CompScreen *s)waterDonePaintScreen1209,25311 +waterHandleMotionEvent (CompDisplay *d,waterHandleMotionEvent1222,25552 +waterInitiate (CompDisplay *d,waterInitiate1250,26002 +waterTerminate (CompDisplay *d,waterTerminate1295,26945 +waterToggleRain (CompDisplay *d,waterToggleRain1318,27286 +waterToggleWiper (CompDisplay *d,waterToggleWiper1351,27887 +waterTitleWave (CompDisplay *d,waterTitleWave1382,28431 +waterPoint (CompDisplay *d,waterPoint1413,29027 +waterLine (CompDisplay *d,waterLine1444,29655 +waterHandleEvent (CompDisplay *d,waterHandleEvent1480,30443 +waterGetDisplayOptions (CompPlugin *plugin,waterGetDisplayOptions1522,31190 +waterSetDisplayOption (CompPlugin *plugin,waterSetDisplayOption1533,31377 +static const CompMetadataOptionInfo waterDisplayOptionInfo[] = {waterDisplayOptionInfo1580,32313 +waterInitDisplay (CompPlugin *p,waterInitDisplay1592,32819 +waterFiniDisplay (CompPlugin *p,waterFiniDisplay1629,33586 +waterInitScreen (CompPlugin *p,waterInitScreen1644,33855 +waterFiniScreen (CompPlugin *p,waterFiniScreen1669,34344 +waterInit (CompPlugin *p)waterInit1716,35198 +waterFini (CompPlugin *p)waterFini1738,35648 +waterGetVersion (CompPlugin *plugin,waterGetVersion1745,35780 +waterGetMetadata (CompPlugin *plugin)waterGetMetadata1752,35887 +static CompPluginVTable waterVTable = {waterVTable1757,35957 +getCompPluginInfo (void)getCompPluginInfo1776,36354 + +plugins/fuse.c,5670 +static CompMetadata fuseMetadata;fuseMetadata37,1396 +#define FUSE_INODE_TYPE_ROOT FUSE_INODE_TYPE_ROOT39,1431 +#define FUSE_INODE_TYPE_CORE FUSE_INODE_TYPE_CORE40,1476 +#define FUSE_INODE_TYPE_PLUGIN FUSE_INODE_TYPE_PLUGIN41,1521 +#define FUSE_INODE_TYPE_SCREEN FUSE_INODE_TYPE_SCREEN42,1566 +#define FUSE_INODE_TYPE_DISPLAY FUSE_INODE_TYPE_DISPLAY43,1611 +#define FUSE_INODE_TYPE_OPTION FUSE_INODE_TYPE_OPTION44,1656 +#define FUSE_INODE_TYPE_TYPE FUSE_INODE_TYPE_TYPE45,1701 +#define FUSE_INODE_TYPE_VALUE FUSE_INODE_TYPE_VALUE46,1746 +#define FUSE_INODE_TYPE_ITEM_COUNT FUSE_INODE_TYPE_ITEM_COUNT47,1791 +#define FUSE_INODE_TYPE_ITEM_TYPE FUSE_INODE_TYPE_ITEM_TYPE48,1836 +#define FUSE_INODE_TYPE_ITEMS FUSE_INODE_TYPE_ITEMS49,1881 +#define FUSE_INODE_TYPE_ITEM_VALUE FUSE_INODE_TYPE_ITEM_VALUE50,1927 +#define FUSE_INODE_TYPE_KEY FUSE_INODE_TYPE_KEY51,1973 +#define FUSE_INODE_TYPE_BUTTON FUSE_INODE_TYPE_BUTTON52,2019 +#define FUSE_INODE_TYPE_EDGE FUSE_INODE_TYPE_EDGE53,2065 +#define FUSE_INODE_TYPE_EDGE_BUTTON FUSE_INODE_TYPE_EDGE_BUTTON54,2111 +#define FUSE_INODE_TYPE_BELL FUSE_INODE_TYPE_BELL55,2157 +#define FUSE_INODE_TYPE_MIN FUSE_INODE_TYPE_MIN56,2203 +#define FUSE_INODE_TYPE_MAX FUSE_INODE_TYPE_MAX57,2249 +#define FUSE_INODE_TYPE_PRECISION FUSE_INODE_TYPE_PRECISION58,2295 +#define DIR_MASK DIR_MASK60,2342 +#define CONST_DIR_MASK CONST_DIR_MASK68,2576 +#define ACTION_MASK ACTION_MASK74,2749 +#define WRITE_MASK WRITE_MASK80,2932 +#define FUSE_INODE_FLAG_TRUNC FUSE_INODE_FLAG_TRUNC88,3177 +typedef struct _FuseInode {_FuseInode90,3217 + struct _FuseInode *parent;parent91,3245 + struct _FuseInode *child;child92,3276 + struct _FuseInode *sibling;sibling93,3306 + int type;type95,3339 + int flags;flags96,3360 + fuse_ino_t ino;ino97,3382 + char *name;name98,3402 +} FuseInode;FuseInode99,3424 +typedef struct _FuseWriteBuffer {_FuseWriteBuffer101,3438 + char *data;data102,3472 + int size;size103,3488 + Bool dirty;dirty104,3503 +} FuseWriteBuffer;FuseWriteBuffer105,3519 +static int displayPrivateIndex;displayPrivateIndex107,3539 +#define FUSE_DISPLAY_OPTION_MOUNT_POINT FUSE_DISPLAY_OPTION_MOUNT_POINT109,3572 +#define FUSE_DISPLAY_OPTION_NUM FUSE_DISPLAY_OPTION_NUM110,3614 +typedef struct _FuseDisplay {_FuseDisplay112,3650 + CompOption opt[FUSE_DISPLAY_OPTION_NUM];opt113,3680 + struct fuse_session *session;session115,3726 + struct fuse_chan *channel;channel116,3760 + char *mountPoint;mountPoint117,3794 + CompWatchFdHandle watchFdHandle;watchFdHandle118,3817 + char *buffer;buffer119,3856 +} FuseDisplay;FuseDisplay120,3875 +#define GET_FUSE_DISPLAY(GET_FUSE_DISPLAY122,3891 +#define FUSE_DISPLAY(FUSE_DISPLAY125,3991 +#define NUM_OPTIONS(NUM_OPTIONS128,4066 +static const char *edgeName[] = {edgeName130,4132 +static fuse_ino_t nextIno = 1;nextIno141,4331 +static FuseInode *inodes = NULL;inodes142,4362 +fuseAddInode (FuseInode *parent,fuseAddInode145,4416 +fuseRemoveInode (FuseInode *parent,fuseRemoveInode175,4937 +fuseFindInode (FuseInode *inode,fuseFindInode206,5382 +fuseLookupChild (FuseInode *inode,fuseLookupChild232,5747 +fuseGetDisplayOptionsFromInode (CompDisplay *d,fuseGetDisplayOptionsFromInode245,5961 +fuseGetScreenOptionsFromInode (CompScreen *s,fuseGetScreenOptionsFromInode268,6454 +fuseGetOptionsFromInode (CompDisplay *d,fuseGetOptionsFromInode291,6951 +fuseGetOptionFromInode (CompDisplay *d,fuseGetOptionFromInode320,7562 +fuseGetStringFromInode (CompDisplay *d,fuseGetStringFromInode349,8066 +fuseUpdateInode (CompDisplay *d,fuseUpdateInode497,11558 +fuseInodeStat (CompDisplay *d,fuseInodeStat630,14987 +fuseInitValue (CompOptionValue *value,fuseInitValue663,15529 +fuseInitValueFromString (CompOptionValue *value,fuseInitValueFromString695,16147 +fuseFiniValue (CompOptionValue *value,fuseFiniValue728,16811 +fuseSetInodeOptionUsingString (CompDisplay *d,fuseSetInodeOptionUsingString755,17295 +ecomp_getattr (fuse_req_t req,ecomp_getattr908,20433 +ecomp_setattr (fuse_req_t req,ecomp_setattr933,20883 +ecomp_lookup (fuse_req_t req,ecomp_lookup974,21623 +struct dirbuf {dirbuf1010,22348 + char *p;p1011,22364 + size_t size;size1012,22379 +dirbuf_add (fuse_req_t req,dirbuf_add1016,22412 +reply_buf_limited (fuse_req_t req,reply_buf_limited1036,22859 +ecomp_readdir (fuse_req_t req,ecomp_readdir1049,23146 +ecomp_open (fuse_req_t req,ecomp_open1083,23919 +ecomp_read (fuse_req_t req,ecomp_read1147,24967 +ecomp_write (fuse_req_t req,ecomp_write1173,25492 +ecomp_release (fuse_req_t req,ecomp_release1217,26253 +ecomp_fsync (fuse_req_t req,ecomp_fsync1244,26779 +static struct fuse_lowlevel_ops ecomp_ll_oper = {ecomp_ll_oper1270,27317 +fuseUnmount (CompDisplay *d)fuseUnmount1283,27641 +fuseProcessMessages (void *data)fuseProcessMessages1310,28077 +fuseMount (CompDisplay *d)fuseMount1343,28708 +fuseGetDisplayOptions (CompPlugin *plugin,fuseGetDisplayOptions1388,29682 +fuseSetDisplayOption (CompPlugin *plugin,fuseSetDisplayOption1399,29878 +static const CompMetadataOptionInfo fuseDisplayOptionInfo[] = {fuseDisplayOptionInfo1428,30411 +fuseInitDisplay (CompPlugin *p,fuseInitDisplay1433,30532 +fuseFiniDisplay (CompPlugin *p,fuseFiniDisplay1485,31557 +fuseInit (CompPlugin *p)fuseInit1500,31794 +fuseFini (CompPlugin *p)fuseFini1530,32412 +fuseGetVersion (CompPlugin *plugin,fuseGetVersion1538,32578 +fuseGetMetadata (CompPlugin *plugin)fuseGetMetadata1545,32682 +CompPluginVTable fuseVTable = {fuseVTable1550,32750 +getCompPluginInfo (void)getCompPluginInfo1569,33134 + +plugins/switcher.c,7339 +#define ZOOMED_WINDOW_MASK ZOOMED_WINDOW_MASK39,1430 +#define NORMAL_WINDOW_MASK NORMAL_WINDOW_MASK40,1466 +static CompMetadata switchMetadata;switchMetadata42,1503 +static int displayPrivateIndex;displayPrivateIndex44,1540 +#define SWITCH_DISPLAY_OPTION_NEXT SWITCH_DISPLAY_OPTION_NEXT46,1573 +#define SWITCH_DISPLAY_OPTION_PREV SWITCH_DISPLAY_OPTION_PREV47,1615 +#define SWITCH_DISPLAY_OPTION_NEXT_ALL SWITCH_DISPLAY_OPTION_NEXT_ALL48,1657 +#define SWITCH_DISPLAY_OPTION_PREV_ALL SWITCH_DISPLAY_OPTION_PREV_ALL49,1703 +#define SWITCH_DISPLAY_OPTION_NEXT_NO_POPUP SWITCH_DISPLAY_OPTION_NEXT_NO_POPUP50,1749 +#define SWITCH_DISPLAY_OPTION_PREV_NO_POPUP SWITCH_DISPLAY_OPTION_PREV_NO_POPUP51,1796 +#define SWITCH_DISPLAY_OPTION_NUM SWITCH_DISPLAY_OPTION_NUM52,1843 +typedef struct _SwitchDisplay {_SwitchDisplay54,1885 + int screenPrivateIndex;screenPrivateIndex55,1917 + HandleEventProc handleEvent;handleEvent56,1950 + CompOption opt[SWITCH_DISPLAY_OPTION_NUM];opt58,1984 + Atom selectWinAtom;selectWinAtom60,2032 +} SwitchDisplay;SwitchDisplay61,2056 +#define SWITCH_SCREEN_OPTION_SPEED SWITCH_SCREEN_OPTION_SPEED63,2074 +#define SWITCH_SCREEN_OPTION_TIMESTEP SWITCH_SCREEN_OPTION_TIMESTEP64,2113 +#define SWITCH_SCREEN_OPTION_WINDOW_MATCH SWITCH_SCREEN_OPTION_WINDOW_MATCH65,2155 +#define SWITCH_SCREEN_OPTION_MIPMAP SWITCH_SCREEN_OPTION_MIPMAP66,2199 +#define SWITCH_SCREEN_OPTION_SATURATION SWITCH_SCREEN_OPTION_SATURATION67,2239 +#define SWITCH_SCREEN_OPTION_BRIGHTNESS SWITCH_SCREEN_OPTION_BRIGHTNESS68,2283 +#define SWITCH_SCREEN_OPTION_OPACITY SWITCH_SCREEN_OPTION_OPACITY69,2327 +#define SWITCH_SCREEN_OPTION_BRINGTOFRONT SWITCH_SCREEN_OPTION_BRINGTOFRONT70,2368 +#define SWITCH_SCREEN_OPTION_ZOOM SWITCH_SCREEN_OPTION_ZOOM71,2412 +#define SWITCH_SCREEN_OPTION_ICON SWITCH_SCREEN_OPTION_ICON72,2450 +#define SWITCH_SCREEN_OPTION_MINIMIZED SWITCH_SCREEN_OPTION_MINIMIZED73,2488 +#define SWITCH_SCREEN_OPTION_AUTO_ROTATE SWITCH_SCREEN_OPTION_AUTO_ROTATE74,2532 +#define SWITCH_SCREEN_OPTION_NUM SWITCH_SCREEN_OPTION_NUM75,2577 +typedef struct _SwitchScreen {_SwitchScreen77,2616 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen78,2647 + DonePaintScreenProc donePaintScreen;donePaintScreen79,2694 + PaintOutputProc paintOutput;paintOutput80,2738 + PaintWindowProc paintWindow;paintWindow81,2774 + PaintBackgroundProc paintBackground;paintBackground82,2814 + DamageWindowRectProc damageWindowRect;damageWindowRect83,2858 + CompOption opt[SWITCH_SCREEN_OPTION_NUM];opt85,2904 + Window popupWindow;popupWindow87,2951 + Window selectedWindow;selectedWindow89,2976 + Window zoomedWindow;zoomedWindow90,3004 + unsigned int lastActiveNum;lastActiveNum91,3030 + float zoom;zoom93,3063 + int grabIndex;grabIndex95,3080 + Bool switching;switching97,3100 + Bool zooming;zooming98,3120 + int zoomMask;zoomMask99,3138 + int moreAdjust;moreAdjust101,3158 + GLfloat mVelocity;mVelocity103,3179 + GLfloat tVelocity;tVelocity104,3202 + GLfloat sVelocity;sVelocity105,3225 + CompWindow **windows;windows107,3249 + int windowsSize;windowsSize108,3275 + int nWindows;nWindows109,3303 + int pos;pos111,3329 + int move;move112,3342 + float translate;translate114,3357 + float sTranslate;sTranslate115,3378 + GLushort saturation;saturation117,3401 + GLushort brightness;brightness118,3426 + GLushort opacity;opacity119,3451 + Bool allWindows;allWindows121,3474 +} SwitchScreen;SwitchScreen122,3495 +#define MwmHintsDecorations MwmHintsDecorations124,3512 + unsigned long flags;flags127,3568 + unsigned long functions;functions128,3593 + unsigned long decorations;decorations129,3622 +} MwmHints;MwmHints130,3653 +#define WIDTH WIDTH134,3717 +#define HEIGHT HEIGHT135,3736 +#define SPACE SPACE136,3755 +#define SWITCH_ZOOM SWITCH_ZOOM138,3774 +#define BOX_WIDTH BOX_WIDTH140,3800 +#define ICON_SIZE ICON_SIZE142,3821 +static float _boxVertices[] =_boxVertices144,3843 +#define WINDOW_WIDTH(WINDOW_WIDTH167,4453 +#define WINDOW_HEIGHT WINDOW_HEIGHT168,4514 +#define GET_SWITCH_DISPLAY(GET_SWITCH_DISPLAY170,4561 +#define SWITCH_DISPLAY(SWITCH_DISPLAY173,4667 +#define GET_SWITCH_SCREEN(GET_SWITCH_SCREEN176,4751 +#define SWITCH_SCREEN(SWITCH_SCREEN179,4860 +#define NUM_OPTIONS(NUM_OPTIONS182,4977 +switchGetScreenOptions (CompPlugin *plugin,switchGetScreenOptions185,5063 +switchSetScreenOption (CompPlugin *plugin,switchSetScreenOption196,5245 +setSelectedWindowHint (CompScreen *s)setSelectedWindowHint257,6419 +isSwitchWin (CompWindow *w)isSwitchWin268,6698 +switchActivateEvent (CompScreen *s,switchActivateEvent318,7672 +compareWindows (const void *elem1,compareWindows335,8032 +switchAddWindowToList (CompScreen *s,switchAddWindowToList351,8337 +switchUpdateWindowList (CompScreen *s,switchUpdateWindowList370,8695 +switchCreateWindowList (CompScreen *s,switchCreateWindowList403,9433 +switchToWindow (CompScreen *s,switchToWindow430,9930 +switchCountWindows (CompScreen *s)switchCountWindows523,11672 +findArgbVisual (Display *dpy, int scr)findArgbVisual539,11948 +switchInitiate (CompScreen *s,switchInitiate578,12641 +switchTerminate (CompDisplay *d,switchTerminate709,15415 +switchNext (CompDisplay *d,switchNext795,16982 +switchPrev (CompDisplay *d,switchPrev833,17706 +switchNextAll (CompDisplay *d,switchNextAll870,18430 +switchPrevAll (CompDisplay *d,switchPrevAll907,19162 +switchNextNoPopup (CompDisplay *d,switchNextNoPopup944,19895 +switchPrevNoPopup (CompDisplay *d,switchPrevNoPopup982,20626 +switchWindowRemove (CompDisplay *d,switchWindowRemove1019,21357 +switchHandleEvent (CompDisplay *d,switchHandleEvent1135,23249 +adjustSwitchVelocity (CompScreen *s)adjustSwitchVelocity1156,23678 +switchPreparePaintScreen (CompScreen *s,switchPreparePaintScreen1229,25148 +switchPaintOutput (CompScreen *s,switchPaintOutput1314,26847 +switchDonePaintScreen (CompScreen *s)switchDonePaintScreen1429,29406 +switchPaintThumb (CompWindow *w,switchPaintThumb1455,29847 +switchPaintWindow (CompWindow *w,switchPaintWindow1644,34649 +switchPaintBackground (CompScreen *s,switchPaintBackground1787,38301 +switchDamageWindowRect (CompWindow *w,switchDamageWindowRect1802,38634 +switchGetDisplayOptions (CompPlugin *plugin,switchGetDisplayOptions1836,39253 +switchSetDisplayOption (CompPlugin *plugin,switchSetDisplayOption1847,39445 +static const CompMetadataOptionInfo switchDisplayOptionInfo[] = {switchDisplayOptionInfo1863,39770 +switchInitDisplay (CompPlugin *p,switchInitDisplay1873,40245 +switchFiniDisplay (CompPlugin *p,switchFiniDisplay1911,41032 +static const CompMetadataOptionInfo switchScreenOptionInfo[] = {switchScreenOptionInfo1925,41293 +switchInitScreen (CompPlugin *p,switchInitScreen1941,41946 +switchFiniScreen (CompPlugin *p,switchFiniScreen2016,43650 +switchInit (CompPlugin *p)switchInit2037,44091 +switchFini (CompPlugin *p)switchFini2060,44597 +switchGetVersion (CompPlugin *plugin,switchGetVersion2067,44731 +switchGetMetadata (CompPlugin *plugin)switchGetMetadata2074,44841 +CompPluginVTable switchVTable = {switchVTable2079,44913 +getCompPluginInfo (void)getCompPluginInfo2098,45312 + +plugins/dbus.c,7754 +#define DBUS_API_SUBJECT_TO_CHANGEDBUS_API_SUBJECT_TO_CHANGE30,1264 +static CompMetadata dbusMetadata;dbusMetadata36,1373 +#define ECOMP_DBUS_SERVICE_NAME ECOMP_DBUS_SERVICE_NAME38,1408 +#define ECOMP_DBUS_INTERFACE ECOMP_DBUS_INTERFACE39,1476 +#define ECOMP_DBUS_ROOT_PATH ECOMP_DBUS_ROOT_PATH40,1535 +#define ECOMP_DBUS_ACTIVATE_MEMBER_NAME ECOMP_DBUS_ACTIVATE_MEMBER_NAME42,1596 +#define ECOMP_DBUS_DEACTIVATE_MEMBER_NAME ECOMP_DBUS_DEACTIVATE_MEMBER_NAME43,1658 +#define ECOMP_DBUS_SET_MEMBER_NAME ECOMP_DBUS_SET_MEMBER_NAME44,1722 +#define ECOMP_DBUS_GET_MEMBER_NAME ECOMP_DBUS_GET_MEMBER_NAME45,1779 +#define ECOMP_DBUS_GET_METADATA_MEMBER_NAME ECOMP_DBUS_GET_METADATA_MEMBER_NAME46,1836 +#define ECOMP_DBUS_LIST_MEMBER_NAME ECOMP_DBUS_LIST_MEMBER_NAME47,1898 +#define ECOMP_DBUS_GET_PLUGINS_MEMBER_NAME ECOMP_DBUS_GET_PLUGINS_MEMBER_NAME48,1946 +#define ECOMP_DBUS_GET_PLUGIN_METADATA_MEMBER_NAME ECOMP_DBUS_GET_PLUGIN_METADATA_MEMBER_NAME49,2006 +#define ECOMP_DBUS_CHANGED_SIGNAL_NAME ECOMP_DBUS_CHANGED_SIGNAL_NAME51,2078 +#define ECOMP_DBUS_PLUGINS_CHANGED_SIGNAL_NAME ECOMP_DBUS_PLUGINS_CHANGED_SIGNAL_NAME52,2132 +#define DBUS_FILE_WATCH_CURRENT DBUS_FILE_WATCH_CURRENT54,2201 +#define DBUS_FILE_WATCH_PLUGIN DBUS_FILE_WATCH_PLUGIN55,2235 +#define DBUS_FILE_WATCH_HOME DBUS_FILE_WATCH_HOME56,2269 +#define DBUS_FILE_WATCH_NUM DBUS_FILE_WATCH_NUM57,2303 + DbusActionIndexKeyBinding = 0,DbusActionIndexKeyBinding60,2353 + DbusActionIndexButtonBinding = 1,DbusActionIndexButtonBinding61,2391 + DbusActionIndexBell = 2,DbusActionIndexBell62,2429 + DbusActionIndexEdge = 3,DbusActionIndexEdge63,2467 + DbusActionIndexEdgeButton = 4DbusActionIndexEdgeButton64,2505 +} DbusActionIndex;DbusActionIndex65,2542 +static int displayPrivateIndex;displayPrivateIndex67,2562 +typedef struct _DbusDisplay {_DbusDisplay69,2595 + int screenPrivateIndex;screenPrivateIndex70,2625 + DBusConnection *connection;connection72,2654 + CompWatchFdHandle watchFdHandle;watchFdHandle73,2689 + CompFileWatchHandle fileWatch[DBUS_FILE_WATCH_NUM];fileWatch75,2727 + SetDisplayOptionProc setDisplayOption;setDisplayOption77,2784 + SetDisplayOptionForPluginProc setDisplayOptionForPlugin;setDisplayOptionForPlugin78,2829 + InitPluginForDisplayProc initPluginForDisplay;initPluginForDisplay79,2890 +} DbusDisplay;DbusDisplay80,2946 +typedef struct _DbusScreen {_DbusScreen82,2962 + SetScreenOptionProc setScreenOption;setScreenOption83,2991 + SetScreenOptionForPluginProc setScreenOptionForPlugin;setScreenOptionForPlugin84,3034 + InitPluginForScreenProc initPluginForScreen;initPluginForScreen85,3093 +} DbusScreen;DbusScreen86,3147 +static DBusObjectPathVTable dbusMessagesVTable = {dbusMessagesVTable92,3267 +#define GET_DBUS_DISPLAY(GET_DBUS_DISPLAY97,3401 +#define DBUS_DISPLAY(DBUS_DISPLAY100,3501 +#define GET_DBUS_SCREEN(GET_DBUS_SCREEN103,3576 +#define DBUS_SCREEN(DBUS_SCREEN106,3687 +dbusGetOptionsFromPath (CompDisplay *d,dbusGetOptionsFromPath111,3819 +dbusIntrospectStartInterface (xmlTextWriterPtr writer)dbusIntrospectStartInterface183,5128 +dbusIntrospectEndInterface (xmlTextWriterPtr writer)dbusIntrospectEndInterface191,5360 +dbusIntrospectAddArgument (xmlTextWriterPtr writer,dbusIntrospectAddArgument197,5468 +dbusIntrospectAddMethod (xmlTextWriterPtr writer,dbusIntrospectAddMethod209,5859 +dbusIntrospectAddSignal (xmlTextWriterPtr writer,dbusIntrospectAddSignal234,6439 +dbusIntrospectAddNode (xmlTextWriterPtr writer,dbusIntrospectAddNode258,6963 +dbusIntrospectStartRoot (xmlTextWriterPtr writer)dbusIntrospectStartRoot267,7230 +dbusIntrospectEndRoot (xmlTextWriterPtr writer)dbusIntrospectEndRoot281,7636 +dbusHandleRootIntrospectMessage (DBusConnection *connection,dbusHandleRootIntrospectMessage288,7769 +dbusHandlePluginIntrospectMessage (DBusConnection *connection,dbusHandlePluginIntrospectMessage373,9573 +dbusHandleScreenIntrospectMessage (DBusConnection *connection,dbusHandleScreenIntrospectMessage432,10773 +dbusHandleOptionIntrospectMessage (DBusConnection *connection,dbusHandleOptionIntrospectMessage499,12145 +dbusHandleActionMessage (DBusConnection *connection,dbusHandleActionMessage703,17184 +dbusTryGetValueWithType (DBusMessageIter *iter,dbusTryGetValueWithType884,20751 +dbusGetOptionValue (DBusMessageIter *iter,dbusGetOptionValue899,20996 +dbusHandleSetOptionMessage (DBusConnection *connection,dbusHandleSetOptionMessage992,23274 +dbusAppendSimpleOptionValue (DBusMessage *message,dbusAppendSimpleOptionValue1186,27142 +dbusAppendOptionValue (CompDisplay *d,dbusAppendOptionValue1241,28297 +dbusHandleGetOptionMessage (DBusConnection *connection,dbusHandleGetOptionMessage1411,31918 +dbusHandleListMessage (DBusConnection *connection,dbusHandleListMessage1459,32980 +dbusHandleGetMetadataMessage (DBusConnection *connection,dbusHandleGetMetadataMessage1500,33917 +dbusHandleGetPluginsMessage (DBusConnection *connection,dbusHandleGetPluginsMessage1633,37056 +dbusHandleGetPluginMetadataMessage (DBusConnection *connection,dbusHandleGetPluginMetadataMessage1681,37976 +dbusHandleMessage (DBusConnection *connection,dbusHandleMessage1793,40383 +dbusProcessMessages (void *data)dbusProcessMessages1932,44256 +dbusSendChangeSignalForOption (CompDisplay *d,dbusSendChangeSignalForOption1950,44620 +dbusSendChangeSignalForDisplayOption (CompDisplay *d,dbusSendChangeSignalForDisplayOption1972,45144 +dbusSendChangeSignalForScreenOption (CompScreen *s,dbusSendChangeSignalForScreenOption1987,45455 +dbusGetPathDecomposed (char *data,dbusGetPathDecomposed2002,45781 +dbusRegisterOptions (DBusConnection *connection,dbusRegisterOptions2055,46611 +dbusUnregisterOptions (DBusConnection *connection,dbusUnregisterOptions2088,47279 +dbusRegisterPluginForDisplay (DBusConnection *connection,dbusRegisterPluginForDisplay2118,47874 +dbusRegisterPluginForScreen (DBusConnection *connection,dbusRegisterPluginForScreen2137,48492 +dbusRegisterPluginsForDisplay (DBusConnection *connection,dbusRegisterPluginsForDisplay2151,48912 +dbusRegisterPluginsForScreen (DBusConnection *connection,dbusRegisterPluginsForScreen2172,49436 +dbusUnregisterPluginForDisplay (DBusConnection *connection,dbusUnregisterPluginForDisplay2194,49993 +dbusUnregisterPluginsForDisplay (DBusConnection *connection,dbusUnregisterPluginsForDisplay2211,50535 +dbusUnregisterPluginForScreen (DBusConnection *connection,dbusUnregisterPluginForScreen2226,50885 +dbusUnregisterPluginsForScreen (DBusConnection *connection,dbusUnregisterPluginsForScreen2240,51294 +dbusInitPluginForDisplay (CompPlugin *p,dbusInitPluginForDisplay2255,51650 +dbusInitPluginForScreen (CompPlugin *p,dbusInitPluginForScreen2277,52150 +dbusSetDisplayOption (CompDisplay *d,dbusSetDisplayOption2300,52687 +dbusSetDisplayOptionForPlugin (CompDisplay *d,dbusSetDisplayOptionForPlugin2340,53610 +dbusSetScreenOption (CompScreen *s,dbusSetScreenOption2376,54409 +dbusSetScreenOptionForPlugin (CompScreen *s,dbusSetScreenOptionForPlugin2405,54979 +dbusSendPluginsChangedSignal (const char *name,dbusSendPluginsChangedSignal2441,55760 +dbusInitDisplay (CompPlugin *p,dbusInitDisplay2460,56227 +dbusFiniDisplay (CompPlugin *p,dbusFiniDisplay2600,59529 +dbusInitScreen (CompPlugin *p,dbusInitScreen2642,60624 +dbusFiniScreen (CompPlugin *p,dbusFiniScreen2670,61376 +dbusInit (CompPlugin *p)dbusInit2683,61603 +dbusFini (CompPlugin *p)dbusFini2700,61924 +dbusGetVersion (CompPlugin *plugin,dbusGetVersion2707,62054 +dbusGetMetadata (CompPlugin *plugin)dbusGetMetadata2714,62158 +CompPluginVTable dbusVTable = {dbusVTable2719,62226 +getCompPluginInfo (void)getCompPluginInfo2738,62612 + +plugins/video.c,5688 +static CompMetadata videoMetadata;videoMetadata69,2193 +typedef struct _VideoTexture {_VideoTexture71,2229 + struct _VideoTexture *next;next72,2260 + int refCount;refCount73,2292 + Pixmap pixmap;pixmap74,2313 + int width;width75,2334 + int height;height76,2352 + Damage damage;damage77,2371 + CompTexture texture;texture78,2392 +} VideoTexture;VideoTexture79,2419 +typedef struct _VideoFunction {_VideoFunction81,2436 + struct _VideoFunction *next;next82,2468 + int handle;handle84,2502 + int target;target85,2518 + int param;param86,2534 +} VideoFunction;VideoFunction87,2549 +#define IMAGE_FORMAT_RGB IMAGE_FORMAT_RGB89,2567 +#define IMAGE_FORMAT_YV12 IMAGE_FORMAT_YV1290,2595 +#define IMAGE_FORMAT_NUM IMAGE_FORMAT_NUM91,2623 +static int displayPrivateIndex;displayPrivateIndex93,2652 +#define VIDEO_DISPLAY_OPTION_YV12 VIDEO_DISPLAY_OPTION_YV1295,2685 +#define VIDEO_DISPLAY_OPTION_NUM VIDEO_DISPLAY_OPTION_NUM96,2721 +typedef struct _VideoDisplay {_VideoDisplay98,2758 + int screenPrivateIndex;screenPrivateIndex99,2789 + HandleEventProc handleEvent;handleEvent100,2823 + VideoTexture *textures;textures101,2857 + Atom videoAtom;videoAtom102,2889 + Atom videoSupportedAtom;videoSupportedAtom103,2914 + Atom videoImageFormatAtom[IMAGE_FORMAT_NUM];videoImageFormatAtom104,2948 + CompOption opt[VIDEO_DISPLAY_OPTION_NUM];opt106,3003 +} VideoDisplay;VideoDisplay107,3049 +typedef struct _VideoScreen {_VideoScreen109,3066 + int windowPrivateIndex;windowPrivateIndex110,3096 + DrawWindowProc drawWindow;drawWindow112,3125 + DrawWindowTextureProc drawWindowTexture;drawWindowTexture113,3158 + DamageWindowRectProc damageWindowRect;damageWindowRect114,3203 + WindowMoveNotifyProc windowMoveNotify;windowMoveNotify116,3248 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify117,3293 + VideoFunction *yv12Functions;yv12Functions119,3341 + Bool imageFormat[IMAGE_FORMAT_NUM];imageFormat121,3376 +} VideoScreen;VideoScreen122,3416 +typedef struct _VideoSource {_VideoSource124,3432 + VideoTexture *texture;texture125,3462 + int format;format126,3490 + decor_point_t p1;p1127,3509 + decor_point_t p2;p2128,3531 + Bool aspect;aspect129,3553 + float aspectRatio;aspectRatio130,3572 + float panScan;panScan131,3597 + int width;width132,3618 + int height;height133,3636 +} VideoSource;VideoSource134,3655 +typedef struct _VideoContext {_VideoContext136,3671 + VideoSource *source;source137,3702 + int width;width138,3727 + int height;height139,3743 + REGION box;box140,3767 + CompMatrix matrix;matrix141,3788 + Bool scaled;scaled142,3812 + float panX;panX143,3836 + float panY;panY144,3858 + Bool full;full145,3880 +} VideoContext;VideoContext146,3902 +typedef struct _VideoWindow {_VideoWindow148,3919 + VideoSource *source;source149,3949 + VideoContext *context;context150,3975 + Window videoWindow;videoWindow151,4002 + Pixmap videoPixmap;videoPixmap152,4032 + Damage damage;damage154,4065 + int x;x155,4090 + int y;y156,4110 + int width;width157,4128 + int height;height158,4150 +} VideoWindow;VideoWindow160,4176 +#define GET_VIDEO_DISPLAY(GET_VIDEO_DISPLAY162,4192 +#define VIDEO_DISPLAY(VIDEO_DISPLAY165,4295 +#define GET_VIDEO_SCREEN(GET_VIDEO_SCREEN168,4374 +#define VIDEO_SCREEN(VIDEO_SCREEN171,4488 +#define GET_VIDEO_WINDOW(GET_VIDEO_WINDOW174,4599 +#define VIDEO_WINDOW(VIDEO_WINDOW177,4706 +#define NUM_OPTIONS(NUM_OPTIONS182,4894 +videoSetSupportedHint (CompScreen *s)videoSetSupportedHint185,4972 +videoGetDisplayOptions (CompPlugin *plugin,videoGetDisplayOptions208,5459 +videoSetDisplayOption (CompPlugin *plugin,videoSetDisplayOption219,5646 +getYV12FragmentFunction (CompScreen *s,getYV12FragmentFunction250,6210 +videoDestroyFragmentFunctions (CompScreen *s,videoDestroyFragmentFunctions392,9589 +videoDrawWindowTexture (CompWindow *w,videoDrawWindowTexture411,9937 +videoDrawWindow (CompWindow *w,videoDrawWindow502,12294 +videoGetTexture (CompScreen *screen,videoGetTexture559,13667 +videoReleaseTexture (CompScreen *screen,videoReleaseTexture615,14874 +updateWindowVideoMatrix (CompWindow *w)updateWindowVideoMatrix647,15371 +updateWindowVideoContext (CompWindow *w,updateWindowVideoContext682,16271 +videoWindowUpdate (CompWindow *w)videoWindowUpdate801,19301 +videoHandleEvent (CompDisplay *d,videoHandleEvent941,22109 +videoDamageWindowRect (CompWindow *w,videoDamageWindowRect1095,25800 +videoWindowMoveNotify (CompWindow *w,videoWindowMoveNotify1114,26194 +videoWindowResizeNotify (CompWindow *w,videoWindowResizeNotify1138,26783 +static const CompMetadataOptionInfo videoDisplayOptionInfo[] = {videoDisplayOptionInfo1155,27222 +videoInitDisplay (CompPlugin *p,videoInitDisplay1160,27335 +videoFiniDisplay (CompPlugin *p,videoFiniDisplay1207,28429 +videoInitScreen (CompPlugin *p,videoInitScreen1222,28698 +videoFiniScreen (CompPlugin *p,videoFiniScreen1273,29837 +videoInitWindow (CompPlugin *p,videoInitWindow1295,30356 +videoFiniWindow (CompPlugin *p,videoFiniWindow1324,30867 +videoInit (CompPlugin *p)videoInit1342,31123 +videoFini (CompPlugin *p)videoFini1364,31573 +videoGetVersion (CompPlugin *plugin,videoGetVersion1371,31705 +videoGetMetadata (CompPlugin *plugin)videoGetMetadata1378,31812 +static CompPluginVTable videoVTable = {videoVTable1383,31882 +getCompPluginInfo (void)getCompPluginInfo1402,32273 + +plugins/regex.c,2412 +static CompMetadata regexMetadata;regexMetadata36,1330 +static int displayPrivateIndex;displayPrivateIndex38,1366 +typedef struct _RegexDisplay {_RegexDisplay40,1399 + int screenPrivateIndex;screenPrivateIndex41,1430 + HandleEventProc handleEvent;handleEvent42,1464 + MatchInitExpProc matchInitExp;matchInitExp43,1498 + Atom roleAtom;roleAtom44,1533 + Atom visibleNameAtom;visibleNameAtom45,1557 +} RegexDisplay;RegexDisplay46,1595 +typedef struct _RegexScreen {_RegexScreen48,1612 + int windowPrivateIndex;windowPrivateIndex49,1642 +} RegexScreen;RegexScreen50,1670 +typedef struct _RegexWindow {_RegexWindow52,1686 + char *title;title53,1716 + char *role;role54,1733 +} RegexWindow;RegexWindow55,1749 +#define GET_REGEX_DISPLAY(GET_REGEX_DISPLAY57,1765 +#define REGEX_DISPLAY(REGEX_DISPLAY60,1868 +#define GET_REGEX_SCREEN(GET_REGEX_SCREEN63,1947 +#define REGEX_SCREEN(REGEX_SCREEN66,2054 +#define GET_REGEX_WINDOW(GET_REGEX_WINDOW69,2165 +#define REGEX_WINDOW(REGEX_WINDOW72,2272 +regexMatchExpFini (CompDisplay *d,regexMatchExpFini78,2472 +regexMatchExpEvalTitle (CompDisplay *d,regexMatchExpEvalTitle88,2633 +regexMatchExpEvalRole (CompDisplay *d,regexMatchExpEvalRole108,2959 +regexMatchExpEvalClass (CompDisplay *d,regexMatchExpEvalClass128,3294 +regexMatchExpEvalName (CompDisplay *d,regexMatchExpEvalName146,3601 +regexMatchInitExp (CompDisplay *d,regexMatchInitExp164,3917 +regexGetStringProperty (CompWindow *w,regexGetStringProperty232,5446 +regexGetWindowTitle (CompWindow *w)regexGetWindowTitle265,6082 +regexHandleEvent (CompDisplay *d,regexHandleEvent284,6496 +regexRegisterExpHandler (void *closure)regexRegisterExpHandler337,7515 +regexInitDisplay (CompPlugin *p,regexInitDisplay347,7694 +regexFiniDisplay (CompPlugin *p,regexFiniDisplay379,8508 +regexInitScreen (CompPlugin *p,regexInitScreen395,8782 +regexFiniScreen (CompPlugin *p,regexFiniScreen419,9178 +regexInitWindow (CompPlugin *p,regexInitWindow430,9340 +regexFiniWindow (CompPlugin *p,regexFiniWindow451,9748 +regexInit (CompPlugin *p)regexInit466,9929 +regexFini (CompPlugin *p)regexFini485,10317 +regexGetVersion (CompPlugin *plugin,regexGetVersion492,10449 +regexGetMetadata (CompPlugin *plugin)regexGetMetadata499,10556 +static CompPluginVTable regexVTable = {regexVTable504,10626 +getCompPluginInfo (void)getCompPluginInfo523,11023 + +plugins/gconf.c,2841 +#define _GNU_SOURCE_GNU_SOURCE26,1205 +static CompMetadata gconfMetadata;gconfMetadata38,1401 +#define APP_NAME APP_NAME40,1437 +static int displayPrivateIndex;displayPrivateIndex46,1590 +typedef struct _GConfDisplay {_GConfDisplay48,1623 + int screenPrivateIndex;screenPrivateIndex49,1654 + GConfClient *client;client51,1683 + InitPluginForDisplayProc initPluginForDisplay;initPluginForDisplay53,1709 + SetDisplayOptionProc setDisplayOption;setDisplayOption54,1765 + SetDisplayOptionForPluginProc setDisplayOptionForPlugin;setDisplayOptionForPlugin55,1810 +} GConfDisplay;GConfDisplay56,1871 +typedef struct _GConfScreen {_GConfScreen58,1888 + InitPluginForScreenProc initPluginForScreen;initPluginForScreen59,1918 + SetScreenOptionProc setScreenOption;setScreenOption60,1972 + SetScreenOptionForPluginProc setScreenOptionForPlugin;setScreenOptionForPlugin61,2015 +} GConfScreen;GConfScreen62,2074 +#define GET_GCONF_DISPLAY(GET_GCONF_DISPLAY64,2090 +#define GCONF_DISPLAY(GCONF_DISPLAY67,2193 +#define GET_GCONF_SCREEN(GET_GCONF_SCREEN70,2272 +#define GCONF_SCREEN(GCONF_SCREEN73,2385 +strcmpskipifequal (char **ptr,strcmpskipifequal77,2514 +gconfTypeFromCompType (CompOptionType type)gconfTypeFromCompType91,2718 +gconfSetValue (CompDisplay *d,gconfSetValue118,3313 +gconfSetActionValue (CompDisplay *d,gconfSetActionValue158,4138 +gconfSetOption (CompDisplay *d,gconfSetOption186,4765 +gconfGetValue (CompDisplay *d,gconfGetValue355,9457 +gconfGetOptionValue (CompDisplay *d,gconfGetOptionValue412,10754 +gconfInitOption (CompDisplay *d,gconfInitOption793,18427 +gconfSetDisplayOption (CompDisplay *d,gconfSetDisplayOption817,18838 +gconfSetDisplayOptionForPlugin (CompDisplay *d,gconfSetDisplayOptionForPlugin847,19417 +gconfSetScreenOption (CompScreen *s,gconfSetScreenOption884,20204 +gconfSetScreenOptionForPlugin (CompScreen *s,gconfSetScreenOptionForPlugin917,20851 +gconfInitPluginForDisplay (CompPlugin *p,gconfInitPluginForDisplay957,21731 +gconfInitPluginForScreen (CompPlugin *p,gconfInitPluginForScreen982,22278 +gconfKeyChanged (GConfClient *client,gconfKeyChanged1012,22912 +gconfSendGLibNotify (CompDisplay *d)gconfSendGLibNotify1037,23435 +gconfInitDisplay (CompPlugin *p,gconfInitDisplay1059,23943 +gconfFiniDisplay (CompPlugin *p,gconfFiniDisplay1103,24966 +gconfInitScreen (CompPlugin *p,gconfInitScreen1120,25295 +gconfFiniScreen (CompPlugin *p,gconfFiniScreen1152,26031 +gconfInit (CompPlugin *p)gconfInit1165,26261 +gconfFini (CompPlugin *p)gconfFini1184,26649 +gconfGetVersion (CompPlugin *plugin,gconfGetVersion1191,26781 +gconfGetMetadata (CompPlugin *plugin)gconfGetMetadata1198,26888 +CompPluginVTable gconfVTable = {gconfVTable1203,26958 +getCompPluginInfo (void)getCompPluginInfo1222,27354 + +plugins/cube.c,3556 +#define MULTM(MULTM35,1375 +#define MULTMV(MULTMV53,2477 +#define DIVV(DIVV60,2795 +static CompMetadata cubeMetadata;cubeMetadata66,2876 +static int cubeDisplayPrivateIndex;cubeDisplayPrivateIndex68,2911 +#define NUM_OPTIONS(NUM_OPTIONS70,2948 +cubeLoadImg (CompScreen *s,cubeLoadImg73,3026 +cubeUpdateGeometry (CompScreen *s,cubeUpdateGeometry167,5586 +cubeUpdateOutputs (CompScreen *s)cubeUpdateOutputs225,6682 +cubeGetScreenOptions (CompPlugin *plugin,cubeGetScreenOptions327,8450 +cubeUpdateSkyDomeTexture (CompScreen *screen)cubeUpdateSkyDomeTexture338,8636 +fillCircleTable (GLfloat **ppSint,fillCircleTable429,11063 +cubeUpdateSkyDomeList (CompScreen *s,cubeUpdateSkyDomeList464,11743 +cubeUnloadBackgrounds (CompScreen *s)cubeUnloadBackgrounds614,15265 +cubeLoadBackground (CompScreen *s,cubeLoadBackground633,15494 +cubeSetScreenOption (CompPlugin *plugin,cubeSetScreenOption680,16431 +adjustVelocity (CubeScreen *cs)adjustVelocity799,19108 +cubePreparePaintScreen (CompScreen *s,cubePreparePaintScreen822,19633 +cubePaintOutput (CompScreen *s,cubePaintOutput908,21632 +cubeDonePaintScreen (CompScreen *s)cubeDonePaintScreen937,22332 +cubeCheckOrientation (CompScreen *s,cubeCheckOrientation950,22613 +cubeMoveViewportAndPaint (CompScreen *s,cubeMoveViewportAndPaint1022,24288 +cubePaintAllViewports (CompScreen *s,cubePaintAllViewports1094,26054 +cubeGetRotation (CompScreen *s,cubeGetRotation1196,28799 +cubeClearTargetOutput (CompScreen *s,cubeClearTargetOutput1205,28912 +cubePaintTop (CompScreen *s,cubePaintTop1238,29490 +cubePaintBottom (CompScreen *s,cubePaintBottom1299,31172 +cubePaintInside (CompScreen *s,cubePaintInside1349,32467 +cubePaintTransformedOutput (CompScreen *s,cubePaintTransformedOutput1358,32632 +cubeSetBackgroundOpacity (CompScreen* s)cubeSetBackgroundOpacity1578,38541 +cubeUnSetBackgroundOpacity (CompScreen* s)cubeUnSetBackgroundOpacity1600,38985 +cubePaintBackground (CompScreen *s,cubePaintBackground1622,39372 +cubePaintWindow (CompWindow *w,cubePaintWindow1733,41535 +cubeInitWindowWalker (CompScreen *s, CompWalker* walker)cubeInitWindowWalker1756,42061 +cubeApplyScreenTransform (CompScreen *s,cubeApplyScreenTransform1778,42527 +cubeUnfold (CompDisplay *d,cubeUnfold1798,43207 +cubeFold (CompDisplay *d,cubeFold1840,44042 +cubeNextImage (CompDisplay *d,cubeNextImage1871,44577 +cubePrevImage (CompDisplay *d,cubePrevImage1901,45133 +cubeOutputChangeNotify (CompScreen *s)cubeOutputChangeNotify1931,45700 +cubeSetGlobalScreenOption (CompScreen *s,cubeSetGlobalScreenOption1948,46120 +cubeGetDisplayOptions (CompPlugin *plugin,cubeGetDisplayOptions1970,46591 +cubeSetDisplayOption (CompPlugin *plugin,cubeSetDisplayOption1981,46787 +static const CompMetadataOptionInfo cubeDisplayOptionInfo[] = {cubeDisplayOptionInfo2006,47283 +cubeInitDisplay (CompPlugin *p,cubeInitDisplay2017,47667 +cubeFiniDisplay (CompPlugin *p,cubeFiniDisplay2053,48438 +static const CompMetadataOptionInfo cubeScreenOptionInfo[] = {cubeScreenOptionInfo2065,48657 +cubeInitScreen (CompPlugin *p,cubeInitScreen2089,49758 +cubeFiniScreen (CompPlugin *p,cubeFiniScreen2199,52365 +cubeInit (CompPlugin *p)cubeInit2232,53117 +cubeFini (CompPlugin *p)cubeFini2255,53615 +cubeGetVersion (CompPlugin *plugin,cubeGetVersion2262,53749 +cubeGetMetadata (CompPlugin *plugin)cubeGetMetadata2269,53853 +CompPluginVTable cubeVTable = {cubeVTable2274,53921 +getCompPluginInfo (void)getCompPluginInfo2293,54290 + +plugins/decoration.c,7107 +static CompMetadata decorMetadata;decorMetadata43,1460 +typedef struct _Vector {_Vector45,1496 + int dx;dx46,1521 + int dy;dy47,1533 + int x0;x048,1545 + int y0;y049,1557 +} Vector;Vector50,1569 +#define DECOR_BARE DECOR_BARE52,1580 +#define DECOR_NORMAL DECOR_NORMAL53,1603 +#define DECOR_ACTIVE DECOR_ACTIVE54,1626 +#define DECOR_NUM DECOR_NUM55,1649 +typedef struct _DecorTexture {_DecorTexture57,1673 + struct _DecorTexture *next;next58,1704 + int refCount;refCount59,1736 + Pixmap pixmap;pixmap60,1757 + Damage damage;damage61,1778 + CompTexture texture;texture62,1799 +} DecorTexture;DecorTexture63,1826 +typedef struct _Decoration {_Decoration65,1843 + int refCount;refCount66,1872 + DecorTexture *texture;texture67,1897 + CompWindowExtents output;output68,1929 + CompWindowExtents input;input69,1959 + CompWindowExtents maxInput;maxInput70,1988 + int minWidth;minWidth71,2020 + int minHeight;minHeight72,2045 + decor_quad_t *quad;quad73,2071 + int nQuad;nQuad74,2100 +} Decoration;Decoration75,2122 +typedef struct _ScaledQuad {_ScaledQuad77,2137 + CompMatrix matrix;matrix78,2166 + BoxRec box;box79,2189 + float sx;sx80,2209 + float sy;sy81,2228 +} ScaledQuad;ScaledQuad82,2247 +typedef struct _WindowDecoration {_WindowDecoration84,2262 + Decoration *decor;decor85,2297 + ScaledQuad *quad;quad86,2320 + int nQuad;nQuad87,2342 +} WindowDecoration;WindowDecoration88,2364 +#define DECOR_DISPLAY_OPTION_SHADOW_RADIUS DECOR_DISPLAY_OPTION_SHADOW_RADIUS90,2385 +#define DECOR_DISPLAY_OPTION_SHADOW_OPACITY DECOR_DISPLAY_OPTION_SHADOW_OPACITY91,2432 +#define DECOR_DISPLAY_OPTION_SHADOW_COLOR DECOR_DISPLAY_OPTION_SHADOW_COLOR92,2479 +#define DECOR_DISPLAY_OPTION_SHADOW_OFFSET_X DECOR_DISPLAY_OPTION_SHADOW_OFFSET_X93,2526 +#define DECOR_DISPLAY_OPTION_SHADOW_OFFSET_Y DECOR_DISPLAY_OPTION_SHADOW_OFFSET_Y94,2573 +#define DECOR_DISPLAY_OPTION_COMMAND DECOR_DISPLAY_OPTION_COMMAND95,2620 +#define DECOR_DISPLAY_OPTION_MIPMAP DECOR_DISPLAY_OPTION_MIPMAP96,2667 +#define DECOR_DISPLAY_OPTION_DECOR_MATCH DECOR_DISPLAY_OPTION_DECOR_MATCH97,2714 +#define DECOR_DISPLAY_OPTION_SHADOW_MATCH DECOR_DISPLAY_OPTION_SHADOW_MATCH98,2761 +#define DECOR_DISPLAY_OPTION_NUM DECOR_DISPLAY_OPTION_NUM99,2808 +static int displayPrivateIndex;displayPrivateIndex101,2856 +typedef struct _DecorDisplay {_DecorDisplay103,2889 + int screenPrivateIndex;screenPrivateIndex104,2920 + HandleEventProc handleEvent;handleEvent105,2955 + MatchPropertyChangedProc matchPropertyChanged;matchPropertyChanged106,2993 + DecorTexture *textures;textures107,3044 + Atom supportingDmCheckAtom;supportingDmCheckAtom108,3077 + Atom winDecorAtom;winDecorAtom109,3115 + Atom decorAtom[DECOR_NUM];decorAtom110,3144 + CompOption opt[DECOR_DISPLAY_OPTION_NUM];opt112,3182 +} DecorDisplay;DecorDisplay113,3228 +typedef struct _DecorScreen {_DecorScreen115,3245 + int windowPrivateIndex;windowPrivateIndex116,3275 + Window dmWin;dmWin118,3304 + Decoration *decor[DECOR_NUM];decor120,3323 + DrawWindowProc drawWindow;drawWindow122,3358 + DamageWindowRectProc damageWindowRect;damageWindowRect123,3392 + GetOutputExtentsForWindowProc getOutputExtentsForWindow;getOutputExtentsForWindow124,3437 + WindowAddNotifyProc windowAddNotify;windowAddNotify126,3499 + WindowMoveNotifyProc windowMoveNotify;windowMoveNotify127,3543 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify128,3588 + WindowStateChangeNotifyProc windowStateChangeNotify;windowStateChangeNotify130,3636 +} DecorScreen;DecorScreen131,3693 +typedef struct _DecorWindow {_DecorWindow133,3709 + WindowDecoration *wd;wd134,3739 + Decoration *decor;decor135,3765 + CompTimeoutHandle resizeUpdateHandle;resizeUpdateHandle137,3794 +} DecorWindow;DecorWindow138,3836 +#define GET_DECOR_DISPLAY(GET_DECOR_DISPLAY140,3852 +#define DECOR_DISPLAY(DECOR_DISPLAY143,3955 +#define GET_DECOR_SCREEN(GET_DECOR_SCREEN146,4034 +#define DECOR_SCREEN(DECOR_SCREEN149,4148 +#define GET_DECOR_WINDOW(GET_DECOR_WINDOW152,4259 +#define DECOR_WINDOW(DECOR_WINDOW155,4366 +#define NUM_OPTIONS(NUM_OPTIONS160,4554 +decorDrawWindow (CompWindow *w,decorDrawWindow163,4632 +decorGetTexture (CompScreen *screen,decorGetTexture223,5973 +decorReleaseTexture (CompScreen *screen,decorReleaseTexture280,7207 +computeQuadBox (decor_quad_t *q,computeQuadBox312,7704 +decorCreateDecoration (CompScreen *screen,decorCreateDecoration383,9035 +decorReleaseDecoration (CompScreen *screen,decorReleaseDecoration513,11860 +decorWindowUpdateDecoration (CompWindow *w)decorWindowUpdateDecoration527,12124 +createWindowDecoration (Decoration *d)createWindowDecoration543,12465 +destroyWindowDecoration (CompScreen *screen,destroyWindowDecoration562,12779 +setDecorationMatrices (CompWindow *w)setDecorationMatrices570,12932 +updateWindowDecorationScale (CompWindow *w)updateWindowDecorationScale636,14555 +decorCheckSize (CompWindow *w,decorCheckSize666,15168 +decorWindowShiftX (CompWindow *w)decorWindowShiftX673,15311 +decorWindowShiftY (CompWindow *w)decorWindowShiftY690,15622 +decorWindowUpdate (CompWindow *w,decorWindowUpdate707,15936 +decorCheckForDmOnScreen (CompScreen *s,decorCheckForDmOnScreen863,19181 +decorHandleEvent (CompDisplay *d,decorHandleEvent941,20572 +decorDamageWindowRect (CompWindow *w,decorDamageWindowRect1083,23440 +decorGetOutputExtentsForWindow (CompWindow *w,decorGetOutputExtentsForWindow1102,23840 +decorGetDisplayOptions (CompPlugin *plugin,decorGetDisplayOptions1129,24516 +decorSetDisplayOption (CompPlugin *plugin,decorSetDisplayOption1140,24703 +decorWindowMoveNotify (CompWindow *w,decorWindowMoveNotify1193,25843 +decorResizeUpdateTimeout (void *closure)decorResizeUpdateTimeout1223,26452 +decorWindowResizeNotify (CompWindow *w,decorWindowResizeNotify1237,26663 +decorWindowStateChangeNotify (CompWindow *w,decorWindowStateChangeNotify1261,27635 +decorMatchPropertyChanged (CompDisplay *d,decorMatchPropertyChanged1284,28221 +decorWindowAddNotify (CompWindow *w)decorWindowAddNotify1297,28509 +static const CompMetadataOptionInfo decorDisplayOptionInfo[] = {decorDisplayOptionInfo1309,28818 +decorInitDisplay (CompPlugin *p,decorInitDisplay1322,29375 +decorFiniDisplay (CompPlugin *p,decorFiniDisplay1371,30586 +decorInitScreen (CompPlugin *p,decorInitScreen1387,30897 +decorFiniScreen (CompPlugin *p,decorFiniScreen1425,31841 +decorInitWindow (CompPlugin *p,decorInitWindow1448,32339 +decorFiniWindow (CompPlugin *p,decorFiniWindow1476,32848 +decorInit (CompPlugin *p)decorInit1497,33217 +decorFini (CompPlugin *p)decorFini1519,33667 +decorGetVersion (CompPlugin *plugin,decorGetVersion1526,33799 +decorGetMetadata (CompPlugin *plugin)decorGetMetadata1533,33906 +static CompPluginVTable decorVTable = {decorVTable1538,33976 +getCompPluginInfo (void)getCompPluginInfo1557,34372 + +plugins/resize.c,6165 +static CompMetadata resizeMetadata;resizeMetadata35,1337 +#define ResizeUpMask ResizeUpMask37,1374 +#define ResizeDownMask ResizeDownMask38,1408 +#define ResizeLeftMask ResizeLeftMask39,1442 +#define ResizeRightMask ResizeRightMask40,1476 +#define RESIZE_MODE_NORMAL RESIZE_MODE_NORMAL42,1511 +#define RESIZE_MODE_OUTLINE RESIZE_MODE_OUTLINE43,1543 +#define RESIZE_MODE_RECTANGLE RESIZE_MODE_RECTANGLE44,1575 +#define RESIZE_MODE_STRETCH RESIZE_MODE_STRETCH45,1607 +#define RESIZE_MODE_LAST RESIZE_MODE_LAST46,1639 +struct _ResizeKeys {_ResizeKeys48,1690 + char *name;name49,1711 + int dx;dx50,1728 + int dy;dy51,1742 + unsigned int warpMask;warpMask52,1756 + unsigned int resizeMask;resizeMask53,1783 +} rKeys[] = {rKeys54,1812 +#define NUM_KEYS NUM_KEYS61,2128 +#define MIN_KEY_WIDTH_INC MIN_KEY_WIDTH_INC63,2183 +#define MIN_KEY_HEIGHT_INC MIN_KEY_HEIGHT_INC64,2213 +#define RESIZE_DISPLAY_OPTION_INITIATE_NORMAL RESIZE_DISPLAY_OPTION_INITIATE_NORMAL66,2244 +#define RESIZE_DISPLAY_OPTION_INITIATE_OUTLINE RESIZE_DISPLAY_OPTION_INITIATE_OUTLINE67,2295 +#define RESIZE_DISPLAY_OPTION_INITIATE_RECTANGLE RESIZE_DISPLAY_OPTION_INITIATE_RECTANGLE68,2346 +#define RESIZE_DISPLAY_OPTION_INITIATE_STRETCH RESIZE_DISPLAY_OPTION_INITIATE_STRETCH69,2397 +#define RESIZE_DISPLAY_OPTION_INITIATE RESIZE_DISPLAY_OPTION_INITIATE70,2448 +#define RESIZE_DISPLAY_OPTION_MODE RESIZE_DISPLAY_OPTION_MODE71,2498 +#define RESIZE_DISPLAY_OPTION_BORDER_COLOR RESIZE_DISPLAY_OPTION_BORDER_COLOR72,2544 +#define RESIZE_DISPLAY_OPTION_FILL_COLOR RESIZE_DISPLAY_OPTION_FILL_COLOR73,2595 +#define RESIZE_DISPLAY_OPTION_NORMAL_MATCH RESIZE_DISPLAY_OPTION_NORMAL_MATCH74,2646 +#define RESIZE_DISPLAY_OPTION_OUTLINE_MATCH RESIZE_DISPLAY_OPTION_OUTLINE_MATCH75,2692 +#define RESIZE_DISPLAY_OPTION_RECTANGLE_MATCH RESIZE_DISPLAY_OPTION_RECTANGLE_MATCH76,2739 +#define RESIZE_DISPLAY_OPTION_STRETCH_MATCH RESIZE_DISPLAY_OPTION_STRETCH_MATCH77,2789 +#define RESIZE_DISPLAY_OPTION_NUM RESIZE_DISPLAY_OPTION_NUM78,2837 +static int displayPrivateIndex;displayPrivateIndex80,2877 +typedef struct _ResizeDisplay {_ResizeDisplay82,2910 + CompOption opt[RESIZE_DISPLAY_OPTION_NUM];opt83,2942 + int screenPrivateIndex;screenPrivateIndex85,2990 + HandleEventProc handleEvent;handleEvent86,3023 + Atom resizeNotifyAtom;resizeNotifyAtom88,3057 + Atom resizeInformationAtom;resizeInformationAtom89,3084 + CompWindow *w;w91,3117 + int mode;mode92,3137 + XRectangle savedGeometry;savedGeometry93,3153 + XRectangle geometry;geometry94,3184 + int releaseButton;releaseButton96,3211 + unsigned int mask;mask97,3236 + int pointerDx;pointerDx98,3259 + int pointerDy;pointerDy99,3280 + KeyCode key[NUM_KEYS];key100,3301 +} ResizeDisplay;ResizeDisplay101,3329 +typedef struct _ResizeScreen {_ResizeScreen103,3347 + int grabIndex;grabIndex104,3378 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify106,3398 + PaintOutputProc paintOutput;paintOutput107,3445 + PaintWindowProc paintWindow;paintWindow108,3481 + DamageWindowRectProc damageWindowRect;damageWindowRect109,3517 + Cursor leftCursor;leftCursor111,3563 + Cursor rightCursor;rightCursor112,3586 + Cursor upCursor;upCursor113,3610 + Cursor upLeftCursor;upLeftCursor114,3631 + Cursor upRightCursor;upRightCursor115,3656 + Cursor downCursor;downCursor116,3682 + Cursor downLeftCursor;downLeftCursor117,3705 + Cursor downRightCursor;downRightCursor118,3732 + Cursor middleCursor;middleCursor119,3760 + Cursor cursor[NUM_KEYS];cursor120,3785 +} ResizeScreen;ResizeScreen121,3814 +#define GET_RESIZE_DISPLAY(GET_RESIZE_DISPLAY123,3831 +#define RESIZE_DISPLAY(RESIZE_DISPLAY126,3937 +#define GET_RESIZE_SCREEN(GET_RESIZE_SCREEN129,4021 +#define RESIZE_SCREEN(RESIZE_SCREEN132,4130 +#define NUM_OPTIONS(NUM_OPTIONS135,4247 +resizeGetPaintRectangle (CompDisplay *d,resizeGetPaintRectangle138,4325 +resizeGetStretchScale (CompWindow *w,resizeGetStretchScale162,4873 +resizeGetStretchRectangle (CompDisplay *d,resizeGetStretchRectangle177,5290 +resizeDamageRectangle (CompScreen *s,resizeDamageRectangle195,5799 +resizeCursorFromResizeMask (CompScreen *s,resizeCursorFromResizeMask214,6116 +resizeSendResizeNotify (CompDisplay *d)resizeSendResizeNotify252,6802 +resizeUpdateWindowProperty (CompDisplay *d)resizeUpdateWindowProperty278,7444 +resizeFinishResizing (CompDisplay *d)resizeFinishResizing296,7841 +resizeInitiate (CompDisplay *d,resizeInitiate310,8077 +resizeTerminate (CompDisplay *d,resizeTerminate475,11886 +resizeUpdateWindowSize (CompDisplay *d)resizeUpdateWindowSize566,13662 +resizeHandleKeyEvent (CompScreen *s,resizeHandleKeyEvent592,14139 +resizeHandleMotionEvent (CompScreen *s,resizeHandleMotionEvent647,15368 +resizeHandleEvent (CompDisplay *d,resizeHandleEvent801,19263 +resizeWindowResizeNotify (CompWindow *w,resizeWindowResizeNotify970,23224 +resizePaintRectangle (CompScreen *s,resizePaintRectangle988,23708 +resizePaintOutput (CompScreen *s,resizePaintOutput1031,24723 +resizePaintWindow (CompWindow *w,resizePaintWindow1075,25860 +resizeDamageWindowRect (CompWindow *w,resizeDamageWindowRect1140,27590 +resizeGetDisplayOptions (CompPlugin *plugin,resizeGetDisplayOptions1167,28188 +resizeSetDisplayOption (CompPlugin *plugin,resizeSetDisplayOption1178,28380 +static const CompMetadataOptionInfo resizeDisplayOptionInfo[] = {resizeDisplayOptionInfo1194,28709 +resizeInitDisplay (CompPlugin *p,resizeInitDisplay1210,29472 +resizeFiniDisplay (CompPlugin *p,resizeFiniDisplay1259,30551 +resizeInitScreen (CompPlugin *p,resizeInitScreen1274,30824 +resizeFiniScreen (CompPlugin *p,resizeFiniScreen1319,32274 +resizeInit (CompPlugin *p)resizeInit1352,33242 +resizeFini (CompPlugin *p)resizeFini1374,33698 +resizeGetVersion (CompPlugin *plugin,resizeGetVersion1381,33832 +resizeGetMetadata (CompPlugin *plugin)resizeGetMetadata1388,33942 +CompPluginVTable resizeVTable = {resizeVTable1393,34014 +getCompPluginInfo (void)getCompPluginInfo1412,34416 + +plugins/scale.c,3994 +#define EDGE_STATE EDGE_STATE37,1377 +#define WIN_X(WIN_X39,1423 +#define WIN_Y(WIN_Y40,1474 +#define WIN_W(WIN_W41,1524 +#define WIN_H(WIN_H42,1591 +static CompMetadata scaleMetadata;scaleMetadata44,1660 +static int scaleDisplayPrivateIndex;scaleDisplayPrivateIndex46,1696 +#define NUM_OPTIONS(NUM_OPTIONS48,1734 +scaleGetScreenOptions (CompPlugin *plugin,scaleGetScreenOptions51,1820 +scaleSetScreenOption (CompPlugin *plugin,scaleSetScreenOption62,2012 +isNeverScaleWin (CompWindow *w)isNeverScaleWin93,2591 +isScaleWin (CompWindow *w)isScaleWin105,2801 +scaleActivateEvent (CompScreen *s,scaleActivateEvent149,3656 +scalePaintDecoration (CompWindow *w,scalePaintDecoration166,4022 +setScaledPaintAttributes (CompWindow *w,setScaledPaintAttributes312,7214 +scalePaintWindow (CompWindow *w,scalePaintWindow368,8488 +compareWindowsDistance (const void *elem1,compareWindowsDistance443,10382 +layoutSlotsForArea (CompScreen * s, layoutSlotsForArea457,10680 +getSlotAreas (CompScreen *s)getSlotAreas506,11661 +layoutSlots (CompScreen *s)layoutSlots582,13087 +findBestSlots (CompScreen *s)findBestSlots626,13950 +fillInWindows (CompScreen *s)fillInWindows673,14695 +layoutSlotsAndAssignWindows (CompScreen *s)layoutSlotsAndAssignWindows727,15832 +layoutThumbs (CompScreen *s)layoutThumbs749,16261 +adjustScaleVelocity (CompWindow *w)adjustScaleVelocity799,17140 +scalePaintOutput (CompScreen *s,scalePaintOutput875,18761 +scalePreparePaintScreen (CompScreen *s,scalePreparePaintScreen897,19279 +scaleDonePaintScreen (CompScreen *s)scaleDonePaintScreen946,20310 +scaleCheckForWindowAt (CompScreen *s,scaleCheckForWindowAt977,20965 +sendDndStatusMessage (CompScreen *s,sendDndStatusMessage1036,22214 +sendWindowToDeskMessage (CompWindow *w, sendWindowToDeskMessage1060,22782 +scaleTerminate (CompDisplay *d,scaleTerminate1087,23532 +scaleEnsureDndRedirectWindow (CompScreen *s)scaleEnsureDndRedirectWindow1208,26026 +scaleInitiateCommon (CompScreen *s,scaleInitiateCommon1241,26780 +scaleInitiate (CompDisplay *d,scaleInitiate1313,28270 +scaleSelectWindow (CompWindow *w)scaleSelectWindow1346,28998 +scaleMoveFocusWindow (CompScreen *s,scaleMoveFocusWindow1370,29379 +scaleSelectWindowAt (CompScreen *s,scaleSelectWindowAt1579,33262 +scalePrev (CompDisplay *d,scalePrev1613,33767 +scaleNext (CompDisplay *d,scaleNext1645,34391 +scaleInitiateAll (CompDisplay *d,scaleInitiateAll1678,35019 +scaleInitiateGroup (CompDisplay *d,scaleInitiateGroup1710,35723 +scaleInitiateOutput (CompDisplay *d,scaleInitiateOutput1751,36646 +scaleRelayoutSlots (CompDisplay *d,scaleRelayoutSlots1783,37373 +scaleWindowRemove (CompDisplay *d,scaleWindowRemove1815,37931 +scaleHoverTimeout (void *closure)scaleHoverTimeout1867,38839 +scaleHandleEvent (CompDisplay *d,scaleHandleEvent1903,39503 +scaleDamageWindowRect (CompWindow *w,scaleDamageWindowRect2152,44985 +scaleGetDisplayOptions (CompPlugin *plugin,scaleGetDisplayOptions2196,45761 +scaleSetDisplayOption (CompPlugin *plugin,scaleSetDisplayOption2207,45948 +static const CompMetadataOptionInfo scaleDisplayOptionInfo[] = {scaleDisplayOptionInfo2232,46448 +scaleInitDisplay (CompPlugin *p,scaleInitDisplay2246,47094 +scaleFiniDisplay (CompPlugin *p,scaleFiniDisplay2293,48340 +static const CompMetadataOptionInfo scaleScreenOptionInfo[] = {scaleScreenOptionInfo2307,48597 +scaleInitScreen (CompPlugin *p,scaleInitScreen2320,49171 +scaleFiniScreen (CompPlugin *p,scaleFiniScreen2387,50707 +scaleInitWindow (CompPlugin *p,scaleInitWindow2417,51305 +scaleFiniWindow (CompPlugin *p,scaleFiniWindow2443,51782 +scaleInit (CompPlugin *p)scaleInit2452,51887 +scaleFini (CompPlugin *p)scaleFini2475,52395 +scaleGetVersion (CompPlugin *plugin,scaleGetVersion2482,52532 +scaleGetMetadata (CompPlugin *plugin)scaleGetMetadata2489,52639 +CompPluginVTable scaleVTable = {scaleVTable2494,52709 +getCompPluginInfo (void)getCompPluginInfo2513,53086 + +plugins/fade.c,3926 +static CompMetadata fadeMetadata;fadeMetadata31,1266 +static int displayPrivateIndex;displayPrivateIndex33,1301 +typedef struct _FadeDisplay {_FadeDisplay35,1334 + int screenPrivateIndex;screenPrivateIndex36,1364 + HandleEventProc handleEvent;handleEvent37,1401 + MatchExpHandlerChangedProc matchExpHandlerChanged;matchExpHandlerChanged38,1441 + int displayModals;displayModals39,1496 + Bool suppressMinimizeOpenClose;suppressMinimizeOpenClose40,1528 +} FadeDisplay;FadeDisplay41,1572 +#define FADE_SCREEN_OPTION_FADE_SPEED FADE_SCREEN_OPTION_FADE_SPEED43,1588 +#define FADE_SCREEN_OPTION_WINDOW_MATCH FADE_SCREEN_OPTION_WINDOW_MATCH44,1631 +#define FADE_SCREEN_OPTION_VISUAL_BELL FADE_SCREEN_OPTION_VISUAL_BELL45,1676 +#define FADE_SCREEN_OPTION_FULLSCREEN_VISUAL_BELL FADE_SCREEN_OPTION_FULLSCREEN_VISUAL_BELL46,1720 +#define FADE_SCREEN_OPTION_NUM FADE_SCREEN_OPTION_NUM47,1772 +typedef struct _FadeScreen {_FadeScreen49,1810 + int windowPrivateIndex;windowPrivateIndex50,1839 + int fadeTime;fadeTime51,1872 + CompOption opt[FADE_SCREEN_OPTION_NUM];opt53,1896 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen55,1941 + PaintWindowProc paintWindow;paintWindow56,1988 + DamageWindowRectProc damageWindowRect;damageWindowRect57,2024 + FocusWindowProc focusWindow;focusWindow58,2069 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify59,2105 + CompMatch match;match61,2153 +} FadeScreen;FadeScreen62,2174 +typedef struct _FadeWindow {_FadeWindow64,2189 + GLushort opacity;opacity65,2218 + GLushort brightness;brightness66,2240 + GLushort saturation;saturation67,2265 + int dModal;dModal69,2291 + int destroyCnt;destroyCnt71,2308 + int unmapCnt;unmapCnt72,2328 + Bool shaded;shaded74,2347 + Bool fadeOut;fadeOut75,2364 + int steps;steps77,2383 +} FadeWindow;FadeWindow78,2398 +#define GET_FADE_DISPLAY(GET_FADE_DISPLAY80,2413 +#define FADE_DISPLAY(FADE_DISPLAY83,2513 +#define GET_FADE_SCREEN(GET_FADE_SCREEN86,2588 +#define FADE_SCREEN(FADE_SCREEN89,2692 +#define GET_FADE_WINDOW(GET_FADE_WINDOW92,2796 +#define FADE_WINDOW(FADE_WINDOW95,2907 +#define NUM_OPTIONS(NUM_OPTIONS100,3082 +fadeUpdateWindowFadeMatch (CompDisplay *display,fadeUpdateWindowFadeMatch103,3160 +fadeGetScreenOptions (CompPlugin *plugin,fadeGetScreenOptions115,3488 +fadeSetScreenOption (CompPlugin *plugin,fadeSetScreenOption126,3674 +fadePreparePaintScreen (CompScreen *s,fadePreparePaintScreen165,4436 +fadeWindowStop (CompWindow *w)fadeWindowStop186,4911 +fadePaintWindow (CompWindow *w,fadePaintWindow204,5132 +fadeAddDisplayModal (CompDisplay *d,fadeAddDisplayModal322,7928 +fadeRemoveDisplayModal (CompDisplay *d,fadeRemoveDisplayModal360,8489 +fadeHandleEvent (CompDisplay *d,fadeHandleEvent398,9036 +fadeDamageWindowRect (CompWindow *w,fadeDamageWindowRect556,11930 +fadeFocusWindow (CompWindow *w)fadeFocusWindow593,12558 +fadeWindowResizeNotify (CompWindow *w,fadeWindowResizeNotify611,12893 +fadeMatchExpHandlerChanged (CompDisplay *d)fadeMatchExpHandlerChanged628,13271 +fadeInitDisplay (CompPlugin *p,fadeInitDisplay643,13619 +fadeFiniDisplay (CompPlugin *p,fadeFiniDisplay678,14563 +static const CompMetadataOptionInfo fadeScreenOptionInfo[] = {fadeScreenOptionInfo691,14792 +fadeInitScreen (CompPlugin *p,fadeInitScreen699,15080 +fadeFiniScreen (CompPlugin *p,fadeFiniScreen748,16238 +fadeInitWindow (CompPlugin *p,fadeInitWindow769,16676 +fadeFiniWindow (CompPlugin *p,fadeFiniWindow803,17337 +fadeInit (CompPlugin *p)fadeInit819,17637 +fadeFini (CompPlugin *p)fadeFini839,18067 +fadeGetVersion (CompPlugin *plugin,fadeGetVersion846,18197 +fadeGetMetadata (CompPlugin *plugin)fadeGetMetadata853,18301 +static CompPluginVTable fadeVTable = {fadeVTable858,18369 +getCompPluginInfo (void)getCompPluginInfo877,18745 + +plugins/ini.c,4939 +#define _GNU_SOURCE _GNU_SOURCE29,1324 +#define DEFAULT_PLUGINS DEFAULT_PLUGINS36,1464 +#define NUM_DEFAULT_PLUGINS NUM_DEFAULT_PLUGINS37,1542 +#define MAX_OPTION_LENGTH MAX_OPTION_LENGTH38,1572 +#define HOME_OPTIONDIR HOME_OPTIONDIR39,1605 +#define CORE_NAME CORE_NAME40,1649 +#define FILE_SUFFIX FILE_SUFFIX41,1687 +#define GET_INI_DISPLAY(GET_INI_DISPLAY43,1724 +#define INI_DISPLAY(INI_DISPLAY45,1810 +#define GET_INI_SCREEN(GET_INI_SCREEN47,1873 +#define INI_SCREEN(INI_SCREEN49,1966 +#define NUM_OPTIONS(NUM_OPTIONS52,2057 +static int displayPrivateIndex;displayPrivateIndex54,2123 +static CompMetadata iniMetadata;iniMetadata56,2156 +typedef struct _IniFileData IniFileData;IniFileData65,2313 +struct _IniFileData {_IniFileData66,2354 + char *filename;filename67,2376 + char *plugin;plugin68,2398 + int screen;screen69,2418 + Bool blockWrites;blockWrites71,2438 + Bool blockReads;blockReads72,2462 + IniFileData *next;next74,2486 + IniFileData *prev;prev75,2511 +typedef struct _IniDisplay {_IniDisplay81,2561 + int screenPrivateIndex;screenPrivateIndex82,2590 + CompFileWatchHandle directoryWatch;directoryWatch84,2638 + InitPluginForDisplayProc initPluginForDisplay;initPluginForDisplay86,2682 + SetDisplayOptionProc setDisplayOption;setDisplayOption87,2738 + SetDisplayOptionForPluginProc setDisplayOptionForPlugin;setDisplayOptionForPlugin88,2783 + IniFileData *fileData;fileData90,2845 +} IniDisplay;IniDisplay91,2874 +typedef struct _IniScreen {_IniScreen96,2910 + InitPluginForScreenProc initPluginForScreen;initPluginForScreen97,2938 + SetScreenOptionProc setScreenOption;setScreenOption98,2994 + SetScreenOptionForPluginProc setScreenOptionForPlugin;setScreenOptionForPlugin99,3039 +} IniScreen;IniScreen100,3100 +static char * validActionTypes[] = {validActionTypes105,3134 +#define ACTION_VALUE_KEY ACTION_VALUE_KEY112,3225 +#define ACTION_VALUE_BUTTON ACTION_VALUE_BUTTON113,3263 +#define ACTION_VALUE_BELL ACTION_VALUE_BELL114,3304 +#define ACTION_VALUE_EDGE ACTION_VALUE_EDGE115,3343 +#define ACTION_VALUE_EDGEBUTTON ACTION_VALUE_EDGEBUTTON116,3382 +#define ACTION_VALUES_ALL ACTION_VALUES_ALL117,3427 +static int actionValueMasks[] = {actionValueMasks124,3578 + ACTION_TYPE_KEY = 0,ACTION_TYPE_KEY133,3744 + ACTION_TYPE_BUTTON,ACTION_TYPE_BUTTON134,3769 + ACTION_TYPE_BELL,ACTION_TYPE_BELL135,3793 + ACTION_TYPE_EDGE,ACTION_TYPE_EDGE136,3815 + ACTION_TYPE_EDGEBUTTON,ACTION_TYPE_EDGEBUTTON137,3837 + ACTION_TYPES_NUMACTION_TYPES_NUM138,3865 +typedef struct _IniAction {_IniAction141,3890 + char *realOptionName;realOptionName142,3918 + unsigned int valueMasks;valueMasks143,3944 + CompAction a;a144,3973 +} IniAction;IniAction145,3991 +iniGetFileDataFromFilename (CompDisplay *d,iniGetFileDataFromFilename149,4027 +iniOptionValueToString (CompOptionValue *value, CompOptionType type)iniOptionValueToString245,5974 +iniGetHomeDir (char **homeDir)iniGetHomeDir280,6723 +iniGetFilename (CompDisplay *d,iniGetFilename302,7070 +iniParseLine (char *line, char **optionName, char **optionValue)iniParseLine363,8143 +csvToList (char *csv, CompListValue *list, CompOptionType type)csvToList396,8940 +iniMakeDirectories (void)iniMakeDirectories482,10703 +findActionType (char *optionName, int *type)findActionType502,11001 +parseAction (CompDisplay *d,parseAction525,11378 +iniLoadOptionsFromFile (CompDisplay *d,iniLoadOptionsFromFile642,14318 +iniSaveOptions (CompDisplay *d,iniSaveOptions859,19442 +iniLoadOptions (CompDisplay *d,iniLoadOptions1083,24583 +iniFileModified (const char *name,iniFileModified1224,27541 +iniFreeFileData (CompDisplay *d)iniFreeFileData1240,27809 +iniInitPluginForDisplay (CompPlugin *p,iniInitPluginForDisplay1261,28043 +iniInitPluginForScreen (CompPlugin *p,iniInitPluginForScreen1287,28600 +iniSetScreenOption (CompScreen *s, char *name, CompOptionValue *value)iniSetScreenOption1313,29191 +iniSetDisplayOption (CompDisplay *d, char *name, CompOptionValue *value)iniSetDisplayOption1332,29562 +iniSetDisplayOptionForPlugin (CompDisplay *d,iniSetDisplayOptionForPlugin1351,29921 +iniSetScreenOptionForPlugin (CompScreen *s,iniSetScreenOptionForPlugin1377,30485 +iniInitDisplay (CompPlugin *p, CompDisplay *d)iniInitDisplay1403,31056 +iniFiniDisplay (CompPlugin *p, CompDisplay *d)iniFiniDisplay1444,31974 +iniInitScreen (CompPlugin *p, CompScreen *s)iniInitScreen1463,32357 +iniFiniScreen (CompPlugin *p, CompScreen *s)iniFiniScreen1485,32858 +iniInit (CompPlugin *p)iniInit1497,33081 +iniFini (CompPlugin *p)iniFini1516,33468 +iniGetVersion (CompPlugin *plugin, int version)iniGetVersion1523,33597 +iniGetMetadata (CompPlugin *plugin)iniGetMetadata1529,33695 +CompPluginVTable iniVTable = {iniVTable1534,33761 +getCompPluginInfo (void)getCompPluginInfo1551,33996 + +reflex/reflex.c,2543 +static int displayPrivateIndex = 0;displayPrivateIndex34,825 +typedef struct _ReflexDisplay_ReflexDisplay36,862 + MatchExpHandlerChangedProc matchExpHandlerChanged;matchExpHandlerChanged38,894 + MatchPropertyChangedProc matchPropertyChanged;matchPropertyChanged39,949 + int screenPrivateIndex;screenPrivateIndex41,1003 +ReflexDisplay;ReflexDisplay43,1033 +typedef struct _ReflexFunction_ReflexFunction45,1049 + int handle;handle47,1082 + int target;target48,1098 + int param;param49,1114 + int unit;unit50,1129 +} ReflexFunction;ReflexFunction51,1143 +typedef struct _ReflexScreen_ReflexScreen53,1162 + int windowPrivateIndex;windowPrivateIndex55,1193 + DrawWindowTextureProc drawWindowTexture;drawWindowTexture57,1222 + Bool imageLoaded;imageLoaded59,1268 + CompTexture image;image60,1297 + unsigned int width;width62,1325 + unsigned int height;height63,1349 + ReflexFunction function;function65,1375 +ReflexScreen;ReflexScreen67,1406 +typedef struct _ReflexWindow {_ReflexWindow69,1421 + Bool active;active70,1452 +} ReflexWindow;ReflexWindow71,1469 +#define GET_REFLEX_DISPLAY(GET_REFLEX_DISPLAY73,1486 +#define REFLEX_DISPLAY(REFLEX_DISPLAY76,1615 +#define GET_REFLEX_SCREEN(GET_REFLEX_SCREEN79,1728 +#define REFLEX_SCREEN(REFLEX_SCREEN82,1861 +#define GET_REFLEX_WINDOW(GET_REFLEX_WINDOW85,2005 +#define REFLEX_WINDOW(REFLEX_WINDOW88,2113 +getReflexFragmentFunction (CompScreen *s,getReflexFragmentFunction94,2313 +reflexUpdateWindowMatch (CompWindow *w)reflexUpdateWindowMatch182,4121 +reflexScreenOptionChanged (CompScreen *s,reflexScreenOptionChanged197,4367 +reflexDrawWindowTexture (CompWindow *w,reflexDrawWindowTexture233,5014 +reflexMatchExpHandlerChanged (CompDisplay *d)reflexMatchExpHandlerChanged316,7052 +reflexMatchPropertyChanged (CompDisplay *d,reflexMatchPropertyChanged336,7539 +reflexInitDisplay (CompPlugin *p,reflexInitDisplay349,7831 +reflexFiniDisplay (CompPlugin *p,reflexFiniDisplay376,8345 +reflexInitScreen (CompPlugin *p,reflexInitScreen390,8602 +reflexFiniScreen (CompPlugin *p,reflexFiniScreen428,9357 +reflexInitWindow (CompPlugin *p,reflexInitWindow444,9643 +reflexFiniWindow (CompPlugin *p,reflexFiniWindow465,9964 +reflexInit (CompPlugin *p)reflexInit473,10071 +reflexFini (CompPlugin *p)reflexFini484,10240 +reflexGetVersion (CompPlugin *plugin,reflexGetVersion491,10365 +CompPluginVTable reflexVTable = {reflexVTable497,10455 +getCompPluginInfo (void)getCompPluginInfo517,10749 + +ring/ring.c,6081 + RingStateNone = 0,RingStateNone48,1198 + RingStateOut,RingStateOut49,1221 + RingStateSwitching,RingStateSwitching50,1239 + RingStateInRingStateIn51,1263 +} RingState;RingState52,1279 + RingTypeNormal = 0,RingTypeNormal55,1308 + RingTypeGroup,RingTypeGroup56,1332 + RingTypeAllRingTypeAll57,1351 +} RingType;RingType58,1367 +static int displayPrivateIndex;displayPrivateIndex60,1380 +typedef struct _RingSlot {_RingSlot62,1413 + int x, y; /* thumb center coordinates */x63,1440 + int x, y; /* thumb center coordinates */y63,1440 + float scale; /* size scale (fit to maximal thumb size */scale64,1498 + float depthScale; /* scale for depth impression */depthScale65,1569 + float depthBrightness; /* brightness for depth impression */depthBrightness66,1629 +} RingSlot;RingSlot67,1694 +typedef struct _RingDrawSlot {_RingDrawSlot69,1707 + CompWindow *w;w70,1738 + RingSlot **slot;slot71,1757 +} RingDrawSlot;RingDrawSlot72,1780 +typedef struct _RingDisplay {_RingDisplay74,1797 + int screenPrivateIndex;screenPrivateIndex75,1827 + HandleEventProc handleEvent;handleEvent76,1860 +} RingDisplay;RingDisplay77,1893 +typedef struct _RingScreen {_RingScreen79,1909 + int windowPrivateIndex;windowPrivateIndex80,1938 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen82,1967 + DonePaintScreenProc donePaintScreen;donePaintScreen83,2014 + PaintOutputProc paintOutput;paintOutput84,2058 + PaintWindowProc paintWindow;paintWindow85,2098 + DamageWindowRectProc damageWindowRect;damageWindowRect86,2138 + int grabIndex;grabIndex88,2184 + RingState state;state90,2205 + RingType type;type91,2226 + Bool moreAdjust;moreAdjust92,2246 + Bool rotateAdjust;rotateAdjust93,2272 + Bool paintingSwitcher;paintingSwitcher95,2301 + int rotTarget;rotTarget97,2329 + int rotAdjust;rotAdjust98,2352 + GLfloat rVelocity;rVelocity99,2375 + Cursor cursor;cursor101,2399 + CompWindow **windows;windows104,2451 + RingDrawSlot *drawSlots;drawSlots105,2479 + int windowsSize;windowsSize106,2508 + int nWindows;nWindows107,2538 + Window clientLeader;clientLeader109,2566 + Window selectedWindow;selectedWindow110,2591 + CompTexture textTexture;textTexture113,2650 + Pixmap textPixmap;textPixmap114,2679 + int textWidth;textWidth115,2707 + int textHeight;textHeight116,2734 + CompMatch match;match118,2763 + CompMatch *currentMatch;currentMatch119,2784 +} RingScreen;RingScreen120,2813 +typedef struct _RingWindow {_RingWindow122,2828 + RingSlot *slot;slot123,2857 + GLfloat xVelocity;xVelocity125,2878 + GLfloat yVelocity;yVelocity126,2901 + GLfloat scaleVelocity;scaleVelocity127,2924 + GLfloat tx;tx129,2952 + GLfloat ty;ty130,2968 + GLfloat scale;scale131,2984 + Bool adjust;adjust132,3003 +} RingWindow;RingWindow133,3023 +#define PI PI135,3038 +#define DIST_ROT DIST_ROT136,3059 +#define GET_RING_DISPLAY(GET_RING_DISPLAY138,3099 +#define RING_DISPLAY(RING_DISPLAY141,3200 +#define GET_RING_SCREEN(GET_RING_SCREEN144,3276 +#define RING_SCREEN(RING_SCREEN147,3381 +#define GET_RING_WINDOW(GET_RING_WINDOW150,3488 +#define RING_WINDOW(RING_WINDOW153,3593 +isRingWin (CompWindow *w)isRingWin159,3793 +ringFreeWindowTitle (CompScreen *s)ringFreeWindowTitle216,4924 +ringRenderWindowTitle (CompScreen *s)ringRenderWindowTitle230,5207 +ringDrawWindowTitle (CompScreen *s)ringDrawWindowTitle281,6526 +#define CORNER(CORNER347,8297 +#undef CORNERCORNER382,9284 +ringPaintWindow (CompWindow *w,ringPaintWindow413,10152 +ringLinearInterpolation(float valX, ringLinearInterpolation627,15625 +compareWindows (const void *elem1,compareWindows636,15830 +compareRingWindowDepth (const void *elem1, compareRingWindowDepth652,16135 +layoutThumbs (CompScreen *s)layoutThumbs667,16425 +ringAddWindowToList (CompScreen *s,ringAddWindowToList755,18943 +ringUpdateWindowList (CompScreen *s)ringUpdateWindowList780,19423 +ringCreateWindowList (CompScreen *s)ringCreateWindowList800,19781 +switchToWindow (CompScreen *s,switchToWindow823,20097 +ringCountWindows (CompScreen *s)ringCountWindows868,20828 +static int adjustRingRotation (CompScreen *s, float chunk)adjustRingRotation882,21018 +adjustRingVelocity (CompWindow *w)adjustRingVelocity925,21805 +ringPaintOutput (CompScreen *s,ringPaintOutput994,23303 +ringPreparePaintScreen (CompScreen *s,ringPreparePaintScreen1047,24450 +ringDonePaintScreen (CompScreen *s)ringDonePaintScreen1106,25776 +ringTerminate (CompDisplay *d,ringTerminate1136,26287 +ringInitiate (CompScreen *s,ringInitiate1193,27335 +ringDoSwitch (CompDisplay *d,ringDoSwitch1259,28698 +ringNext (CompDisplay *d,ringNext1317,30020 +ringPrev (CompDisplay *d,ringPrev1328,30266 +ringNextAll (CompDisplay *d,ringNextAll1339,30513 +ringPrevAll (CompDisplay *d,ringPrevAll1350,30772 +ringNextGroup (CompDisplay *d,ringNextGroup1361,31032 +ringPrevGroup (CompDisplay *d,ringPrevGroup1372,31316 +ringWindowSelectAt (CompScreen *s, int x, int y)ringWindowSelectAt1383,31601 +ringWindowRemove (CompDisplay * d, ringWindowRemove1427,32478 +ringHandleEvent (CompDisplay *d,ringHandleEvent1503,33646 +ringDamageWindowRect (CompWindow *w,ringDamageWindowRect1555,34736 +ringInitDisplay (CompPlugin *p,ringInitDisplay1602,35604 +ringFiniDisplay (CompPlugin *p,ringFiniDisplay1639,36568 +ringInitScreen (CompPlugin *p,ringInitScreen1652,36766 +ringFiniScreen (CompPlugin *p,ringFiniScreen1706,37866 +ringInitWindow (CompPlugin *p,ringInitWindow1735,38408 +ringFiniWindow (CompPlugin *p,ringFiniWindow1759,38825 +ringInit (CompPlugin *p)ringInit1768,38927 +ringFini (CompPlugin *p)ringFini1778,39093 +ringGetVersion (CompPlugin *plugin,ringGetVersion1785,39216 +CompPluginVTable ringVTable = {ringVTable1791,39299 +getCompPluginInfo (void)getCompPluginInfo1810,39570 + +scaleaddon/scaleaddon.c,4311 +static int displayPrivateIndex;displayPrivateIndex41,1075 +static int scaleDisplayPrivateIndex;scaleDisplayPrivateIndex42,1107 +#define WIN_X(WIN_X44,1145 +#define WIN_Y(WIN_Y45,1196 +#define WIN_W(WIN_W46,1246 +#define WIN_H(WIN_H47,1313 +typedef struct _ScaleAddonDisplay {_ScaleAddonDisplay49,1382 + int screenPrivateIndex;screenPrivateIndex50,1418 + HandleEventProc handleEvent;handleEvent52,1447 + HandleEcompEventProc handleEcompEvent;handleEcompEvent53,1486 + Window lastHoveredWindow;lastHoveredWindow55,1530 +} ScaleAddonDisplay;ScaleAddonDisplay56,1560 +typedef struct _ScaleAddonScreen {_ScaleAddonScreen58,1582 + int windowPrivateIndex;windowPrivateIndex59,1617 + ScaleLayoutSlotsAndAssignWindowsProc layoutSlotsAndAssignWindows;layoutSlotsAndAssignWindows61,1646 + ScalePaintDecorationProc scalePaintDecoration;scalePaintDecoration62,1716 + Pixmap textPixmap;textPixmap64,1770 + CompTexture textTexture;textTexture65,1798 + int textWidth;textWidth67,1828 + int textHeight;textHeight68,1847 + float scale;scale70,1868 +} ScaleAddonScreen;ScaleAddonScreen71,1885 +typedef struct _ScaleAddonWindow {_ScaleAddonWindow73,1906 + ScaleSlot origSlot;origSlot74,1941 + Bool rescaled;rescaled76,1966 + CompWindow *oldAbove;oldAbove78,1986 +} ScaleAddonWindow;ScaleAddonWindow79,2012 +#define GET_ADDON_DISPLAY(GET_ADDON_DISPLAY81,2033 +#define ADDON_DISPLAY(ADDON_DISPLAY84,2145 +#define GET_ADDON_SCREEN(GET_ADDON_SCREEN87,2234 +#define ADDON_SCREEN(ADDON_SCREEN90,2357 +#define GET_ADDON_WINDOW(GET_ADDON_WINDOW93,2484 +#define ADDON_WINDOW(ADDON_WINDOW96,2607 +scaleaddonFreeWindowTitle (CompScreen *s)scaleaddonFreeWindowTitle102,2827 +scaleaddonRenderWindowTitle (CompWindow *w)scaleaddonRenderWindowTitle116,3116 +scaleaddonDrawWindowTitle (CompWindow *w)scaleaddonDrawWindowTitle166,4609 +#define CORNER(CORNER210,5894 +#undef CORNERCORNER245,6899 +scaleaddonDrawWindowHighlight (CompWindow *w)scaleaddonDrawWindowHighlight276,7772 +scaleaddonCheckHoveredWindow (CompScreen *s)scaleaddonCheckHoveredWindow321,8942 +scaleaddonCheckForWindowAt (CompScreen * s, int x, int y)scaleaddonCheckForWindowAt350,9484 +scaleaddonCloseWindow (CompDisplay *d,scaleaddonCloseWindow377,10128 +scaleaddonZoomWindow (CompDisplay *d,scaleaddonZoomWindow417,10866 +scaleaddonHandleEvent (CompDisplay *d,scaleaddonHandleEvent509,12815 +scaleaddonScalePaintDecoration (CompWindow *w,scaleaddonScalePaintDecoration560,13721 +scaleaddonHandleEcompEvent (CompDisplay *d,scaleaddonHandleEcompEvent588,14547 +#define ORGANIC_STEP ORGANIC_STEP635,15733 +organicCompareWindows (const void *elem1, const void *elem2)organicCompareWindows638,15771 +layoutOrganicCalculateOverlap (CompScreen * s, int win, int x, int y)layoutOrganicCalculateOverlap647,16008 +layoutOrganicFindBestHorizontalPosition (CompScreen * s, int win,layoutOrganicFindBestHorizontalPosition685,16879 +layoutOrganicFindBestVerticalPosition (CompScreen * s, int win,layoutOrganicFindBestVerticalPosition754,18410 +layoutOrganicLocalSearch (CompScreen * s, int areaWidth, int areaHeight)layoutOrganicLocalSearch822,20036 +layoutOrganicRemoveOverlap (CompScreen * s, int areaWidth, int areaHeight)layoutOrganicRemoveOverlap879,21195 +layoutOrganicThumbs(CompScreen * s)layoutOrganicThumbs919,22168 +scaleaddonLayoutSlotsAndAssignWindows (CompScreen *s)scaleaddonLayoutSlotsAndAssignWindows1004,24194 +scaleaddonScreenOptionChanged (CompScreen *s,scaleaddonScreenOptionChanged1029,24720 +scaleaddonInitDisplay (CompPlugin *p,scaleaddonInitDisplay1053,25244 +scaleaddonFiniDisplay (CompPlugin *p,scaleaddonFiniDisplay1102,26494 +scaleaddonInitScreen (CompPlugin *p,scaleaddonInitScreen1116,26749 +scaleaddonFiniScreen (CompPlugin *p,scaleaddonFiniScreen1156,27794 +scaleaddonInitWindow (CompPlugin *p,scaleaddonInitWindow1172,28123 +scaleaddonFiniWindow (CompPlugin *p,scaleaddonFiniWindow1191,28427 +scaleaddonInit (CompPlugin *p)scaleaddonInit1200,28542 +scaleaddonFini (CompPlugin *p)scaleaddonFini1210,28714 +scaleaddonGetVersion (CompPlugin *plugin,scaleaddonGetVersion1216,28812 +CompPluginVTable scaleaddonVTable = {scaleaddonVTable1222,28910 +getCompPluginInfo (void)getCompPluginInfo1241,29247 + +scalefilter/scalefilter.c,3689 +#define _GNU_SOURCE_GNU_SOURCE30,869 +static int displayPrivateIndex;displayPrivateIndex45,1108 +static int scaleDisplayPrivateIndex;scaleDisplayPrivateIndex46,1140 +#define MAX_FILTER_SIZE MAX_FILTER_SIZE48,1178 +#define MAX_FILTER_STRING_LEN MAX_FILTER_STRING_LEN49,1205 +#define MAX_FILTER_TEXT_LEN MAX_FILTER_TEXT_LEN50,1255 +typedef struct _ScaleFilterInfo {_ScaleFilterInfo52,1304 + CompTimeoutHandle timeoutHandle;timeoutHandle53,1338 + Pixmap textPixmap;textPixmap55,1376 + CompTexture textTexture;textTexture56,1404 + unsigned int outputDevice;outputDevice58,1434 + int textWidth;textWidth60,1466 + int textHeight;textHeight61,1485 + CompMatch match;match63,1506 + CompMatch *origMatch;origMatch64,1527 + wchar_t filterString[2 * MAX_FILTER_STRING_LEN];filterString66,1554 + int filterStringLength;filterStringLength67,1607 +} ScaleFilterInfo;ScaleFilterInfo68,1639 +typedef struct _ScaleFilterDisplay {_ScaleFilterDisplay70,1659 + int screenPrivateIndex;screenPrivateIndex71,1696 + XIM xim;xim73,1725 + XIC xic;xic74,1738 + HandleEventProc handleEvent;handleEvent76,1752 + HandleEcompEventProc handleEcompEvent;handleEcompEvent77,1791 +} ScaleFilterDisplay;ScaleFilterDisplay78,1834 +typedef struct _ScaleFilterScreen {_ScaleFilterScreen80,1857 + PaintOutputProc paintOutput;paintOutput81,1893 + ScaleSetScaledPaintAttributesProc setScaledPaintAttributes;setScaledPaintAttributes82,1944 + CompMatch scaleMatch;scaleMatch84,2009 + Bool matchApplied;matchApplied85,2035 + ScaleFilterInfo *filterInfo;filterInfo87,2059 +} ScaleFilterScreen;ScaleFilterScreen88,2092 +#define GET_FILTER_DISPLAY(GET_FILTER_DISPLAY90,2114 +#define FILTER_DISPLAY(FILTER_DISPLAY93,2228 +#define GET_FILTER_SCREEN(GET_FILTER_SCREEN96,2320 +#define FILTER_SCREEN(FILTER_SCREEN99,2445 +scalefilterFreeFilterText (CompScreen *s)scalefilterFreeFilterText103,2588 +scalefilterRenderFilterText (CompScreen *s)scalefilterRenderFilterText120,2973 +scalefilterDrawFilterText (CompScreen *s,scalefilterDrawFilterText218,6147 +#define CORNER(CORNER265,7498 +#undef CORNERCORNER300,8503 +scalefilterUpdateFilter (CompScreen *s,scalefilterUpdateFilter331,9396 +scalefilterRelayout (CompScreen *s)scalefilterRelayout361,10093 +scalefilterInitFilterInfo (CompScreen *s)scalefilterInitFilterInfo385,10564 +scalefilterFiniFilterInfo (CompScreen *s,scalefilterFiniFilterInfo413,11171 +scalefilterFilterTimeout (void *closure)scalefilterFilterTimeout430,11516 +scalefilterHandleKeyPress (CompScreen *s,scalefilterHandleKeyPress448,11832 +scalefilterHandleEvent (CompDisplay *d,scalefilterHandleEvent573,14784 +scalefilterHandleEcompEvent (CompDisplay *d,scalefilterHandleEcompEvent605,15358 +scalefilterPaintOutput (CompScreen *s,scalefilterPaintOutput652,16494 +scalefilterSetScaledPaintAttributes (CompWindow *w,scalefilterSetScaledPaintAttributes688,17372 +scalefilterScreenOptionChanged (CompScreen *s,scalefilterScreenOptionChanged717,17961 +scalefilterInitDisplay (CompPlugin *p,scalefilterInitDisplay740,18427 +scalefilterFiniDisplay (CompPlugin *p,scalefilterFiniDisplay797,19826 +scalefilterInitScreen (CompPlugin *p,scalefilterInitScreen816,20154 +scalefilterFiniScreen (CompPlugin *p,scalefilterFiniScreen847,20979 +scalefilterInit (CompPlugin *p)scalefilterInit866,21326 +scalefilterFini (CompPlugin *p)scalefilterFini876,21499 +scalefilterGetVersion (CompPlugin *plugin,scalefilterGetVersion882,21598 +CompPluginVTable scalefilterVTable = {scalefilterVTable888,21696 +getCompPluginInfo (void)getCompPluginInfo907,22004 + +shift/shift.c,7594 + ShiftStateNone = 0,ShiftStateNone50,1229 + ShiftStateOut,ShiftStateOut51,1253 + ShiftStateSwitching,ShiftStateSwitching52,1272 + ShiftStateInShiftStateIn53,1297 +} ShiftState;ShiftState54,1314 + ShiftTypeNormal = 0,ShiftTypeNormal57,1344 + ShiftTypeGroup,ShiftTypeGroup58,1369 + ShiftTypeAllShiftTypeAll59,1389 +} ShiftType;ShiftType60,1406 +static int displayPrivateIndex;displayPrivateIndex62,1420 +typedef struct _ShiftSlot {_ShiftSlot64,1453 + int x, y; /* thumb center coordinates */x65,1481 + int x, y; /* thumb center coordinates */y65,1481 + float z;z66,1539 + float scale; /* size scale (fit to maximal thumb size */scale67,1552 + float opacity;opacity68,1623 + float rotation;rotation69,1642 + GLfloat tx;tx71,1663 + GLfloat ty;ty72,1679 + Bool primary;primary74,1696 +} ShiftSlot;ShiftSlot76,1718 +typedef struct _ShiftDrawSlot {_ShiftDrawSlot78,1732 + CompWindow *w;w79,1764 + ShiftSlot *slot;slot80,1783 + float distance;distance81,1805 +} ShiftDrawSlot;ShiftDrawSlot82,1830 +typedef struct _ShiftDisplay {_ShiftDisplay84,1848 + int screenPrivateIndex;screenPrivateIndex85,1879 + HandleEventProc handleEvent;handleEvent86,1912 + KeyCode leftKey;leftKey88,1946 + KeyCode rightKey;rightKey89,1967 + KeyCode upKey;upKey90,1989 + KeyCode downKey;downKey91,2008 +} ShiftDisplay;ShiftDisplay92,2029 +typedef struct _ShiftScreen {_ShiftScreen94,2046 + int windowPrivateIndex;windowPrivateIndex95,2076 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen97,2105 + DonePaintScreenProc donePaintScreen;donePaintScreen98,2152 + PaintScreenProc paintScreen;paintScreen99,2196 + PaintOutputProc paintOutput;paintOutput100,2236 + PaintWindowProc paintWindow;paintWindow101,2276 + DamageWindowRectProc damageWindowRect;damageWindowRect102,2316 + int grabIndex;grabIndex104,2362 + ShiftState state;state106,2383 + ShiftType type;type107,2405 + Bool moreAdjust;moreAdjust109,2427 + Bool moveAdjust;moveAdjust110,2453 + float mvTarget;mvTarget112,2480 + float mvAdjust;mvAdjust113,2502 + GLfloat mvVelocity;mvVelocity114,2524 + Bool invert;invert115,2548 + Cursor cursor;cursor117,2569 + CompWindow **windows;windows120,2621 + int windowsSize;windowsSize121,2649 + int nWindows;nWindows122,2679 + ShiftDrawSlot *drawSlots;drawSlots124,2707 + int slotsSize;slotsSize125,2737 + int nSlots;nSlots126,2766 + ShiftDrawSlot *activeSlot;activeSlot127,2792 + Window clientLeader;clientLeader129,2828 + Window selectedWindow;selectedWindow130,2853 + CompTexture textTexture;textTexture133,2912 + Pixmap textPixmap;textPixmap134,2941 + int textWidth;textWidth135,2969 + int textHeight;textHeight136,2996 + CompMatch match;match138,3025 + CompMatch *currentMatch;currentMatch139,3046 + CompOutput *output;output141,3076 + int usedOutput;usedOutput142,3100 + float anim;anim144,3128 + float animVelocity;animVelocity145,3144 + float reflectBrightness;reflectBrightness147,3173 + Bool reflectActive;reflectActive148,3202 + int buttonPressTime;buttonPressTime150,3228 + Bool buttonPressed;buttonPressed151,3255 + int startX;startX152,3280 + int startY;startY153,3298 + float startTarget;startTarget154,3316 + float lastTitle;lastTitle155,3339 + Bool paintingAbove;paintingAbove157,3361 +} ShiftScreen;ShiftScreen158,3386 +typedef struct _ShiftWindow {_ShiftWindow160,3402 + ShiftSlot slots[2];slots161,3432 + float opacity;opacity163,3457 + float brightness;brightness164,3476 + float opacityVelocity;opacityVelocity165,3498 + float brightnessVelocity;brightnessVelocity166,3525 + Bool active;active168,3556 +} ShiftWindow;ShiftWindow169,3573 +#define PI PI171,3589 +#define GET_SHIFT_DISPLAY(GET_SHIFT_DISPLAY173,3611 +#define SHIFT_DISPLAY(SHIFT_DISPLAY176,3714 +#define GET_SHIFT_SCREEN(GET_SHIFT_SCREEN179,3793 +#define SHIFT_SCREEN(SHIFT_SCREEN182,3900 +#define GET_SHIFT_WINDOW(GET_SHIFT_WINDOW185,4011 +#define SHIFT_WINDOW(SHIFT_WINDOW188,4118 +shiftActivateEvent (CompScreen *s,shiftActivateEvent194,4323 +isShiftWin (CompWindow *w)isShiftWin211,4685 +shiftFreeWindowTitle (CompScreen *s)shiftFreeWindowTitle268,5821 +shiftRenderWindowTitle (CompScreen *s)shiftRenderWindowTitle282,6106 +shiftDrawWindowTitle (CompScreen *s)shiftDrawWindowTitle341,7574 +#define CORNER(CORNER419,9654 +#undef CORNERCORNER454,10641 +shiftPaintWindow (CompWindow *w,shiftPaintWindow485,11509 +compareWindows (const void *elem1,compareWindows746,18334 +compareShiftWindowDistance (const void *elem1,compareShiftWindowDistance788,19084 +layoutThumbsCover (CompScreen *s)layoutThumbsCover803,19365 +layoutThumbsFlip (CompScreen *s)layoutThumbsFlip948,22985 +layoutThumbs (CompScreen *s)layoutThumbs1073,25922 +shiftAddWindowToList (CompScreen *s,shiftAddWindowToList1093,26239 +shiftUpdateWindowList (CompScreen *s)shiftUpdateWindowList1124,26831 +shiftCreateWindowList (CompScreen *s)shiftCreateWindowList1146,27225 +switchToWindow (CompScreen *s,switchToWindow1168,27546 +shiftCountWindows (CompScreen *s)shiftCountWindows1213,28261 +static int adjustShiftMovement (CompScreen *s, float chunk)adjustShiftMovement1227,28453 +adjustShiftWindowAttribs (CompWindow *w, float chunk)adjustShiftWindowAttribs1283,29503 +adjustShiftAnimationAttribs (CompScreen *s, float chunk)adjustShiftAnimationAttribs1343,30980 +shiftPaintOutput (CompScreen *s,shiftPaintOutput1378,31648 +shiftPaintScreen (CompScreen *s,shiftPaintScreen1583,36366 +shiftPreparePaintScreen (CompScreen *s,shiftPreparePaintScreen1603,36840 +shiftDonePaintScreen (CompScreen *s)shiftDonePaintScreen1668,38227 +canStackRelativeTo (CompWindow *w)canStackRelativeTo1710,38930 +shiftTerm (CompScreen *s, Bool cancel)shiftTerm1726,39203 +shiftTerminate (CompDisplay *d,shiftTerminate1791,40395 +shiftInitiateScreen (CompScreen *s,shiftInitiateScreen1820,41014 +shiftDoSwitch (CompDisplay *d,shiftDoSwitch1881,42231 +shiftInitiate (CompDisplay *d,shiftInitiate1950,43741 +shiftInitiateAll (CompDisplay *d,shiftInitiateAll1985,44558 +shiftNext (CompDisplay *d,shiftNext2020,45359 +shiftPrev (CompDisplay *d,shiftPrev2031,45607 +shiftNextAll (CompDisplay *d,shiftNextAll2042,45856 +shiftPrevAll (CompDisplay *d,shiftPrevAll2053,46117 +shiftNextGroup (CompDisplay *d,shiftNextGroup2064,46379 +shiftPrevGroup (CompDisplay *d,shiftPrevGroup2075,46665 +shiftWindowRemove (CompDisplay * d,shiftWindowRemove2087,46954 +shiftHandleEvent (CompDisplay *d,shiftHandleEvent2163,48128 +shiftDamageWindowRect (CompWindow *w,shiftDamageWindowRect2373,53024 +shiftInitDisplay (CompPlugin *p,shiftInitDisplay2416,53838 +shiftFiniDisplay (CompPlugin *p,shiftFiniDisplay2462,55343 +shiftInitScreen (CompPlugin *p,shiftInitScreen2475,55543 +shiftFiniScreen (CompPlugin *p,shiftFiniScreen2540,56849 +shiftInitWindow (CompPlugin *p,shiftInitWindow2570,57427 +shiftFiniWindow (CompPlugin *p,shiftFiniWindow2590,57751 +shiftInit (CompPlugin *p)shiftInit2599,57855 +shiftFini (CompPlugin *p)shiftFini2609,58022 +shiftGetVersion (CompPlugin *plugin,shiftGetVersion2616,58146 +CompPluginVTable shiftVTable = {shiftVTable2622,58230 +getCompPluginInfo (void)getCompPluginInfo2641,58512 + +src/event.c,1669 +#define A(A27,1262 +#define D(D28,1357 +#define C(C29,1370 +#define E(E30,1383 +static Window xdndWindow = None;xdndWindow43,1610 +static Window edgeWindow = None;edgeWindow44,1643 +handleWindowDamageRect (CompWindow *w,handleWindowDamageRect50,1740 +static Bool initialDamageTimeout(void *closure)initialDamageTimeout91,2735 +#define REAL_MOD_MASK REAL_MOD_MASK105,2948 +isCallBackBinding (CompOption *option,isCallBackBinding109,3088 +isInitiateBinding (CompOption *option,isInitiateBinding126,3405 +isTerminateBinding (CompOption *option,isTerminateBinding143,3725 +triggerButtonPressBindings (CompDisplay *d,triggerButtonPressBindings160,4053 +triggerButtonReleaseBindings (CompDisplay *d,triggerButtonReleaseBindings235,5672 +triggerKeyPressBindings (CompDisplay *d,triggerKeyPressBindings264,6266 +triggerKeyReleaseBindings (CompDisplay *d,triggerKeyReleaseBindings332,7786 +triggerStateNotifyBindings (CompDisplay *d,triggerStateNotifyBindings372,8651 +isBellAction (CompOption *option,isBellAction437,9939 +triggerBellNotifyBindings (CompDisplay *d,triggerBellNotifyBindings459,10346 +isEdgeAction (CompOption *option,isEdgeAction483,10799 +isEdgeEnterAction (CompOption *option,isEdgeEnterAction500,11121 +isEdgeLeaveAction (CompOption *option,isEdgeLeaveAction520,11519 +triggerEdgeEnterBindings (CompDisplay *d,triggerEdgeEnterBindings537,11839 +triggerEdgeLeaveBindings (CompDisplay *d,triggerEdgeLeaveBindings562,12290 +handleActionEvent (CompDisplay *d,handleActionEvent587,12742 +handleEcompEvent (CompDisplay *d,handleEcompEvent1051,24595 +handleEvent (CompDisplay *d,handleEvent1060,24750 + +src/matrix.c,478 +static float identity[16] = {identity32,1246 +#define A(A39,1375 +#define B(B40,1415 +#define P(P41,1455 +matmul4 (float *product,matmul457,1856 +#undef AA74,2326 +#undef BB75,2335 +#undef PP76,2344 +#define DEG2RAD DEG2RAD79,2391 +matrixRotate (CompTransform *transform,matrixRotate90,2690 +#define M(M106,3064 +#undef MM271,7085 +matrixScale (CompTransform *transform,matrixScale287,7409 +matrixTranslate (CompTransform *transform,matrixTranslate311,7991 + +src/paint.c,1620 +#define DEG2RAD DEG2RAD32,1284 +ScreenPaintAttrib defaultScreenPaintAttrib = {defaultScreenPaintAttrib34,1317 +WindowPaintAttrib defaultWindowPaintAttrib = {defaultWindowPaintAttrib38,1426 +preparePaintScreen (CompScreen *screen,preparePaintScreen43,1532 +donePaintScreen (CompScreen *screen) {}donePaintScreen47,1616 +applyScreenTransform (CompScreen *screen,applyScreenTransform50,1662 +transformToScreenSpace (CompScreen *screen,transformToScreenSpace71,2252 +prepareXCoords (CompScreen *screen,prepareXCoords88,2641 +paintCursor (CompCursor *c,paintCursor102,2932 +paintOutputRegion (CompScreen *screen,paintOutputRegion153,4440 +#define CLIP_PLANE_MASK CLIP_PLANE_MASK254,6735 +paintTransformedOutput (CompScreen *screen,paintTransformedOutput258,6848 +paintOutput (CompScreen *screen,paintOutput334,8830 +#define ADD_RECT(ADD_RECT388,9944 +#define ADD_QUAD(ADD_QUAD418,10874 +moreWindowVertices (CompWindow *w,moreWindowVertices450,11810 +moreWindowIndices (CompWindow *w,moreWindowIndices469,12115 +drawWindowGeometry (CompWindow *w)drawWindowGeometry488,12419 +addWindowGeometry (CompWindow *w,addWindowGeometry528,13363 +enableFragmentProgramAndDrawGeometry (CompWindow *w,enableFragmentProgramAndDrawGeometry672,15842 +enableFragmentOperationsAndDrawGeometry (CompWindow *w,enableFragmentOperationsAndDrawGeometry754,17656 +drawWindowTexture (CompWindow *w,drawWindowTexture963,24075 +drawWindow (CompWindow *w,drawWindow991,24701 +paintWindow (CompWindow *w,paintWindow1021,25394 +paintBackground (CompScreen *s,paintBackground1074,26461 + +src/fragment.c,5714 +#define COMP_FUNCTION_TYPE_ARB COMP_FUNCTION_TYPE_ARB31,1266 +#define COMP_FUNCTION_TYPE_NUM COMP_FUNCTION_TYPE_NUM32,1299 +#define COMP_FUNCTION_ARB_MASK COMP_FUNCTION_ARB_MASK34,1333 +#define COMP_FUNCTION_MASK COMP_FUNCTION_MASK35,1373 +struct _CompProgram {_CompProgram37,1430 + struct _CompProgram *next;next38,1452 + int *signature;signature40,1484 + int nSignature;nSignature41,1504 + Bool blending;blending43,1525 + GLuint name;name45,1545 + GLenum type;type46,1562 + CompOpTypeData,CompOpTypeData50,1598 + CompOpTypeDataStore,CompOpTypeDataStore51,1618 + CompOpTypeDataOffset,CompOpTypeDataOffset52,1643 + CompOpTypeDataBlend,CompOpTypeDataBlend53,1669 + CompOpTypeHeaderTemp,CompOpTypeHeaderTemp54,1694 + CompOpTypeHeaderParam,CompOpTypeHeaderParam55,1720 + CompOpTypeHeaderAttrib,CompOpTypeHeaderAttrib56,1747 + CompOpTypeColor,CompOpTypeColor57,1775 + CompOpTypeFetch,CompOpTypeFetch58,1796 + CompOpTypeLoadCompOpTypeLoad59,1817 +} CompOpType;CompOpType60,1836 +typedef struct _CompDataOp {_CompDataOp62,1851 + CompOpType type;type63,1880 + char *data;data65,1902 +} CompDataOp;CompDataOp66,1918 +typedef struct _CompHeaderOp {_CompHeaderOp68,1933 + CompOpType type;type69,1964 + char *name;name71,1986 +} CompHeaderOp;CompHeaderOp72,2002 +typedef struct _CompFetchOp {_CompFetchOp74,2019 + CompOpType type;type75,2049 + char *dst;dst77,2071 + char *offset;offset78,2086 + int target;target79,2104 +} CompFetchOp;CompFetchOp80,2121 +typedef struct _CompLoadOp {_CompLoadOp82,2137 + CompOpType type;type83,2166 + char *noOffset[COMP_FETCH_TARGET_NUM];noOffset85,2188 + char *offset[COMP_FETCH_TARGET_NUM];offset86,2231 +} CompLoadOp;CompLoadOp87,2272 +typedef struct _CompColorOp {_CompColorOp89,2287 + CompOpType type;type90,2317 + char *dst;dst92,2339 + char *src;src93,2354 +} CompColorOp;CompColorOp94,2369 +typedef union _CompBodyOp {_CompBodyOp96,2385 + CompOpType type;type97,2413 + CompDataOp data;data99,2435 + CompFetchOp fetch;fetch100,2457 + CompLoadOp load;load101,2480 + CompColorOp color;color102,2502 +} CompBodyOp;CompBodyOp103,2525 +struct _CompFunctionData {_CompFunctionData105,2540 + CompHeaderOp *header;header106,2567 + int nHeader;nHeader107,2593 + CompBodyOp *body;body109,2613 + int nBody;nBody110,2635 +struct _CompFunction {_CompFunction113,2661 + struct _CompFunction *next;next114,2684 + int id;id116,2717 + char *name;name117,2735 + CompFunctionData data[COMP_FUNCTION_TYPE_NUM];data118,2756 + int mask;mask119,2807 +typedef struct _FetchInfo {_FetchInfo122,2831 + int indices[MAX_FRAGMENT_FUNCTIONS];indices123,2859 + char *data;data124,2901 +} FetchInfo;FetchInfo125,2917 +typedef void (*DataOpCallBackProc) (CompDataOp *op,DataOpCallBackProc127,2931 +static CompLoadOp loadArbFpData = {loadArbFpData131,3040 +static CompFunction initialLoadFunction = {initialLoadFunction142,3329 +findFragmentFunction (CompScreen *s,findFragmentFunction158,3539 +findFragmentFunctionWithName (CompScreen *s,findFragmentFunctionWithName173,3805 +findFragmentProgram (CompScreen *s,findFragmentProgram188,4099 +functionMaskToType (int mask)functionMaskToType214,4537 +forEachDataOpInFunction (CompFunction **list,forEachDataOpInFunction232,4870 +forEachHeaderOpWithType (CompHeaderOp *header,forEachHeaderOpWithType376,8009 +forEachDataOp (CompFunction **list,forEachDataOp423,8892 +addFetchOffsetVariables (CompDataOp *op,addFetchOffsetVariables500,10582 +addData (CompDataOp *op,addData532,11176 +buildFragmentProgram (CompScreen *s,buildFragmentProgram550,11555 +getFragmentProgram (CompScreen *s,getFragmentProgram658,13987 +createFunctionData (void)createFunctionData691,14572 +finiFunctionData (CompFunctionData *data)finiFunctionData709,14834 +destroyFunctionData (CompFunctionData *data)destroyFunctionData750,15668 +copyData (CompHeaderOp *header,copyData758,15822 +copyFunctionData (CompFunctionData *dst,copyFunctionData837,17196 +addHeaderOpToFunctionData (CompFunctionData *data,addHeaderOpToFunctionData916,19054 +addTempHeaderOpToFunctionData (CompFunctionData *data,addTempHeaderOpToFunctionData957,19867 +addParamHeaderOpToFunctionData (CompFunctionData *data,addParamHeaderOpToFunctionData964,20028 +addAttribHeaderOpToFunctionData (CompFunctionData *data,addAttribHeaderOpToFunctionData971,20186 +allocBodyOpInFunctionData (CompFunctionData *data)allocBodyOpInFunctionData978,20355 +addFetchOpToFunctionData (CompFunctionData *data,addFetchOpToFunctionData993,20604 +addColorOpToFunctionData (CompFunctionData *data,addColorOpToFunctionData1016,21097 +addDataOpToFunctionData (CompFunctionData *data,addDataOpToFunctionData1033,21451 +addBlendOpToFunctionData (CompFunctionData *data,addBlendOpToFunctionData1087,22442 +allocFunctionId (CompScreen *s)allocFunctionId1141,23448 +createFragmentFunction (CompScreen *s,createFragmentFunction1147,23521 +destroyFragmentFunction (CompScreen *s,destroyFragmentFunction1203,24551 +getSaturateFragmentFunction (CompScreen *s,getSaturateFragmentFunction1264,25669 +allocFragmentTextureUnits (FragmentAttrib *attrib,allocFragmentTextureUnits1328,26972 +allocFragmentParameters (FragmentAttrib *attrib,allocFragmentParameters1340,27190 +addFragmentFunction (FragmentAttrib *attrib,addFragmentFunction1351,27348 +initFragmentAttrib (FragmentAttrib *attrib,initFragmentAttrib1359,27531 +enableFragmentAttrib (CompScreen *s,enableFragmentAttrib1373,27902 +disableFragmentAttrib (CompScreen *s,disableFragmentAttrib1398,28351 + +src/privates.c,117 +allocatePrivateIndex (int *len,allocatePrivateIndex31,1250 +freePrivateIndex (int len,freePrivateIndex62,1775 + +src/option.c,2318 +struct _Modifier {_Modifier34,1324 + char *name;name35,1343 + int modifier;modifier36,1359 +} modifiers[] = {modifiers37,1378 +#define N_MODIFIERS N_MODIFIERS52,1870 +static char *edgeName[] = {edgeName54,1940 +finiOptionValue (CompOptionValue *v,finiOptionValue66,2101 +compInitOption (CompOption *o)compInitOption88,2485 +compFiniOption (CompOption *o)compFiniOption94,2566 +compFindOption (CompOption *option,compFindOption100,2657 +compSetBoolOption (CompOption *option,compSetBoolOption122,2933 +compSetIntOption (CompOption *option,compSetIntOption138,3151 +compSetFloatOption (CompOption *option,compSetFloatOption152,3400 +compSetStringOption (CompOption *option,compSetStringOption179,3965 +compSetColorOption (CompOption *option,compSetColorOption206,4356 +compSetActionOption (CompOption *option,compSetActionOption218,4601 +compSetMatchOption (CompOption *option,compSetMatchOption259,5513 +compSetOptionList (CompOption *option,compSetOptionList283,6012 +compSetOption (CompOption *option,compSetOption365,7920 +compWindowTypeMaskFromStringList (CompOptionValue *value)compWindowTypeMaskFromStringList391,8651 +getBoolOptionNamed (CompOption *option,getBoolOptionNamed403,8879 +getIntOptionNamed (CompOption *option,getIntOptionNamed421,9191 +getFloatOptionNamed (CompOption *option,getFloatOptionNamed439,9498 +getStringOptionNamed (CompOption *option,getStringOptionNamed457,9800 +getColorOptionNamed (CompOption *option,getColorOptionNamed475,10120 +getMatchOptionNamed (CompOption *option,getMatchOptionNamed493,10449 +stringAppend (char *s,stringAppend511,10769 +modifiersToString (CompDisplay *d,modifiersToString542,11083 +keyBindingToString (CompDisplay *d,keyBindingToString558,11364 +buttonBindingToString (CompDisplay *d,buttonBindingToString590,11922 +stringToModifiers (CompDisplay *d,stringToModifiers605,12259 +stringToKeyBinding (CompDisplay *d,stringToKeyBinding621,12518 +stringToButtonBinding (CompDisplay *d,stringToButtonBinding678,13398 +edgeToString (unsigned int edge)edgeToString711,13993 +stringToColor (const char *color,stringToColor717,14063 +colorToString (unsigned short *rgba)colorToString736,14394 +optionTypeToString (CompOptionType type)optionTypeToString747,14602 + +src/screen.c,5834 +#define D(D32,1453 +#define C(C33,1466 +#define NUM_OPTIONS(NUM_OPTIONS54,1828 +reallocScreenPrivate (int size,reallocScreenPrivate57,1905 +allocateScreenPrivateIndex (CompDisplay *display)allocateScreenPrivateIndex77,2276 +freeScreenPrivateIndex (CompDisplay *display,freeScreenPrivateIndex86,2485 +desktopHintEqual (CompScreen *s,desktopHintEqual95,2670 +setDesktopHints (CompScreen *s)setDesktopHints113,2986 +updateOutputDevices (CompScreen *s)updateOutputDevices187,4989 +detectOutputDevices (CompScreen *s)detectOutputDevices347,8509 +compGetScreenOptions (CompScreen *screen,compGetScreenOptions407,9879 +setScreenOption (CompScreen *screen,setScreenOption415,10018 +setScreenOptionForPlugin (CompScreen *screen,setScreenOptionForPlugin550,12894 +const CompMetadataOptionInfo coreScreenOptionInfo[COMP_SCREEN_OPTION_NUM] = {coreScreenOptionInfo564,13214 +updateScreenEdges (CompScreen *s)updateScreenEdges704,16916 +frustum (GLfloat *m,frustum735,17935 +#define M(M752,18366 +#undef MM757,18668 +perspective (GLfloat *m,perspective762,18693 +setCurrentOutput (CompScreen *s,setCurrentOutput779,19019 +reshape (CompScreen *s,reshape789,19183 +configureScreen (CompScreen *s,configureScreen852,20705 +getProcAddress (CompScreen *s,getProcAddress870,21016 +updateScreenBackground (CompScreen *screen,updateScreenBackground897,21455 +detectRefreshRateOfScreen (CompScreen *s)detectRefreshRateOfScreen983,23412 +setSupportingWmCheck (CompScreen *s)setSupportingWmCheck1020,24331 +getDesktopHints (CompScreen *s)getDesktopHints1148,28389 +showOutputWindow (CompScreen *s)showOutputWindow1255,31001 +hideOutputWindow (CompScreen *s)hideOutputWindow1284,31456 +makeOutputWindow (CompScreen *s)makeOutputWindow1307,31807 +enterShowDesktopMode (CompScreen *s)enterShowDesktopMode1327,32142 +leaveShowDesktopMode (CompScreen *s,leaveShowDesktopMode1367,33047 +walkFirst (CompScreen *s)walkFirst1413,34012 +walkLast (CompScreen *s)walkLast1419,34086 +walkNext (CompWindow *w)walkNext1425,34166 +walkPrev (CompWindow *w)walkPrev1431,34236 +initWindowWalker (CompScreen *screen,initWindowWalker1437,34298 +addScreen (CompDisplay *display,addScreen1448,34517 +damageScreenRegion (CompScreen *screen,damageScreenRegion2200,53972 +damageScreen (CompScreen *s)damageScreen2212,54233 +damagePendingOnScreen (CompScreen *s)damagePendingOnScreen2219,54376 +forEachWindowOnScreen (CompScreen *screen,forEachWindowOnScreen2225,54478 +findWindowAtScreen (CompScreen *s,findWindowAtScreen2236,54688 +findTopLevelWindowAtScreen (CompScreen *s,findTopLevelWindowAtScreen2256,54998 +insertWindowIntoScreen (CompScreen *s,insertWindowIntoScreen2269,55170 +unhookWindowFromScreen (CompScreen *s,unhookWindowFromScreen2323,55888 +#define POINTER_GRAB_MASK POINTER_GRAB_MASK2370,56505 +pushScreenGrab (CompScreen *s,pushScreenGrab2374,56611 +updateScreenGrab (CompScreen *s,updateScreenGrab2436,57795 +removeScreenGrab (CompScreen *s,removeScreenGrab2456,58134 +otherScreenGrabExist (CompScreen *s, ...)otherScreenGrabExist2509,59236 +grabUngrabOneKey (CompScreen *s,grabUngrabOneKey2541,59690 +grabUngrabKeys (CompScreen *s,grabUngrabKeys2566,60070 +addPassiveKeyGrab (CompScreen *s,addPassiveKeyGrab2615,60992 +removePassiveKeyGrab (CompScreen *s,removePassiveKeyGrab2657,61860 +updatePassiveKeyGrabs (CompScreen *s)updatePassiveKeyGrabs2689,62585 +addPassiveButtonGrab (CompScreen *s,addPassiveButtonGrab2708,62936 +removePassiveButtonGrab (CompScreen *s,removePassiveButtonGrab2742,63711 +addScreenAction (CompScreen *s,addScreenAction2769,64327 +removeScreenAction (CompScreen *s,removeScreenAction2804,64921 +updatePassiveGrabs (CompScreen *s)updatePassiveGrabs2824,65323 +computeWorkareaForBox (CompScreen *s,computeWorkareaForBox2830,65406 +updateWorkareaForScreen (CompScreen *s)updateWorkareaForScreen2932,67485 +getActiveWindow (CompDisplay *display,getActiveWindow2960,68003 +moveScreenViewport (CompScreen *s,moveScreenViewport2985,68475 +moveWindowToViewportPosition (CompWindow *w,moveWindowToViewportPosition3091,70317 +addGroupToScreen (CompScreen *s,addGroupToScreen3166,71776 +removeGroupFromScreen (CompScreen *s,removeGroupFromScreen3185,72054 +findGroupAtScreen (CompScreen *s,findGroupAtScreen3214,72431 +sendWindowActivationRequest (CompScreen *s,sendWindowActivationRequest3272,73595 +screenTexEnvMode (CompScreen *s,screenTexEnvMode3298,74172 +screenLighting (CompScreen *s,screenLighting3308,74385 +enableScreenEdge (CompScreen *s,enableScreenEdge3334,74794 +disableScreenEdge (CompScreen *s,disableScreenEdge3343,74991 +getTopWindow (CompScreen *s)getTopWindow3352,75195 +makeScreenCurrent (CompScreen *s)makeScreenCurrent3367,75425 +finishScreenDrawing (CompScreen *s)finishScreenDrawing3379,75627 +outputDeviceForPoint (CompScreen *s,outputDeviceForPoint3391,75780 +getCurrentOutputExtents (CompScreen *s,getCurrentOutputExtents3413,76196 +setNumberOfDesktops (CompScreen *s,setNumberOfDesktops3433,76605 +getWorkareaForOutput (CompScreen *s,getWorkareaForOutput3496,77732 +setDefaultViewport (CompScreen *s)setDefaultViewport3504,77869 +outputChangeNotify (CompScreen *s)outputChangeNotify3518,78256 +clearScreenOutput (CompScreen *s,clearScreenOutput3523,78301 +viewportForGeometry (CompScreen *s,viewportForGeometry3558,79223 +outputDeviceForGeometry (CompScreen *s,outputDeviceForGeometry3605,80102 +updateDefaultIcon (CompScreen *screen)updateDefaultIcon3635,80742 +findCursorAtScreen (CompScreen *screen)findCursorAtScreen3674,81551 +findCursorImageAtScreen (CompScreen *screen,findCursorImageAtScreen3680,81642 +setCurrentActiveWindowHistory (CompScreen *s,setCurrentActiveWindowHistory3693,81889 +addToCurrentActiveWindowHistory (CompScreen *s,addToCurrentActiveWindowHistory3722,82500 + +src/match.c,1717 +matchResetOps (CompDisplay *display,matchResetOps32,1278 +matchReset (CompMatch *match)matchReset59,1749 +matchInit (CompMatch *match)matchInit68,1897 +matchFiniOps (CompMatchOp *op,matchFiniOps76,2019 +matchFini (CompMatch *match)matchFini96,2320 +matchOpsEqual (CompMatchOp *op1,matchOpsEqual104,2454 +matchEqual (CompMatch *m1,matchEqual140,3036 +matchAddOp (CompMatch *match,matchAddOp150,3205 +matchCopyOps (CompMatchOp *opDst,matchCopyOps174,3698 +matchCopy (CompMatch *dst,matchCopy228,4696 +matchAddGroup (CompMatch *match,matchAddGroup250,5022 +matchAddExp (CompMatch *match,matchAddExp281,5552 +nextIndex (const char *str,nextIndex308,5996 +strndupValue (const char *str,strndupValue319,6135 +matchAddFromString (CompMatch *match,matchAddFromString379,6917 +matchOpsToString (CompMatchOp *op,matchOpsToString473,8248 +matchToString (CompMatch *match)matchToString543,9600 +matchUpdateOps (CompDisplay *display,matchUpdateOps555,9769 +matchUpdate (CompDisplay *display,matchUpdate575,10119 +matchEvalOps (CompDisplay *display,matchEvalOps584,10304 +matchEval (CompMatch *match,matchEval633,11165 +matchEvalTypeExp (CompDisplay *display,matchEvalTypeExp643,11349 +matchEvalStateExp (CompDisplay *display,matchEvalStateExp651,11498 +matchEvalIdExp (CompDisplay *display,matchEvalIdExp659,11651 +matchEvalOverrideRedirectExp (CompDisplay *display,matchEvalOverrideRedirectExp667,11792 +matchInitExp (CompDisplay *display,matchInitExp677,12077 +matchUpdateMatchOptions (CompOption *option,matchUpdateMatchOptions707,12796 +matchExpHandlerChanged (CompDisplay *display)matchExpHandlerChanged736,13427 +matchPropertyChanged (CompDisplay *display,matchPropertyChanged776,14332 + +src/main.c,1739 +char *programName;programName39,1401 +char **programArgv;programArgv40,1420 +int programArgc;programArgc41,1440 +char *backgroundImage = NULL;backgroundImage43,1459 +REGION emptyRegion;emptyRegion45,1490 +REGION infiniteRegion;infiniteRegion46,1512 +GLushort defaultColor[4] = { 0xffff, 0xffff, 0xffff, 0xffff };defaultColor47,1537 +Window currentRoot = 0;currentRoot48,1600 +int defaultRefreshRate = 50;defaultRefreshRate50,1627 +char *defaultTextureFilter = "Good";defaultTextureFilter51,1657 +Bool shutDown = FALSE;shutDown53,1695 +Bool restartSignal = FALSE;restartSignal54,1718 +CompWindow *lastFoundWindow = 0;lastFoundWindow56,1747 +CompWindow *lastDamagedWindow = 0;lastDamagedWindow57,1780 +Bool replaceCurrentWm = FALSE;replaceCurrentWm59,1816 +Bool indirectRendering = FALSE;indirectRendering60,1847 +Bool strictBinding = TRUE;strictBinding61,1879 +Bool noDetection = FALSE;noDetection62,1906 +Bool useDesktopHints = TRUE;useDesktopHints63,1932 +Bool onlyCurrentScreen = FALSE;onlyCurrentScreen64,1961 +Bool useCow = TRUE;useCow67,2009 +CompMetadata coreMetadata;coreMetadata70,2037 +usage (void)usage73,2077 +compLogMessage (CompDisplay *d,compLogMessage102,2635 +logMessage (CompDisplay *d,logMessage124,3019 +logLevelToString (CompLogLevel level)logLevelToString140,3372 +signalHandler (int sig)signalHandler161,3719 +typedef struct _CompIOCtx {_CompIOCtx180,3983 + int offset;offset181,4011 + char *pluginData;pluginData182,4028 + char *textureFilterData;textureFilterData183,4050 + char *refreshRateData;refreshRateData184,4079 +} CompIOCtx;CompIOCtx185,4106 +readCoreXmlCallback (void *context,readCoreXmlCallback188,4131 +main (int argc, char **argv)main253,5563 + +src/action.c,285 +typedef struct _CompAction {_CompAction32,1288 + char *name;name33,1317 + char *description;description34,1336 + CompOptionType type;type35,1362 + Bool b;b37,1399 + int i;i38,1409 + float f;f39,1419 + } value;value40,1429 +} CompAction;CompAction41,1442 + +src/texture.c,895 +static CompMatrix _identity_matrix = {_identity_matrix36,1339 +initTexture (CompScreen *screen,initTexture43,1434 +finiTexture (CompScreen *screen,finiTexture58,1798 +createTexture (CompScreen *screen)createTexture70,2027 +destroyTexture (CompScreen *screen,destroyTexture84,2249 +imageToTexture (CompScreen *screen,imageToTexture97,2445 +imageBufferToTexture (CompScreen *screen,imageBufferToTexture163,4003 +imageDataToTexture (CompScreen *screen,imageDataToTexture179,4426 +readImageToTexture (CompScreen *screen,readImageToTexture192,4716 +iconToTexture (CompScreen *screen,iconToTexture219,5272 +bindPixmapToTexture (CompScreen *screen,bindPixmapToTexture229,5464 +releasePixmapFromTexture (CompScreen *screen,releasePixmapFromTexture362,8662 +enableTexture (CompScreen *screen,enableTexture388,9190 +disableTexture (CompScreen *screen,disableTexture471,11127 + +src/display.c,5314 +#define XK_MISCELLANYXK_MISCELLANY35,1341 +static unsigned int virtualModMask[] = {virtualModMask48,1584 +typedef struct _CompTimeout {_CompTimeout53,1750 + struct _CompTimeout *next;next54,1780 + int time;time55,1811 + int left;left56,1827 + CallBackProc callBack;callBack57,1843 + void *closure;closure58,1870 + CompTimeoutHandle handle;handle59,1890 +} CompTimeout;CompTimeout60,1922 +static CompTimeout *timeouts = 0;timeouts62,1938 +static struct timeval lastTimeout;lastTimeout63,1978 +static CompTimeoutHandle lastTimeoutHandle = 1;lastTimeoutHandle64,2016 +typedef struct _CompWatchFd {_CompWatchFd66,2065 + struct _CompWatchFd *next;next67,2095 + int fd;fd68,2126 + CallBackProc callBack;callBack69,2140 + void *closure;closure70,2167 + CompWatchFdHandle handle;handle71,2187 +} CompWatchFd;CompWatchFd72,2219 +static CompWatchFd *watchFds = 0;watchFds74,2235 +static CompWatchFdHandle lastWatchFdHandle = 1;lastWatchFdHandle75,2275 +static struct pollfd *watchPollFds = 0;watchPollFds76,2323 +static int nWatchFds = 0;nWatchFds77,2367 +static CompFileWatchHandle lastFileWatchHandle = 1;lastFileWatchHandle79,2408 +static CompScreen *targetScreen = NULL;targetScreen81,2461 +static CompOutput *targetOutput;targetOutput82,2501 +static Region tmpRegion, outputRegion;tmpRegion83,2534 +static Region tmpRegion, outputRegion;outputRegion83,2534 +static Bool inHandleEvent = FALSE;inHandleEvent85,2576 +static const CompTransform identity = {identity87,2612 +int lastPointerX = 0;lastPointerX96,2751 +int lastPointerY = 0;lastPointerY97,2773 +int pointerX = 0;pointerX98,2795 +int pointerY = 0;pointerY99,2817 +#define NUM_OPTIONS(NUM_OPTIONS101,2840 +CompDisplay *compDisplays = 0;compDisplays103,2906 +static CompDisplay compDisplay;compDisplay105,2938 +static char *displayPrivateIndices = 0;displayPrivateIndices107,2971 +static int displayPrivateLen = 0;displayPrivateLen108,3011 +reallocDisplayPrivate (int size,reallocDisplayPrivate111,3058 +allocateDisplayPrivateIndex (void)allocateDisplayPrivateIndex130,3370 +freeDisplayPrivateIndex (int index)freeDisplayPrivateIndex139,3534 +const CompMetadataOptionInfo coreDisplayOptionInfo[COMP_DISPLAY_OPTION_NUM] = {coreDisplayOptionInfo669,15646 +compGetDisplayOptions (CompDisplay *display,compGetDisplayOptions736,19350 +setDisplayOption (CompDisplay *display,setDisplayOption827,21293 +setDisplayOptionForPlugin (CompDisplay *display,setDisplayOptionForPlugin890,22630 +updatePlugins (CompDisplay *d)updatePlugins905,22972 +addTimeout (CompTimeout *timeout)addTimeout1003,24675 +compAddTimeout (int time,compAddTimeout1025,24984 +compRemoveTimeout (CompTimeoutHandle handle)compRemoveTimeout1052,25491 +compAddWatchFd (int fd,compAddWatchFd1081,25863 +compRemoveWatchFd (CompWatchFdHandle handle)compRemoveWatchFd1114,26555 +compWatchFdEvents (CompWatchFdHandle handle)compWatchFdEvents1145,27016 +#define TIMEVALDIFF(TIMEVALDIFF1157,27243 +getTimeToNextRedraw (CompScreen *s,getTimeToNextRedraw1165,27605 +static const int maskTable[] = {maskTable1233,28773 +static const int maskTableSize = sizeof (maskTable) / sizeof (int);maskTableSize1237,28900 +updateModifierMappings (CompDisplay *d)updateModifierMappings1240,28974 +virtualToRealModMask (CompDisplay *d,virtualToRealModMask1343,31133 +keycodeToModifiers (CompDisplay *d,keycodeToModifiers1361,31409 +doPoll (int timeout)doPoll1381,31770 +handleTimeouts (struct timeval *tv)handleTimeouts1402,32089 +waitForVideoSync (CompScreen *s)waitForVideoSync1435,32595 +paintScreen (CompScreen *s,paintScreen1453,32862 +eventLoop (void)eventLoop1540,34777 +static int errors = 0;errors1855,40954 +errorHandler (Display *dpy,errorHandler1858,40989 +compCheckForError (Display *dpy)compCheckForError1917,42232 +addScreenToDisplay (CompDisplay *display,addScreenToDisplay1949,42895 +addDisplay (char *name)addDisplay1966,43179 +getCurrentTimeFromDisplay (CompDisplay *d)getCurrentTimeFromDisplay2583,61593 +focusDefaultWindow (CompDisplay *d)focusDefaultWindow2598,61913 +findScreenAtDisplay (CompDisplay *d,findScreenAtDisplay2658,63306 +forEachWindowOnDisplay (CompDisplay *display,forEachWindowOnDisplay2673,63503 +findWindowAtDisplay (CompDisplay *d,findWindowAtDisplay2684,63727 +findTopLevelWindowAtDisplay (CompDisplay *d,findTopLevelWindowAtDisplay2701,63968 +warpPointer (CompScreen *s,warpPointer2871,68383 +setDisplayAction (CompDisplay *display,setDisplayAction2912,69118 +clearTargetOutput (CompDisplay *display,clearTargetOutput2944,69702 +#define HOME_IMAGEDIR HOME_IMAGEDIR2953,69861 +readImageFromFile (CompDisplay *display,readImageFromFile2956,69905 +writeImageToFile (CompDisplay *display,writeImageToFile2999,70707 +fileToImage (CompDisplay *display,fileToImage3012,70999 +imageToFile (CompDisplay *display,imageToFile3024,71191 +addFileWatch (CompDisplay *display,addFileWatch3037,71421 +removeFileWatch (CompDisplay *display,removeFileWatch3067,72117 +fileWatchAdded (CompDisplay *display,fileWatchAdded3097,72531 +fileWatchRemoved (CompDisplay *display,fileWatchRemoved3103,72609 +findCursorAtDisplay (CompDisplay *display)findCursorAtDisplay3109,72699 + +src/session.c,1267 +#define SM_DEBUG(SM_DEBUG41,1447 +static SmcConn smcConnection;smcConnection43,1468 +static CompWatchFdHandle iceWatchFdHandle;iceWatchFdHandle44,1500 +static Bool connected = 0;connected45,1543 +static Bool iceConnected = 0;iceConnected46,1572 +static char *smClientId;smClientId47,1604 +setStringListProperty (SmcConn connection,setStringListProperty52,1673 +setCloneRestartCommands (SmcConn connection)setCloneRestartCommands83,2258 +setRestartStyle (SmcConn connection, char hint)setRestartStyle92,2530 +saveYourselfGotProps (SmcConn connection,saveYourselfGotProps110,2874 +saveYourselfCallback (SmcConn connection,saveYourselfCallback148,3725 +dieCallback (SmcConn connection,dieCallback160,4013 +saveCompleteCallback (SmcConn connection,saveCompleteCallback168,4128 +shutdownCancelledCallback (SmcConn connection,shutdownCancelledCallback174,4217 +initSession (char *smPrevClientId)initSession180,4304 +closeSession (void)closeSession225,5398 +iceProcessMessages (void *data)iceProcessMessages246,5891 +iceNewConnection (IceConn connection,iceNewConnection270,6537 +static IceIOErrorHandler oldIceHandler;oldIceHandler305,7326 +iceErrorHandler (IceConn connection)iceErrorHandler308,7379 +iceInit (void)iceInit317,7619 + +src/plugin.c,1553 +#define D(D27,1302 +CompPlugin *plugins = 0;plugins38,1436 +dlloaderLoadPlugin (CompPlugin *p,dlloaderLoadPlugin41,1474 +dlloaderUnloadPlugin (CompPlugin *p)dlloaderUnloadPlugin120,2800 +dlloaderFilter (const struct dirent *name)dlloaderFilter126,2886 +dlloaderListPlugins (char *path,dlloaderListPlugins141,3140 +LoadPluginProc loaderLoadPlugin = dlloaderLoadPlugin;loaderLoadPlugin186,3838 +UnloadPluginProc loaderUnloadPlugin = dlloaderUnloadPlugin;loaderUnloadPlugin187,3896 +ListPluginsProc loaderListPlugins = dlloaderListPlugins;loaderListPlugins188,3956 +initPluginForDisplay (CompPlugin *p,initPluginForDisplay191,4021 +finiPluginForDisplay (CompPlugin *p,finiPluginForDisplay236,4845 +initPluginForScreen (CompPlugin *p,initPluginForScreen251,5093 +finiPluginForScreen (CompPlugin *p,finiPluginForScreen284,5683 +initPlugin (CompPlugin *p)initPlugin297,5907 +finiPlugin (CompPlugin *p)finiPlugin347,6864 +screenInitPlugins (CompScreen *s)screenInitPlugins363,7094 +screenFiniPlugins (CompScreen *s)screenFiniPlugins383,7381 +windowInitPlugins (CompWindow *w)windowInitPlugins395,7562 +windowFiniPlugins (CompWindow *w)windowFiniPlugins407,7742 +findActivePlugin (char *name)findActivePlugin419,7930 +unloadPlugin (CompPlugin *p)unloadPlugin433,8112 +loadPlugin (char *name)loadPlugin440,8204 +pushPlugin (CompPlugin *p)pushPlugin484,9061 +popPlugin (void)popPlugin511,9518 +getPlugins (void)getPlugins526,9666 +stringExist (char **list,stringExist532,9721 +availablePlugins (int *n)availablePlugins546,9905 + +src/cursor.c,332 +setCursorMatrix (CompCursor *c)setCursorMatrix31,1258 +addCursor (CompScreen *s)addCursor39,1428 +damageCursorRect (CompCursor *c,damageCursorRect61,1736 +addCursorDamageRect (CompCursor *c,addCursorDamageRect69,1842 +addCursorDamage (CompCursor *c)addCursorDamage94,2338 +updateCursor (CompCursor *c,updateCursor110,2597 + +src/window.c,5510 +#define A(A26,1205 +#define D(D27,1300 +#define B(B28,1313 +#define C(C29,1326 +#define E(E30,1339 +#define MwmHintsFunctions MwmHintsFunctions47,1620 +#define MwmHintsDecorations MwmHintsDecorations48,1658 +#define PropMotifWmHintElements PropMotifWmHintElements50,1697 + unsigned long flags;flags53,1749 + unsigned long functions;functions54,1774 + unsigned long decorations;decorations55,1803 +} MwmHints;MwmHints56,1834 +reallocWindowPrivates (int size,reallocWindowPrivates59,1858 +allocateWindowPrivateIndex (CompScreen *screen)allocateWindowPrivateIndex79,2227 +freeWindowPrivateIndex (CompScreen *screen,freeWindowPrivateIndex88,2432 +updateWindowClassHints (CompWindow *w)updateWindowClassHints97,2605 +getWmState (CompDisplay *display,getWmState132,3190 +setWmState (CompDisplay *display,setWmState156,3703 +windowStateMask (CompDisplay *display,windowStateMask171,4013 +windowStateFromString (const char *str)windowStateFromString205,5296 +getWindowState (CompDisplay *display,getWindowState236,6390 +setWindowState (CompDisplay *display,setWindowState263,6920 +changeWindowState (CompWindow *w,changeWindowState303,8368 +getAllowedActionsForWindow (CompWindow *w,getAllowedActionsForWindow320,8727 +constrainWindowState (unsigned int state,constrainWindowState329,8902 +windowTypeFromString (const char *str)windowTypeFromString348,9395 +getWindowType (CompDisplay *display,getWindowType391,10920 +recalcWindowType (CompWindow *w)recalcWindowType444,12552 +getMwmHints (CompDisplay *display,getMwmHints495,13884 +getProtocols (CompDisplay *display,getProtocols530,14637 +getWindowProp (CompDisplay *display,getWindowProp567,15575 +setWindowProp (CompDisplay *display,setWindowProp596,16144 +readWindowProp32 (CompDisplay *display,readWindowProp32609,16435 +getWindowProp32 (CompDisplay *display,getWindowProp32640,16997 +setWindowProp32 (CompDisplay *display,setWindowProp32654,17241 +updateWindowOpacity (CompWindow *w)updateWindowOpacity669,17549 +updateWindowOutputExtents (CompWindow *w)updateWindowOutputExtents702,18296 +setWindowMatrix (CompWindow *w)setWindowMatrix720,18684 +bindWindow (CompWindow *w)bindWindow728,18862 +releaseWindow (CompWindow *w)releaseWindow773,19932 +freeWindow (CompWindow *w)freeWindow794,20241 +damageTransformedWindowRect (CompWindow *w,damageTransformedWindowRect847,21069 +damageWindowOutputExtents (CompWindow *w)damageWindowOutputExtents881,22027 +damageWindowRect (CompWindow *w,damageWindowRect925,22905 +addWindowDamageRect (CompWindow *w,addWindowDamageRect933,23011 +getOutputExtentsForWindow (CompWindow *w,getOutputExtentsForWindow958,23635 +addWindowDamage (CompWindow *w)addWindowDamage968,23821 +updateWindowRegion (CompWindow *w)updateWindowRegion987,24246 +setDefaultWindowAttributes (XWindowAttributes *wa)setDefaultWindowAttributes1054,25702 +addWindow (CompScreen *screen,addWindow1082,26525 +removeWindow (CompWindow *w)removeWindow1497,36173 +destroyWindow (CompWindow *w)destroyWindow1540,37050 +sendConfigureNotify (CompWindow *w)sendConfigureNotify1559,37330 +mapWindow (CompWindow *w)mapWindow1618,38935 +unmapWindow (CompWindow *w)unmapWindow1675,40149 +restackWindow (CompWindow *w,restackWindow1716,40866 +resizeWindow (CompWindow *w,resizeWindow1736,41289 +configureWindow (CompWindow *w,configureWindow1822,43114 +circulateWindow (CompWindow *w,circulateWindow1880,44384 +moveWindow (CompWindow *w,moveWindow1895,44636 +syncWindowPosition (CompWindow *w)syncWindowPosition1923,45071 +focusWindow (CompWindow *w)focusWindow1935,45456 +placeWindow (CompWindow *w,placeWindow1961,45963 +windowResizeNotify (CompWindow *w,windowResizeNotify1971,46107 +windowMoveNotify (CompWindow *w,windowMoveNotify1980,46245 +windowGrabNotify (CompWindow *w,windowGrabNotify1988,46347 +windowUngrabNotify (CompWindow *w)windowUngrabNotify1998,46498 +windowStateChangeNotify (CompWindow *w,windowStateChangeNotify2004,46567 +moveInputFocusToWindow (CompWindow *w)moveInputFocusToWindow2011,46648 +stackLayerCheck (CompWindow *w,stackLayerCheck2034,47234 +findSiblingBelow (CompWindow *w,findSiblingBelow2069,48038 +configureXWindow (CompWindow *w,configureXWindow2129,49495 +addWindowStackChanges (CompWindow *w,addWindowStackChanges2167,50408 +raiseWindow (CompWindow *w)raiseWindow2226,51796 +lowerWindow (CompWindow *w)lowerWindow2249,52367 +restackWindowAbove (CompWindow *w,restackWindowAbove2272,52938 +restackWindowBelow (CompWindow *w,restackWindowBelow2298,53596 +updateWindowAttributes (CompWindow *w,updateWindowAttributes2322,54252 +sendViewportMoveRequest (CompScreen *s,sendViewportMoveRequest2402,56297 +activateWindow (CompWindow *w)activateWindow2431,56941 +hideWindow (CompWindow *w)hideWindow2484,58152 +showWindow (CompWindow *w)showWindow2524,58896 +unredirectWindow (CompWindow *w)unredirectWindow2573,59850 +redirectWindow (CompWindow *w)redirectWindow2591,60189 +defaultViewportForWindow (CompWindow *w,defaultViewportForWindow2607,60503 +getWindowIcon (CompWindow *w,getWindowIcon2623,61014 +freeWindowIcons (CompWindow *w)freeWindowIcons2731,63049 +outputDeviceForWindow (CompWindow *w)outputDeviceForWindow2751,63300 +onCurrentDesktop (CompWindow *w)onCurrentDesktop2777,64021 +setDesktopForWindow (CompWindow *w,setDesktopForWindow2786,64174 +compareWindowActiveness (CompWindow *w1,compareWindowActiveness2819,65016 +windowAddNotify (CompWindow *w)windowAddNotify2843,65495 + +src/metadata.c,4548 +#define HOME_METADATADIR HOME_METADATADIR35,1436 +#define EXTENSION EXTENSION36,1479 +compInitMetadata (CompMetadata *metadata)compInitMetadata39,1510 +compInitPluginMetadata (CompMetadata *metadata,compInitPluginMetadata52,1710 +compFiniMetadata (CompMetadata *metadata)compFiniMetadata70,2018 +readXmlFile (const char *path,readXmlFile84,2241 +addMetadataFromFilename (CompMetadata *metadata,addMetadataFromFilename121,2826 +compAddMetadataFromFile (CompMetadata *metadata,compAddMetadataFromFile145,3228 +compAddMetadataFromString (CompMetadata *metadata,compAddMetadataFromString179,3894 +compAddMetadataFromIO (CompMetadata *metadata,compAddMetadataFromIO207,4406 +typedef struct _CompIOCtx {_CompIOCtx236,4988 + int offset;offset237,5016 + const char *name;name238,5036 + const CompMetadataOptionInfo *displayOInfo;displayOInfo239,5061 + int nDisplayOInfo;nDisplayOInfo240,5109 + const CompMetadataOptionInfo *screenOInfo;screenOInfo241,5136 + int nScreenOInfo;nScreenOInfo242,5183 +} CompIOCtx;CompIOCtx243,5209 +readPluginXmlCallback (void *context,readPluginXmlCallback246,5234 +compInitPluginMetadataFromInfo (CompMetadata *metadata,compInitPluginMetadataFromInfo296,6539 +typedef struct _CompXPath {_CompXPath329,7335 + xmlXPathObjectPtr obj;obj330,7363 + xmlXPathContextPtr ctx;ctx331,7391 + xmlDocPtr doc;doc332,7419 +} CompXPath;CompXPath333,7445 +initXPathFromMetadataPath (CompXPath *xPath,initXPathFromMetadataPath336,7471 +initXPathFromMetadataPathElement (CompXPath *xPath,initXPathFromMetadataPathElement372,8102 +finiXPath (CompXPath *xPath)finiXPath385,8401 +getOptionType (char *name)getOptionType392,8532 +initBoolValue (CompOptionValue *v,initBoolValue416,9096 +initIntValue (CompOptionValue *v,initIntValue438,9448 +initFloatValue (CompOptionValue *v,initFloatValue463,9883 +initStringValue (CompOptionValue *v,initStringValue488,10309 +initColorValue (CompOptionValue *v,initColorValue511,10679 +initActionValue (CompDisplay *d,initActionValue554,11533 +initMatchValue (CompDisplay *d,initMatchValue663,13804 +initListValue (CompDisplay *d,initListValue688,14222 +stringFromMetadataPathElement (CompMetadata *metadata,stringFromMetadataPathElement747,15634 +boolFromMetadataPathElement (CompMetadata *metadata,boolFromMetadataPathElement759,15899 +initIntRestriction (CompMetadata *metadata,initIntRestriction780,16291 +initFloatRestriction (CompMetadata *metadata,initFloatRestriction805,16793 +initActionState (CompMetadata *metadata,initActionState838,17496 +initOptionFromMetadataPath (CompDisplay *d,initOptionFromMetadataPath885,18588 +compInitScreenOptionFromMetadata (CompScreen *s,compInitScreenOptionFromMetadata1001,21653 +finiScreenOptionValue (CompScreen *s,finiScreenOptionValue1014,21963 +compFiniScreenOption (CompScreen *s,compFiniScreenOption1034,22395 +compInitScreenOptionsFromMetadata (CompScreen *s,compInitScreenOptionsFromMetadata1042,22540 +compFiniScreenOptions (CompScreen *s,compFiniScreenOptions1069,23078 +compSetScreenOption (CompScreen *s,compSetScreenOption1080,23246 +compInitDisplayOptionFromMetadata (CompDisplay *d,compInitDisplayOptionFromMetadata1091,23422 +finiDisplayOptionValue (CompDisplay *d,finiDisplayOptionValue1104,23724 +compFiniDisplayOption (CompDisplay *d,compFiniDisplayOption1126,24207 +compInitDisplayOptionsFromMetadata (CompDisplay *d,compInitDisplayOptionsFromMetadata1134,24357 +compFiniDisplayOptions (CompDisplay *d,compFiniDisplayOptions1161,24906 +compSetDisplayOption (CompDisplay *d,compSetDisplayOption1172,25068 +compGetStringFromMetadataPath (CompMetadata *metadata,compGetStringFromMetadataPath1199,25508 +compGetShortPluginDescription (CompMetadata *m)compGetShortPluginDescription1219,25939 +compGetLongPluginDescription (CompMetadata *m)compGetLongPluginDescription1229,26133 +compGetShortScreenOptionDescription (CompMetadata *m,compGetShortScreenOptionDescription1239,26325 +compGetLongScreenOptionDescription (CompMetadata *m,compGetLongScreenOptionDescription1251,26595 +compGetShortDisplayOptionDescription (CompMetadata *m,compGetShortDisplayOptionDescription1264,26863 +compGetLongDisplayOptionDescription (CompMetadata *m,compGetLongDisplayOptionDescription1278,27143 +compReadXmlChunk (const char *src,compReadXmlChunk1290,27410 +compReadXmlChunkFromMetadataOptionInfo (const CompMetadataOptionInfo *info,compReadXmlChunkFromMetadataOptionInfo1320,27881 + +text/text.c,991 +#define _GNU_SOURCE_GNU_SOURCE21,818 +static int displayPrivateIndex;displayPrivateIndex36,1049 +typedef struct _TextDisplay_TextDisplay38,1082 + FileToImageProc fileToImage;fileToImage40,1112 + Atom visibleNameAtom;visibleNameAtom42,1146 +} TextDisplay;TextDisplay43,1172 +#define GET_TEXT_DISPLAY(GET_TEXT_DISPLAY45,1188 +#define TEXT_DISPLAY(TEXT_DISPLAY48,1287 +textGetUtf8Property (CompDisplay *d,textGetUtf8Property52,1373 +textGetTextProperty (CompDisplay *d,textGetTextProperty91,2159 +textGetWindowName (CompDisplay *d,textGetWindowName118,2656 +textFileToImage (CompDisplay *d,textFileToImage138,2981 +textInitDisplay (CompPlugin *p,textInitDisplay370,8830 +textFiniDisplay (CompPlugin *p,textFiniDisplay390,9195 +textInit (CompPlugin *p)textInit402,9337 +textFini (CompPlugin *p)textFini412,9503 +textGetVersion (CompPlugin *p,textGetVersion418,9594 +CompPluginVTable textVTable = {textVTable424,9675 +getCompPluginInfo (void)getCompPluginInfo443,9893 + +thumbnail/thumbnail.c,4739 +#define GET_THUMB_DISPLAY(GET_THUMB_DISPLAY42,1030 +#define THUMB_DISPLAY(THUMB_DISPLAY45,1134 +#define GET_THUMB_SCREEN(GET_THUMB_SCREEN48,1215 +#define THUMB_SCREEN(THUMB_SCREEN51,1322 +#define GET_THUMB_WINDOW(GET_THUMB_WINDOW54,1435 +#define THUMB_WINDOW_PTR(THUMB_WINDOW_PTR57,1566 +#define THUMB_WINDOW(THUMB_WINDOW62,1810 +#define WIN_X(WIN_X65,1917 +#define WIN_Y(WIN_Y66,1950 +#define WIN_W(WIN_W67,1983 +#define WIN_H(WIN_H68,2013 +#define THUMB_MOUSE_UPDATE_SPEED THUMB_MOUSE_UPDATE_SPEED70,2045 +#define TEXT_DISTANCE TEXT_DISTANCE72,2083 +#define THUMB_DIRECTION_LEFT THUMB_DIRECTION_LEFT74,2109 +#define THUMB_DIRECTION_RIGHT THUMB_DIRECTION_RIGHT75,2142 +#define THUMB_DIRECTION_TOP THUMB_DIRECTION_TOP76,2175 +#define THUMB_DIRECTION_BOTTOM THUMB_DIRECTION_BOTTOM77,2208 +static int displayPrivateIndex;displayPrivateIndex79,2242 +typedef struct _ThumbDisplay_ThumbDisplay81,2275 + int screenPrivateIndex;screenPrivateIndex83,2306 + HandleEventProc handleEvent;handleEvent85,2335 + Atom winIconGeometryAtom;winIconGeometryAtom87,2369 + Atom thumbnailAtom;thumbnailAtom88,2399 +ThumbDisplay;ThumbDisplay90,2425 +typedef struct _Thumbnail_Thumbnail92,2440 + int x;x94,2468 + int y;y95,2481 + int width;width96,2494 + int height;height97,2511 + float scale;scale98,2529 + float opacity;opacity99,2546 + int offset;offset100,2565 + CompWindow *win;win102,2584 + CompWindow *dock;dock103,2605 + CompTexture textTexture;textTexture105,2628 + Pixmap textPixmap;textPixmap106,2657 + int tWidth;tWidth108,2690 + int tHeight;tHeight109,2706 +Thumbnail;Thumbnail111,2725 +typedef struct _ThumbScreen_ThumbScreen113,2737 + int windowPrivateIndex;windowPrivateIndex115,2767 + CompTimeoutHandle mouseTimeout;mouseTimeout117,2796 + CompTimeoutHandle displayTimeout;displayTimeout118,2832 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen120,2871 + PaintOutputProc paintOutput;paintOutput121,2922 + PaintWindowProc paintWindow;paintWindow122,2966 + DonePaintScreenProc donePaintScreen;donePaintScreen123,3010 + DamageWindowRectProc damageWindowRect;damageWindowRect124,3058 + WindowResizeNotifyProc windowResizeNotify;windowResizeNotify125,3107 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput126,3158 + CompWindow *dock;dock128,3214 + CompWindow *pointedWin;pointedWin129,3236 + Bool showingThumb;showingThumb131,3269 + Thumbnail thumb;thumb132,3297 + Thumbnail oldThumb;oldThumb133,3318 + Bool painted;painted134,3342 + CompTexture glowTexture;glowTexture136,3366 + CompTexture windowTexture;windowTexture137,3395 + int x;x139,3427 + int y;y140,3438 +ThumbScreen;ThumbScreen143,3452 +typedef struct _ThumbWindow_ThumbWindow145,3466 + int x;x147,3496 + int y;y148,3507 + int direction;direction149,3518 +ThumbWindow;ThumbWindow152,3540 +freeThumbText (CompScreen *s,freeThumbText155,3566 +renderThumbText (CompScreen *s,renderThumbText171,3842 +damageThumbRegion (CompScreen *s,damageThumbRegion216,4974 +#define GET_DISTANCE(GET_DISTANCE234,5472 +thumbUpdateThumbnail (CompScreen *s)thumbUpdateThumbnail239,5612 +thumbShowThumbnail (void *vs)thumbShowThumbnail353,8200 +thumbWindowResizeNotify (CompWindow *w,thumbWindowResizeNotify364,8423 +thumbHandleEvent (CompDisplay * d,thumbHandleEvent380,8821 +thumbPaintThumb (CompScreen *s,thumbPaintThumb475,10745 +thumbPreparePaintScreen (CompScreen *s,thumbPreparePaintScreen705,16512 +thumbDonePaintScreen (CompScreen *s)thumbDonePaintScreen750,17509 +thumbPaintOutput (CompScreen *s,thumbPaintOutput766,17914 +thumbPaintTransformedOutput (CompScreen *s,thumbPaintTransformedOutput824,19345 +thumbPaintWindow (CompWindow *w,thumbPaintWindow871,20713 +thumbDamageWindowRect (CompWindow *w,thumbDamageWindowRect904,21519 +thumbInitDisplay (CompPlugin *p,thumbInitDisplay926,22084 +thumbFiniDisplay (CompPlugin *p,thumbFiniDisplay956,22601 +thumbInitWindow (CompPlugin *p,thumbInitWindow969,22802 +thumbFiniWindow (CompPlugin *p,thumbFiniWindow988,23092 +thumbRGBAimageToTexture (CompScreen *screen,thumbRGBAimageToTexture1013,23533 +thumbInitScreen (CompPlugin *p,thumbInitScreen1077,25090 +thumbFiniScreen (CompPlugin *p,thumbFiniScreen1124,26340 +thumbInit (CompPlugin *p)thumbInit1151,26933 +thumbFini (CompPlugin *p)thumbFini1163,27102 +thumbnailGetVersion (CompPlugin *plugin,thumbnailGetVersion1170,27226 +CompPluginVTable thumbVTable = {thumbVTable1177,27323 +getCompPluginInfo (void)getCompPluginInfo1198,27676 + +thumbnail/thumbnail_tex.h,142 +#define _THUMBNAIL_TEX_H_THUMBNAIL_TEX_H2,25 +static char glowTex[4096] = {glowTex4,51 +static char windowTex[4096] = {windowTex175,13141 + +wall/wall.c,6058 +#define PI PI39,942 +#define VIEWPORT_SWITCHER_SIZE VIEWPORT_SWITCHER_SIZE40,968 +#define ARROW_SIZE ARROW_SIZE41,1002 +#define WIN_X(WIN_X43,1025 +#define WIN_Y(WIN_Y44,1076 +#define WIN_W(WIN_W45,1126 +#define WIN_H(WIN_H46,1193 +#define getColorRGBA(getColorRGBA48,1262 +static int displayPrivateIndex;displayPrivateIndex54,1507 + Up = 0,Up59,1567 + Left,Left60,1579 + Down,Down61,1589 + RightRight62,1599 +} Direction;Direction63,1609 +typedef struct _WallCairoContext_WallCairoContext65,1623 + Pixmap pixmap;pixmap67,1658 + CompTexture texture;texture68,1682 + cairo_surface_t *surface;surface70,1708 + cairo_t *cr;cr71,1738 + int width;width73,1764 + int height;height74,1779 +} WallCairoContext;WallCairoContext75,1795 +typedef struct _WallDisplay_WallDisplay77,1816 + int screenPrivateIndex;screenPrivateIndex79,1846 + HandleEventProc handleEvent;handleEvent81,1875 +} WallDisplay;WallDisplay82,1908 +typedef struct _WallScreen_WallScreen84,1924 + DonePaintScreenProc donePaintScreen;donePaintScreen86,1953 + PaintOutputProc paintOutput;paintOutput87,2001 + PaintScreenProc paintScreen;paintScreen88,2045 + PreparePaintScreenProc preparePaintScreen;preparePaintScreen89,2089 + PaintTransformedOutputProc paintTransformedOutput;paintTransformedOutput90,2140 + PaintWindowProc paintWindow;paintWindow91,2195 + SetScreenOptionProc setScreenOption;setScreenOption92,2239 + Bool moving; /* Used to track miniview movement */moving94,2288 + float curPosX;curPosX96,2344 + float curPosY;curPosY97,2363 + int gotoX;gotoX98,2382 + int gotoY;gotoY99,2399 + int boxTimeout;boxTimeout101,2417 + int boxOutputDevice;boxOutputDevice102,2437 + int timer;timer104,2463 + Window moveWindow;moveWindow106,2479 + Bool miniScreen;miniScreen108,2503 + WindowPaintAttrib mSAttribs;mSAttribs109,2537 + float mSzCamera;mSzCamera110,2570 + float firstViewportX;firstViewportX112,2604 + float firstViewportY;firstViewportY113,2630 + float viewportWidth;viewportWidth114,2656 + float viewportHeight;viewportHeight115,2681 + float viewportBorder;viewportBorder116,2707 + int moveWindowX;moveWindowX118,2734 + int moveWindowY;moveWindowY119,2755 + WallCairoContext switcherContext;switcherContext121,2777 + WallCairoContext thumbContext;thumbContext122,2815 + WallCairoContext highlightContext;highlightContext123,2850 + WallCairoContext arrowContext;arrowContext124,2889 +} WallScreen;WallScreen125,2924 +#define GET_WALL_DISPLAY(GET_WALL_DISPLAY128,2953 +#define WALL_DISPLAY(WALL_DISPLAY130,3049 +#define GET_WALL_SCREEN(GET_WALL_SCREEN133,3122 +#define WALL_SCREEN(WALL_SCREEN135,3225 +#define GET_SCREEN GET_SCREEN138,3327 +#define sigmoid(sigmoid146,3541 +#define sigmoidProgress(sigmoidProgress147,3608 +wallClearCairoLayer (cairo_t *cr)wallClearCairoLayer152,3718 +wallDrawSwitcherBackground (CompScreen *s)wallDrawSwitcherBackground163,3958 +wallDrawThumb (CompScreen *s)wallDrawThumb254,6798 +wallDrawHighlight(CompScreen *s)wallDrawHighlight301,8090 +wallDrawArrow (CompScreen *s)wallDrawArrow342,9273 +wallSetupCairoContext (CompScreen *s,wallSetupCairoContext390,10510 +wallDestroyCairoContext (CompScreen *s,wallDestroyCairoContext428,11545 +wallCheckDestination (CompScreen *s,wallCheckDestination444,11880 +wallReleaseMoveWindow (CompScreen *s)wallReleaseMoveWindow464,12187 +wallComputeTranslation (CompScreen *s,wallComputeTranslation476,12391 +wallMoveViewport (CompScreen *s,wallMoveViewport500,12900 +wallHandleEvent (CompDisplay *d,wallHandleEvent570,14183 +wallNext (CompDisplay *d,wallNext631,15400 +wallPrev (CompDisplay *d,wallPrev650,15834 +wallCheckAmount (CompScreen *s,wallCheckAmount669,16242 +wallInitiate (CompScreen *s,wallInitiate693,16718 +wallInitiateFlip (CompScreen *s,wallInitiateFlip707,16978 +wallLeft (CompDisplay *d,wallLeft806,18673 +wallRight (CompDisplay *d,wallRight818,18889 +wallUp (CompDisplay *d,wallUp830,19109 +wallDown (CompDisplay *d,wallDown842,19315 +wallFlipLeft (CompDisplay *d,wallFlipLeft854,19530 +wallFlipRight (CompDisplay *d,wallFlipRight866,19801 +wallFlipUp (CompDisplay *d,wallFlipUp878,20078 +wallFlipDown (CompDisplay *d,wallFlipDown890,20337 +wallLeftWithWindow (CompDisplay *d,wallLeftWithWindow902,20608 +wallRightWithWindow (CompDisplay *d,wallRightWithWindow915,20912 +wallUpWithWindow (CompDisplay *d,wallUpWithWindow928,21220 +wallDownWithWindow (CompDisplay *d,wallDownWithWindow941,21514 +wallDrawQuad (CompMatrix *matrix, BOX *box)wallDrawQuad954,21824 +wallDrawCairoTextureOnScreen (CompScreen *s)wallDrawCairoTextureOnScreen971,22405 +wallPaintScreen (CompScreen *s,wallPaintScreen1210,28203 +wallPaintOutput (CompScreen *s,wallPaintOutput1229,28632 +wallPreparePaintScreen (CompScreen *s,wallPreparePaintScreen1321,31028 +wallPaintTransformedOutput (CompScreen *s,wallPaintTransformedOutput1389,32511 +wallPaintWindow(CompWindow *w,wallPaintWindow1502,35806 +wallDonePaintScreen (CompScreen *s)wallDonePaintScreen1563,37183 +wallCreateCairoContexts (CompScreen *s,wallCreateCairoContexts1583,37522 +wallDisplayOptionChanged (CompDisplay *display,wallDisplayOptionChanged1623,38860 +wallSetScreenOptionCore (CompScreen *screen,wallSetScreenOptionCore1671,40093 +wallInitDisplay (CompPlugin *p,wallInitDisplay1693,40590 +wallFiniDisplay (CompPlugin *p,wallFiniDisplay1744,42441 +wallInitScreen (CompPlugin *p,wallInitScreen1756,42638 +wallFiniScreen (CompPlugin *p,wallFiniScreen1791,43630 +wallInit (CompPlugin *p)wallInit1813,44205 +wallFini (CompPlugin *p)wallFini1823,44371 +wallGetVersion (CompPlugin *p,wallGetVersion1829,44463 +CompPluginVTable wallVTable = {wallVTable1835,44544 +getCompPluginInfo (void)getCompPluginInfo1854,44806 diff --git a/TODO b/TODO new file mode 100644 index 0000000..772df21 --- /dev/null +++ b/TODO @@ -0,0 +1,53 @@ +MUHAHAHA way too much to do to tell... + + + +in general +x remove all wm parts from 'compiz' i.e. strip out all unused parts +x rename everything to ecomorph ++ keep plugin compatibility with compiz +x fix synchronisation between e's desktops and ecomorph viewports (or better add viewport support to e) +x fix sync between window movements triggered by ecomorph + (in general again: let ecomorph act as something like an ewmh pager and make e ewmh compilant in this regards) +- write a window decorator that uses e's border themes... and the dropshadow module +- write a module that reads the metadata spec files and creates config dialogs from them +x trigger all plugin actions via dbus by an e module + - add edge/corner events to e ++ get window icons from e +- use efl for core +- switch to xcb branch someday :/ +... + +___________________________________________________________________________________ +priority fixies: +- remove '_e_border' window class hacks + ++ use desktop atom for e's background +- send event to uniconify windows + +x move border with deskflip correctly + +x place windows correctly after restart of e (claws is not brought to front... claws bug? :p) + (hack atm, but works ok) + +x get sticky window property... atm only the window on the + desk where it was made sticky should be moved + (expo movement of sticky window still does not work) + + + +___________________________________________________________________________________ +bugs +- not all window with _e_border class are w->managed ?! +- audacious playlist is lost somewhere when setting audacious sticky + -> get it back with 'cleanup windows' on the origin desk +- expo : the desk must be selected before one can move fullscreen/maximized window correctly +- toggle keybindigns that were deactivated by mouse must be deactivated by re-pressing th key before + other plugin actions can be activated-> ecomp needs to send a deactivation event + + +Legend: ++ : done +x : partially done +- : not done + diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..d904e1c --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,9612 @@ +# generated automatically by aclocal 1.10.1 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(AC_AUTOCONF_VERSION, [2.61],, +[m4_warning([this file was generated for autoconf 2.61. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically `autoreconf'.])]) + +# Copyright (C) 1995-2002 Free Software Foundation, Inc. +# Copyright (C) 2001-2003,2004 Red Hat, Inc. +# +# This file is free software, distributed under the terms of the GNU +# General Public License. As a special exception to the GNU General +# Public License, this file may be distributed as part of a program +# that contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995, 1996 +# +# Modified to never use included libintl. +# Owen Taylor , 12/15/1998 +# +# Major rework to remove unused code +# Owen Taylor , 12/11/2002 +# +# Added better handling of ALL_LINGUAS from GNU gettext version +# written by Bruno Haible, Owen Taylor 5/30/3002 +# +# Modified to require ngettext +# Matthias Clasen 08/06/2004 +# +# We need this here as well, since someone might use autoconf-2.5x +# to configure GLib then an older version to configure a package +# using AM_GLIB_GNU_GETTEXT +AC_PREREQ(2.53) + +dnl +dnl We go to great lengths to make sure that aclocal won't +dnl try to pull in the installed version of these macros +dnl when running aclocal in the glib directory. +dnl +m4_copy([AC_DEFUN],[glib_DEFUN]) +m4_copy([AC_REQUIRE],[glib_REQUIRE]) +dnl +dnl At the end, if we're not within glib, we'll define the public +dnl definitions in terms of our private definitions. +dnl + +# GLIB_LC_MESSAGES +#-------------------- +glib_DEFUN([GLIB_LC_MESSAGES], + [AC_CHECK_HEADERS([locale.h]) + if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi + fi]) + +# GLIB_PATH_PROG_WITH_TEST +#---------------------------- +dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + +# GLIB_WITH_NLS +#----------------- +glib_DEFUN([GLIB_WITH_NLS], + dnl NLS is obligatory + [USE_NLS=yes + AC_SUBST(USE_NLS) + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + AC_CHECK_HEADER(libintl.h, + [gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + # + # First check in libc + # + AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, + [AC_TRY_LINK([ +#include +], + [return !ngettext ("","", 1)], + gt_cv_func_ngettext_libc=yes, + gt_cv_func_ngettext_libc=no) + ]) + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, + [AC_TRY_LINK([ +#include +], + [return !dgettext ("","")], + gt_cv_func_dgettext_libc=yes, + gt_cv_func_dgettext_libc=no) + ]) + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CHECK_FUNCS(bind_textdomain_codeset) + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + AC_CHECK_LIB(intl, bindtextdomain, + [AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dgettext, + gt_cv_func_dgettext_libintl=yes)])]) + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + AC_MSG_CHECKING([if -liconv is needed to use gettext]) + AC_MSG_RESULT([]) + AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dcgettext, + [gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv], + :,-liconv)], + :,-liconv) + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + AC_CHECK_FUNCS(bind_textdomain_codeset) + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + AC_DEFINE(HAVE_GETTEXT,1, + [Define if the GNU gettext() function is already present or preinstalled.]) + GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + AC_CHECK_FUNCS(dcgettext) + MSGFMT_OPTS= + AC_MSG_CHECKING([if msgfmt accepts -c]) + GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) + AC_SUBST(MSGFMT_OPTS) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr], + [CATOBJEXT=.gmo + DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share and + dnl and CATOBJEXT=.gmo in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [CATOBJEXT=.gmo + DATADIRNAME=share], + [CATOBJEXT=.mo + DATADIRNAME=lib]) + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac]) + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + ]) + + if test "$gt_cv_have_gettext" = "yes" ; then + AC_DEFINE(ENABLE_NLS, 1, + [always defined to indicate that i18n is enabled]) + fi + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is not GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + + AC_OUTPUT_COMMANDS( + [case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac]) + + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.in. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + dnl Make all variables we use known to autoconf. + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(DATADIRNAME) + AC_SUBST(GMOFILES) + AC_SUBST(INSTOBJEXT) + AC_SUBST(INTLLIBS) + AC_SUBST(PO_IN_DATADIR_TRUE) + AC_SUBST(PO_IN_DATADIR_FALSE) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + ]) + +# AM_GLIB_GNU_GETTEXT +# ------------------- +# Do checks necessary for use of gettext. If a suitable implementation +# of gettext is found in either in libintl or in the C library, +# it will set INTLLIBS to the libraries needed for use of gettext +# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable +# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() +# on various variables needed by the Makefile.in.in installed by +# glib-gettextize. +dnl +glib_DEFUN([GLIB_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + + GLIB_LC_MESSAGES + GLIB_WITH_NLS + + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but ($top_srcdir). + dnl Try to locate is. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) + + dnl Generate list of files to be processed by xgettext which will + dnl be included in po/Makefile. + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + ]) + +# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) +# ------------------------------- +# Define VARIABLE to the location where catalog files will +# be installed by po/Makefile. +glib_DEFUN([GLIB_DEFINE_LOCALEDIR], +[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl +glib_save_prefix="$prefix" +glib_save_exec_prefix="$exec_prefix" +glib_save_datarootdir="$datarootdir" +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +datarootdir=`eval echo "${datarootdir}"` +if test "x$CATOBJEXT" = "x.mo" ; then + localedir=`eval echo "${libdir}/locale"` +else + localedir=`eval echo "${datadir}/locale"` +fi +prefix="$glib_save_prefix" +exec_prefix="$glib_save_exec_prefix" +datarootdir="$glib_save_datarootdir" +AC_DEFINE_UNQUOTED($1, "$localedir", + [Define the location where the catalogs will be installed]) +]) + +dnl +dnl Now the definitions that aclocal will find +dnl +ifdef(glib_configure_in,[],[ +AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) +AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) +])dnl + +# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) +# +# Create a temporary file with TEST-FILE as its contents and pass the +# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with +# 0 and perform ACTION-IF-FAIL for any other exit status. +AC_DEFUN([GLIB_RUN_PROG], +[cat >conftest.foo <<_ACEOF +$2 +_ACEOF +if AC_RUN_LOG([$1 conftest.foo]); then + m4_ifval([$3], [$3], [:]) +m4_ifvaln([$4], [else $4])dnl +echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD +sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD +fi]) + + + +dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) +# serial 40 IT_PROG_INTLTOOL +AC_DEFUN([IT_PROG_INTLTOOL], [ +AC_PREREQ([2.50])dnl +AC_REQUIRE([AM_NLS])dnl + +case "$am__api_version" in + 1.[01234]) + AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) + ;; + *) + ;; +esac + +if test -n "$1"; then + AC_MSG_CHECKING([for intltool >= $1]) + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` + [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + ] + AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) +fi + +AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) +AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) +AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then + AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + +AC_SUBST(INTLTOOL_DESKTOP_RULE) +AC_SUBST(INTLTOOL_DIRECTORY_RULE) +AC_SUBST(INTLTOOL_KEYS_RULE) +AC_SUBST(INTLTOOL_PROP_RULE) +AC_SUBST(INTLTOOL_OAF_RULE) +AC_SUBST(INTLTOOL_PONG_RULE) +AC_SUBST(INTLTOOL_SERVER_RULE) +AC_SUBST(INTLTOOL_SHEET_RULE) +AC_SUBST(INTLTOOL_SOUNDLIST_RULE) +AC_SUBST(INTLTOOL_UI_RULE) +AC_SUBST(INTLTOOL_XAM_RULE) +AC_SUBST(INTLTOOL_KBD_RULE) +AC_SUBST(INTLTOOL_XML_RULE) +AC_SUBST(INTLTOOL_XML_NOMERGE_RULE) +AC_SUBST(INTLTOOL_CAVES_RULE) +AC_SUBST(INTLTOOL_SCHEMAS_RULE) +AC_SUBST(INTLTOOL_THEME_RULE) +AC_SUBST(INTLTOOL_SERVICE_RULE) +AC_SUBST(INTLTOOL_POLICY_RULE) + +# Check the gettext tools to make sure they are GNU +AC_PATH_PROG(XGETTEXT, xgettext) +AC_PATH_PROG(MSGMERGE, msgmerge) +AC_PATH_PROG(MSGFMT, msgfmt) +AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) +fi +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) +fi + +AC_PATH_PROG(INTLTOOL_PERL, [perl]) +if test -z "$INTLTOOL_PERL"; then + AC_MSG_ERROR([perl not found; required for intltool]) +fi +if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then + AC_MSG_ERROR([perl 5.x required for intltool]) +fi +if test "x$2" != "xno-xml"; then + AC_MSG_CHECKING([for XML::Parser]) + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + AC_MSG_RESULT([ok]) + else + AC_MSG_ERROR([XML::Parser perl module is required for intltool]) + fi +fi + +# Substitute ALL_LINGUAS so we can use it in po/Makefile +AC_SUBST(ALL_LINGUAS) + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[]], + [[extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr]])], + [DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share + dnl in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [DATADIRNAME=share], [DATADIRNAME=lib]) + ;; + *) + [DATADIRNAME=lib] + ;; + esac]) +fi +AC_SUBST(DATADIRNAME) + +IT_PO_SUBDIR([po]) + +]) + + +# IT_PO_SUBDIR(DIRNAME) +# --------------------- +# All po subdirs have to be declared with this macro; the subdir "po" is +# declared by IT_PROG_INTLTOOL. +# +AC_DEFUN([IT_PO_SUBDIR], +[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. +dnl +dnl The following CONFIG_COMMANDS should be exetuted at the very end +dnl of config.status. +AC_CONFIG_COMMANDS_PRE([ + AC_CONFIG_COMMANDS([$1/stamp-it], [ + if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" ]; then + AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) + fi + rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" + >"$1/stamp-it.tmp" + [sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" + ] + [sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r $1/POTFILES + } + ' "$1/Makefile.in" >"$1/Makefile"] + rm -f "$1/Makefile.tmp" + mv "$1/stamp-it.tmp" "$1/stamp-it" + ]) +])dnl +]) + +# deprecated macros +AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) +# A hint is needed for aclocal from Automake <= 1.9.4: +# AC_DEFUN([AC_PROG_INTLTOOL], ...) + + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +]) + +# serial 56 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +m4_defun([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl +_LT_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain="$ac_aux_dir/ltmain.sh" +])# _LT_PROG_LTMAIN + + + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the `libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_quote(m4_if([$2], [], + m4_quote(lt_decl_tag_varnames), + m4_quote(m4_shift($@)))), + m4_split(m4_normalize(m4_quote(_LT_TAGS))))]) +m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to `config.status' so that its +# declaration there will have the same value as in `configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags="_LT_TAGS"dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into `config.status', and then the shell code to quote escape them in +# for loops in `config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\[$]0 --fallback-echo"')dnl " + lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` + ;; +esac + +_LT_OUTPUT_LIBTOOL_INIT +]) + + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +cat >"$CONFIG_LT" <<_LTEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate a libtool stub with the current configuration. + +lt_cl_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AS_SHELL_SANITIZE +_AS_PREPARE + +exec AS_MESSAGE_FD>&1 +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +\`$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2008 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test $[#] != 0 +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try \`$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try \`$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +if test "$no_create" != yes; then + lt_cl_success=: + test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" + exec AS_MESSAGE_LOG_FD>/dev/null + $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false + exec AS_MESSAGE_LOG_FD>>config.log + $lt_cl_success || AS_EXIT(1) +fi +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +_LT_COPYING +_LT_LIBTOOL_TAGS + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + _LT_PROG_XSI_SHELLFNS + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS="$save_LDFLAGS" + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[[012]]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES +# -------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + if test "$GCC" = "yes"; then + output_verbose_link_cmd=echo + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + m4_if([$1], [CXX], +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX +# ----------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_SHELL_INIT + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[_LT_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +ECHO=${lt_ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +[$]* +_LT_EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi + + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi + fi + fi + fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(lt_ECHO) +]) +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], + [An echo program that does not interpret backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" +])# _LT_ENABLE_LOCK + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[AC_CHECK_TOOL(AR, ar, false) +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1]) + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test x"[$]$2" = xyes; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links="nottested" +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[[4-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[[3-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], + [Run-time system search path for libraries]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program which can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program which can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method == "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi]) +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) + AC_SUBST([DUMPBIN]) + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc* ) + # Intel C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC*) + # IBM XL 8.0 on PPC + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl*) + # IBM XL C 8.0/Fortran 10.1 on PPC + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac +AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag= + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE(int foo(void) {}, + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + ) + LDFLAGS="$save_LDFLAGS" + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], + [[If ld is used when linking, flag to hardcode $libdir into a binary + during linking. This must work even if $libdir does not exist]]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting ${shlibpath_var} if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [fix_srcfile_path], [1], + [Fix the shell variable $srcfile for the compiler]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report which library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC="$lt_save_CC" +])# _LT_LANG_C_CONFIG + + +# _LT_PROG_CXX +# ------------ +# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ +# compiler, we have our own version here. +m4_defun([_LT_PROG_CXX], +[ +pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) +AC_PROG_CXX +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_CXX + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_CXX], []) + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[AC_REQUIRE([_LT_PROG_CXX])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + gnu*) + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=echo + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + + _LT_TAGVAR(GCC, $1)="$GXX" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +]) +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)="$p" + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)="$p" + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_PROG_F77 +# ------------ +# Since AC_PROG_F77 is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +m4_defun([_LT_PROG_F77], +[ +pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) +AC_PROG_F77 +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_F77 + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_F77], []) + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_REQUIRE([_LT_PROG_F77])dnl +AC_LANG_PUSH(Fortran 77) + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_F77" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + CC=${F77-"f77"} + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$G77" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" +fi # test "$_lt_disable_F77" != yes + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_PROG_FC +# ----------- +# Since AC_PROG_FC is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +m4_defun([_LT_PROG_FC], +[ +pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) +AC_PROG_FC +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_FC + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_FC], []) + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_REQUIRE([_LT_PROG_FC])dnl +AC_LANG_PUSH(Fortran) + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_FC" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + CC=${FC-"f95"} + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" +fi # test "$_lt_disable_FC" != yes + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC="$lt_save_CC" +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC="$lt_save_CC" +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +AC_MSG_RESULT([$xsi_shell]) +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) + +AC_MSG_CHECKING([whether the shell understands "+="]) +lt_shell_append=no +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +AC_MSG_RESULT([$lt_shell_append]) +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PROG_XSI_SHELLFNS +# --------------------- +# Bourne and XSI compatible variants of some useful shell functions. +m4_defun([_LT_PROG_XSI_SHELLFNS], +[case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $[*] )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + +dnl func_dirname_and_basename +dnl A portable version of this function is already defined in general.m4sh +dnl so there is no need for it here. + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[[^=]]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$[@]"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$[1]+=\$[2]" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$[1]=\$$[1]\$[2]" +} + +_LT_EOF + ;; + esac +]) + +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option `$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + ]) +])# _LT_SET_OPTIONS + + + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [0], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the `shared' and +# `disable-shared' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the `static' and +# `disable-static' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the `fast-install' +# and `disable-fast-install' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# LT_INIT options. +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) + +test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) + +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59 which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +m4_define([lt_combine], +[m4_if([$2], [], [], + [m4_if([$4], [], [], + [lt_join(m4_quote(m4_default([$1], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2], + [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]), + [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl +]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) + +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# Generated from ltversion.in. + +# serial 2976 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.2.4]) +m4_define([LT_PACKAGE_REVISION], [1.2976]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.2.4' +macro_revision='1.2976' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) + +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 4 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) + +# nls.m4 serial 3 (gettext-0.15) +dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ(2.50) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) + +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi + +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# +# Similar to PKG_CHECK_MODULES, make sure that the first instance of +# this or PKG_CHECK_MODULES is called, or make sure to call +# PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_ifval([$2], [$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$PKG_CONFIG"; then + if test -n "$$1"; then + pkg_cv_[]$1="$$1" + else + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + fi +else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + ifelse([$4], , [AC_MSG_ERROR(dnl +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT +])], + [AC_MSG_RESULT([no]) + $4]) +elif test $pkg_failed = untried; then + ifelse([$4], , [AC_MSG_FAILURE(dnl +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])], + [$4]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + ifelse([$3], , :, [$3]) +fi[]dnl +])# PKG_CHECK_MODULES + +# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.10' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.10.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.10.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 9 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 13 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.60])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 5 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check for `mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/animation/Makefile b/animation/Makefile new file mode 100644 index 0000000..7aff48a --- /dev/null +++ b/animation/Makefile @@ -0,0 +1,615 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# animation/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = animation +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libanimation_la_DEPENDENCIES = +am_libanimation_la_OBJECTS = animation.lo airplane3d.lo beamup.lo \ + burn.lo curvedfold.lo dodge.lo domino.lo dream.lo explode3d.lo \ + fade.lo focusfade.lo fold3d.lo glide.lo horizontalfold.lo \ + leafspread.lo magiclamp.lo options.lo particle.lo polygon.lo \ + rollup.lo skewer.lo wave.lo zoomside.lo +libanimation_la_OBJECTS = $(am_libanimation_la_OBJECTS) +libanimation_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libanimation_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libanimation_la_SOURCES) +DIST_SOURCES = $(libanimation_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/animation +abs_srcdir = /media/disk-3/src/compiz/animation +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined -lGLU +libanimation_la_LDFLAGS = $(PFLAGS) +libanimation_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lXrender -lX11 -lcairo +libanimation_la_SOURCES = animation.c \ + animation-internal.h \ + animation_tex.h \ + airplane3d.c \ + beamup.c \ + burn.c \ + curvedfold.c \ + dodge.c \ + domino.c \ + dream.c \ + explode3d.c \ + fade.c \ + focusfade.c \ + fold3d.c \ + glide.c \ + horizontalfold.c \ + leafspread.c \ + magiclamp.c \ + options.c \ + particle.c \ + polygon.c \ + rollup.c \ + skewer.c \ + wave.c \ + zoomside.c + +INCLUDES = \ + -I/usr/include \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 \ + \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libanimation.la +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu animation/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu animation/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libanimation.la: $(libanimation_la_OBJECTS) $(libanimation_la_DEPENDENCIES) + $(libanimation_la_LINK) -rpath $(moduledir) $(libanimation_la_OBJECTS) $(libanimation_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/airplane3d.Plo +include ./$(DEPDIR)/animation.Plo +include ./$(DEPDIR)/beamup.Plo +include ./$(DEPDIR)/burn.Plo +include ./$(DEPDIR)/curvedfold.Plo +include ./$(DEPDIR)/dodge.Plo +include ./$(DEPDIR)/domino.Plo +include ./$(DEPDIR)/dream.Plo +include ./$(DEPDIR)/explode3d.Plo +include ./$(DEPDIR)/fade.Plo +include ./$(DEPDIR)/focusfade.Plo +include ./$(DEPDIR)/fold3d.Plo +include ./$(DEPDIR)/glide.Plo +include ./$(DEPDIR)/horizontalfold.Plo +include ./$(DEPDIR)/leafspread.Plo +include ./$(DEPDIR)/magiclamp.Plo +include ./$(DEPDIR)/options.Plo +include ./$(DEPDIR)/particle.Plo +include ./$(DEPDIR)/polygon.Plo +include ./$(DEPDIR)/rollup.Plo +include ./$(DEPDIR)/skewer.Plo +include ./$(DEPDIR)/wave.Plo +include ./$(DEPDIR)/zoomside.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/animation/Makefile.am b/animation/Makefile.am new file mode 100644 index 0000000..589ebc4 --- /dev/null +++ b/animation/Makefile.am @@ -0,0 +1,44 @@ +PFLAGS=-module -avoid-version -no-undefined -lGLU + +libanimation_la_LDFLAGS = $(PFLAGS) +libanimation_la_LIBADD = @ECOMP_LIBS@ @CAIRO_LIBS@ @LIBRSVG_LIBS@ +libanimation_la_SOURCES = animation.c \ + animation-internal.h \ + animation_tex.h \ + airplane3d.c \ + beamup.c \ + burn.c \ + curvedfold.c \ + dodge.c \ + domino.c \ + dream.c \ + explode3d.c \ + fade.c \ + focusfade.c \ + fold3d.c \ + glide.c \ + horizontalfold.c \ + leafspread.c \ + magiclamp.c \ + options.c \ + particle.c \ + polygon.c \ + rollup.c \ + skewer.c \ + wave.c \ + zoomside.c + +INCLUDES = \ + -I/usr/include \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + @CAIRO_CFLAGS@ \ + @LIBRSVG_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) + +module_LTLIBRARIES=libanimation.la diff --git a/animation/Makefile.in b/animation/Makefile.in new file mode 100644 index 0000000..3c4ebe3 --- /dev/null +++ b/animation/Makefile.in @@ -0,0 +1,615 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = animation +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libanimation_la_DEPENDENCIES = +am_libanimation_la_OBJECTS = animation.lo airplane3d.lo beamup.lo \ + burn.lo curvedfold.lo dodge.lo domino.lo dream.lo explode3d.lo \ + fade.lo focusfade.lo fold3d.lo glide.lo horizontalfold.lo \ + leafspread.lo magiclamp.lo options.lo particle.lo polygon.lo \ + rollup.lo skewer.lo wave.lo zoomside.lo +libanimation_la_OBJECTS = $(am_libanimation_la_OBJECTS) +libanimation_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libanimation_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libanimation_la_SOURCES) +DIST_SOURCES = $(libanimation_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined -lGLU +libanimation_la_LDFLAGS = $(PFLAGS) +libanimation_la_LIBADD = @ECOMP_LIBS@ @CAIRO_LIBS@ @LIBRSVG_LIBS@ +libanimation_la_SOURCES = animation.c \ + animation-internal.h \ + animation_tex.h \ + airplane3d.c \ + beamup.c \ + burn.c \ + curvedfold.c \ + dodge.c \ + domino.c \ + dream.c \ + explode3d.c \ + fade.c \ + focusfade.c \ + fold3d.c \ + glide.c \ + horizontalfold.c \ + leafspread.c \ + magiclamp.c \ + options.c \ + particle.c \ + polygon.c \ + rollup.c \ + skewer.c \ + wave.c \ + zoomside.c + +INCLUDES = \ + -I/usr/include \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + @CAIRO_CFLAGS@ \ + @LIBRSVG_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libanimation.la +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu animation/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu animation/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libanimation.la: $(libanimation_la_OBJECTS) $(libanimation_la_DEPENDENCIES) + $(libanimation_la_LINK) -rpath $(moduledir) $(libanimation_la_OBJECTS) $(libanimation_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/airplane3d.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/animation.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/beamup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/burn.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curvedfold.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dodge.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/domino.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dream.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/explode3d.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fade.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/focusfade.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fold3d.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glide.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/horizontalfold.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/leafspread.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/magiclamp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/particle.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polygon.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rollup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skewer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wave.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zoomside.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/animation/airplane3d.c b/animation/airplane3d.c new file mode 100644 index 0000000..4f5daba --- /dev/null +++ b/animation/airplane3d.c @@ -0,0 +1,971 @@ +/* + * Animation plugin for ecomp/beryl + * + * airplane3d.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Airplane added by : Carlo Palma + * E-mail : carlopalma@salug.it + * Based on code originally written by Mark J. Kilgard + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// Divide the window in 8 polygons (6 quadrilaters and 2 triangles (all of them draw as quadrilaters)) +// Based on tessellateIntoRectangles and tessellateIntoHexagons. Improperly called tessellation. +static Bool +tessellateIntoAirplane (CompWindow * w) +{ + ANIM_WINDOW (w); + + PolygonSet *pset = aw->polygonSet; + + if (!pset) + return FALSE; + + float winLimitsX; // boundaries of polygon tessellation + float winLimitsY; + float winLimitsW; + float winLimitsH; + + winLimitsX = BORDER_X (w); + winLimitsY = BORDER_Y (w); + winLimitsW = BORDER_W (w); + winLimitsH = BORDER_H (w); + + int numpol = 8; + if (pset->nPolygons != numpol) + { + if (pset->nPolygons > 0) + freePolygonObjects (pset); + + pset->nPolygons = numpol; + + pset->polygons = calloc (pset->nPolygons, sizeof (PolygonObject)); + if (!pset->polygons) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + pset->nPolygons = 0; + return FALSE; + } + } + + float thickness; + thickness = 1; + thickness /= w->screen->width; + pset->thickness = thickness; + pset->nTotalFrontVertices = 0; + + float W = (float)winLimitsW; + float H2 = (float)winLimitsH / 2; + float H3 = (float)winLimitsH / 3; + float H6 = (float)winLimitsH / 6; + float halfThick = pset->thickness / 2; + + /** + * + * These correspond to the polygons: + * based on GLUT sample origami.c code by Mark J. Kilgard + * + * |- W -| + * |- H2 -| + * + * - -- +----+--------+------------------+ + * | | | / | + * | | 6 / | + * | 7 | / 5 | + * H2 | | + | + * | +--------+------------------+ + * | / 4 | + * H __ |/____________.__________________| + * |\ center | + * | \ 3 | + * | +--------+------------------+ + * | | + | + * | 0 | \ | + * | | 1 \ 2 | + * | | | \ | + * - +----+--------+------------------+ + * + * + */ + + PolygonObject *p = pset->polygons; + int i; + + for (i = 0; i < 8; i++, p++) + { + float topRightY, topLeftY, bottomLeftY, bottomRightY; + float topLeftX, topRightX, bottomLeftX, bottomRightX; + + float n6, n7, n9, n10, n12, n13, n15, n16; + + p->centerPos.x = p->centerPosStart.x = winLimitsX + H2; + p->centerPos.y = p->centerPosStart.y = winLimitsY + H2; + p->centerPos.z = p->centerPosStart.z = -halfThick; + p->rotAngle = p->rotAngleStart = 0; + + p->nSides = 4; + p->nVertices = 2 * 4; + pset->nTotalFrontVertices += 4; + + switch (i) + { + case 0: + topLeftX = -H2; + topLeftY = 0; + bottomLeftX = -H2; + bottomLeftY = H2; + bottomRightX = -H3; + bottomRightY = H2; + topRightX = -H3; + topRightY = H6; + n6 = -1; + n7 = 0; + n9 = 0; + n10 = 1; + n12 = 1; + n13 = 0; + n15 = 1 / sqrt (2); + n16 = 1 / sqrt (2); + break; + case 1: + topLeftX = -H3; + topLeftY = H6; + bottomLeftX = -H3; + bottomLeftY = H2; + bottomRightX = 0; + bottomRightY = H2; + topRightX = 0; + topRightY = H2; + n6 = -1; + n7 = 0; + n9 = 0; + n10 = 1; + n12 = 1 / sqrt (2); + n13 = 1 / sqrt (2); + n15 = 1 / sqrt (2); + n16 = 1 / sqrt (2); + break; + case 2: + topLeftX = -H3; + topLeftY = H6; + bottomLeftX = 0; + bottomLeftY = H2; + bottomRightX = W - H2; + bottomRightY = H2; + topRightX = W - H2; + topRightY = H6; + n6 = -1 / sqrt (2); + n7 = 1 / sqrt (2); + n9 = 0; + n10 = 1; + n12 = 1; + n13 = 0; + n15 = 0; + n16 = -1; + break; + case 3: + topLeftX = -H2; + topLeftY = 0; + bottomLeftX = -H3; + bottomLeftY = H6; + bottomRightX = W - H2; + bottomRightY = H6; + topRightX = W - H2; + topRightY = 0; + n6 = -1 / sqrt (2); + n7 = 1 / sqrt (2); + n9 = 0; + n10 = 1; + n12 = 1; + n13 = 0; + n15 = 0; + n16 = -1; + break; + case 4: + topLeftX = -H3; + topLeftY = -H6; + bottomLeftX = -H2; + bottomLeftY = 0; + bottomRightX = W - H2; + bottomRightY = 0; + topRightX = W - H2; + topRightY = -H6; + n6 = -1 / sqrt (2); + n7 = -1 / sqrt (2); + n9 = 0; + n10 = 1; + n12 = 1; + n13 = 0; + n15 = 0; + n16 = -1; + break; + case 5: + topLeftX = 0; + topLeftY = -H2; + bottomLeftX = -H3; + bottomLeftY = -H6; + bottomRightX = W - H2; + bottomRightY = -H6; + topRightX = W - H2; + topRightY = -H2; + n6 = -1 / sqrt (2); + n7 = -1 / sqrt (2); + n9 = 0; + n10 = 1; + n12 = 1; + n13 = 0; + n15 = 0; + n16 = -1; + break; + case 6: + topLeftX = -H3; + topLeftY = -H2; + bottomLeftX = -H3; + bottomLeftY = -H6; + bottomRightX = -H3; + bottomRightY = -H6; + topRightX = 0; + topRightY = -H2; + n6 = -1; + n7 = 0; + n9 = 1 / sqrt (2); + n10 = 1 / sqrt (2); + n12 = 1 / sqrt (2); + n13 = 1 / sqrt (2); + n15 = 0; + n16 = -1; + break; + default: + topLeftX = -H2; + topLeftY = -H2; + bottomLeftX = -H2; + bottomLeftY = 0; + bottomRightX = -H3; + bottomRightY = -H6; + topRightX = -H3; + topRightY = -H2; + n6 = -1; + n7 = 0; + n9 = 1 / sqrt (2); + n10 = 1 / sqrt (2); + n12 = 1; + n13 = 0; + n15 = 0; + n16 = -1; + break; + } + + // 4 front, 4 back vertices + if (!p->vertices) + { + p->vertices = calloc (8 * 3, sizeof (GLfloat)); + } + if (!p->vertices) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + freePolygonObjects (pset); + return FALSE; + } + GLfloat *pv = p->vertices; + + // Determine 4 front vertices in ccw direction + pv[0] = topLeftX; + pv[1] = topLeftY; + pv[2] = halfThick; + + pv[3] = bottomLeftX; + pv[4] = bottomLeftY; + pv[5] = halfThick; + + pv[6] = bottomRightX; + pv[7] = bottomRightY; + pv[8] = halfThick; + + pv[9] = topRightX; + pv[10] = topRightY; + pv[11] = halfThick; + + // Determine 4 back vertices in cw direction + pv[12] = topRightX; + pv[13] = topRightY; + pv[14] = -halfThick; + + pv[15] = bottomRightX; + pv[16] = bottomRightY; + pv[17] = -halfThick; + + pv[18] = bottomLeftX; + pv[19] = bottomLeftY; + pv[20] = -halfThick; + + pv[21] = topLeftX; + pv[22] = topLeftY; + pv[23] = -halfThick; + + // 16 indices for 4 sides (for quad strip) + if (!p->sideIndices) + { + p->sideIndices = calloc (4 * 4, sizeof (GLushort)); + } + if (!p->sideIndices) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + freePolygonObjects (pset); + return FALSE; + } + + GLushort *ind = p->sideIndices; + int id = 0; + + ind[id++] = 0; + ind[id++] = 7; + ind[id++] = 6; + ind[id++] = 1; + + ind[id++] = 1; + ind[id++] = 6; + ind[id++] = 5; + ind[id++] = 2; + + ind[id++] = 2; + ind[id++] = 5; + ind[id++] = 4; + ind[id++] = 3; + + ind[id++] = 3; + ind[id++] = 4; + ind[id++] = 7; + ind[id++] = 0; + + // Surface normals + if (!p->normals) + { + p->normals = calloc ((2 + 4) * 3, sizeof (GLfloat)); + } + if (!p->normals) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + freePolygonObjects (pset); + return FALSE; + } + + GLfloat *nor = p->normals; + + // Front + nor[0] = 0; + nor[1] = 0; + nor[2] = -1; + + // Back + nor[3] = 0; + nor[4] = 0; + nor[5] = 1; + + // Sides + nor[6] = n6; + nor[7] = n7; + nor[8] = 0; + + nor[9] = n9; + nor[10] = n10; + nor[11] = 0; + + nor[12] = n12; + nor[13] = n13; + nor[14] = 0; + + nor[15] = n15; + nor[16] = n16; + nor[17] = 0; + + if (i < 4) + { + p->boundingBox.x1 = p->centerPos.x + topLeftX; + p->boundingBox.y1 = p->centerPos.y + topLeftY; + p->boundingBox.x2 = ceil (p->centerPos.x + bottomRightX); + p->boundingBox.y2 = ceil (p->centerPos.y + bottomRightY); + } + else + { + p->boundingBox.x1 = p->centerPos.x + bottomLeftX; + p->boundingBox.y1 = p->centerPos.y + topLeftY; + p->boundingBox.x2 = ceil (p->centerPos.x + bottomRightX); + p->boundingBox.y2 = ceil (p->centerPos.y + bottomLeftY); + } + } + return TRUE; +} + +void +fxAirplane3DInit (CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN (s); + ANIM_WINDOW (w); + + float airplanePathLength = + animGetF (as, aw, ANIM_SCREEN_OPTION_AIRPLANE_PATHLENGTH); + + if (!tessellateIntoAirplane (w)) + return; + + PolygonSet *pset = aw->polygonSet; + PolygonObject *p = pset->polygons; + + float winLimitsW; // boundaries of polygon tessellation + float winLimitsH; + + winLimitsW = BORDER_W (w); + winLimitsH = BORDER_H (w); + + float H4 = (float)winLimitsH / 4; + float H6 = (float)winLimitsH / 6; + + int i; + for (i = 0; i < pset->nPolygons; i++, p++) + { + if (!p->effectParameters) + { + p->effectParameters = calloc (1, sizeof (AirplaneEffectParameters)); + } + if (!p->effectParameters) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + return; + } + + AirplaneEffectParameters *aep = p->effectParameters; + + p->moveStartTime = 0.00; + p->moveDuration = 0.19; + + aep->moveStartTime2 = 0.19; + aep->moveDuration2 = 0.19; + + aep->moveStartTime3 = 0.38; + aep->moveDuration3 = 0.19; + + aep->moveStartTime4 = 0.58; + aep->moveDuration4 = 0.09; + + aep->moveDuration5 = 0.41; + + aep->flyFinalRotation.x = 90; + aep->flyFinalRotation.y = 10; + + aep->flyTheta = 0; + + aep->centerPosFly.x = 0; + aep->centerPosFly.y = 0; + aep->centerPosFly.z = 0; + + aep->flyScale = 0; + aep->flyFinalScale = 6 * (winLimitsW / (w->screen->width / 2)); + + switch (i) + { + case 0: + p->rotAxisOffset.x = -H4; + p->rotAxisOffset.y = H4; + + p->rotAxis.x = 1.00; + p->rotAxis.y = 1.00; + p->rotAxis.z = 0.00; + + p->finalRotAng = 179.5; + + aep->rotAxisOffsetA.x = 0; + aep->rotAxisOffsetA.y = 0; + + aep->rotAxisA.x = 1.00; + aep->rotAxisA.y = 0.00; + aep->rotAxisA.z = 0.00; + + aep->finalRotAngA = 84; + + aep->rotAxisOffsetB.x = 0; + aep->rotAxisOffsetB.y = 0; + + aep->rotAxisB.x = 0.00; + aep->rotAxisB.y = 0.00; + aep->rotAxisB.z = 0.00; + + aep->finalRotAngB = 0; + break; + + case 1: + p->rotAxisOffset.x = -H4; + p->rotAxisOffset.y = H4; + + p->rotAxis.x = 1.00; + p->rotAxis.y = 1.00; + p->rotAxis.z = 0.00; + + p->finalRotAng = 179.5; + + aep->rotAxisOffsetA.x = 0; + aep->rotAxisOffsetA.y = 0; + + aep->rotAxisA.x = 1.00; + aep->rotAxisA.y = 0.00; + aep->rotAxisA.z = 0.00; + + aep->finalRotAngA = 84; + + aep->rotAxisOffsetB.x = 0; + aep->rotAxisOffsetB.y = H6; + + aep->rotAxisB.x = 1.00; + aep->rotAxisB.y = 0.00; + aep->rotAxisB.z = 0.00; + + aep->finalRotAngB = -84; + break; + + case 2: + p->moveDuration = 0.00; + + p->rotAxisOffset.x = 0; + p->rotAxisOffset.y = 0; + + p->rotAxis.x = 0.00; + p->rotAxis.y = 0.00; + p->rotAxis.z = 0.00; + + p->finalRotAng = 0; + + aep->rotAxisOffsetA.x = 0; + aep->rotAxisOffsetA.y = 0; + + aep->rotAxisA.x = 1.00; + aep->rotAxisA.y = 0.00; + aep->rotAxisA.z = 0.00; + + aep->finalRotAngA = 84; + + aep->rotAxisOffsetB.x = 0; + aep->rotAxisOffsetB.y = H6; + + aep->rotAxisB.x = 1.00; + aep->rotAxisB.y = 0.00; + aep->rotAxisB.z = 0.00; + + aep->finalRotAngB = -84; + break; + + case 3: + p->moveDuration = 0.00; + + p->rotAxisOffset.x = 0; + p->rotAxisOffset.y = 0; + + p->rotAxis.x = 0.00; + p->rotAxis.y = 0.00; + p->rotAxis.z = 0.00; + + p->finalRotAng = 0; + + aep->rotAxisOffsetA.x = 0; + aep->rotAxisOffsetA.y = 0; + + aep->rotAxisA.x = 1.00; + aep->rotAxisA.y = 0.00; + aep->rotAxisA.z = 0.00; + + aep->finalRotAngA = 84; + + aep->moveDuration3 = 0.00; + + aep->rotAxisOffsetB.x = 0; + aep->rotAxisOffsetB.y = 0; + + aep->rotAxisB.x = 0.00; + aep->rotAxisB.y = 0.00; + aep->rotAxisB.z = 0.00; + + aep->finalRotAngB = 0; + break; + + case 4: + p->moveDuration = 0.00; + + p->rotAxisOffset.x = 0; + p->rotAxisOffset.y = 0; + + p->rotAxis.x = 0.00; + p->rotAxis.y = 0.00; + p->rotAxis.z = 0.00; + + p->finalRotAng = 0; + + aep->rotAxisOffsetA.x = 0; + aep->rotAxisOffsetA.y = 0; + + aep->rotAxisA.x = 1.00; + aep->rotAxisA.y = 0.00; + aep->rotAxisA.z = 0.00; + + aep->finalRotAngA = -84; + + aep->moveDuration3 = 0.00; + + aep->rotAxisOffsetB.x = 0; + aep->rotAxisOffsetB.y = 0; + + aep->rotAxisB.x = 0.00; + aep->rotAxisB.y = 0.00; + aep->rotAxisB.z = 0.00; + + aep->finalRotAngB = 0; + break; + + case 5: + p->moveDuration = 0.00; + + p->rotAxisOffset.x = 0; + p->rotAxisOffset.y = 0; + + p->rotAxis.x = 0.00; + p->rotAxis.y = 0.00; + p->rotAxis.z = 0.00; + + p->finalRotAng = 0; + + aep->rotAxisOffsetA.x = 0; + aep->rotAxisOffsetA.y = 0; + + aep->rotAxisA.x = 1.00; + aep->rotAxisA.y = 0.00; + aep->rotAxisA.z = 0.00; + + aep->finalRotAngA = -84; + + aep->rotAxisOffsetB.x = 0; + aep->rotAxisOffsetB.y = -H6; + + aep->rotAxisB.x = 1.00; + aep->rotAxisB.y = 0.00; + aep->rotAxisB.z = 0.00; + + aep->finalRotAngB = 84; + break; + + case 6: + p->rotAxisOffset.x = -H4; + p->rotAxisOffset.y = -H4; + + p->rotAxis.x = 1.00; + p->rotAxis.y = -1.00; + p->rotAxis.z = 0.00; + + p->finalRotAng = -179.5; + + aep->rotAxisOffsetA.x = 0; + aep->rotAxisOffsetA.y = 0; + + aep->rotAxisA.x = 1.00; + aep->rotAxisA.y = 0.00; + aep->rotAxisA.z = 0.00; + + aep->finalRotAngA = -84; + + aep->rotAxisOffsetB.x = 0; + aep->rotAxisOffsetB.y = -H6; + + aep->rotAxisB.x = 1.00; + aep->rotAxisB.y = 0.00; + aep->rotAxisB.z = 0.00; + + aep->finalRotAngB = 84; + break; + + case 7: + p->rotAxisOffset.x = -H4; + p->rotAxisOffset.y = -H4; + + p->rotAxis.x = 1.00; + p->rotAxis.y = -1.00; + p->rotAxis.z = 0.00; + + p->finalRotAng = -179.5; + + aep->rotAxisOffsetA.x = 0; + aep->rotAxisOffsetA.y = 0; + + aep->rotAxisA.x = 1.00; + aep->rotAxisA.y = 0.00; + aep->rotAxisA.z = 0.00; + + aep->finalRotAngA = -84; + + aep->rotAxisOffsetB.x = 0; + aep->rotAxisOffsetB.y = 0; + + aep->rotAxisB.x = 0.00; + aep->rotAxisB.y = 0.00; + aep->rotAxisB.z = 0.00; + + aep->finalRotAngB = 0; + break; + } + } + + if (airplanePathLength >= 1) + pset->allFadeDuration = 0.30f / airplanePathLength; + else + pset->allFadeDuration = 0.30f; + + pset->doDepthTest = TRUE; + pset->doLighting = TRUE; + pset->correctPerspective = CorrectPerspectivePolygon; + + pset->extraPolygonTransformFunc = + &AirplaneExtraPolygonTransformFunc; + + // Duration extension + aw->animTotalTime *= 2 + airplanePathLength; + aw->animRemainingTime = aw->animTotalTime; +} + +void +fxAirplane3DLinearAnimStepPolygon (CompWindow * w, + PolygonObject * p, + float forwardProgress) +{ + ANIM_SCREEN (w->screen); + ANIM_WINDOW (w); + + float airplanePathLength = + animGetF (as, aw, ANIM_SCREEN_OPTION_AIRPLANE_PATHLENGTH); + Bool airplaneFly2TaskBar = + animGetB (as, aw, ANIM_SCREEN_OPTION_AIRPLANE_FLY2TOM); + + AirplaneEffectParameters *aep = p->effectParameters; + + /* Phase1: folding: flaps, folding center, folding wings. + * Phase2: rotate and fly. + */ + + if (forwardProgress > p->moveStartTime && + forwardProgress < aep->moveStartTime4) + // Phase1: folding: flaps, center, wings. + { + float moveProgress1 = forwardProgress - p->moveStartTime; + if (p->moveDuration > 0) + moveProgress1 /= p->moveDuration; + else + moveProgress1 = 0; + if (moveProgress1 < 0) + moveProgress1 = 0; + else if (moveProgress1 > 1) + moveProgress1 = 1; + + float moveProgress2 = forwardProgress - aep->moveStartTime2; + if (aep->moveDuration2 > 0) + moveProgress2 /= aep->moveDuration2; + else + moveProgress2 = 0; + if (moveProgress2 < 0) + moveProgress2 = 0; + else if (moveProgress2 > 1) + moveProgress2 = 1; + + float moveProgress3 = forwardProgress - aep->moveStartTime3; + if (aep->moveDuration3 > 0) + moveProgress3 /= aep->moveDuration3; + else + moveProgress3 = 0; + if (moveProgress3 < 0) + moveProgress3 = 0; + else if (moveProgress3 > 1) + moveProgress3 = 1; + + p->centerPos.x = p->centerPosStart.x; + p->centerPos.y = p->centerPosStart.y; + p->centerPos.z = p->centerPosStart.z; + + p->rotAngle = moveProgress1 * p->finalRotAng; + aep->rotAngleA = moveProgress2 * aep->finalRotAngA; + aep->rotAngleB = moveProgress3 * aep->finalRotAngB; + + aep->flyRotation.x = 0; + aep->flyRotation.y = 0; + aep->flyRotation.z = 0; + aep->flyScale = 0; + } + else if (forwardProgress >= aep->moveStartTime4) + // Phase2: rotate and fly + { + float moveProgress4 = forwardProgress - aep->moveStartTime4; + if (aep->moveDuration4 > 0) + moveProgress4 /= aep->moveDuration4; + if (moveProgress4 < 0) + moveProgress4 = 0; + else if (moveProgress4 > 1) + moveProgress4 = 1; + + float moveProgress5 = forwardProgress - (aep->moveStartTime4 + .01); + if (aep->moveDuration5 > 0) + moveProgress5 /= aep->moveDuration5; + if (moveProgress5 < 0) + moveProgress5 = 0; + else if (moveProgress5 > 1) + moveProgress5 = 1; + + + p->rotAngle = p->finalRotAng; + aep->rotAngleA = aep->finalRotAngA; + aep->rotAngleB = aep->finalRotAngB; + + aep->flyRotation.x = moveProgress4 * aep->flyFinalRotation.x; + aep->flyRotation.y = moveProgress4 * aep->flyFinalRotation.y; + + // flying path + + float icondiffx = 0; + aep->flyTheta = moveProgress5 * -M_PI_2 * airplanePathLength; + aep->centerPosFly.x = w->screen->width * .4 * sin (2 * aep->flyTheta); + + if (((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + airplaneFly2TaskBar) || + aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventClose) + { + // flying path ends at icon/pointer + + int sign = 1; + if (aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventOpen) + sign = -1; + + icondiffx = + (((aw->icon.x + aw->icon.width / 2) + - (p->centerPosStart.x + + sign * w->screen->width * .4 * + sin (2 * -M_PI_2 * airplanePathLength))) * + moveProgress5); + aep->centerPosFly.y = + ((aw->icon.y + aw->icon.height / 2) - + p->centerPosStart.y) * + -sin (aep->flyTheta / airplanePathLength); + } + else + { + if (p->centerPosStart.y < w->screen->height * .33 || + p->centerPosStart.y > w->screen->height * .66) + aep->centerPosFly.y = + w->screen->height * .6 * sin (aep->flyTheta / 3.4); + else + aep->centerPosFly.y = + w->screen->height * .4 * sin (aep->flyTheta / 3.4); + if (p->centerPosStart.y < w->screen->height * .33) + aep->centerPosFly.y *= -1; + } + + aep->flyFinalRotation.z = + ((atan (2.0) + M_PI_2) * sin (aep->flyTheta) - M_PI_2) * 180 / M_PI; + aep->flyFinalRotation.z += 90; + + + if (aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventClose) + { + aep->flyFinalRotation.z *= -1; + } + else if (aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventOpen) + { + aep->centerPosFly.x *= -1; + } + + aep->flyRotation.z = aep->flyFinalRotation.z; + + p->centerPos.x = p->centerPosStart.x + aep->centerPosFly.x + icondiffx; + p->centerPos.y = p->centerPosStart.y + aep->centerPosFly.y; + p->centerPos.z = p->centerPosStart.z + aep->centerPosFly.z; + + aep->flyScale = moveProgress5 * aep->flyFinalScale; + } +} + +void +AirplaneExtraPolygonTransformFunc (PolygonObject * p) +{ + AirplaneEffectParameters *aep = p->effectParameters; + + glRotatef (aep->flyRotation.x, 1, 0, 0); //rotate on axis X + glRotatef (-aep->flyRotation.y, 0, 1, 0); // rotate on axis Y + glRotatef (aep->flyRotation.z, 0, 0, 1); // rotate on axis Z + + glScalef (1.0 / (1.0 + aep->flyScale), + 1.0 / (1.0 + aep->flyScale), 1.0 / (1.0 + aep->flyScale)); + + // Move by "rotation axis offset A" + glTranslatef (aep->rotAxisOffsetA.x, aep->rotAxisOffsetA.y, + aep->rotAxisOffsetA.z); + + // Rotate by desired angle A + glRotatef (aep->rotAngleA, aep->rotAxisA.x, aep->rotAxisA.y, + aep->rotAxisA.z); + + // Move back to center from A + glTranslatef (-aep->rotAxisOffsetA.x, -aep->rotAxisOffsetA.y, + -aep->rotAxisOffsetA.z); + + + // Move by "rotation axis offset B" + glTranslatef (aep->rotAxisOffsetB.x, aep->rotAxisOffsetB.y, + aep->rotAxisOffsetB.z); + + // Rotate by desired angle B + glRotatef (aep->rotAngleB, aep->rotAxisB.x, aep->rotAxisB.y, + aep->rotAxisB.z); + + // Move back to center from B + glTranslatef (-aep->rotAxisOffsetB.x, -aep->rotAxisOffsetB.y, + -aep->rotAxisOffsetB.z); +} + +Bool +fxAirplane3DAnimStep (CompScreen * s, + CompWindow * w, + float time) +{ + ANIM_WINDOW (w); + + if (!polygonsAnimStep (s, w, time)) + return FALSE; + + // Make sure the airplane always flies towards mouse pointer + if (aw->curWindowEvent == WindowEventClose) + getMousePointerXY(s, &aw->icon.x, &aw->icon.y); + + return TRUE; +} diff --git a/animation/animation-internal.h b/animation/animation-internal.h new file mode 100644 index 0000000..4bc258b --- /dev/null +++ b/animation/animation-internal.h @@ -0,0 +1,1265 @@ +#define _GNU_SOURCE +#include +#include +#include +#include + +#ifdef USE_LIBRSVG +#include +#include +#include +#include +#endif + +#include +#include + +#include + +#define FAKE_ICON_SIZE 4 + +#define ANIM_TEXTURE_LIST_INCREMENT 5 +#define ANIM_CLIP_LIST_INCREMENT 20 +#define NOT_INITIALIZED -10000 + +#define WIN_X(w) ((w)->attrib.x - (w)->output.left) +#define WIN_Y(w) ((w)->attrib.y - (w)->output.top) +#define WIN_W(w) ((w)->width + (w)->output.left + (w)->output.right) +#define WIN_H(w) ((w)->height + (w)->output.top + (w)->output.bottom) + +#define BORDER_X(w) ((w)->attrib.x - (w)->input.left) +#define BORDER_Y(w) ((w)->attrib.y - (w)->input.top) +#define BORDER_W(w) ((w)->width + (w)->input.left + (w)->input.right) +#define BORDER_H(w) ((w)->height + (w)->input.top + (w)->input.bottom) + +#define RAND_FLOAT() ((float)rand() / RAND_MAX) +#define MIN_WINDOW_GRID_SIZE 10 + +#define LIST_SIZE(l) (sizeof (l) / sizeof (l[0])) + +typedef struct _xy_pair +{ + float x, y; +} Point, Vector; + +typedef struct +{ + float x1, x2, y1, y2; +} Boxf; + +typedef struct _xyz_tuple +{ + float x, y, z; +} Point3d, Vector3d; + +typedef struct _AirplaneEffectParameters +{ + /// added for airplane folding and flying + // airplane fold phase. + + Vector3d rotAxisA; // Rotation axis vector A + Vector3d rotAxisB; // Rotation axis vector B + + Point3d rotAxisOffsetA; // Rotation axis translate amount A + Point3d rotAxisOffsetB; // Rotation axis translate amount B + + float rotAngleA; // Rotation angle A + float finalRotAngA; // Final rotation angle A + + float rotAngleB; // Rotation angle B + float finalRotAngB; // Final rotation angle B + + // airplane fly phase: + + Vector3d centerPosFly; // center position (offset) during the flying phases + + Vector3d flyRotation; // airplane rotation during the flying phases + Vector3d flyFinalRotation; // airplane rotation during the flying phases + + float flyScale; // Scale for airplane flying effect + float flyFinalScale; // Final Scale for airplane flying effect + + float flyTheta; // Theta parameter for fly rotations and positions + + float moveStartTime2; // Movement starts at this time ([0-1] range) + float moveDuration2; // Movement lasts this long ([0-1] range) + + float moveStartTime3; // Movement starts at this time ([0-1] range) + float moveDuration3; // Movement lasts this long ([0-1] range) + + float moveStartTime4; // Movement starts at this time ([0-1] range) + float moveDuration4; // Movement lasts this long ([0-1] range) + + float moveStartTime5; // Movement starts at this time ([0-1] range) + float moveDuration5; // Movement lasts this long ([0-1] range) +} AirplaneEffectParameters; + +// This is intended to be a closed 3D piece of a window with convex polygon +// faces and quad-strip sides. Since decoration texture is separate from +// the window texture, it is more complicated than it would be with a single +// texture: we use glClipPlane with the rectangles (clips) to clip 3D space +// to the region falling within that clip. +// If the polygon is on an edge/corner, it also has 2D shadow quad(s) +// (to be faded out at the beginning of 3D animation if necessary). +typedef struct _PolygonObject +{ + int nVertices; // number of total vertices (front + back) + int nSides; // number of sides + GLfloat *vertices; // Positions of vertices relative to center + GLushort *sideIndices; // Indices of quad strip for "sides" + GLfloat *normals; // Surface normals for 2+nSides faces + + Box boundingBox; // Bound. box to test intersection with clips + + GLfloat *vertexTexCoords4Clips; + // Tex coords for each intersecting clip and for each vertex + // ordered as c1.v1.x, c1.v1.y, c1.v2.x, c1.v2.y, c2.v1.x, c2.v1.y, ... + + // Animation effect parameters + + Point3d centerPosStart; // Starting position of center + float rotAngleStart; // Starting rotation angle + + Point3d centerPos; // Position of center + Vector3d rotAxis; // Rotation axis vector + float rotAngle; // Rotation angle + Point3d rotAxisOffset; // Rotation axis translate amount + + Point centerRelPos; // Relative pos of center within the window + + Vector3d finalRelPos; // Velocity factor for scripted movement + float finalRotAng; // Final rotation angle around rotAxis + + float moveStartTime; // Movement starts at this time ([0-1] range) + float moveDuration; // Movement lasts this long ([0-1] range) + + float fadeStartTime; // Fade out starts at this time ([0,1] range) + float fadeDuration; // Duration of fade out ([0,1] range) + + void *effectParameters; /* Pointer to a struct that can contain + custom parameters for an individual effect */ + + float boundSphereRadius; // Radius of bounding sphere +} PolygonObject; + +typedef struct _Clip4Polygons // Rectangular clips +{ // (to hold clips passed to AddWindowGeometry) + int id; // clip id (what number this clip is among + // passed clips) + Box box; // Coords + Boxf boxf; // Float coords (for small clipping adjustment) + CompMatrix texMatrix; // Corresponding texture coord. matrix + int *intersectingPolygons; + int nIntersectingPolygons; // Clips (in PolygonSet) that intersect + GLfloat *polygonVertexTexCoords; + // Tex coords for each intersecting polygon and for each vertex + // ordered as p1.v1.x, p1.v1.y, p1.v2.x, p1.v2.y, p2.v1.x, p2.v1.y, ... +} Clip4Polygons; + +typedef enum +{ + CorrectPerspectiveNone = 0, + CorrectPerspectivePolygon, + CorrectPerspectiveWindow +} CorrectPerspective; + +typedef struct _PolygonSet // Polygon objects with same thickness +{ + int nClips; // Rect. clips collected in AddWindowGeometries + Clip4Polygons *clips; // List of clips + int clipCapacity; // # of clips this list can hold + int firstNondrawnClip; + int *lastClipInGroup; // index of the last clip in each group of clips + // drawn in drawGeometry func. + + Bool doDepthTest; // whether depth testing should be used in the effect + Bool doLighting; // whether lighting should be used in the effect + CorrectPerspective correctPerspective; + PolygonObject *polygons; // The polygons in this set + int nPolygons; + float thickness; // Window thickness (depth along z axis) + int nTotalFrontVertices; // Total # of polygon vertices on front faces + float backAndSidesFadeDur; // How long side and back faces should fade in/out + float allFadeDuration; /* Duration of fade out at the end in [0,1] range + when all polygons fade out at the same time. + If >-1, this overrides fadeDuration in PolygonObject */ + + Bool includeShadows; // include shadows in polygon + + void (*extraPolygonTransformFunc) (PolygonObject *); +} PolygonSet; + +typedef struct _WaveParam +{ + float halfWidth; + float amp; + float pos; +} WaveParam; + +typedef enum +{ + WindowEventOpen = 0, + WindowEventClose, + WindowEventMinimize, + WindowEventUnminimize, + WindowEventFocus, + WindowEventShade, + WindowEventUnshade, + WindowEventNone +} WindowEvent; +#define NUM_EVENTS 7 + +typedef struct _Object +{ + Point gridPosition; // position on window in [0,1] range + Point position; // position on screen + Point3d posRel3d; /* position relative to model center + (for 3d looking effects) */ + + // Texture x, y coordinates will be offset by given amounts + // for quads that fall after and before this object in x and y directions. + // Currently only y offset can be used. + Point offsetTexCoordForQuadBefore; + Point offsetTexCoordForQuadAfter; +} Object; + +typedef struct _Model +{ + Object *objects; + int numObjects; + int gridWidth; + int gridHeight; + + int winWidth; // keeps win. size when model was created + int winHeight; + + Vector scale; + Point scaleOrigin; + + int magicLampWaveCount; + WaveParam *magicLampWaves; + WindowEvent forWindowEvent; + float topHeight; + float bottomHeight; +} Model; + +typedef struct _Particle +{ + float life; // particle life + float fade; // fade speed + float width; // particle width + float height; // particle height + float w_mod; // particle size modification during life + float h_mod; // particle size modification during life + float r; // red value + float g; // green value + float b; // blue value + float a; // alpha value + float x; // X position + float y; // Y position + float z; // Z position + float xi; // X direction + float yi; // Y direction + float zi; // Z direction + float xg; // X gravity + float yg; // Y gravity + float zg; // Z gravity + float xo; // orginal X position + float yo; // orginal Y position + float zo; // orginal Z position +} Particle; + +typedef struct _ParticleSystem +{ + int numParticles; + Particle *particles; + float slowdown; + GLuint tex; + Bool active; + int x, y; + float darken; + GLuint blendMode; + + // Moved from drawParticles to get rid of spurious malloc's + GLfloat *vertices_cache; + int vertex_cache_count; + GLfloat *coords_cache; + int coords_cache_count; + GLfloat *colors_cache; + int color_cache_count; + GLfloat *dcolors_cache; + int dcolors_cache_count; +} ParticleSystem; + + +typedef enum +{ + AnimDirectionDown = 0, + AnimDirectionUp, + AnimDirectionLeft, + AnimDirectionRight, + AnimDirectionRandom, + AnimDirectionAuto +} AnimDirection; +#define LAST_ANIM_DIRECTION 5 + +typedef enum +{ + ZoomFromCenterOff = 0, + ZoomFromCenterMin, + ZoomFromCenterCreate, + ZoomFromCenterOn +} ZoomFromCenter; +#define LAST_ZOOM_FROM_CENTER 3 + +// Polygon tesselation type: Rectangular, Hexagonal +typedef enum +{ + PolygonTessRect = 0, + PolygonTessHex +} PolygonTess; +#define LAST_POLYGON_TESS 1 + +typedef enum +{ + AnimEffectNone = 0, + AnimEffectRandom, + AnimEffectAirplane3D, + AnimEffectBeamUp, + AnimEffectBurn, + AnimEffectCurvedFold, + AnimEffectDodge, + AnimEffectDomino3D, + AnimEffectDream, + AnimEffectExplode3D, + AnimEffectFade, + AnimEffectFocusFade, + AnimEffectFold3D, + AnimEffectGlide3D1, + AnimEffectGlide3D2, + AnimEffectHorizontalFolds, + AnimEffectLeafSpread3D, + AnimEffectMagicLamp, + AnimEffectRazr3D, + AnimEffectRollUp, + AnimEffectSidekick, + AnimEffectSkewer, + AnimEffectVacuum, + AnimEffectWave, + AnimEffectZoom, + AnimEffectNum +} AnimEffect; + +#define RANDOM_EFFECT_OFFSET 2 /* skip none and random */ + +/* These macros definitions _always_ must match the number + of array items in the corresponding EffectType structure + in animation.c. + LAST_*_EFFECT always must be NUM_*_EFFECT - 1 + LAST_RANDOM_*_EFFECT always must be LAST_*_EFFECT - RANDOM_EFFECT_OFFSET +*/ + +#define NUM_MINIMIZE_EFFECT 20 +#define LAST_MINIMIZE_EFFECT 19 +#define LAST_RANDOM_MINIMIZE_EFFECT 17 + +#define NUM_CLOSE_EFFECT 22 +#define LAST_CLOSE_EFFECT 21 +#define LAST_RANDOM_CLOSE_EFFECT 19 + +#define NUM_FOCUS_EFFECT 4 +#define LAST_FOCUS_EFFECT 3 + +#define NUM_SHADE_EFFECT 5 +#define LAST_SHADE_EFFECT 4 +#define LAST_RANDOM_SHADE_EFFECT 2 + +typedef struct _RestackInfo +{ + CompWindow *wRestacked, *wStart, *wEnd, *wOldAbove; + Bool raised; +} RestackInfo; + +typedef struct _IdValuePair +{ + int id; + CompOptionValue value; +} IdValuePair; + +typedef struct _OptionSet +{ + int nPairs; + IdValuePair *pairs; +} OptionSet; + +typedef struct _OptionSets +{ + int nSets; + OptionSet *sets; +} OptionSets; + +extern int animDisplayPrivateIndex; +extern CompMetadata animMetadata; + +typedef struct _AnimDisplay +{ + int screenPrivateIndex; + Atom winIconGeometryAtom; + Atom wmNameAtom; + HandleEventProc handleEvent; + HandleEcompEventProc handleEcompEvent; + int activeWindow; +} AnimDisplay; + +typedef struct _PluginEventInfo +{ + char *pluginName; + char *activateEventName; +} PluginEventInfo; + +#define NUM_WATCHED_PLUGINS 5 + +typedef enum +{ + // Event settings + ANIM_SCREEN_OPTION_OPEN_EFFECTS = 0, + ANIM_SCREEN_OPTION_OPEN_DURATIONS, + ANIM_SCREEN_OPTION_OPEN_MATCHES, + ANIM_SCREEN_OPTION_OPEN_OPTIONS, + ANIM_SCREEN_OPTION_OPEN_RANDOM_EFFECTS, + ANIM_SCREEN_OPTION_CLOSE_EFFECTS, + ANIM_SCREEN_OPTION_CLOSE_DURATIONS, + ANIM_SCREEN_OPTION_CLOSE_MATCHES, + ANIM_SCREEN_OPTION_CLOSE_OPTIONS, + ANIM_SCREEN_OPTION_CLOSE_RANDOM_EFFECTS, + ANIM_SCREEN_OPTION_MINIMIZE_EFFECTS, + ANIM_SCREEN_OPTION_MINIMIZE_DURATIONS, + ANIM_SCREEN_OPTION_MINIMIZE_MATCHES, + ANIM_SCREEN_OPTION_MINIMIZE_OPTIONS, + ANIM_SCREEN_OPTION_MINIMIZE_RANDOM_EFFECTS, + ANIM_SCREEN_OPTION_FOCUS_EFFECTS, + ANIM_SCREEN_OPTION_FOCUS_DURATIONS, + ANIM_SCREEN_OPTION_FOCUS_MATCHES, + ANIM_SCREEN_OPTION_FOCUS_OPTIONS, + ANIM_SCREEN_OPTION_SHADE_EFFECTS, + ANIM_SCREEN_OPTION_SHADE_DURATIONS, + ANIM_SCREEN_OPTION_SHADE_MATCHES, + ANIM_SCREEN_OPTION_SHADE_OPTIONS, + ANIM_SCREEN_OPTION_SHADE_RANDOM_EFFECTS, + // Misc. settings + ANIM_SCREEN_OPTION_ALL_RANDOM, + ANIM_SCREEN_OPTION_TIME_STEP, + ANIM_SCREEN_OPTION_TIME_STEP_INTENSE, + // Effect settings + ANIM_SCREEN_OPTION_AIRPLANE_PATHLENGTH, + ANIM_SCREEN_OPTION_AIRPLANE_FLY2TOM, + ANIM_SCREEN_OPTION_BEAMUP_SIZE, + ANIM_SCREEN_OPTION_BEAMUP_SPACING, + ANIM_SCREEN_OPTION_BEAMUP_COLOR, + ANIM_SCREEN_OPTION_BEAMUP_SLOWDOWN, + ANIM_SCREEN_OPTION_BEAMUP_LIFE, + ANIM_SCREEN_OPTION_CURVED_FOLD_AMP, + ANIM_SCREEN_OPTION_CURVED_FOLD_Z2TOM, + ANIM_SCREEN_OPTION_DODGE_GAP_RATIO, + ANIM_SCREEN_OPTION_DOMINO_DIRECTION, + ANIM_SCREEN_OPTION_DREAM_Z2TOM, + ANIM_SCREEN_OPTION_RAZR_DIRECTION, + ANIM_SCREEN_OPTION_EXPLODE3D_THICKNESS, + ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_X, + ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_Y, + ANIM_SCREEN_OPTION_EXPLODE3D_TESS, + ANIM_SCREEN_OPTION_FIRE_PARTICLES, + ANIM_SCREEN_OPTION_FIRE_SIZE, + ANIM_SCREEN_OPTION_FIRE_SLOWDOWN, + ANIM_SCREEN_OPTION_FIRE_LIFE, + ANIM_SCREEN_OPTION_FIRE_COLOR, + ANIM_SCREEN_OPTION_FIRE_DIRECTION, + ANIM_SCREEN_OPTION_FIRE_CONSTANT_SPEED, + ANIM_SCREEN_OPTION_FIRE_SMOKE, + ANIM_SCREEN_OPTION_FIRE_MYSTICAL, + ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_X, + ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_Y, + ANIM_SCREEN_OPTION_FOLD3D_DIR, + ANIM_SCREEN_OPTION_GLIDE1_AWAY_POS, + ANIM_SCREEN_OPTION_GLIDE1_AWAY_ANGLE, + ANIM_SCREEN_OPTION_GLIDE1_THICKNESS, + ANIM_SCREEN_OPTION_GLIDE1_Z2TOM, + ANIM_SCREEN_OPTION_GLIDE2_AWAY_POS, + ANIM_SCREEN_OPTION_GLIDE2_AWAY_ANGLE, + ANIM_SCREEN_OPTION_GLIDE2_THICKNESS, + ANIM_SCREEN_OPTION_GLIDE2_Z2TOM, + ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_AMP, + ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_NUM_FOLDS, + ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_Z2TOM, + ANIM_SCREEN_OPTION_MAGIC_LAMP_MOVING_END, + ANIM_SCREEN_OPTION_MAGIC_LAMP_GRID_RES, + ANIM_SCREEN_OPTION_MAGIC_LAMP_MAX_WAVES, + ANIM_SCREEN_OPTION_MAGIC_LAMP_WAVE_AMP_MIN, + ANIM_SCREEN_OPTION_MAGIC_LAMP_WAVE_AMP_MAX, + ANIM_SCREEN_OPTION_MAGIC_LAMP_OPEN_START_WIDTH, + ANIM_SCREEN_OPTION_ROLLUP_FIXED_INTERIOR, + ANIM_SCREEN_OPTION_SIDEKICK_NUM_ROTATIONS, + ANIM_SCREEN_OPTION_SIDEKICK_SPRINGINESS, + ANIM_SCREEN_OPTION_SIDEKICK_ZOOM_FROM_CENTER, + ANIM_SCREEN_OPTION_SKEWER_GRIDSIZE_X, + ANIM_SCREEN_OPTION_SKEWER_GRIDSIZE_Y, + ANIM_SCREEN_OPTION_SKEWER_THICKNESS, + ANIM_SCREEN_OPTION_SKEWER_DIRECTION, + ANIM_SCREEN_OPTION_SKEWER_TESS, + ANIM_SCREEN_OPTION_SKEWER_ROTATION, + ANIM_SCREEN_OPTION_VACUUM_MOVING_END, + ANIM_SCREEN_OPTION_VACUUM_GRID_RES, + ANIM_SCREEN_OPTION_VACUUM_OPEN_START_WIDTH, + ANIM_SCREEN_OPTION_WAVE_WIDTH, + ANIM_SCREEN_OPTION_WAVE_AMP, + ANIM_SCREEN_OPTION_ZOOM_FROM_CENTER, + ANIM_SCREEN_OPTION_ZOOM_SPRINGINESS, + + ANIM_SCREEN_OPTION_NUM +} AnimScreenOptions; + +// This must have the value of the first "effect setting" above +// in AnimScreenOptions +#define NUM_NONEFFECT_OPTIONS ANIM_SCREEN_OPTION_AIRPLANE_PATHLENGTH + +typedef struct _AnimScreen +{ + int windowPrivateIndex; + + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + DamageWindowRectProc damageWindowRect; + AddWindowGeometryProc addWindowGeometry; + DrawWindowTextureProc drawWindowTexture; + + WindowResizeNotifyProc windowResizeNotify; + WindowMoveNotifyProc windowMoveNotify; + WindowGrabNotifyProc windowGrabNotify; + WindowUngrabNotifyProc windowUngrabNotify; + + CompOption opt[ANIM_SCREEN_OPTION_NUM]; + + Bool aWinWasRestackedJustNow; // a window was restacked this paint round + + Bool pluginActive[NUM_WATCHED_PLUGINS]; + + Bool switcherWinOpeningSuppressed; /* whether switcher window opening + animation is suppressed yet */ + + Window *lastClientListStacking; // to store last known stacking order + int nLastClientListStacking; + int markAllWinCreatedCountdown; + // to mark windows as "created" if they were opened before ecomp + // was started + + Bool animInProgress; + + AnimEffect openRandomEffects[NUM_CLOSE_EFFECT]; + AnimEffect closeRandomEffects[NUM_CLOSE_EFFECT]; + AnimEffect minimizeRandomEffects[NUM_MINIMIZE_EFFECT]; + AnimEffect shadeRandomEffects[NUM_SHADE_EFFECT]; + unsigned int nCloseRandomEffects; + unsigned int nOpenRandomEffects; + unsigned int nMinimizeRandomEffects; + unsigned int nShadeRandomEffects; + + CompOutput *output; + + OptionSets *eventOptionSets[NUM_EVENTS]; +} AnimScreen; + +typedef struct _AnimWindow +{ + Model *model; + int numPs; + ParticleSystem *ps; + unsigned int state; + unsigned int newState; + + char *wmName; + + PolygonSet *polygonSet; + float mvm[16]; + + Region drawRegion; + Bool useDrawRegion; + + XRectangle icon; + XRectangle origWindowRect; + + XRectangle lastKnownCoords; /* used to determine if paintWindow is drawing + on the viewport that the animation started */ + + float numZoomRotations; + GLushort storedOpacity; + float timestep; // to be used in updateWindowAttribFunc + + int nDrawGeometryCalls; + + Bool animInitialized; // whether the animation effect (not the window) is initialized + float animTotalTime; + float animRemainingTime; + float remainderSteps; + int animOverrideProgressDir; // 0: default dir, 1: forward, 2: backward + + float transformStartProgress; + float transformProgress; + + Bool nowShaded; + Bool grabbed; + + WindowEvent curWindowEvent; + AnimEffect curAnimEffect; + + int unmapCnt; + int destroyCnt; + + int nClipsPassed; /* # of clips passed to animAddWindowGeometry so far + in this draw step */ + Bool clipsUpdated; // whether stored clips are updated in this anim step + FragmentAttrib curPaintAttrib; + CompTexture *curTexture; + int curTextureFilter; + int animatedAtom; + + int animFireDirection; + Bool deceleratingMotion; // For effects that have decel. motion + + int curAnimSelectionRow; + + CompTransform transform; + + Box BB; // Bounding box for damage region calc. of CompTransform fx + Box lastBB; // Last bounding box + + // for magic lamp + Bool minimizeToTop; + + // for glide effect + float glideModRotAngle; // The angle of rotation modulo 360 + + // for focus fade effect: + RestackInfo *restackInfo; // restack info if window was restacked this paint round + CompWindow *winToBePaintedBeforeThis; // Window which should be painted before this + CompWindow *winThisIsPaintedBefore; // the inverse relation of the above + CompWindow *moreToBePaintedPrev; // doubly linked list for windows underneath that + CompWindow *moreToBePaintedNext; // raise together with this one + Bool created; + Bool configureNotified; // was configureNotified before restack check + + // for dodge + Bool isDodgeSubject; // TRUE if this window is the cause of dodging + CompWindow *dodgeSubjectWin;// The window being dodged + float dodgeMaxAmount; /* max # pixels it should dodge + (neg. values dodge left) */ + int dodgeOrder; // dodge order (used temporarily) + Bool dodgeDirection; // 0: up, down, left, right + + CompWindow *dodgeChainStart;// for the subject window + CompWindow *dodgeChainPrev; // for dodging windows + CompWindow *dodgeChainNext; // for dodging windows + Bool skipPostPrepareScreen; + Bool drawnOnHostSkip; + + // for airplane + float airplanePathLength; + Bool airplaneFly2TaskBar; +} AnimWindow; + +typedef struct _AnimEffectProperties +{ + void (*updateWindowAttribFunc) (AnimScreen *, CompWindow *, + WindowPaintAttrib *); + void (*prePaintWindowFunc) (CompScreen *, CompWindow *); + void (*postPaintWindowFunc) (CompScreen *, CompWindow *); + Bool (*animStepFunc) (CompScreen *, CompWindow *, float time); + void (*initFunc) (CompScreen *, CompWindow *); + void (*initGridFunc) (AnimScreen *, AnimWindow *, int *, int *); + void (*addCustomGeometryFunc) (CompScreen *, CompWindow *, int, Box *, + int, CompMatrix *); + void (*drawCustomGeometryFunc) (CompScreen *, CompWindow *); + Bool dontUseQTexCoord; // TRUE if effect doesn't need Q coord. + void (*animStepPolygonFunc) (CompWindow *, PolygonObject *, float); + Bool (*letOthersDrawGeoms) (CompScreen *, CompWindow *); + void (*updateWindowTransformFunc) + (CompScreen *, CompWindow *, CompTransform *); + void (*postPreparePaintScreenFunc) (CompScreen *, CompWindow *); + void (*updateBBFunc) (CompOutput *, CompWindow *); +} AnimEffectProperties; + +AnimEffectProperties *animEffectPropertiesTmp; + +#define GET_ANIM_DISPLAY(d) \ + ((AnimDisplay *) (d)->privates[animDisplayPrivateIndex].ptr) + +#define ANIM_DISPLAY(d) \ + AnimDisplay *ad = GET_ANIM_DISPLAY (d) + +#define GET_ANIM_SCREEN(s, ad) \ + ((AnimScreen *) (s)->privates[(ad)->screenPrivateIndex].ptr) + +#define ANIM_SCREEN(s) \ + AnimScreen *as = GET_ANIM_SCREEN (s, GET_ANIM_DISPLAY (s->display)) + +#define GET_ANIM_WINDOW(w, as) \ + ((AnimWindow *) (w)->privates[(as)->windowPrivateIndex].ptr) + +#define ANIM_WINDOW(w) \ + AnimWindow *aw = \ + GET_ANIM_WINDOW (w, GET_ANIM_SCREEN (w->screen, GET_ANIM_DISPLAY (w->screen->display))) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +#define sigmoid(fx) (1.0f/(1.0f+exp(-5.0f*2*((fx)-0.5)))) +#define sigmoid2(fx, s) (1.0f/(1.0f+exp(-(s)*2*((fx)-0.5)))) + +// up, down, left, right +#define DODGE_AMOUNT(w, dw, dir) \ + ((dir) == 0 ? WIN_Y(w) - (WIN_Y(dw) + WIN_H(dw)) : \ + (dir) == 1 ? (WIN_Y(w) + WIN_H(w)) - WIN_Y(dw) : \ + (dir) == 2 ? WIN_X(w) - (WIN_X(dw) + WIN_W(dw)) : \ + (WIN_X(w) + WIN_W(w)) - WIN_X(dw)) + +// up, down, left, right +#define DODGE_AMOUNT_BOX(box, dw, dir) \ + ((dir) == 0 ? (box).y - (WIN_Y(dw) + WIN_H(dw)) : \ + (dir) == 1 ? ((box).y + (box).height) - WIN_Y(dw) : \ + (dir) == 2 ? (box).x - (WIN_X(dw) + WIN_W(dw)) : \ + ((box).x + (box).width) - WIN_X(dw)) + +// ratio of perceived length of animation compared to real duration +// to make it appear to have the same speed with other animation effects + +#define DOMINO_PERCEIVED_T 0.8f +#define DREAM_PERCEIVED_T 0.6f +#define EXPLODE_PERCEIVED_T 0.7f +#define FOLD_PERCEIVED_T 0.55f +#define LEAFSPREAD_PERCEIVED_T 0.6f +#define ROLLUP_PERCEIVED_T 0.6f +#define SKEWER_PERCEIVED_T 0.6f + +#define SPRINGY_ZOOM_PERCEIVED_T 0.55f +#define NONSPRINGY_ZOOM_PERCEIVED_T 0.6f +#define ZOOM_PERCEIVED_T 0.75f + + +/* + * Function prototypes + * + */ + +/* animation.c*/ + +void +modelInitObjects (Model * model, + int x, int y, + int width, int height); + +void +postAnimationCleanup (CompWindow * w, + Bool resetAnimation); + +float +defaultAnimProgress (AnimWindow * aw); + +float +sigmoidAnimProgress(AnimWindow * aw); + +float +decelerateProgressCustom (float progress, + float minx, float maxx); + +float +decelerateProgress (float progress); + +void +applyTransformToObject (Object *obj, GLfloat *mat); + +Bool polygonsAnimStep (CompScreen * s, + CompWindow * w, + float time); + +AnimDirection +getAnimationDirection (CompWindow * w, + CompOptionValue *value, + Bool openDir); + +Bool +defaultAnimStep (CompScreen * s, + CompWindow * w, + float time); + +void +defaultAnimInit (CompScreen * s, + CompWindow * w); + +void +defaultMinimizeUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib); + +void +defaultMinimizeUpdateWindowTransform(CompScreen *s, + CompWindow *w, + CompTransform *wTransform); + +Bool +animZoomToIcon (AnimScreen *as, AnimWindow *aw); + +void +animDrawWindowGeometry(CompWindow * w); + +Bool +getMousePointerXY(CompScreen * s, short *x, short *y); + +void +multiplyMatrixVector (float *result, + const float *mat, + const float *v); + +void +matmul4 (float *product, + const float *a, + const float *b); + +void +expandBoxWithBox (Box *target, Box *source); + +void +expandBoxWithPoint (Box *target, float fx, float fy); + +void +updateBBWindow (CompOutput *output, + CompWindow * w); + +void +updateBBScreen (CompOutput *output, + CompWindow * w); + +void +compTransformUpdateBB (CompOutput *output, + CompWindow *w); + +void +prepareTransform (CompScreen *s, + CompOutput *output, + CompTransform *resultTransform, + CompTransform *transform); + +inline void +resetToIdentity (CompTransform *transform); + +/* airplane3d.c */ + +void +fxAirplane3DInit (CompScreen *s, + CompWindow *w); + +Bool +fxAirplane3DAnimStep (CompScreen * s, + CompWindow * w, + float time); + +void +fxAirplane3DLinearAnimStepPolygon (CompWindow * w, + PolygonObject * p, + float forwardProgress); + +void +fxAirplane3DDrawCustomGeometry (CompScreen * s, + CompWindow * w); + +void +AirplaneExtraPolygonTransformFunc (PolygonObject * p); + + +/* beamup.c */ + +void +fxBeamupUpdateWindowAttrib (AnimScreen *as, + CompWindow * w, + WindowPaintAttrib *wAttrib); + +Bool +fxBeamUpModelStep (CompScreen *s, + CompWindow *w, + float time); + +void fxBeamUpInit (CompScreen *s, + CompWindow *w); + + +/* burn.c */ + +Bool +fxBurnModelStep (CompScreen *s, + CompWindow *w, + float time); + +void fxBurnInit (CompScreen *s, + CompWindow *w); + + +/* curvedfold.c */ + +Bool +fxCurvedFoldModelStep (CompScreen *s, + CompWindow *w, + float time); + +void +fxFoldUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib); + +/* dodge.c */ + +void +fxDodgePostPreparePaintScreen (CompScreen *s, + CompWindow *w); + +void +fxDodgeUpdateWindowTransform (CompScreen *s, + CompWindow *w, + CompTransform *wTransform); + +Bool +fxDodgeAnimStep (CompScreen *s, + CompWindow *w, + float time); + +void +fxDodgeUpdateBB (CompOutput *output, + CompWindow * w); + +/* domino.c */ + +void +fxDomino3DInit (CompScreen *s, + CompWindow *w); + + +/* dream.c */ + +void +fxDreamAnimInit (CompScreen * s, + CompWindow * w); + +Bool +fxDreamModelStep (CompScreen * s, + CompWindow * w, + float time); + +void +fxDreamUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib); + + +/* explode3d.c */ + +void +fxExplode3DInit (CompScreen *s, + CompWindow *w); + + +/* fade.c */ + +void +fxFadeUpdateWindowAttrib (AnimScreen *as, + CompWindow * w, + WindowPaintAttrib *wAttrib); + + +/* focusfade.c */ + +void +fxFocusFadeUpdateWindowAttrib2 (AnimScreen *as, + CompWindow * w, + WindowPaintAttrib *wAttrib); + +void +fxFocusFadeUpdateWindowAttrib (AnimScreen *as, + CompWindow * w, + WindowPaintAttrib *wAttrib); + +/* fold3d.c */ + +void +fxFold3DInit (CompScreen * s, CompWindow * w); + +void +fxFold3dAnimStepPolygon (CompWindow * w, + PolygonObject * p, + float forwardProgress); + + +/* glide.c */ + +void +fxGlideInit (CompScreen *s, + CompWindow *w); + +void +fxGlideUpdateWindowAttrib (AnimScreen *as, + CompWindow * w, + WindowPaintAttrib *wAttrib); + +Bool +fxGlideAnimStep (CompScreen *s, + CompWindow *w, + float time); + +float +fxGlideAnimProgress (AnimWindow *aw); + +void +fxGlideUpdateWindowTransform(CompScreen *s, + CompWindow *w, + CompTransform *wTransform); + +Bool +fxGlideIsPolygonBased (AnimScreen *as, AnimWindow *aw); + +Bool +fxGlideLetOthersDrawGeoms(CompScreen *s, CompWindow *aw); + +void +fxGlidePrePaintWindow(CompScreen * s, CompWindow * w); + +void +fxGlidePostPaintWindow(CompScreen * s, CompWindow * w); + +void +fxGlideUpdateBB (CompOutput *output, + CompWindow *w); + +/* horizontalfold.c */ + +Bool +fxHorizontalFoldsModelStep (CompScreen *s, + CompWindow *w, + float time); + +void +fxHorizontalFoldsInitGrid (AnimScreen *as, + AnimWindow *aw, + int *gridWidth, + int *gridHeight); + + +/* leafspread.c */ + +void +fxLeafSpread3DInit (CompScreen *s, + CompWindow *w); + + +/* magiclamp.c */ + +void +fxMagicLampInitGrid(AnimScreen * as, + AnimWindow *aw, + int *gridWidth, + int *gridHeight); + +void +fxVacuumInitGrid (AnimScreen * as, + AnimWindow *aw, + int *gridWidth, + int *gridHeight); + +void +fxMagicLampInit (CompScreen * s, + CompWindow * w); + +Bool +fxMagicLampModelStep (CompScreen * s, + CompWindow * w, + float time); + +/* options.c */ + +void +updateOptionSets(CompScreen *s, + OptionSets *oss, + CompListValue *listVal); + +void +freeAllOptionSets(OptionSets **eventsOss); + +CompOptionValue * +animGetOptVal(AnimScreen *as, + AnimWindow *aw, + int optionId); + +inline Bool +animGetB(AnimScreen *as, + AnimWindow *aw, + int optionId); + +inline int +animGetI(AnimScreen *as, + AnimWindow *aw, + int optionId); + +inline float +animGetF(AnimScreen *as, + AnimWindow *aw, + int optionId); + +inline char * +animGetS(AnimScreen *as, + AnimWindow *aw, + int optionId); + +inline unsigned short * +animGetC(AnimScreen *as, + AnimWindow *aw, + int optionId); + +/* particle.c */ + +void +initParticles (int numParticles, + ParticleSystem * ps); + +void +drawParticles (CompScreen * s, + CompWindow * w, + ParticleSystem * ps); + +void +updateParticles (ParticleSystem * ps, + float time); + +void +finiParticles (ParticleSystem * ps); + +void +drawParticleSystems (CompScreen *s, + CompWindow *w); + +void +particlesUpdateBB (CompOutput *output, + CompWindow * w); + +/* polygon.c */ + +Bool +tessellateIntoRectangles (CompWindow * w, + int gridSizeX, + int gridSizeY, + float thickness); + +Bool +tessellateIntoHexagons (CompWindow * w, + int gridSizeX, + int gridSizeY, + float thickness); + +void +polygonsStoreClips (CompScreen * s, + CompWindow * w, + int nClip, BoxPtr pClip, + int nMatrix, CompMatrix * matrix); + +void +polygonsDrawCustomGeometry (CompScreen * s, + CompWindow * w); + +void +polygonsPrePaintWindow (CompScreen * s, + CompWindow * w); + +void +polygonsPostPaintWindow (CompScreen * s, + CompWindow * w); + +void +freePolygonSet (AnimWindow * aw); + +void +freePolygonObjects(PolygonSet * pset); + +void +polygonsLinearAnimStepPolygon(CompWindow * w, + PolygonObject * p, float forwardProgress); + +void +polygonsDeceleratingAnimStepPolygon(CompWindow * w, + PolygonObject * p, float forwardProgress); + +void +polygonsUpdateBB (CompOutput *output, + CompWindow * w); + +/* rollup.c */ + +Bool +fxRollUpModelStep (CompScreen *s, + CompWindow *w, + float time); + +void fxRollUpInitGrid (AnimScreen *as, + AnimWindow *aw, + int *gridWidth, + int *gridHeight); + +void fxRollUpAnimInit(CompScreen * s, CompWindow * w); + +/* skewer.c */ + +void +fxSkewerInit (CompScreen * s, CompWindow * w); + +void +fxSkewerAnimStepPolygon (CompWindow * w, + PolygonObject * p, + float forwardProgress); + +/* wave.c */ + +Bool +fxWaveModelStep (CompScreen * s, + CompWindow * w, + float time); + + +/* zoomside.c */ + +void +fxZoomUpdateWindowAttrib (AnimScreen *as, + CompWindow * w, + WindowPaintAttrib *wAttrib); + +void +fxZoomUpdateWindowTransform(CompScreen *s, + CompWindow *w, + CompTransform *wTransform); + +void +fxZoomAnimProgress(AnimScreen * as, + AnimWindow * aw, + float *moveProgress, + float *scaleProgress, + Bool neverSpringy); + +void +fxSidekickInit (CompScreen *s, + CompWindow *w); + +void +fxZoomInit (CompScreen * s, + CompWindow * w); + +Bool +fxZoomAnimStep (CompScreen * s, + CompWindow * w, + float time); + +void +applyZoomTransform (CompWindow * w, + CompTransform *transform); diff --git a/animation/animation.c b/animation/animation.c new file mode 100644 index 0000000..d128276 --- /dev/null +++ b/animation/animation.c @@ -0,0 +1,4350 @@ +/** + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Airplane added by : Carlo Palma + * E-mail : carlopalma@salug.it + * Based on code originally written by Mark J. Kilgard + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Fold and Skewer added by : Tomasz Kolodziejski + * E-mail : tkolodziejski@gmail.com + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + **/ + +/* + * TODO: + * + * - Custom bounding box update function for Airplane + * + * - Auto direction option: Close in opposite direction of opening + * - Proper side surface normals for lighting + * - decoration shadows + * - shadow quad generation + * - shadow texture coords (from clip tex. matrices) + * - draw shadows + * - fade in shadows + * + * - Voronoi tessellation + * - Brick tessellation + * - Triangle tessellation + * - Hexagonal tessellation + * + * Effects: + * - Circular action for tornado type fx + * - Tornado 3D (especially for minimize) + * - Helix 3D (hor. strips descend while they rotate and fade in) + * - Glass breaking 3D + * - Gaussian distr. points (for gradually increasing polygon size + * starting from center or near mouse pointer) + * - Drawing cracks + * - Gradual cracking + * + * - fix slowness during transparent cube with <100 opacity + * - fix occasional wrong side color in some windows + * - fix on top windows and panels + * (These two only matter for viewing during Rotate Cube. + * All windows should be painted with depth test on + * like 3d-plugin does) + * - play better with rotate (fix cube face drawn on top of polygons + * after 45 deg. rotation) + * + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include "animation-internal.h" +#include + +int animDisplayPrivateIndex; +CompMetadata animMetadata; + +/* + * NOTE: + * Be sure to always update the NUM_EFFECT_TYPE + * macro definitions in animation-internal.h whenever + * elements of these arrays are added or removed. + */ + +static AnimEffect minimizeEffects[] = { + AnimEffectNone, + AnimEffectRandom, + AnimEffectAirplane3D, + AnimEffectBeamUp, + AnimEffectBurn, + AnimEffectCurvedFold, + AnimEffectDomino3D, + AnimEffectDream, + AnimEffectExplode3D, + AnimEffectFade, + AnimEffectFold3D, + AnimEffectGlide3D1, + AnimEffectGlide3D2, + AnimEffectHorizontalFolds, + AnimEffectLeafSpread3D, + AnimEffectMagicLamp, + AnimEffectRazr3D, + AnimEffectSidekick, + AnimEffectSkewer, + AnimEffectZoom +}; + +static AnimEffect closeEffects[] = { + AnimEffectNone, + AnimEffectRandom, + AnimEffectAirplane3D, + AnimEffectBeamUp, + AnimEffectBurn, + AnimEffectCurvedFold, + AnimEffectDomino3D, + AnimEffectDream, + AnimEffectExplode3D, + AnimEffectFade, + AnimEffectFold3D, + AnimEffectGlide3D1, + AnimEffectGlide3D2, + AnimEffectHorizontalFolds, + AnimEffectLeafSpread3D, + AnimEffectMagicLamp, + AnimEffectRazr3D, + AnimEffectSidekick, + AnimEffectSkewer, + AnimEffectVacuum, + AnimEffectWave, + AnimEffectZoom +}; + +static AnimEffect focusEffects[] = { + AnimEffectNone, + AnimEffectDodge, + AnimEffectFocusFade, + AnimEffectWave +}; + +static AnimEffect shadeEffects[] = { + AnimEffectNone, + AnimEffectRandom, + AnimEffectCurvedFold, + AnimEffectHorizontalFolds, + AnimEffectRollUp +}; + +float identity[16] = { + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0 +}; + +static int switcherPostWait = 0; + + +// Remove when matmul4 in matrix.c made publicly accessible + +#define A(row, col) a[(col << 2) + row] +#define B(row, col) b[(col << 2) + row] +#define P(row, col) product[(col << 2) + row] + +/** + * Perform a full 4x4 matrix multiplication. + * + * \param a matrix. + * \param b matrix. + * \param product will receive the product of \p a and \p b. + * + * \warning Is assumed that \p product != \p b. \p product == \p a is allowed. + * + * \note KW: 4*16 = 64 multiplications + * + * \author This \c matmul was contributed by Thomas Malik + */ +void +matmul4 (float *product, + const float *a, + const float *b) +{ + int i; + + for (i = 0; i < 4; i++) + { + const float ai0 = A(i,0), ai1 = A(i,1), ai2 = A(i,2), ai3 = A(i,3); + + P(i,0) = ai0 * B(0,0) + ai1 * B(1,0) + ai2 * B(2,0) + ai3 * B(3,0); + P(i,1) = ai0 * B(0,1) + ai1 * B(1,1) + ai2 * B(2,1) + ai3 * B(3,1); + P(i,2) = ai0 * B(0,2) + ai1 * B(1,2) + ai2 * B(2,2) + ai3 * B(3,2); + P(i,3) = ai0 * B(0,3) + ai1 * B(1,3) + ai2 * B(2,3) + ai3 * B(3,3); + } +} + +#undef A +#undef B +#undef P + + +// Perform multiplication of 4x4 matrix by a vector +void +multiplyMatrixVector (float *result, + const float *mat, + const float *v) +{ +#define M(row, col) mat[(col << 2) + row] + int i; + for (i = 0; i < 4; i++) + result[i] = M(i,0) * v[0] + M(i,1) * v[1] + M(i,2) * v[2] + M(i,3) * v[3]; +#undef M +} + +// iterate over given list +// check if given effect name matches any implemented effect +// Check if it was already in the stored list +// if not, store the effect +// if no valid effect is given, use the default effect + +void defaultAnimInit(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(s); + + // store window opacity + aw->storedOpacity = w->paint.opacity; + + aw->timestep = (s->slowAnimations ? 2 : // For smooth slow-mo (refer to display.c) + as->opt[ANIM_SCREEN_OPTION_TIME_STEP].value.i); +} + +Bool +animZoomToIcon (AnimScreen *as, AnimWindow *aw) +{ + return + aw->curAnimEffect == AnimEffectZoom || + aw->curAnimEffect == AnimEffectSidekick || + ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + ((aw->curAnimEffect == AnimEffectCurvedFold && + animGetB(as, aw, ANIM_SCREEN_OPTION_CURVED_FOLD_Z2TOM)) || + (aw->curAnimEffect == AnimEffectDream && + animGetB(as, aw, ANIM_SCREEN_OPTION_DREAM_Z2TOM)) || + (aw->curAnimEffect == AnimEffectGlide3D1 && + animGetB(as, aw, ANIM_SCREEN_OPTION_GLIDE1_Z2TOM)) || + (aw->curAnimEffect == AnimEffectGlide3D2 && + animGetB(as, aw, ANIM_SCREEN_OPTION_GLIDE2_Z2TOM)) || + (aw->curAnimEffect == AnimEffectHorizontalFolds && + animGetB(as, aw, ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_Z2TOM)))); +} + +static void +defaultMinimizeAnimInit (CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (animZoomToIcon(as, aw)) + { + aw->animTotalTime /= ZOOM_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; + } + defaultAnimInit(s, w); +} + +static inline Bool +defaultLetOthersDrawGeoms (CompScreen *s, CompWindow *w) +{ + return TRUE; +} + +static void +animStoreRandomEffectList (CompOptionValue *value, + AnimEffect *allowedEffects, + unsigned int numAllowedEffects, + AnimEffect *targetList, + unsigned int *targetCount) +{ + CompOptionValue *effect = value->list.value; + AnimEffect listEffect; + int nItems = value->list.nValue; + int i, j, count; + + count = 0; + + for (i = 0; i < nItems; i++, effect++) + { + if ((effect->i < 0) || (effect->i >= numAllowedEffects)) + continue; + + listEffect = allowedEffects[effect->i]; + + for (j = 0; j < count; j++) + { + if (targetList[j] == listEffect) + break; + } + + if (j < count) + continue; + + targetList[count] = listEffect; + count++; + } + + *targetCount = count; +} + +// Assumes events in the metadata are in +// [Open, Close, Minimize, Focus, Shade] order +// and effects among those are in alphabetical order +// but with "(Event) None" first and "(Event) Random" last. +static AnimEffect +getMatchingAnimSelection (CompWindow *w, + WindowEvent event, + int *duration) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + if (duration == NULL) + return AnimEffectNone; + + CompOptionValue *valMatch; + CompOptionValue *valEffect; + CompOptionValue *valDuration; + AnimEffect *effects; + + switch (event) + { + case WindowEventOpen: + effects = closeEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_OPEN_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_OPEN_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_OPEN_DURATIONS].value; + break; + case WindowEventClose: + effects = closeEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_CLOSE_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_CLOSE_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_CLOSE_DURATIONS].value; + break; + case WindowEventMinimize: + case WindowEventUnminimize: + effects = minimizeEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_DURATIONS].value; + break; + case WindowEventFocus: + effects = focusEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_FOCUS_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_FOCUS_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_FOCUS_DURATIONS].value; + break; + case WindowEventShade: + case WindowEventUnshade: + effects = shadeEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_SHADE_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_SHADE_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_SHADE_DURATIONS].value; + break; + case WindowEventNone: + default: + return AnimEffectNone; + } + + int nRows = valMatch->list.nValue; + if (nRows != valEffect->list.nValue || + nRows != valDuration->list.nValue) + { + compLogMessage + (w->screen->display, "animation", CompLogLevelError, + "Number of animation selection effects, durations, matches, and options are not the same."); + return AnimEffectNone; + } + + // Find the first row that matches this window for this event + int i; + for (i = 0; i < nRows; i++) + { + if (!matchEval (&valMatch->list.value[i].match, w)) + continue; + + aw->curAnimSelectionRow = i; + + *duration = valDuration->list.value[i].i; + + return effects[valEffect->list.value[i].i]; + } + return AnimEffectNone; +} + +static inline AnimEffect +animGetAnimEffect (AnimEffect effect, + AnimEffect *randomEffects, + unsigned int nRandomEffects, + Bool allRandom) +{ + if ((effect == AnimEffectRandom) || allRandom) + { + if (nRandomEffects == 0) + return AnimEffectNone; + else + { + unsigned int index; + index = (unsigned int)(nRandomEffects * (double)rand() / RAND_MAX); + return randomEffects[index]; + } + } + else + return effect; +} + +// Converts animation direction string to an integer direction +// (up, down, left, or right) +AnimDirection getAnimationDirection(CompWindow * w, + CompOptionValue *value, + Bool openDir) +{ + ANIM_WINDOW(w); + + AnimDirection dir; + + dir = value->i; + + if (dir == AnimDirectionRandom) + { + dir = rand() % 4; + } + else if (dir == AnimDirectionAuto) + { + // away from icon + int centerX = BORDER_X(w) + BORDER_W(w) / 2; + int centerY = BORDER_Y(w) + BORDER_H(w) / 2; + float relDiffX = ((float)centerX - aw->icon.x) / BORDER_W(w); + float relDiffY = ((float)centerY - aw->icon.y) / BORDER_H(w); + + if (openDir) + { + if (aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) + // min/unmin. should always result in +/- y direction + dir = aw->icon.y < w->screen->height - aw->icon.y ? + AnimDirectionDown : AnimDirectionUp; + else if (fabs(relDiffY) > fabs(relDiffX)) + dir = relDiffY > 0 ? AnimDirectionDown : AnimDirectionUp; + else + dir = relDiffX > 0 ? AnimDirectionRight : AnimDirectionLeft; + } + else + { + if (aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) + // min/unmin. should always result in +/- y direction + dir = aw->icon.y < w->screen->height - aw->icon.y ? + AnimDirectionUp : AnimDirectionDown; + else if (fabs(relDiffY) > fabs(relDiffX)) + dir = relDiffY > 0 ? AnimDirectionUp : AnimDirectionDown; + else + dir = relDiffX > 0 ? AnimDirectionLeft : AnimDirectionRight; + } + } + return dir; +} + +float defaultAnimProgress(AnimWindow * aw) +{ + float forwardProgress = + 1 - aw->animRemainingTime / (aw->animTotalTime - aw->timestep); + forwardProgress = MIN(forwardProgress, 1); + forwardProgress = MAX(forwardProgress, 0); + + if (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventUnshade || + aw->curWindowEvent == WindowEventFocus) + forwardProgress = 1 - forwardProgress; + + return forwardProgress; +} + +float sigmoidAnimProgress(AnimWindow * aw) +{ + float forwardProgress = + 1 - aw->animRemainingTime / (aw->animTotalTime - aw->timestep); + forwardProgress = MIN(forwardProgress, 1); + forwardProgress = MAX(forwardProgress, 0); + + // Apply sigmoid and normalize + forwardProgress = + (sigmoid(forwardProgress) - sigmoid(0)) / + (sigmoid(1) - sigmoid(0)); + + if (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventUnshade || + aw->curWindowEvent == WindowEventFocus) + forwardProgress = 1 - forwardProgress; + + return forwardProgress; +} + +// Gives some acceleration (when closing a window) +// or deceleration (when opening a window) +// Applies a sigmoid with slope s, +// where minx and maxx are the +// starting and ending points on the sigmoid +float decelerateProgressCustom(float progress, float minx, float maxx) +{ + float x = 1 - progress; + float s = 8; + + return (1 - + ((sigmoid2(minx + (x * (maxx - minx)), s) - sigmoid2(minx, s)) / + (sigmoid2(maxx, s) - sigmoid2(minx, s)))); +} + +float decelerateProgress(float progress) +{ + return decelerateProgressCustom(progress, 0.5, 0.75); +} + +Bool defaultAnimStep(CompScreen * s, CompWindow * w, float time) +{ + int steps; + + ANIM_WINDOW(w); + ANIM_SCREEN(s); + + float timestep = (s->slowAnimations ? 2 : // For smooth slow-mo (refer to display.c) + as->opt[ANIM_SCREEN_OPTION_TIME_STEP].value.i); + + aw->timestep = timestep; + + aw->remainderSteps += time / timestep; + steps = floor(aw->remainderSteps); + aw->remainderSteps -= steps; + + if (!steps && aw->animRemainingTime < aw->animTotalTime) + return FALSE; + steps = MAX(1, steps); + + aw->animRemainingTime -= timestep * steps; + + // avoid sub-zero values + aw->animRemainingTime = MAX(aw->animRemainingTime, 0); + + resetToIdentity (&aw->transform); + if (animZoomToIcon(as, aw)) + { + applyZoomTransform (w, &aw->transform); + } + return TRUE; +} + +void +defaultMinimizeUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + if (animZoomToIcon(as, aw)) + fxZoomUpdateWindowAttrib(as, w, wAttrib); +} + +void +defaultMinimizeUpdateWindowTransform(CompScreen *s, + CompWindow *w, + CompTransform *wTransform) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (animZoomToIcon(as, aw)) + fxZoomUpdateWindowTransform(s, w, wTransform); +} + +static void +copyResetBB (AnimWindow *aw) +{ + memcpy (&aw->lastBB, &aw->BB, sizeof (Box)); + aw->BB.x1 = aw->BB.y1 = MAXSHORT; + aw->BB.x2 = aw->BB.y2 = MINSHORT; +} + +void +expandBoxWithBox (Box *target, Box *source) +{ + if (source->x1 < target->x1) + target->x1 = source->x1; + if (source->x2 > target->x2) + target->x2 = source->x2; + if (source->y1 < target->y1) + target->y1 = source->y1; + if (source->y2 > target->y2) + target->y2 = source->y2; +} + +void +expandBoxWithPoint (Box *target, float fx, float fy) +{ + short x = MAX (MIN (fx, MAXSHORT - 1), MINSHORT); + short y = MAX (MIN (fy, MAXSHORT - 1), MINSHORT); + + if (target->x1 == MAXSHORT) + { + target->x1 = x; + target->y1 = y; + target->x2 = x + 1; + target->y2 = y + 1; + return; + } + if (x < target->x1) + target->x1 = x; + else if (x > target->x2) + target->x2 = x; + + if (y < target->y1) + target->y1 = y; + else if (y > target->y2) + target->y2 = y; +} + +// This will work for zoom-like 2D transforms, +// but not for glide-like 3D transforms. +static void +expandBoxWithPoint2DTransform (CompScreen *s, + Box *target, + float x, + float y, + float *transformMat) +{ + float coords[4] = {x, y, 0, 1}; + float coordsTransformed[4]; + multiplyMatrixVector (coordsTransformed, transformMat, coords); + + expandBoxWithPoint (target, coordsTransformed[0], coordsTransformed[1]); +} + +static Bool +expandBoxWithPoints3DTransform (CompOutput *output, + CompScreen *s, + const CompTransform *transform, + Box *targetBox, + const float *points, + int nPoints) +{ + GLdouble dModel[16]; + GLdouble dProjection[16]; + GLdouble x, y, z; + int i; + for (i = 0; i < 16; i++) + { + dModel[i] = transform->m[i]; + dProjection[i] = s->projection[i]; + } + GLint viewport[4] = + {output->region.extents.x1, + output->region.extents.y1, + output->width, + output->height}; + + while (nPoints--) + { + if (!gluProject (points[0], points[1], points[2], + dModel, dProjection, viewport, + &x, &y, &z)) + return FALSE; + + expandBoxWithPoint (targetBox, x + 0.5, (s->height - y) + 0.5); + + points += 3; + } + + return TRUE; +} + +static void +modelUpdateBB (CompOutput *output, + CompWindow * w) +{ + ANIM_WINDOW (w); + ANIM_SCREEN (w->screen); + + Model *model = aw->model; + if (!model) + return; + + float x, y; + int i; + if (animZoomToIcon(as, aw)) + for (i = 0; i < model->numObjects; i++) + { + x = model->objects[i].position.x; + y = model->objects[i].position.y; + + expandBoxWithPoint2DTransform (w->screen, + &aw->BB, + x, y, + aw->transform.m); + } + else + for (i = 0; i < model->numObjects; i++) + { + x = model->objects[i].position.x + 0.5; + y = model->objects[i].position.y + 0.5; + + expandBoxWithPoint (&aw->BB, x, y); + } +} + +void +updateBBWindow (CompOutput *output, + CompWindow * w) +{ + ANIM_WINDOW(w); + Box windowBox = {WIN_X(w), WIN_X(w) + WIN_W(w), + WIN_Y(w), WIN_Y(w) + WIN_H(w)}; + expandBoxWithBox (&aw->BB, &windowBox); +} + +void +updateBBScreen (CompOutput *output, + CompWindow * w) +{ + ANIM_WINDOW(w); + + Box screenBox = {0, w->screen->width, + 0, w->screen->height}; + expandBoxWithBox (&aw->BB, &screenBox); +} + +inline void +resetToIdentity (CompTransform *transform) +{ + memcpy (transform->m, identity, 16 * sizeof(float)); +} + +void +prepareTransform (CompScreen *s, + CompOutput *output, + CompTransform *resultTransform, + CompTransform *transform) +{ + CompTransform sTransform; + + resetToIdentity (&sTransform); + + transformToScreenSpace (s, output, + -DEFAULT_Z_CAMERA, &sTransform); + + matmul4 (resultTransform->m, sTransform.m, transform->m); +} + +void +compTransformUpdateBB (CompOutput *output, + CompWindow *w) +{ + ANIM_WINDOW(w); + CompScreen *s = w->screen; + CompTransform wTransform; + + prepareTransform (s, output, &wTransform, &aw->transform); + + float corners[4*3] = {WIN_X(w), WIN_Y(w), 0, + WIN_X(w) + WIN_W(w), WIN_Y(w), 0, + WIN_X(w), WIN_Y(w) + WIN_H(w), 0, + WIN_X(w) + WIN_W(w), WIN_Y(w) + WIN_H(w), 0}; + + expandBoxWithPoints3DTransform (output, + s, + &wTransform, + &aw->BB, + corners, + 4); +} + +// Damage the union of window's bounding box +// before and after animStepFunc does its job +static void +damageBoundingBox (CompWindow * w) +{ + ANIM_WINDOW(w); + + if (aw->BB.x1 == MAXSHORT) // unintialized BB + return; + + // Find union of BB and lastBB + Box box; + box.x1 = MIN (aw->BB.x1, aw->lastBB.x1) - 1; + box.y1 = MIN (aw->BB.y1, aw->lastBB.y1) - 1; + box.x2 = MAX (aw->BB.x2, aw->lastBB.x2) + 1; + box.y2 = MAX (aw->BB.y2, aw->lastBB.y2) + 1; + // prevent occasional 1 pixel line artifact + + box.x1 -= w->attrib.x + w->attrib.border_width; + box.y1 -= w->attrib.y + w->attrib.border_width; + box.x2 -= w->attrib.x + w->attrib.border_width; + box.y2 -= w->attrib.y + w->attrib.border_width; + + addWindowDamageRect(w, &box); +} + +AnimEffectProperties animEffectProperties[AnimEffectNum] = { + // AnimEffectNone + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + // AnimEffectRandom + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + // AnimEffectAirplane3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, fxAirplane3DAnimStep, + fxAirplane3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + fxAirplane3DLinearAnimStepPolygon, 0, 0, 0, updateBBScreen}, + // AnimEffectBeamUp + {fxBeamupUpdateWindowAttrib, 0, drawParticleSystems, fxBeamUpModelStep, + fxBeamUpInit, 0, 0, 0, 1, 0, 0, 0, 0, particlesUpdateBB}, + // AnimEffectBurn + {0, 0, drawParticleSystems, fxBurnModelStep, fxBurnInit, 0, 0, 0, 1, 0, + 0, 0, 0, particlesUpdateBB}, + // AnimEffectCurvedFold + {fxFoldUpdateWindowAttrib, 0, 0, fxCurvedFoldModelStep, + defaultMinimizeAnimInit, fxMagicLampInitGrid, 0, 0, 0, 0, 0, + defaultMinimizeUpdateWindowTransform, 0, modelUpdateBB}, + // AnimEffectDodge + {0, 0, 0, fxDodgeAnimStep, defaultAnimInit, 0, 0, 0, 0, 0, + defaultLetOthersDrawGeoms, + fxDodgeUpdateWindowTransform, fxDodgePostPreparePaintScreen, + fxDodgeUpdateBB}, + // AnimEffectDomino3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxDomino3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsLinearAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectDream + {fxDreamUpdateWindowAttrib, 0, 0, fxDreamModelStep, fxDreamAnimInit, + fxMagicLampInitGrid, 0, 0, 0, 0, 0, defaultMinimizeUpdateWindowTransform, + 0, modelUpdateBB}, + // AnimEffectExplode3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxExplode3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsLinearAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectFade + {fxFadeUpdateWindowAttrib, 0, 0, defaultAnimStep, defaultAnimInit, 0, 0, + 0, 0, 0, defaultLetOthersDrawGeoms, 0, 0, updateBBWindow}, + // AnimEffectFocusFade + {fxFocusFadeUpdateWindowAttrib, 0, 0, defaultAnimStep, defaultAnimInit, + 0, 0, 0, 0, 0, defaultLetOthersDrawGeoms, 0, 0, updateBBWindow}, + // AnimEffectFold3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxFold3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + fxFold3dAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectGlide3D1 + {fxGlideUpdateWindowAttrib, fxGlidePrePaintWindow, + fxGlidePostPaintWindow, fxGlideAnimStep, + fxGlideInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsDeceleratingAnimStepPolygon, + fxGlideLetOthersDrawGeoms, fxGlideUpdateWindowTransform, 0, + fxGlideUpdateBB}, + // AnimEffectGlide3D2 + {fxGlideUpdateWindowAttrib, fxGlidePrePaintWindow, + fxGlidePostPaintWindow, fxGlideAnimStep, + fxGlideInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsDeceleratingAnimStepPolygon, + fxGlideLetOthersDrawGeoms, fxGlideUpdateWindowTransform, 0, + fxGlideUpdateBB}, + // AnimEffectHorizontalFolds + {fxFoldUpdateWindowAttrib, 0, 0, fxHorizontalFoldsModelStep, + defaultMinimizeAnimInit, fxHorizontalFoldsInitGrid, 0, 0, 0, 0, 0, + defaultMinimizeUpdateWindowTransform, 0, modelUpdateBB}, + // AnimEffectLeafSpread3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxLeafSpread3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsLinearAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectMagicLamp + {0, 0, 0, fxMagicLampModelStep, fxMagicLampInit, fxMagicLampInitGrid, + 0, 0, 0, 0, 0, 0, 0, modelUpdateBB}, + // AnimEffectRazr3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxDomino3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsLinearAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectRollUp + {0, 0, 0, fxRollUpModelStep, fxRollUpAnimInit, fxRollUpInitGrid, 0, 0, 1, + 0, 0, 0, 0, modelUpdateBB}, + // AnimEffectSidekick + {fxZoomUpdateWindowAttrib, 0, 0, defaultAnimStep, fxSidekickInit, + 0, 0, 0, 1, 0, defaultLetOthersDrawGeoms, fxZoomUpdateWindowTransform, + 0, compTransformUpdateBB}, + // AnimEffectSkewer + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxSkewerInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + fxSkewerAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectVacuum + {0, 0, 0, fxMagicLampModelStep, fxMagicLampInit, + fxVacuumInitGrid, 0, 0, 0, 0, 0, 0, 0, modelUpdateBB}, + // AnimEffectWave + {0, 0, 0, fxWaveModelStep, 0, fxMagicLampInitGrid, 0, 0, 0, 0, 0, 0, 0, + modelUpdateBB}, + // AnimEffectZoom + {fxZoomUpdateWindowAttrib, 0, 0, defaultAnimStep, fxZoomInit, + 0, 0, 0, 1, 0, defaultLetOthersDrawGeoms, fxZoomUpdateWindowTransform, + 0, compTransformUpdateBB} +}; + + +Bool getMousePointerXY(CompScreen * s, short *x, short *y) +{ + Window w1, w2; + int xp, yp, xj, yj; + unsigned int m; + + if (XQueryPointer + (s->display->display, s->root, &w1, &w2, &xj, &yj, &xp, &yp, &m)) + { + *x = xp; + *y = yp; + return TRUE; + } + return FALSE; +} + +static int animGetWindowState(CompWindow * w) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + if(w-> +clientId) + result = XGetWindowProperty(w->screen->display->display, w->clientId, + w->screen->display->wmStateAtom, 0L, + 1L, FALSE, + w->screen->display->wmStateAtom, + &actual, &format, &n, &left, &data); + else + result = XGetWindowProperty(w->screen->display->display, w->id, + w->screen->display->wmStateAtom, 0L, + 1L, FALSE, + w->screen->display->wmStateAtom, + &actual, &format, &n, &left, &data); + + if (result == Success && n && data) + { + int state; + + memcpy(&state, data, sizeof(int)); + XFree((void *)data); + + return state; + } + + return WithdrawnState; +} + +static Bool +animSetScreenOptions(CompPlugin *plugin, + CompScreen * screen, + char *name, + CompOptionValue * value) +{ + CompOption *o; + int index; + + ANIM_SCREEN(screen); + + o = compFindOption(as->opt, NUM_OPTIONS(as), name, &index); + if (!o) + return FALSE; + + switch (index) + { + case ANIM_SCREEN_OPTION_OPEN_MATCHES: + case ANIM_SCREEN_OPTION_CLOSE_MATCHES: + case ANIM_SCREEN_OPTION_MINIMIZE_MATCHES: + case ANIM_SCREEN_OPTION_FOCUS_MATCHES: + case ANIM_SCREEN_OPTION_SHADE_MATCHES: + if (compSetOptionList(o, value)) + { + int i; + for (i = 0; i < o->value.list.nValue; i++) + matchUpdate (screen->display, &o->value.list.value[i].match); + } + break; + case ANIM_SCREEN_OPTION_OPEN_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventOpen], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_CLOSE_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventClose], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_MINIMIZE_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventMinimize], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_FOCUS_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventFocus], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_SHADE_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventShade], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_OPEN_RANDOM_EFFECTS: + if (compSetOptionList(o, value)) + { + animStoreRandomEffectList (&o->value, + closeEffects + RANDOM_EFFECT_OFFSET, + NUM_CLOSE_EFFECT - RANDOM_EFFECT_OFFSET, + as->openRandomEffects, + &as->nOpenRandomEffects); + return TRUE; + } + break; + case ANIM_SCREEN_OPTION_CLOSE_RANDOM_EFFECTS: + if (compSetOptionList(o, value)) + { + animStoreRandomEffectList (&o->value, + closeEffects + RANDOM_EFFECT_OFFSET, + NUM_CLOSE_EFFECT - RANDOM_EFFECT_OFFSET, + as->closeRandomEffects, + &as->nCloseRandomEffects); + return TRUE; + } + break; + case ANIM_SCREEN_OPTION_MINIMIZE_RANDOM_EFFECTS: + if (compSetOptionList(o, value)) + { + animStoreRandomEffectList (&o->value, + minimizeEffects + RANDOM_EFFECT_OFFSET, + NUM_MINIMIZE_EFFECT - RANDOM_EFFECT_OFFSET, + as->minimizeRandomEffects, + &as->nMinimizeRandomEffects); + return TRUE; + } + break; + case ANIM_SCREEN_OPTION_SHADE_RANDOM_EFFECTS: + if (compSetOptionList(o, value)) + { + animStoreRandomEffectList (&o->value, + shadeEffects + RANDOM_EFFECT_OFFSET, + NUM_SHADE_EFFECT - RANDOM_EFFECT_OFFSET, + as->shadeRandomEffects, + &as->nShadeRandomEffects); + return TRUE; + } + break; + default: + return compSetScreenOption (screen, o, value); + break; + } + + return FALSE; +} + +static const CompMetadataOptionInfo animScreenOptionInfo[] = { + // Event settings + { "open_effects", "list", "int" RESTOSTRING (0, LAST_CLOSE_EFFECT), 0, 0 }, + { "open_durations", "list", "int50", 0, 0 }, + { "open_matches", "list", "match", 0, 0 }, + { "open_options", "list", "string", 0, 0 }, + { "open_random_effects", "list", "int" RESTOSTRING (0, LAST_RANDOM_CLOSE_EFFECT), 0, 0 }, + { "close_effects", "list", "int" RESTOSTRING (0, LAST_CLOSE_EFFECT), 0, 0 }, + { "close_durations", "list", "int50", 0, 0 }, + { "close_matches", "list", "match", 0, 0 }, + { "close_options", "list", "string", 0, 0 }, + { "close_random_effects", "list", "int" RESTOSTRING (0, LAST_RANDOM_CLOSE_EFFECT), 0, 0 }, + { "minimize_effects", "list", "int" RESTOSTRING (0, LAST_MINIMIZE_EFFECT), 0, 0 }, + { "minimize_durations", "list", "int50", 0, 0 }, + { "minimize_matches", "list", "match", 0, 0 }, + { "minimize_options", "list", "string", 0, 0 }, + { "minimize_random_effects", "list", "int" RESTOSTRING (0, LAST_RANDOM_MINIMIZE_EFFECT), 0, 0 }, + { "focus_effects", "list", "int" RESTOSTRING (0, LAST_FOCUS_EFFECT), 0, 0 }, + { "focus_durations", "list", "int50", 0, 0 }, + { "focus_matches", "list", "match", 0, 0 }, + { "focus_options", "list", "string", 0, 0 }, + { "shade_effects", "list", "int" RESTOSTRING (0, LAST_SHADE_EFFECT), 0, 0 }, + { "shade_durations", "list", "int50", 0, 0 }, + { "shade_matches", "list", "match", 0, 0 }, + { "shade_options", "list", "string", 0, 0 }, + { "shade_random_effects", "list", "int" RESTOSTRING (0, LAST_RANDOM_SHADE_EFFECT), 0, 0 }, + // Misc. settings + { "all_random", "bool", 0, 0, 0 }, + { "time_step", "int", "1", 0, 0 }, + { "time_step_intense", "int", "1", 0, 0 }, + // Effect settings + { "airplane_path_length", "float", "0.2", 0, 0 }, + { "airplane_fly_to_taskbar", "bool", 0, 0, 0 }, + { "beam_size", "float", "0.1", 0, 0 }, + { "beam_spacing", "int", "1", 0, 0 }, + { "beam_color", "color", 0, 0, 0 }, + { "beam_slowdown", "float", "0.1", 0, 0 }, + { "beam_life", "float", "0.1", 0, 0 }, + { "curved_fold_amp", "float", "-0.50.5", 0, 0 }, + { "curved_fold_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "dodge_gap_ratio", "float", "0.01.0", 0, 0 }, + { "domino_direction", "int", RESTOSTRING (0, LAST_ANIM_DIRECTION), 0, 0 }, + { "dream_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "razr_direction", "int", RESTOSTRING (0, LAST_ANIM_DIRECTION), 0, 0 }, + { "explode_thickness", "float", "1", 0, 0 }, + { "explode_gridx", "int", "1", 0, 0 }, + { "explode_gridy", "int", "1", 0, 0 }, + { "explode_tessellation", "int", RESTOSTRING (0, LAST_POLYGON_TESS), 0, 0 }, + { "fire_particles", "int", "0", 0, 0 }, + { "fire_size", "float", "0.1", 0, 0 }, + { "fire_slowdown", "float", "0.1", 0, 0 }, + { "fire_life", "float", "0.1", 0, 0 }, + { "fire_color", "color", 0, 0, 0 }, + { "fire_direction", "int", RESTOSTRING (0, LAST_ANIM_DIRECTION), 0, 0 }, + { "fire_constant_speed", "bool", 0, 0, 0 }, + { "fire_smoke", "bool", 0, 0, 0 }, + { "fire_mystical", "bool", 0, 0, 0 }, + { "fold_gridx", "int", "1", 0, 0 }, + { "fold_gridy", "int", "1", 0, 0 }, + { "fold_dir", "int", "0", 0, 0 }, + { "glide1_away_position", "float", 0, 0, 0 }, + { "glide1_away_angle", "float", 0, 0, 0 }, + { "glide1_thickness", "float", "0", 0, 0 }, + { "glide1_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "glide2_away_position", "float", 0, 0, 0 }, + { "glide2_away_angle", "float", 0, 0, 0 }, + { "glide2_thickness", "float", "0", 0, 0 }, + { "glide2_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "horizontal_folds_amp", "float", "-0.50.5", 0, 0 }, + { "horizontal_folds_num_folds", "int", "1", 0, 0 }, + { "horizontal_folds_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "magic_lamp_moving_end", "bool", 0, 0, 0 }, + { "magic_lamp_grid_res", "int", "4", 0, 0 }, + { "magic_lamp_max_waves", "int", "3", 0, 0 }, + { "magic_lamp_amp_min", "float", "200", 0, 0 }, + { "magic_lamp_amp_max", "float", "200", 0, 0 }, + { "magic_lamp_open_start_width", "int", "0", 0, 0 }, + { "rollup_fixed_interior", "bool", 0, 0, 0 }, + { "sidekick_num_rotations", "float", "0", 0, 0 }, + { "sidekick_springiness", "float", "01", 0, 0 }, + { "sidekick_zoom_from_center", "int", RESTOSTRING (0, LAST_ZOOM_FROM_CENTER), 0, 0 }, + { "skewer_gridx", "int", "1", 0, 0 }, + { "skewer_gridy", "int", "1", 0, 0 }, + { "skewer_thickness", "float", "1", 0, 0 }, + { "skewer_direction", "int", "0", 0, 0 }, + { "skewer_tessellation", "int", RESTOSTRING (0, LAST_POLYGON_TESS), 0, 0 }, + { "skewer_rotation", "int", 0, 0, 0 }, + { "vacuum_moving_end", "bool", 0, 0, 0 }, + { "vacuum_grid_res", "int", "4", 0, 0 }, + { "vacuum_open_start_width", "int", "0", 0, 0 }, + { "wave_width", "float", "0", 0, 0 }, + { "wave_amp", "float", "0", 0, 0 }, + { "zoom_from_center", "int", RESTOSTRING (0, LAST_ZOOM_FROM_CENTER), 0, 0 }, + { "zoom_springiness", "float", "01", 0, 0 } +}; + +static CompOption * +animGetScreenOptions(CompPlugin *plugin, CompScreen * screen, int *count) +{ + ANIM_SCREEN(screen); + + *count = NUM_OPTIONS(as); + return as->opt; +} + +static void +objectInit(Object * object, + float positionX, float positionY, + float gridPositionX, float gridPositionY) +{ + object->gridPosition.x = gridPositionX; + object->gridPosition.y = gridPositionY; + + object->position.x = positionX; + object->position.y = positionY; + + object->offsetTexCoordForQuadBefore.x = 0; + object->offsetTexCoordForQuadBefore.y = 0; + object->offsetTexCoordForQuadAfter.x = 0; + object->offsetTexCoordForQuadAfter.y = 0; +} + +void +modelInitObjects(Model * model, int x, int y, int width, int height) +{ + int gridX, gridY; + int nGridCellsX, nGridCellsY; + float x0, y0; + + x0 = model->scaleOrigin.x; + y0 = model->scaleOrigin.y; + + // number of grid cells in x direction + nGridCellsX = model->gridWidth - 1; + + if (model->forWindowEvent == WindowEventShade || + model->forWindowEvent == WindowEventUnshade) + { + // number of grid cells in y direction + nGridCellsY = model->gridHeight - 3; // One allocated for top, one for bottom + + float winContentsHeight = + height - model->topHeight - model->bottomHeight; + + //Top + float objectY = y + (0 - y0) * model->scale.y + y0; + + for (gridX = 0; gridX < model->gridWidth; gridX++) + { + objectInit(&model->objects[gridX], + x + ((gridX * width / nGridCellsX) - x0) * + model->scale.x + x0, objectY, + (float)gridX / nGridCellsX, 0); + } + + // Window contents + for (gridY = 1; gridY < model->gridHeight - 1; gridY++) + { + float inWinY = + (gridY - 1) * winContentsHeight / nGridCellsY + + model->topHeight; + float gridPosY = inWinY / height; + + objectY = y + (inWinY - y0) * model->scale.y + y0; + + for (gridX = 0; gridX < model->gridWidth; gridX++) + { + objectInit(&model->objects[gridY * model->gridWidth + gridX], + x + ((gridX * width / nGridCellsX) - x0) * + model->scale.x + x0, + objectY, (float)gridX / nGridCellsX, gridPosY); + } + } + + // Bottom (gridY is model->gridHeight-1 now) + objectY = y + (height - y0) * model->scale.y + y0; + + for (gridX = 0; gridX < model->gridWidth; gridX++) + { + objectInit(&model->objects[gridY * model->gridWidth + gridX], + x + ((gridX * width / nGridCellsX) - x0) * + model->scale.x + x0, objectY, + (float)gridX / nGridCellsX, 1); + } + } + else + { + // number of grid cells in y direction + nGridCellsY = model->gridHeight - 1; + + int i = 0; + + for (gridY = 0; gridY < model->gridHeight; gridY++) + { + float objectY = + y + ((gridY * height / nGridCellsY) - + y0) * model->scale.y + y0; + for (gridX = 0; gridX < model->gridWidth; gridX++) + { + objectInit(&model->objects[i], + x + ((gridX * width / nGridCellsX) - x0) * + model->scale.x + x0, + objectY, + (float)gridX / nGridCellsX, + (float)gridY / nGridCellsY); + i++; + } + } + } +} + +static void +modelMove (Model *model, + float tx, + float ty) +{ + int i; + + for (i = 0; i < model->numObjects; i++) + { + model->objects[i].position.x += tx; + model->objects[i].position.y += ty; + } +} + +static Model *createModel(CompWindow * w, + WindowEvent forWindowEvent, + AnimEffect forAnimEffect, int gridWidth, + int gridHeight) +{ + int x = WIN_X(w); + int y = WIN_Y(w); + int width = WIN_W(w); + int height = WIN_H(w); + + Model *model; + + model = calloc(1, sizeof(Model)); + if (!model) + { + compLogMessage (w->screen->display, "animation", CompLogLevelError, + "Not enough memory"); + return 0; + } + model->magicLampWaveCount = 0; + model->magicLampWaves = NULL; + + model->gridWidth = gridWidth; + model->gridHeight = gridHeight; + model->numObjects = gridWidth * gridHeight; + model->objects = calloc(model->numObjects, sizeof(Object)); + if (!model->objects) + { + compLogMessage (w->screen->display, "animation", CompLogLevelError, + "Not enough memory"); + free(model); + return 0; + } + + // Store win. size to check later + model->winWidth = width; + model->winHeight = height; + + // For shading + model->forWindowEvent = forWindowEvent; + model->topHeight = w->output.top; + model->bottomHeight = w->output.bottom; + + model->scale.x = 1.0f; + model->scale.y = 1.0f; + + model->scaleOrigin.x = 0.0f; + model->scaleOrigin.y = 0.0f; + + modelInitObjects(model, x, y, width, height); + + return model; +} + +static void +animFreeModel(AnimWindow *aw) +{ + if (!aw->model) + return; + + if (aw->model->magicLampWaves) + free(aw->model->magicLampWaves); + if (aw->model->objects) + free(aw->model->objects); + free(aw->model); + aw->model = NULL; +} + +static Bool +animEnsureModel(CompWindow * w) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + WindowEvent forWindowEvent = aw->curWindowEvent; + AnimEffect forAnimEffect = aw->curAnimEffect; + + int gridWidth = 2; + int gridHeight = 2; + + if (animEffectProperties[forAnimEffect].initGridFunc) + animEffectProperties[forAnimEffect].initGridFunc + (as, aw, &gridWidth, &gridHeight); + + Bool isShadeUnshadeEvent = + (forWindowEvent == WindowEventShade || + forWindowEvent == WindowEventUnshade); + + Bool wasShadeUnshadeEvent = aw->model && + (aw->model->forWindowEvent == WindowEventShade || + aw->model->forWindowEvent == WindowEventUnshade); + + if (!aw->model || + gridWidth != aw->model->gridWidth || + gridHeight != aw->model->gridHeight || + (isShadeUnshadeEvent != wasShadeUnshadeEvent) || + aw->model->winWidth != WIN_W(w) || aw->model->winHeight != WIN_H(w)) + { + animFreeModel(aw); + aw->model = createModel(w, + forWindowEvent, forAnimEffect, + gridWidth, gridHeight); + if (!aw->model) + return FALSE; + } + + return TRUE; +} + +static Bool playingPolygonEffect(AnimScreen *as, AnimWindow *aw) +{ + if (!animEffectProperties[aw->curAnimEffect]. + addCustomGeometryFunc) + return FALSE; + + if (!(aw->curAnimEffect == AnimEffectGlide3D1 || + aw->curAnimEffect == AnimEffectGlide3D2)) + return TRUE; + + return (fxGlideIsPolygonBased(as, aw)); +} + +static void cleanUpParentChildChainItem(AnimScreen *as, AnimWindow *aw) +{ + if (aw->winThisIsPaintedBefore && !aw->winThisIsPaintedBefore->destroyed) + { + AnimWindow *aw2 = + GET_ANIM_WINDOW(aw->winThisIsPaintedBefore, as); + if (aw2) + aw2->winToBePaintedBeforeThis = NULL; + } + aw->winThisIsPaintedBefore = NULL; + aw->moreToBePaintedPrev = NULL; + aw->moreToBePaintedNext = NULL; + aw->isDodgeSubject = FALSE; + aw->skipPostPrepareScreen = FALSE; +} + +static void postAnimationCleanupCustom(CompWindow * w, + Bool resetAnimation, + Bool closing, + Bool clearMatchingRow) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + if (// make sure window shadows (which are not drawn by polygon engine) + // are damaged + (playingPolygonEffect(as, aw) && + (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventUnshade || + aw->curWindowEvent == WindowEventFocus)) || + // make sure the window gets fully damaged with + // effects that possibly have models that don't cover + // the whole window (like in magic lamp with menus) + aw->curAnimEffect == AnimEffectMagicLamp || + aw->curAnimEffect == AnimEffectVacuum) + { + updateBBWindow (NULL, w); + } + + if (resetAnimation) + { + aw->curWindowEvent = WindowEventNone; + aw->curAnimEffect = AnimEffectNone; + aw->animOverrideProgressDir = 0; + + if (aw->model) + { + if (aw->model->magicLampWaves) + free(aw->model->magicLampWaves); + aw->model->magicLampWaves = 0; + } + } + + if (aw->BB.x1 != MAXSHORT) + { + // damage BB + memcpy (&aw->lastBB, &aw->BB, sizeof(Box)); + damageBoundingBox (w); + } + aw->BB.x1 = aw->BB.y1 = MAXSHORT; + aw->BB.x2 = aw->BB.y2 = MINSHORT; + + Bool thereIsUnfinishedChainElem = FALSE; + + // Look for still playing windows in parent-child chain + CompWindow *wCur = aw->moreToBePaintedNext; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + + if (awCur->animRemainingTime > 0) + { + thereIsUnfinishedChainElem = TRUE; + break; + } + wCur = awCur->moreToBePaintedNext; + } + if (!thereIsUnfinishedChainElem) + { + wCur = aw->moreToBePaintedPrev; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + + if (awCur->animRemainingTime > 0) + { + thereIsUnfinishedChainElem = TRUE; + break; + } + wCur = awCur->moreToBePaintedPrev; + } + } + if (closing || !thereIsUnfinishedChainElem) + { + // Finish off all windows in parent-child chain + CompWindow *wCur = aw->moreToBePaintedNext; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + wCur = awCur->moreToBePaintedNext; + cleanUpParentChildChainItem(as, awCur); + } + wCur = w; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + wCur = awCur->moreToBePaintedPrev; + cleanUpParentChildChainItem(as, awCur); + } + } + + aw->state = aw->newState; + + if (clearMatchingRow) + aw->curAnimSelectionRow = -1; + + if (aw->drawRegion) + XDestroyRegion(aw->drawRegion); + aw->drawRegion = NULL; + aw->useDrawRegion = FALSE; + + if (aw->numPs) + { + int i = 0; + + for (i = 0; i < aw->numPs; i++) + finiParticles(aw->ps + i); + free(aw->ps); + aw->ps = NULL; + aw->numPs = 0; + } + + if (aw->polygonSet) + { + freePolygonSet(aw); + //aw->polygonSet->nClips = 0; + } + aw->animInitialized = FALSE; + aw->remainderSteps = 0; + + // Reset dodge parameters + aw->dodgeMaxAmount = 0; + if (!(aw->moreToBePaintedPrev || + aw->moreToBePaintedNext)) + { + aw->isDodgeSubject = FALSE; + aw->skipPostPrepareScreen = FALSE; + } + + if (aw->restackInfo) + { + free(aw->restackInfo); + aw->restackInfo = NULL; + } + + //if (aw->unmapCnt || aw->destroyCnt) + // releaseWindow (w); + while (aw->unmapCnt) + { + unmapWindow(w); + aw->unmapCnt--; + } + while (aw->destroyCnt) + { + destroyWindow(w); + aw->destroyCnt--; + } +} + +void postAnimationCleanup(CompWindow * w, Bool resetAnimation) +{ + postAnimationCleanupCustom(w, resetAnimation, FALSE, TRUE); +} + +static void +animActivateEvent (CompScreen *s, + Bool activating) +{ + ANIM_SCREEN(s); + + if (activating) + { + if (as->animInProgress) + return; + } + as->animInProgress = activating; + + CompOption o[2]; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeBool; + o[1].name = "active"; + o[1].value.b = activating; + + (*s->display->handleEcompEvent) (s->display, "animation", "activate", o, 2); +} + +static inline Bool +isWinVisible(CompWindow *w) +{ + return (!w->destroyed && + !(!w->shaded && + (w->attrib.map_state != IsViewable))); +} + +static inline void +getHostedOnWin (AnimScreen *as, + CompWindow *w, + CompWindow *wHost) +{ + ANIM_WINDOW(w); + AnimWindow *awHost = GET_ANIM_WINDOW(wHost, as); + awHost->winToBePaintedBeforeThis = w; + aw->winThisIsPaintedBefore = wHost; +} + +static Bool +otherPluginsActive(AnimScreen *as) +{ + int i; + for (i = 0; i < NUM_WATCHED_PLUGINS; i++) + if (as->pluginActive[i]) + return TRUE; + return FALSE; +} + +static void +initiateFocusAnimation(CompWindow *w) +{ + CompScreen *s = w->screen; + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (aw->curWindowEvent != WindowEventNone || otherPluginsActive(as)) + return; + + // Check the "switcher post-wait" counter that effectively prevents + // focus animation to be initiated when the zoom option value is low + // in Switcher. + if (switcherPostWait) + return; + + int duration = 200; + AnimEffect chosenEffect = + getMatchingAnimSelection (w, WindowEventFocus, &duration); + + if (chosenEffect && + // On unminimization, focus event is fired first. + // When this happens and minimize is in progress, + // don't prevent rewinding of minimize when unminimize is fired + // right after this focus event. + aw->curWindowEvent != WindowEventMinimize) + { + CompWindow *wStart = NULL; + CompWindow *wEnd = NULL; + CompWindow *wOldAbove = NULL; + + RestackInfo *restackInfo = aw->restackInfo; + Bool raised = TRUE; + + if (restackInfo) + { + wStart = restackInfo->wStart; + wEnd = restackInfo->wEnd; + wOldAbove = restackInfo->wOldAbove; + raised = restackInfo->raised; + } + + // FOCUS event! + + aw->curWindowEvent = WindowEventFocus; + aw->curAnimEffect = chosenEffect; + + if (chosenEffect == AnimEffectFocusFade || + chosenEffect == AnimEffectDodge) + { + // Find union region of all windows that will be + // faded through by w. If the region is empty, don't + // run focus fade effect. + + Region fadeRegion = XCreateRegion(); + Region thisAndSubjectIntersection = XCreateRegion(); + Region thisWinRegion = XCreateRegion(); + Region subjectWinRegion = XCreateRegion(); + XRectangle rect; + + int numDodgingWins = 0; + + // Compute subject win. region + rect.x = WIN_X(w); + rect.y = WIN_Y(w); + rect.width = WIN_W(w); + rect.height = WIN_H(w); + XUnionRectWithRegion(&rect, &emptyRegion, subjectWinRegion); + + // Dodge candidate window + CompWindow *dw; + for (dw = wStart; dw && dw != wEnd->next; dw = dw->next) + { + if (!isWinVisible(dw) || + dw->type & CompWindowTypeDockMask) + continue; + + // Compute intersection of this with subject + rect.x = WIN_X(dw); + rect.y = WIN_Y(dw); + rect.width = WIN_W(dw); + rect.height = WIN_H(dw); + XUnionRectWithRegion(&rect, &emptyRegion, thisWinRegion); + XIntersectRegion(subjectWinRegion, thisWinRegion, + thisAndSubjectIntersection); + XUnionRegion(fadeRegion, thisAndSubjectIntersection, + fadeRegion); + + if (chosenEffect == AnimEffectDodge && + !XEmptyRegion(thisAndSubjectIntersection)) + { + AnimWindow *adw = GET_ANIM_WINDOW(dw, as); + if ((adw->curAnimEffect == AnimEffectNone || + (adw->curAnimEffect == AnimEffectDodge)) && + dw->id != w->id) // don't let the subject dodge itself + { + // Mark this window for dodge + + numDodgingWins++; + adw->dodgeOrder = numDodgingWins; + } + } + } + + if (XEmptyRegion(fadeRegion)) + return; // empty -> won't be drawn + + if ((chosenEffect == AnimEffectFocusFade || + chosenEffect == AnimEffectDodge) && wOldAbove) + { + // Store this window in the next window + // so that this is drawn before that, + // i.e. in its old place + getHostedOnWin(as, w, wOldAbove); + } + + float dodgeMaxStartProgress = + numDodgingWins * + animGetF(as, aw, ANIM_SCREEN_OPTION_DODGE_GAP_RATIO) * + duration / 1000.0f; + + if (chosenEffect == AnimEffectDodge) + { + CompWindow *wDodgeChainLastVisited = NULL; + + animActivateEvent(s, TRUE); + + aw->isDodgeSubject = TRUE; + aw->dodgeChainStart = NULL; + float maxTransformTotalProgress = 0; + + for (dw = wStart; dw && dw != wEnd->next; dw = dw->next) + { + AnimWindow *adw = GET_ANIM_WINDOW(dw, as); + + // Skip non-dodgers + if (adw->dodgeOrder == 0) + continue; + + // Initiate dodge for this window + + adw->dodgeSubjectWin = w; + adw->curAnimEffect = AnimEffectDodge; + + // Slight change in dodge movement start + // to reflect stacking order of dodgy windows + if (raised) + adw->transformStartProgress = + dodgeMaxStartProgress * + (adw->dodgeOrder - 1) / numDodgingWins; + else + adw->transformStartProgress = + dodgeMaxStartProgress * + (1 - (float)adw->dodgeOrder / numDodgingWins); + + float transformTotalProgress = + 1 + adw->transformStartProgress; + + // normalize + adw->transformStartProgress /= + transformTotalProgress; + + adw->animTotalTime = + transformTotalProgress * duration; + adw->animRemainingTime = adw->animTotalTime; + + if (maxTransformTotalProgress < transformTotalProgress) + maxTransformTotalProgress = transformTotalProgress; + + // Put window on dodge chain + + // if dodge chain was started before + if (wDodgeChainLastVisited) + { + AnimWindow *awDodgeChainLastVisited = + GET_ANIM_WINDOW(wDodgeChainLastVisited, as); + if (raised) + awDodgeChainLastVisited->dodgeChainNext = dw; + else + awDodgeChainLastVisited->dodgeChainPrev = dw; + } + else if (raised) // mark chain start + { + aw->dodgeChainStart = dw; + } + if (raised) + { + adw->dodgeChainPrev = wDodgeChainLastVisited; + adw->dodgeChainNext = NULL; + } + else + { + adw->dodgeChainPrev = NULL; + adw->dodgeChainNext = wDodgeChainLastVisited; + } + + // Find direction (left, right, up, down) + // that minimizes dodge amount + + // Dodge amount (dodge shadows as well) + + int dodgeAmount[4]; + + int i; + for (i = 0; i < 4; i++) + dodgeAmount[i] = DODGE_AMOUNT(w, dw, i); + + int amountMin = abs(dodgeAmount[0]); + int iMin = 0; + for (i=1; i<4; i++) + { + int absAmount = abs(dodgeAmount[i]); + if (absAmount < amountMin) + { + amountMin = absAmount; + iMin = i; + } + } + adw->dodgeMaxAmount = dodgeAmount[iMin]; + adw->dodgeDirection = iMin; + + wDodgeChainLastVisited = dw; + + // Reset back to 0 for the next dodge calculation + adw->dodgeOrder = 0; + } + if (aw->isDodgeSubject) + aw->dodgeMaxAmount = 0; + + // if subject is being lowered, + // point chain-start to the topmost doding window + if (!raised) + { + aw->dodgeChainStart = wDodgeChainLastVisited; + } + + aw->animTotalTime = + maxTransformTotalProgress * duration; + } + } + + if (!animEnsureModel(w)) + { + postAnimationCleanup(w, TRUE); + return; + } + + animActivateEvent(s, TRUE); + + if (chosenEffect != AnimEffectDodge) + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + damagePendingOnScreen (s); + } +} + +// returns whether this window is relevant for fade focus +static Bool +relevantForFadeFocus(CompWindow *nw) +{ + if (!((nw->type & + // these two are to be used as "host" windows + // to host the painting of windows being focused + // at a stacking order lower than them + (CompWindowTypeDockMask | CompWindowTypeSplashMask)) || + nw->type == CompWindowTypeNormalMask || + nw->type == CompWindowTypeDialogMask || + nw->type == CompWindowTypeUtilMask || + nw->type == CompWindowTypeUnknownMask)) + { + return FALSE; + } + return isWinVisible(nw); +} + +static Bool +restackInfoStillGood(CompScreen *s, RestackInfo *restackInfo) +{ + Bool wStartGood = FALSE; + Bool wEndGood = FALSE; + Bool wOldAboveGood = FALSE; + Bool wRestackedGood = FALSE; + + CompWindow *w; + for (w = s->windows; w; w = w->next) + { + if (restackInfo->wStart == w && isWinVisible(w)) + wStartGood = TRUE; + if (restackInfo->wEnd == w && isWinVisible(w)) + wEndGood = TRUE; + if (restackInfo->wRestacked == w && isWinVisible(w)) + wRestackedGood = TRUE; + if (restackInfo->wOldAbove == w && isWinVisible(w)) + wOldAboveGood = TRUE; + } + return (wStartGood && wEndGood && wOldAboveGood && wRestackedGood); +} + +static void animPreparePaintScreen(CompScreen * s, int msSinceLastPaint) +{ + CompWindow *w; + + ANIM_SCREEN(s); + + // Check and update "switcher post wait" counter + if (switcherPostWait > 0) + { + switcherPostWait++; + if (switcherPostWait > 4) // wait over + switcherPostWait = 0; + } + //if (as->focusEffect == AnimEffectFocusFade || + //as->focusEffect == AnimEffectDodge) + { + if (as->aWinWasRestackedJustNow) + { + // do in reverse order so that focus-fading chains are handled + // properly + for (w = s->reverseWindows; w; w = w->prev) + { + ANIM_WINDOW(w); + if (aw->restackInfo) + { + if (aw->curWindowEvent != WindowEventNone || + otherPluginsActive(as) || + // Don't animate with stale restack info + !restackInfoStillGood(s, aw->restackInfo)) + { + free(aw->restackInfo); + aw->restackInfo = NULL; + continue; + } + + // Find the first window at a higher stacking order than w + CompWindow *nw; + for (nw = w->next; nw; nw = nw->next) + { + if (relevantForFadeFocus(nw)) + break; + } + + // If w is being lowered, there has to be a window + // at a higher stacking position than w (like a panel) + // which this w's copy can be painted before. + // Otherwise the animation will only show w fading in + // rather than 2 copies of it cross-fading. + if (!aw->restackInfo->raised && !nw) + { + // Free unnecessary restackInfo + free(aw->restackInfo); + aw->restackInfo = NULL; + continue; + } + + // Check if above window is focus-fading too. + // (like a dialog of an app. window) + // If so, focus-fade this together with the one above + // (link to it) + if (nw) + { + AnimWindow *awNext = GET_ANIM_WINDOW(nw, as); + if (awNext && awNext->winThisIsPaintedBefore) + { + awNext->moreToBePaintedPrev = w; + aw->moreToBePaintedNext = nw; + aw->restackInfo->wOldAbove = + awNext->winThisIsPaintedBefore; + } + } + initiateFocusAnimation(w); + } + } + //if (as->focusEffect == AnimEffectDodge) + { + for (w = s->reverseWindows; w; w = w->prev) + { + ANIM_WINDOW(w); + + if (!aw->isDodgeSubject) + continue; + Bool dodgersAreOnlySubjects = TRUE; + CompWindow *dw; + AnimWindow *adw; + for (dw = aw->dodgeChainStart; dw; dw = adw->dodgeChainNext) + { + adw = GET_ANIM_WINDOW(dw, as); + if (!adw) + break; + if (!adw->isDodgeSubject) + dodgersAreOnlySubjects = FALSE; + } + if (dodgersAreOnlySubjects) + aw->skipPostPrepareScreen = TRUE; + } + } + } + } + + if (as->animInProgress) + { + AnimWindow *aw; + Bool animStillInProgress = FALSE; + + for (w = s->windows; w; w = w->next) + { + aw = GET_ANIM_WINDOW(w, as); + + if (aw->numPs) + { + int i = 0; + + for (i = 0; i < aw->numPs; i++) + { + if (aw->ps[i].active) + { + updateParticles(&aw->ps[i], msSinceLastPaint); + animStillInProgress = TRUE; + } + } + } + + if (aw->animRemainingTime > 0) + { + if (!aw->animInitialized) // if animation is just starting + { + aw->deceleratingMotion = + animEffectProperties[aw->curAnimEffect]. + animStepPolygonFunc == + polygonsDeceleratingAnimStepPolygon; + + if (playingPolygonEffect(as, aw)) + { + // Allocate polygon set if null + if (!aw->polygonSet) + { + aw->polygonSet = calloc(1, sizeof(PolygonSet)); + } + if (!aw->polygonSet) + { + compLogMessage (w->screen->display, + "animation", CompLogLevelError, + "Not enough memory"); + return; + } + aw->polygonSet->allFadeDuration = -1.0f; + } + } + + // if 3d polygon fx + if (playingPolygonEffect(as, aw)) + { + aw->nClipsPassed = 0; + aw->clipsUpdated = FALSE; + } + + // If just starting, call fx init func. + if (!aw->animInitialized && + animEffectProperties[aw->curAnimEffect].initFunc) + { + animEffectProperties[aw->curAnimEffect].initFunc(s, w); + } + + if (aw->model) + { + if (aw->model->winWidth != WIN_W(w) || + aw->model->winHeight != WIN_H(w)) + { + // model needs update + // re-create model + if (!animEnsureModel (w)) + continue; // skip this window + } + } + + if (animEffectProperties[aw->curAnimEffect].updateBBFunc) + { + copyResetBB (aw); + + if (!aw->animInitialized && + (aw->curWindowEvent == WindowEventClose || + aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventShade || + ((aw->curWindowEvent == WindowEventFocus || + // for dodging windows + aw->curAnimEffect == AnimEffectDodge) && + !aw->isDodgeSubject))) + updateBBWindow (NULL, w); + } + aw->animInitialized = TRUE; + + if (animEffectProperties[aw->curAnimEffect].animStepFunc) + animEffectProperties[aw->curAnimEffect].animStepFunc + (s, w, msSinceLastPaint); + + if (animEffectProperties[aw->curAnimEffect].updateBBFunc) + { + int i; + for (i = 0; i < s->nOutputDev; i++) + animEffectProperties[aw->curAnimEffect]. + updateBBFunc (&s->outputDev[i], w); + + if (!(s->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK)) + damageBoundingBox (w); + } + + if (aw->animRemainingTime <= 0) + { + // Animation done + postAnimationCleanup(w, TRUE); + } + animStillInProgress |= (aw->animRemainingTime > 0); + } + + if (aw->animRemainingTime <= 0) + { + if (aw->curAnimEffect != AnimEffectNone || + aw->unmapCnt > 0 || aw->destroyCnt > 0) + { + postAnimationCleanup(w, TRUE); + } + aw->curWindowEvent = WindowEventNone; + aw->curAnimEffect = AnimEffectNone; + } + } + + for (w = s->windows; w; w = w->next) + { + aw = GET_ANIM_WINDOW(w, as); + if (aw && animEffectProperties[aw->curAnimEffect]. + postPreparePaintScreenFunc) + { + animEffectProperties[aw->curAnimEffect]. + postPreparePaintScreenFunc(s, w); + } + } + + if (!animStillInProgress) + animActivateEvent(s, FALSE); + } + + UNWRAP(as, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP(as, s, preparePaintScreen, animPreparePaintScreen); +} + +static void animDonePaintScreen(CompScreen * s) +{ + ANIM_SCREEN(s); + + if (as->animInProgress) + damagePendingOnScreen (s); + + UNWRAP(as, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP(as, s, donePaintScreen, animDonePaintScreen); +} + +static void +animAddWindowGeometry(CompWindow * w, + CompMatrix * matrix, + int nMatrix, Region region, Region clip) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + // if model is lost during animation (e.g. when plugin just reloaded) + /*if (aw->animRemainingTime > 0 && !aw->model) + { + aw->animRemainingTime = 0; + postAnimationCleanup(w, TRUE); + }*/ + // if window is being animated + if (aw->animRemainingTime > 0 && aw->model && + !(animEffectProperties[aw->curAnimEffect].letOthersDrawGeoms && + animEffectProperties[aw->curAnimEffect].letOthersDrawGeoms + (w->screen, w))) + { + BoxPtr pClip; + int nClip; + int nVertices, nIndices; + GLushort *i; + GLfloat *v; + int x1, y1, x2, y2; + float width, height; + float winContentsY, winContentsHeight; + float deformedX, deformedY; + int nVertX, nVertY, wx, wy; + int vSize, it; + float gridW, gridH, x, y; + Bool rect = TRUE; + Bool useTextureQ = TRUE; + Model *model = aw->model; + Region awRegion = NULL; + + // Use Q texture coordinate to avoid jagged-looking quads + // http://www.r3.nu/~cass/qcoord/ + if (animEffectProperties[aw->curAnimEffect].dontUseQTexCoord) + useTextureQ = FALSE; + + if (aw->useDrawRegion) + { + awRegion = XCreateRegion(); + XOffsetRegion(aw->drawRegion, WIN_X(w), WIN_Y(w)); + XIntersectRegion(region, aw->drawRegion, awRegion); + XOffsetRegion(aw->drawRegion, -WIN_X(w), -WIN_Y(w)); + nClip = awRegion->numRects; + pClip = awRegion->rects; + } + else + { + nClip = region->numRects; + pClip = region->rects; + } + + if (nClip == 0) // nothing to do + { + if (awRegion) + XDestroyRegion(awRegion); + return; + } + + for (it = 0; it < nMatrix; it++) + { + if (matrix[it].xy != 0.0f || matrix[it].yx != 0.0f) + { + rect = FALSE; + break; + } + } + + w->drawWindowGeometry = animDrawWindowGeometry; + + if (aw->polygonSet && + animEffectProperties[aw->curAnimEffect].addCustomGeometryFunc) + { + /*int nClip2 = nClip; + BoxPtr pClip2 = pClip; + + // For each clip passed to this function + for (; nClip2--; pClip2++) + { + x1 = pClip2->x1; + y1 = pClip2->y1; + x2 = pClip2->x2; + y2 = pClip2->y2; + + printf("x1: %4d, y1: %4d, x2: %4d, y2: %4d", x1, y1, x2, y2); + printf("\tm: %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f\n", + matrix[0].xx, matrix[0].xy, matrix[0].yx, matrix[0].yy, + matrix[0].x0, matrix[0].y0); + } */ + if (nMatrix == 0) + return; + animEffectProperties[aw->curAnimEffect]. + addCustomGeometryFunc(w->screen, w, nClip, pClip, + nMatrix, matrix); + + // If addGeometryFunc exists, it is expected to do everthing + // to add geometries (instead of the rest of this function). + + if (w->vCount == 0) // if there is no vertex + { + // put a dummy quad in vertices and indices + if (4 > w->indexSize) + { + if (!moreWindowIndices(w, 4)) + return; + } + if (4 > w->vertexSize) + { + if (!moreWindowVertices(w, 4)) + return; + } + w->vCount = 4; + w->indexCount = 4; + w->texUnits = 1; + memset(w->vertices, 0, sizeof(GLfloat) * 4); + memset(w->indices, 0, sizeof(GLushort) * 4); + } + return; // We're done here. + } + + // window coordinates and size + wx = WIN_X(w); + wy = WIN_Y(w); + width = WIN_W(w); + height = WIN_H(w); + + // to be used if event is shade/unshade + winContentsY = w->attrib.y; + winContentsHeight = w->height; + + w->texUnits = nMatrix; + + if (w->vCount == 0) + { + // reset + w->indexCount = 0; + w->texCoordSize = 4; + } + vSize = 2 + w->texUnits * w->texCoordSize; + + nVertices = w->vCount; + nIndices = w->indexCount; + + v = w->vertices + (nVertices * vSize); + i = w->indices + nIndices; + + // For each clip passed to this function + for (; nClip--; pClip++) + { + x1 = pClip->x1; + y1 = pClip->y1; + x2 = pClip->x2; + y2 = pClip->y2; + /* + printf("x1: %4d, y1: %4d, x2: %4d, y2: %4d", x1, y1, x2, y2); + printf("\tm: %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f\n", + matrix[0].xx, matrix[0].xy, matrix[0].yx, matrix[0].yy, + matrix[0].x0, matrix[0].y0); + */ + gridW = (float)width / (model->gridWidth - 1); + + if (aw->curWindowEvent == WindowEventShade || + aw->curWindowEvent == WindowEventUnshade) + { + if (y1 < w->attrib.y) // if at top part + { + gridH = model->topHeight; + } + else if (y2 > w->attrib.y + w->height) // if at bottom + { + gridH = model->bottomHeight; + } + else // in window contents (only in Y coords) + { + float winContentsHeight = + height - model->topHeight - model->bottomHeight; + gridH = winContentsHeight / (model->gridHeight - 3); + } + } + else + gridH = (float)height / (model->gridHeight - 1); + + // nVertX, nVertY: number of vertices for this clip in x and y dimensions + // + 2 to avoid running short of vertices in some cases + nVertX = ceil((x2 - x1) / gridW) + 2; + nVertY = (gridH ? ceil((y2 - y1) / gridH) : 0) + 2; + + // Allocate 4 indices for each quad + int newIndexSize = nIndices + ((nVertX - 1) * (nVertY - 1) * 4); + + if (newIndexSize > w->indexSize) + { + if (!moreWindowIndices(w, newIndexSize)) + return; + + i = w->indices + nIndices; + } + // Assign quad vertices to indices + int jx, jy; + + for (jy = 0; jy < nVertY - 1; jy++) + { + for (jx = 0; jx < nVertX - 1; jx++) + { + *i++ = nVertices + nVertX * (2 * jy + 1) + jx; + *i++ = nVertices + nVertX * (2 * jy + 1) + jx + 1; + *i++ = nVertices + nVertX * 2 * jy + jx + 1; + *i++ = nVertices + nVertX * 2 * jy + jx; + + nIndices += 4; + } + } + + // Allocate vertices + int newVertexSize = + (nVertices + nVertX * (2 * nVertY - 2)) * vSize; + if (newVertexSize > w->vertexSize) + { + if (!moreWindowVertices(w, newVertexSize)) + return; + + v = w->vertices + (nVertices * vSize); + } + + float rowTexCoordQ = 1; + float prevRowCellWidth = 0; // this initial value won't be used + float rowCellWidth = 0; + + // For each vertex + for (jy = 0, y = y1; jy < nVertY; jy++) + { + if (y > y2) + y = y2; + + // Do calculations for y here to avoid repeating + // them unnecessarily in the x loop + + float topiyFloat; + Bool applyOffsets = TRUE; + + if (aw->curWindowEvent == WindowEventShade + || aw->curWindowEvent == WindowEventUnshade) + { + if (y1 < w->attrib.y) // if at top part + { + topiyFloat = (y - WIN_Y(w)) / model->topHeight; + topiyFloat = MIN(topiyFloat, 0.999); // avoid 1.0 + applyOffsets = FALSE; + } + else if (y2 > w->attrib.y + w->height) // if at bottom + { + topiyFloat = (model->gridHeight - 2) + + (model->bottomHeight ? (y - winContentsY - + winContentsHeight) / + model->bottomHeight : 0); + applyOffsets = FALSE; + } + else // in window contents (only in Y coords) + { + topiyFloat = (model->gridHeight - 3) * + (y - winContentsY) / winContentsHeight + 1; + } + } + else + { + topiyFloat = (model->gridHeight - 1) * (y - wy) / height; + } + // topiy should be at most (model->gridHeight - 2) + int topiy = (int)(topiyFloat + 1e-4); + + if (topiy == model->gridHeight - 1) + topiy--; + int bottomiy = topiy + 1; + float iny = topiyFloat - topiy; + + // End of calculations for y + + for (jx = 0, x = x1; jx < nVertX; jx++) + { + if (x > x2) + x = x2; + + // find containing grid cell (leftix rightix) x (topiy bottomiy) + float leftixFloat = + (model->gridWidth - 1) * (x - wx) / width; + int leftix = (int)(leftixFloat + 1e-4); + + if (leftix == model->gridWidth - 1) + leftix--; + int rightix = leftix + 1; + + // Objects that are at top, bottom, left, right corners of quad + Object *objToTopLeft = + &(model->objects[topiy * model->gridWidth + leftix]); + Object *objToTopRight = + &(model->objects[topiy * model->gridWidth + rightix]); + Object *objToBottomLeft = + &(model->objects[bottomiy * model->gridWidth + leftix]); + Object *objToBottomRight = + &(model->objects[bottomiy * model->gridWidth + rightix]); + + // find position in cell by taking remainder of flooring + float inx = leftixFloat - leftix; + + // Interpolate to find deformed coordinates + + float hor1x = (1 - inx) * + objToTopLeft->position.x + + inx * objToTopRight->position.x; + float hor1y = (1 - inx) * + objToTopLeft->position.y + + inx * objToTopRight->position.y; + float hor2x = (1 - inx) * + objToBottomLeft->position.x + + inx * objToBottomRight->position.x; + float hor2y = (1 - inx) * + objToBottomLeft->position.y + + inx * objToBottomRight->position.y; + + deformedX = (1 - iny) * hor1x + iny * hor2x; + deformedY = (1 - iny) * hor1y + iny * hor2y; + + if (useTextureQ) + { + if (jx == 1) + rowCellWidth = deformedX - v[-2]; + + if (jy > 0 && jx == 1) // do only once per row for all rows except row 0 + { + rowTexCoordQ = (rowCellWidth / prevRowCellWidth); + + v[-3] = rowTexCoordQ; // update first column + v[-6] *= rowTexCoordQ; // (since we didn't know rowTexCoordQ before) + v[-5] *= rowTexCoordQ; + } + } + if (rect) + { + for (it = 0; it < nMatrix; it++) + { + float offsetY = 0; + + if (applyOffsets && y < y2) + offsetY = objToTopLeft->offsetTexCoordForQuadAfter.y; + + *v++ = COMP_TEX_COORD_X(&matrix[it], x); + *v++ = COMP_TEX_COORD_Y(&matrix[it], y + offsetY); + *v++ = 0; + if (useTextureQ) + { + *v++ = rowTexCoordQ; // Q texture coordinate + + if (0 < jy && jy < nVertY - 1) + { + // copy first 3 texture coords to duplicate row + memcpy(v - 4 + nVertX * vSize, + v - 4, 3 * sizeof(GLfloat)); + *(v - 1 + nVertX * vSize) = 1; // Q texture coordinate + } + if (applyOffsets && /*0 < jy && */ + objToTopLeft-> + offsetTexCoordForQuadBefore.y != 0) + { + // After copying to next row, update texture y coord + // by following object's offset + offsetY = objToTopLeft-> offsetTexCoordForQuadBefore.y; + v[-3] = COMP_TEX_COORD_Y(&matrix[it], y + offsetY); + } + if (jx > 0) // since column 0 is updated when jx == 1 + { + v[-4] *= rowTexCoordQ; + v[-3] *= rowTexCoordQ; + } + } + else + { + *v++ = 1; + + if (0 < jy && jy < nVertY - 1) + { + // copy first 3 texture coords to duplicate row + memcpy(v - 4 + nVertX * vSize, + v - 4, 3 * sizeof(GLfloat)); + + *(v - 1 + nVertX * vSize) = 1; // Q texture coordinate + } + if (applyOffsets && + objToTopLeft->offsetTexCoordForQuadBefore.y != 0) + { + // After copying to next row, update texture y coord + // by following object's offset + offsetY = objToTopLeft->offsetTexCoordForQuadBefore.y; + v[-3] = COMP_TEX_COORD_Y(&matrix[it], y + offsetY); + } + } + } + } + else + { + for (it = 0; it < nMatrix; it++) + { + float offsetY = 0; + + if (applyOffsets && y < y2) + { + // FIXME: + // the correct value below doesn't work for some reason + offsetY = 0; + // objToTopLeft-> + // offsetTexCoordForQuadAfter.y; + } + + *v++ = COMP_TEX_COORD_XY(&matrix[it], x, y + offsetY); + *v++ = COMP_TEX_COORD_YX(&matrix[it], x, y + offsetY); + *v++ = 0; + if (useTextureQ) + { + *v++ = rowTexCoordQ; // Q texture coordinate + + if (0 < jy && jy < nVertY - 1) + { + // copy first 3 texture coords to duplicate row + memcpy(v - 4 + nVertX * vSize, + v - 4, 3 * sizeof(GLfloat)); + *(v - 1 + nVertX * vSize) = 1; // Q texture coordinate + } + if (applyOffsets && + objToTopLeft->offsetTexCoordForQuadBefore.y != 0) + { + // After copying to next row, update texture y coord + // by following object's offset + offsetY = objToTopLeft->offsetTexCoordForQuadBefore.y; + v[-4] = COMP_TEX_COORD_XY(&matrix[it], x, + y + offsetY); + v[-3] = COMP_TEX_COORD_YX(&matrix[it], x, + y + offsetY); + } + if (jx > 0) // column t should be updated when jx is t+1 + { + v[-4] *= rowTexCoordQ; + v[-3] *= rowTexCoordQ; + } + } + else + { + *v++ = 1; + + if (0 < jy && jy < nVertY - 1) + { + // copy first 3 texture coords to duplicate row + memcpy(v - 4 + nVertX * vSize, + v - 4, 3 * sizeof(GLfloat)); + *(v - 1 + nVertX * vSize) = 1; // Q texture coordinate + } + if (applyOffsets && + objToTopLeft->offsetTexCoordForQuadBefore.y != 0) + { + // After copying to next row, update texture y coord + // by following object's offset + offsetY = + objToTopLeft-> + offsetTexCoordForQuadBefore.y; + v[-4] = COMP_TEX_COORD_XY(&matrix[it], x, + y + offsetY); + v[-3] = COMP_TEX_COORD_YX(&matrix[it], x, + y + offsetY); + } + } + } + } + *v++ = deformedX; + *v++ = deformedY; + + if (0 < jy && jy < nVertY - 1) + memcpy(v - 2 + nVertX * vSize, v - 2, 2 * sizeof(GLfloat)); + + nVertices++; + + // increment x properly (so that coordinates fall on grid intersections) + x = rightix * gridW + wx; + } + if (useTextureQ) + prevRowCellWidth = rowCellWidth; + + if (0 < jy && jy < nVertY - 1) + { + v += nVertX * vSize; // skip the duplicate row + nVertices += nVertX; + } + // increment y properly (so that coordinates fall on grid intersections) + if (aw->curWindowEvent == WindowEventShade + || aw->curWindowEvent == WindowEventUnshade) + { + y += gridH; + } + else + { + y = bottomiy * gridH + wy; + } + } + } + w->vCount = nVertices; + w->indexCount = nIndices; + if (awRegion) + { + XDestroyRegion(awRegion); + awRegion = NULL; + } + } + else + { + UNWRAP(as, w->screen, addWindowGeometry); + (*w->screen->addWindowGeometry) (w, matrix, nMatrix, region, clip); + WRAP(as, w->screen, addWindowGeometry, animAddWindowGeometry); + } +} + +static void +animDrawWindowTexture(CompWindow * w, CompTexture * texture, + const FragmentAttrib *attrib, + unsigned int mask) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + if (aw->animRemainingTime > 0) // if animation in progress, store texture + { + aw->curTexture = texture; + aw->curPaintAttrib = *attrib; + } + + UNWRAP(as, w->screen, drawWindowTexture); + (*w->screen->drawWindowTexture) (w, texture, attrib, mask); + WRAP(as, w->screen, drawWindowTexture, animDrawWindowTexture); +} + +void +animDrawWindowGeometry(CompWindow * w) +{ + ANIM_WINDOW(w); + + aw->nDrawGeometryCalls++; + + ANIM_SCREEN(w->screen); + + if (playingPolygonEffect(as, aw) && + animEffectProperties[aw->curAnimEffect].drawCustomGeometryFunc) + { + animEffectProperties[aw->curAnimEffect].drawCustomGeometryFunc (w->screen, w); + return; + } + int texUnit = w->texUnits; + int currentTexUnit = 0; + int stride = 2 + texUnit * w->texCoordSize; + GLfloat *vertices = w->vertices + (stride - 2); + + stride *= sizeof(GLfloat); + + glVertexPointer(2, GL_FLOAT, stride, vertices); + + while (texUnit--) + { + if (texUnit != currentTexUnit) + { + w->screen->clientActiveTexture(GL_TEXTURE0_ARB + texUnit); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + currentTexUnit = texUnit; + } + vertices -= w->texCoordSize; + glTexCoordPointer(w->texCoordSize, GL_FLOAT, stride, vertices); + } + + glDrawElements(GL_QUADS, w->indexCount, GL_UNSIGNED_SHORT, + w->indices); + + // disable all texture coordinate arrays except 0 + texUnit = w->texUnits; + if (texUnit > 1) + { + while (--texUnit) + { + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB + texUnit); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + } + + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB); + } +} + +static Bool +animPaintWindow(CompWindow * w, + const WindowPaintAttrib * attrib, + const CompTransform *transform, + Region region, unsigned int mask) +{ + Bool status; + + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + // For Focus Fade && Focus Dodge + if (aw->winToBePaintedBeforeThis) + { + CompWindow *w2 = aw->winToBePaintedBeforeThis; + // ========= Paint w2 on host w ========= + + // Go to the bottommost window in this "focus chain" + // This chain is used to handle some cases: e.g when Find dialog + // of an app is open, both windows should be faded when the Find + // dialog is raised. + CompWindow *bottommost = w2; + CompWindow *wPrev = GET_ANIM_WINDOW(bottommost, as)-> + moreToBePaintedPrev; + while (wPrev) + { + bottommost = wPrev; + wPrev = GET_ANIM_WINDOW(wPrev, as)->moreToBePaintedPrev; + } + + // Paint each window in the chain going to the topmost + for (w2 = bottommost; w2; + w2 = GET_ANIM_WINDOW(w2, as)->moreToBePaintedNext) + { + AnimWindow *aw2 = GET_ANIM_WINDOW(w2, as); + if (!aw2) + continue; + + if (aw2->animTotalTime < 1e-4) + { + aw2->drawnOnHostSkip = TRUE; + } + w2->indexCount = 0; + WindowPaintAttrib wAttrib2 = w2->lastPaint; + + if (aw2->curAnimEffect == AnimEffectFocusFade) + fxFocusFadeUpdateWindowAttrib2(as, w2, &wAttrib2); + else // if dodge + wAttrib2.opacity = aw2->storedOpacity; + + unsigned int mask2 = mask; + mask2 |= PAINT_WINDOW_TRANSFORMED_MASK; + + aw2->nDrawGeometryCalls = 0; + UNWRAP(as, w2->screen, paintWindow); + status = (*w2->screen->paintWindow) + (w2, &wAttrib2, transform, region, mask2); + WRAP(as, w2->screen, paintWindow, animPaintWindow); + } + } + if (aw->drawnOnHostSkip) + { + aw->drawnOnHostSkip = FALSE; + return FALSE; + } + if (aw->animRemainingTime > 0) + { + if (aw->curAnimEffect == AnimEffectDodge && + aw->isDodgeSubject && + aw->winThisIsPaintedBefore) + { + // if aw is to be painted somewhere other than in its + // original stacking order, it will only be painted with + // the code above (but in animPaintWindow call for + // the window aw->winThisIsPaintedBefore), so we don't + // need to paint aw below + return FALSE; + } + + if (aw->curWindowEvent == WindowEventFocus && otherPluginsActive(as)) + postAnimationCleanup(w, TRUE); + + if (playingPolygonEffect(as, aw)) + { + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + { + aw->curTextureFilter = w->screen->filter[WINDOW_TRANS_FILTER]; + } + else if (mask & PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK) + { + aw->curTextureFilter = w->screen->filter[SCREEN_TRANS_FILTER]; + } + else + { + aw->curTextureFilter = w->screen->filter[NOTHING_TRANS_FILTER]; + } + } + w->indexCount = 0; + + WindowPaintAttrib wAttrib = *attrib; + CompTransform wTransform = *transform; + + //if (mask & PAINT_WINDOW_SOLID_MASK) + // return FALSE; + + // TODO: should only happen for distorting effects + mask |= PAINT_WINDOW_TRANSFORMED_MASK; + + wAttrib.xScale = 1.0f; + wAttrib.yScale = 1.0f; + + aw->nDrawGeometryCalls = 0; + + if (animEffectProperties[aw->curAnimEffect].updateWindowAttribFunc) + animEffectProperties[aw->curAnimEffect]. + updateWindowAttribFunc(as, w, &wAttrib); + + if (animEffectProperties[aw->curAnimEffect].updateWindowTransformFunc) + animEffectProperties[aw->curAnimEffect]. + updateWindowTransformFunc(w->screen, w, &wTransform); + + if (animEffectProperties[aw->curAnimEffect].prePaintWindowFunc) + animEffectProperties[aw->curAnimEffect]. + prePaintWindowFunc(w->screen, w); + + UNWRAP(as, w->screen, paintWindow); + status = (*w->screen->paintWindow) (w, &wAttrib, &wTransform, region, mask); + WRAP(as, w->screen, paintWindow, animPaintWindow); + + if (animEffectProperties[aw->curAnimEffect].postPaintWindowFunc) + animEffectProperties[aw->curAnimEffect]. + postPaintWindowFunc(w->screen, w); + } + else + { + UNWRAP(as, w->screen, paintWindow); + status = (*w->screen->paintWindow) (w, attrib, transform, region, mask); + WRAP(as, w->screen, paintWindow, animPaintWindow); + } + + return status; +} + +static Bool animGetWindowIconGeometry(CompWindow * w, XRectangle * rect) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + ANIM_DISPLAY(w->screen->display); + + result = XGetWindowProperty(w->screen->display->display, w->id, + ad->winIconGeometryAtom, + 0L, 4L, FALSE, XA_CARDINAL, &actual, + &format, &n, &left, &data); + + if (result == Success && n && data) + { + if (n == 4) + { + unsigned long *geometry = (unsigned long *)data; + + rect->x = geometry[0]; + rect->y = geometry[1]; + rect->width = geometry[2]; + rect->height = geometry[3]; + + XFree(data); + + return TRUE; + } + + XFree(data); + } + + return FALSE; +} + +static const PluginEventInfo watchedPlugins[] = +{ + {"switcher", "activate"}, + {"scale", "activate"}, + {"group", "tabChangeActivate"}, + {"fadedesktop", "activate"}, + {"shift", "activate"}, +}; + +static void animHandleEcompEvent(CompDisplay * d, char *pluginName, + char *eventName, CompOption * option, int nOption) +{ + ANIM_DISPLAY(d); + + UNWRAP (ad, d, handleEcompEvent); + (*d->handleEcompEvent) (d, pluginName, eventName, option, nOption); + WRAP (ad, d, handleEcompEvent, animHandleEcompEvent); + + int i; + for (i = 0; i < NUM_WATCHED_PLUGINS; i++) + if (strcmp(pluginName, watchedPlugins[i].pluginName) == 0) + { + if (strcmp(eventName, watchedPlugins[i].activateEventName) == 0) + { + Window xid = getIntOptionNamed(option, nOption, "root", 0); + CompScreen *s = findScreenAtDisplay(d, xid); + + if (s) + { + ANIM_SCREEN(s); + as->pluginActive[i] = + getBoolOptionNamed(option, nOption, "active", FALSE); + if (i == 0) + { + as->switcherWinOpeningSuppressed = FALSE; + if (!as->pluginActive[i]) + switcherPostWait = 1; + } + } + } + break; + } +} + +static void +updateLastClientListStacking(CompScreen *s) +{ + ANIM_SCREEN(s); + int n = s->nClientList; + Window *clientListStacking = (Window *) (s->clientList + n) + n; + + if (as->nLastClientListStacking != n) // the number of windows has changed + { + Window *list; + + list = realloc (as->lastClientListStacking, sizeof (Window) * n); + as->lastClientListStacking = list; + + if (!list) + { + as->nLastClientListStacking = 0; + return; + } + + as->nLastClientListStacking = n; + } + + // Store new client stack listing + memcpy(as->lastClientListStacking, clientListStacking, + sizeof (Window) * n); +} +/* +static Bool +windowHasUserTime(CompWindow *w) +{ + Time t; + return getWindowUserTime (w, &t); +} +*/ +static char * +animGetWindowName (CompWindow *w) +{ + CompDisplay *d = w->screen->display; + Atom type; + unsigned long nItems; + unsigned long bytesAfter; + unsigned char *str = NULL; + int format, result; + char *retval; + + ANIM_DISPLAY (d); + + result = XGetWindowProperty (d->display, w->id, ad->wmNameAtom, + 0, LONG_MAX, FALSE, XA_STRING, + &type, &format, &nItems, &bytesAfter, + (unsigned char **) &str); + if (result != Success) + return NULL; + + if (type != XA_STRING) + { + XFree (str); + return NULL; + } + retval = strdup ((char *) str); + XFree (str); + + return retval; +} + +static void animEventUnmap(CompDisplay *d, CompWindow *w, int event) +{ + int opEvent; + int duration = 200; + + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + if(event == WindowEventMinimize) + opEvent = WindowEventUnminimize; + else // if WindowEventClose + opEvent = WindowEventOpen; + + AnimEffect chosenEffect = getMatchingAnimSelection (w, event, &duration); + + aw->state = NormalState; + + if(event == WindowEventMinimize) + aw->newState = IconicState; + else + aw->newState = WithdrawnState; + + if (chosenEffect) + { + int tmpSteps = 0; + Bool startingNew = TRUE; + + if (aw->animRemainingTime > 0 && + aw->curWindowEvent != opEvent) + { + tmpSteps = aw->animRemainingTime; + aw->animRemainingTime = 0; + } + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent == opEvent) + { + // Play the create effect backward from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 2; + else if (aw->animOverrideProgressDir == 1) + aw->animOverrideProgressDir = 0; + } + else if (aw->curWindowEvent == event) + { + if (aw->animOverrideProgressDir == 2) + { + aw->animRemainingTime = tmpSteps; + startingNew = FALSE; + } + } + else + { + postAnimationCleanupCustom(w, TRUE, TRUE, FALSE); + } + } + + if (startingNew) + { + AnimEffect effectToBePlayed; + if(event == WindowEventMinimize) + effectToBePlayed = animGetAnimEffect(chosenEffect, + as->minimizeRandomEffects, + as->nMinimizeRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + else + effectToBePlayed = animGetAnimEffect(chosenEffect, + as->closeRandomEffects, + as->nCloseRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + return; + + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = event; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (!animEnsureModel(w)) + { + postAnimationCleanup(w, TRUE); + } + else if (animGetWindowIconGeometry(w, &aw->icon)) + { + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } + + else if (getMousePointerXY + (w->screen, &aw->icon.x, &aw->icon.y)) + { + aw->icon.width = FAKE_ICON_SIZE; + aw->icon.height = FAKE_ICON_SIZE; + + if (aw->curAnimEffect == AnimEffectMagicLamp) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_OPEN_START_WIDTH)); + else if (aw->curAnimEffect == AnimEffectVacuum) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_VACUUM_OPEN_START_WIDTH)); + + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } + } + else if (getMatchingAnimSelection (w, opEvent, &duration)) + { + // stop the current animation and prevent it from rewinding + + if (aw->animRemainingTime > 0 && + aw->curWindowEvent != opEvent) + { + aw->animRemainingTime = 0; + } + if ((aw->curWindowEvent != WindowEventNone) && + ((event == WindowEventClose && aw->curWindowEvent != WindowEventClose) || + (event == WindowEventMinimize && aw->curWindowEvent != WindowEventMinimize))) + { + postAnimationCleanup(w, TRUE); + } + // set some properties to make sure this window will use the + // correct open effect the next time it's "opened" + + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = event; + + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } +} + + + +static void animHandleEvent(CompDisplay * d, XEvent * event) +{ + CompWindow *w; + + ANIM_DISPLAY(d); + + switch (event->type) + { + case PropertyNotify: + if (event->xproperty.atom == d->clientListStackingAtom) + { + CompScreen *s = findScreenAtDisplay (d, event->xproperty.window); + if (s) + updateLastClientListStacking(s); + } + break; + case MapNotify: + w = findWindowAtDisplay(d, event->xmap.window); + if (w) + { + ANIM_WINDOW(w); + + if (aw->animRemainingTime > 0) + { + aw->state = aw->newState; + } + while (aw->unmapCnt) + { + unmapWindow(w); + aw->unmapCnt--; + } + } + break; + case DestroyNotify: + w = findWindowAtDisplay(d, event->xunmap.window); + if (w) + { + ANIM_WINDOW(w); + aw->destroyCnt++; + w->destroyRefCnt++; + addWindowDamage(w); + } + break; + case UnmapNotify: + w = findWindowAtDisplay(d, event->xunmap.window); + if (w) + { + if ((getWmState(d, w->clientId) == IconicState) && + (onCurrentDesktop(w)) && + (!w->invisible)) + { + // Normal -> Iconic + animEventUnmap(d, w, WindowEventMinimize); + } + + else + { + // X -> Withdrawn + + ANIM_WINDOW(w); + + // don't animate windows that don't have certain properties + // like the fullscreen darkening layer of gksudo + // or the darkening layer of x-session-manager + if (/*!(w->resName || windowHasUserTime (w)) ||*/ + (aw->wmName && strcasecmp (aw->wmName, "x-session-manager") == 0)) + break; + + animEventUnmap(d, w, WindowEventClose); + } + } + break; + case ConfigureNotify: + { + XConfigureEvent *ce = &event->xconfigure; + w = findWindowAtDisplay (d, ce->window); + if (!w) + break; + if (w->prev) + { + if (ce->above && ce->above == w->prev->id) + break; + } + else if (ce->above == None) + break; + CompScreen *s = findScreenAtDisplay (d, event->xproperty.window); + if (!s) + break; + + ANIM_SCREEN(s); + int i; + int n = s->nClientList; + Bool winOpenedClosed = FALSE; + + Window *clientList = (Window *) (s->clientList + n); + Window *clientListStacking = clientList + n; + + if (n != as->nLastClientListStacking) + winOpenedClosed = TRUE; + + // if restacking occurred and not window open/close + if (!winOpenedClosed) + { + ANIM_WINDOW(w); + aw->configureNotified = TRUE; + + // Find which window is restacked + // e.g. here 8507730 was raised: + // 54526074 8507730 48234499 14680072 6291497 + // 54526074 48234499 14680072 8507730 6291497 + // compare first changed win. of row 1 with last + // changed win. of row 2, and vica versa + // the matching one is the restacked one + CompWindow *wRestacked = 0; + CompWindow *wStart = 0; + CompWindow *wEnd = 0; + CompWindow *wOldAbove = 0; + CompWindow *wChangeStart = 0; + CompWindow *wChangeEnd = 0; + + Bool raised = FALSE; + int changeStart = -1; + int changeEnd = -1; + + for (i = 0; i < n; i++) + { + CompWindow *wi = + findWindowAtScreen (s, clientListStacking[i]); + + // skip if minimized (prevents flashing problem) + if (!wi || !isWinVisible(wi)) + continue; + + // skip if (tabbed and) hidden by Group plugin + if (wi->state & (CompWindowStateSkipPagerMask | + CompWindowStateSkipTaskbarMask)) + continue; + + if (clientListStacking[i] != + as->lastClientListStacking[i]) + { + if (changeStart < 0) + { + changeStart = i; + wChangeStart = wi; // make use of already found w + } + else + { + changeEnd = i; + wChangeEnd = wi; + } + } + else if (changeStart >= 0) // found some change earlier + break; + } + + // if restacking occurred + if (changeStart >= 0 && changeEnd >= 0) + { + CompWindow *w2; + + // if we have only 2 windows changed, + // choose the one clicked on + Bool preferRaised = FALSE; + Bool onlyTwo = FALSE; + + if (wChangeEnd && + clientListStacking[changeEnd] == + as->lastClientListStacking[changeStart] && + clientListStacking[changeStart] == + as->lastClientListStacking[changeEnd]) + { + // Check if the window coming on top was + // configureNotified (clicked on) + AnimWindow *aw2 = GET_ANIM_WINDOW(wChangeEnd, as); + if (aw2->configureNotified) + { + preferRaised = TRUE; + } + onlyTwo = TRUE; + } + // Clear all configureNotified's + for (w2 = s->windows; w2; w2 = w2->next) + { + AnimWindow *aw2 = GET_ANIM_WINDOW(w2, as); + aw2->configureNotified = FALSE; + } + + if (preferRaised || + (!onlyTwo && + clientListStacking[changeEnd] == + as->lastClientListStacking[changeStart])) + { + // raised + raised = TRUE; + wRestacked = wChangeEnd; + wStart = wChangeStart; + wEnd = wRestacked; + wOldAbove = wStart; + } + else if (clientListStacking[changeStart] == + as->lastClientListStacking[changeEnd] && // lowered + // We don't animate lowering if there is no + // window above this window, since this window needs + // to be drawn on such a "host" in animPaintWindow + // (at least for now). + changeEnd < n - 1) + { + wRestacked = wChangeStart; + wStart = wRestacked; + wEnd = wChangeEnd; + wOldAbove = findWindowAtScreen + (s, as->lastClientListStacking[changeEnd+1]); + } + for (; wOldAbove && !isWinVisible(wOldAbove); + wOldAbove = wOldAbove->next) + ; + } + if (wRestacked && wStart && wEnd && wOldAbove) + { + AnimWindow *awRestacked = GET_ANIM_WINDOW(wRestacked, as); + if (awRestacked->created) + { + RestackInfo *restackInfo = calloc(1, sizeof(RestackInfo)); + if (restackInfo) + { + restackInfo->wRestacked = wRestacked; + restackInfo->wStart = wStart; + restackInfo->wEnd = wEnd; + restackInfo->wOldAbove = wOldAbove; + restackInfo->raised = raised; + + if (awRestacked->restackInfo) + free(awRestacked->restackInfo); + + awRestacked->restackInfo = restackInfo; + as->aWinWasRestackedJustNow = TRUE; + } + } + } + } + updateLastClientListStacking(s); + } + break; + default: + break; + } + + UNWRAP(ad, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP(ad, d, handleEvent, animHandleEvent); + + switch (event->type) + { + case PropertyNotify: + if (event->xproperty.atom == d->winActiveAtom && + d->activeWindow != ad->activeWindow) + { + ad->activeWindow = d->activeWindow; + w = findWindowAtDisplay(d, d->activeWindow); + + if (w) + { + int duration = 200; + AnimEffect chosenEffect = + getMatchingAnimSelection (w, WindowEventFocus, &duration); + + if (!(chosenEffect == AnimEffectFocusFade || + chosenEffect == AnimEffectDodge)) + initiateFocusAnimation(w); + } + } + break; + default: + break; + } +} + +static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect) +{ + Bool status; + + ANIM_SCREEN(w->screen); + + // Unminimize or Open + if (initial) + { + ANIM_WINDOW(w); + + int duration = 200; + AnimEffect chosenEffect; + + if (aw->state == IconicState) + { + chosenEffect = getMatchingAnimSelection (w, WindowEventUnminimize, &duration); + + if (!w->invisible && + chosenEffect && + !as->pluginActive[3]) // fadedesktop + { + // UNMINIMIZE event! + + Bool startingNew = TRUE; + + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent != WindowEventMinimize) + { + postAnimationCleanupCustom(w, TRUE, FALSE, FALSE); + } + else + { + // Play the minimize effect backwards from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 1; + else if (aw->animOverrideProgressDir == 2) + aw->animOverrideProgressDir = 0; + } + } + + Bool playEffect = TRUE; + + if (startingNew) + { + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->minimizeRandomEffects, + as->nMinimizeRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + playEffect = FALSE; + + if (playEffect) + { + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + } + + if (playEffect) + { + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventUnminimize; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (animEnsureModel(w)) + { + if (!animGetWindowIconGeometry(w, &aw->icon)) + { + // minimize to bottom-center if there is no window list + aw->icon.x = w->screen->width / 2; + aw->icon.y = w->screen->height; + aw->icon.width = 100; + aw->icon.height = 20; + } + + damagePendingOnScreen (w->screen); + } + else + { + postAnimationCleanup(w, TRUE); + } + } + } + } + else if (aw->nowShaded) + { + chosenEffect = + getMatchingAnimSelection (w, WindowEventUnshade, &duration); + + // UNSHADE event! + + aw->nowShaded = FALSE; + + if (chosenEffect) + { + Bool startingNew = TRUE; + + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent != WindowEventShade) + { + postAnimationCleanupCustom(w, TRUE, FALSE, FALSE); + } + else + { + // Play the shade effect backwards from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 1; + else if (aw->animOverrideProgressDir == 2) + aw->animOverrideProgressDir = 0; + } + } + + Bool playEffect = TRUE; + + if (startingNew) + { + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->shadeRandomEffects, + as->nShadeRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + playEffect = FALSE; + + if (playEffect) + { + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + } + + if (playEffect) + { + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventUnshade; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (animEnsureModel(w)) + damagePendingOnScreen (w->screen); + else + postAnimationCleanup(w, TRUE); + } + } + } + else if (!w->invisible) + { + aw->created = TRUE; + + int duration = 200; + AnimEffect chosenEffect = + getMatchingAnimSelection (w, WindowEventOpen, &duration); + + // OPEN event! + + if (chosenEffect && + // don't animate windows that don't have certain properties + // like the fullscreen darkening layer of gksudo + /*(w->resName || windowHasUserTime (w)) &&*/ + // don't animate darkening layer of x-session-manager + !(aw->wmName && strcasecmp (aw->wmName, "x-session-manager") == 0) && + // suppress switcher window + // (1st window that opens after switcher becomes active) + (!as->pluginActive[0] || as->switcherWinOpeningSuppressed) && + getMousePointerXY(w->screen, &aw->icon.x, &aw->icon.y)) + { + Bool startingNew = TRUE; + + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent != WindowEventClose) + { + postAnimationCleanupCustom(w, TRUE, FALSE, FALSE); + } + else + { + // Play the close effect backwards from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime == 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 1; + else if (aw->animOverrideProgressDir == 2) + aw->animOverrideProgressDir = 0; + } + } + + Bool playEffect = TRUE; + + if (startingNew) + { + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->openRandomEffects, + as->nOpenRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + playEffect = FALSE; + + if (playEffect) + { + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + } + + if (playEffect) + { + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventOpen; + + aw->icon.width = FAKE_ICON_SIZE; + aw->icon.height = FAKE_ICON_SIZE; + + if (aw->curAnimEffect == AnimEffectMagicLamp) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_OPEN_START_WIDTH)); + else if (aw->curAnimEffect == AnimEffectVacuum) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_VACUUM_OPEN_START_WIDTH)); + + aw->icon.x -= aw->icon.width / 2; + aw->icon.y -= aw->icon.height / 2; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + if (aw->lastKnownCoords.x != NOT_INITIALIZED) + { + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + } + if (animEnsureModel(w)) + damagePendingOnScreen (w->screen); + else + postAnimationCleanup(w, TRUE); + } + } + else if (as->pluginActive[0] && !as->switcherWinOpeningSuppressed) + { + // done suppressing open animation + as->switcherWinOpeningSuppressed = TRUE; + } + } + + aw->newState = NormalState; + } + + UNWRAP(as, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP(as, w->screen, damageWindowRect, animDamageWindowRect); + + return status; +} + +static void animWindowResizeNotify(CompWindow * w, int dx, int dy, int dwidth, int dheight) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + // Don't let transient window open anim be interrupted with a resize notify + if (!(aw->curWindowEvent == WindowEventOpen && + (w->type & + (CompWindowTypeDropdownMenuMask | + CompWindowTypePopupMenuMask | + CompWindowTypeMenuMask | + CompWindowTypeTooltipMask | + CompWindowTypeNotificationMask | + CompWindowTypeComboMask | + CompWindowTypeDndMask)))) + { + if (aw->polygonSet && !aw->animInitialized) + { + // to refresh polygon coords + freePolygonSet(aw); + } + + if (aw->animRemainingTime > 0) + { + aw->animRemainingTime = 0; + postAnimationCleanup(w, TRUE); + } + } + + if (aw->model) + { + modelInitObjects(aw->model, + WIN_X(w), WIN_Y(w), + WIN_W(w), WIN_H(w)); + } + + aw->state = w->state; + + UNWRAP(as, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP(as, w->screen, windowResizeNotify, animWindowResizeNotify); +} + +static void +animWindowMoveNotify(CompWindow * w, int dx, int dy, Bool immediate) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + if (!immediate) + { + if (!(aw->animRemainingTime > 0 && + (aw->curAnimEffect == AnimEffectFocusFade || + aw->curAnimEffect == AnimEffectDodge))) + { + CompWindow *w2; + + if (aw->polygonSet && !aw->animInitialized) + { + // to refresh polygon coords + freePolygonSet(aw); + } + if (aw->animRemainingTime > 0 && aw->grabbed) + { + aw->animRemainingTime = 0; + if (as->animInProgress) + { + Bool animStillInProgress = FALSE; + for (w2 = w->screen->windows; w2; w2 = w2->next) + { + AnimWindow *aw2; + + aw2 = GET_ANIM_WINDOW(w2, as); + if (aw2->animRemainingTime > 0) + { + animStillInProgress = TRUE; + break; + } + } + + if (!animStillInProgress) + animActivateEvent(w->screen, FALSE); + } + postAnimationCleanup(w, TRUE); + } + + if (aw->model) + { + modelInitObjects(aw->model, WIN_X(w), WIN_Y(w), WIN_W(w), + WIN_H(w)); + } + } + } + else if (aw->model) + modelMove (aw->model, dx, dy); + + UNWRAP(as, w->screen, windowMoveNotify); + (*w->screen->windowMoveNotify) (w, dx, dy, immediate); + WRAP(as, w->screen, windowMoveNotify, animWindowMoveNotify); +} + +static void +animWindowGrabNotify(CompWindow * w, + int x, int y, unsigned int state, unsigned int mask) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + aw->grabbed = TRUE; + + UNWRAP(as, w->screen, windowGrabNotify); + (*w->screen->windowGrabNotify) (w, x, y, state, mask); + WRAP(as, w->screen, windowGrabNotify, animWindowGrabNotify); +} + +static void animWindowUngrabNotify(CompWindow * w) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + aw->grabbed = FALSE; + + UNWRAP(as, w->screen, windowUngrabNotify); + (*w->screen->windowUngrabNotify) (w); + WRAP(as, w->screen, windowUngrabNotify, animWindowUngrabNotify); +} + +static Bool +animPaintOutput(CompScreen * s, + const ScreenPaintAttrib * sAttrib, + const CompTransform *transform, + Region region, CompOutput *output, + unsigned int mask) +{ + Bool status; + + ANIM_SCREEN(s); + + if (as->animInProgress) + { + // Find out if an animation running now uses depth test + Bool depthUsed = FALSE; + CompWindow *w; + for (w = s->windows; w; w = w->next) + { + ANIM_WINDOW(w); + if (aw->animRemainingTime > 0 && + aw->polygonSet && + aw->polygonSet->doDepthTest) + { + depthUsed = TRUE; + break; + } + } + if (depthUsed) + { + glClearDepth(1000.0f); + glClear(GL_DEPTH_BUFFER_BIT); + } + mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + } + + as->output = output; + + UNWRAP(as, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP(as, s, paintOutput, animPaintOutput); + + CompWindow *w; + if (as->aWinWasRestackedJustNow) + { + as->aWinWasRestackedJustNow = FALSE; + } + if (as->markAllWinCreatedCountdown > 0) + { + if (as->markAllWinCreatedCountdown == 1) + { + // Mark all windows as "created" + for (w = s->windows; w; w = w->next) + { + ANIM_WINDOW(w); + aw->created = TRUE; + } + } + as->markAllWinCreatedCountdown--; + } + + return status; +} + +static Bool animInitDisplay(CompPlugin * p, CompDisplay * d) +{ + AnimDisplay *ad; + + ad = calloc(1, sizeof(AnimDisplay)); + if (!ad) + return FALSE; + + ad->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (ad->screenPrivateIndex < 0) + { + free(ad); + return FALSE; + } + + ad->wmNameAtom = XInternAtom (d->display, "WM_NAME", 0); + ad->winIconGeometryAtom = + XInternAtom(d->display, "_NET_WM_ICON_GEOMETRY", 0); + + WRAP(ad, d, handleEvent, animHandleEvent); + WRAP(ad, d, handleEcompEvent, animHandleEcompEvent); + + d->privates[animDisplayPrivateIndex].ptr = ad; + + return TRUE; +} + +static void animFiniDisplay(CompPlugin * p, CompDisplay * d) +{ + ANIM_DISPLAY(d); + + freeScreenPrivateIndex(d, ad->screenPrivateIndex); + + UNWRAP(ad, d, handleEcompEvent); + UNWRAP(ad, d, handleEvent); + + free(ad); +} + +static Bool animInitScreen(CompPlugin * p, CompScreen * s) +{ + AnimScreen *as; + CompDisplay *d = s->display; + + ANIM_DISPLAY(d); + + as = calloc(1, sizeof(AnimScreen)); + if (!as) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &animMetadata, + animScreenOptionInfo, + as->opt, + ANIM_SCREEN_OPTION_NUM)) + { + free (as); + return FALSE; + } + + as->windowPrivateIndex = allocateWindowPrivateIndex(s); + if (as->windowPrivateIndex < 0) + { + compFiniScreenOptions (s, as->opt, ANIM_SCREEN_OPTION_NUM); + free(as); + return FALSE; + } + + as->animInProgress = FALSE; + + animStoreRandomEffectList ( + &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_RANDOM_EFFECTS].value, + minimizeEffects + RANDOM_EFFECT_OFFSET, + NUM_MINIMIZE_EFFECT - RANDOM_EFFECT_OFFSET, + as->minimizeRandomEffects, + &as->nMinimizeRandomEffects); + + animStoreRandomEffectList ( + &as->opt[ANIM_SCREEN_OPTION_CLOSE_RANDOM_EFFECTS].value, + closeEffects + RANDOM_EFFECT_OFFSET, + NUM_CLOSE_EFFECT - RANDOM_EFFECT_OFFSET, + as->closeRandomEffects, + &as->nCloseRandomEffects); + + animStoreRandomEffectList ( + &as->opt[ANIM_SCREEN_OPTION_OPEN_RANDOM_EFFECTS].value, + closeEffects + RANDOM_EFFECT_OFFSET, + NUM_CLOSE_EFFECT - RANDOM_EFFECT_OFFSET, + as->openRandomEffects, + &as->nOpenRandomEffects); + + animStoreRandomEffectList ( + &as->opt[ANIM_SCREEN_OPTION_SHADE_RANDOM_EFFECTS].value, + shadeEffects + RANDOM_EFFECT_OFFSET, + NUM_SHADE_EFFECT - RANDOM_EFFECT_OFFSET, + as->shadeRandomEffects, + &as->nShadeRandomEffects); + + as->eventOptionSets[WindowEventOpen] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventClose] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventMinimize] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventUnminimize] = + as->eventOptionSets[WindowEventMinimize]; + as->eventOptionSets[WindowEventFocus] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventShade] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventUnshade] = + as->eventOptionSets[WindowEventShade]; + + updateOptionSets + (s, as->eventOptionSets[WindowEventOpen], + &as->opt[ANIM_SCREEN_OPTION_OPEN_OPTIONS].value.list); + updateOptionSets + (s, as->eventOptionSets[WindowEventClose], + &as->opt[ANIM_SCREEN_OPTION_CLOSE_OPTIONS].value.list); + updateOptionSets + (s, as->eventOptionSets[WindowEventMinimize], + &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_OPTIONS].value.list); + updateOptionSets + (s, as->eventOptionSets[WindowEventFocus], + &as->opt[ANIM_SCREEN_OPTION_FOCUS_OPTIONS].value.list); + updateOptionSets + (s, as->eventOptionSets[WindowEventShade], + &as->opt[ANIM_SCREEN_OPTION_SHADE_OPTIONS].value.list); + + as->lastClientListStacking = NULL; + as->nLastClientListStacking = 0; + + as->output = &s->fullscreenOutput; + + WRAP(as, s, preparePaintScreen, animPreparePaintScreen); + WRAP(as, s, donePaintScreen, animDonePaintScreen); + WRAP(as, s, paintOutput, animPaintOutput); + WRAP(as, s, paintWindow, animPaintWindow); + WRAP(as, s, damageWindowRect, animDamageWindowRect); + WRAP(as, s, addWindowGeometry, animAddWindowGeometry); + WRAP(as, s, drawWindowTexture, animDrawWindowTexture); + WRAP(as, s, windowResizeNotify, animWindowResizeNotify); + WRAP(as, s, windowMoveNotify, animWindowMoveNotify); + WRAP(as, s, windowGrabNotify, animWindowGrabNotify); + WRAP(as, s, windowUngrabNotify, animWindowUngrabNotify); + + as->markAllWinCreatedCountdown = 5; // start countdown + + s->privates[ad->screenPrivateIndex].ptr = as; + + return TRUE; +} + +static void animFiniScreen(CompPlugin * p, CompScreen * s) +{ + ANIM_SCREEN(s); + + if (as->animInProgress) + animActivateEvent(s, FALSE); + + freeWindowPrivateIndex(s, as->windowPrivateIndex); + + if (as->lastClientListStacking) + free(as->lastClientListStacking); + + freeAllOptionSets(as->eventOptionSets); + + UNWRAP(as, s, preparePaintScreen); + UNWRAP(as, s, donePaintScreen); + UNWRAP(as, s, paintOutput); + UNWRAP(as, s, paintWindow); + UNWRAP(as, s, damageWindowRect); + UNWRAP(as, s, addWindowGeometry); + UNWRAP(as, s, drawWindowTexture); + UNWRAP(as, s, windowResizeNotify); + UNWRAP(as, s, windowMoveNotify); + UNWRAP(as, s, windowGrabNotify); + UNWRAP(as, s, windowUngrabNotify); + + compFiniScreenOptions (s, as->opt, ANIM_SCREEN_OPTION_NUM); + + free(as); +} + +static Bool animInitWindow(CompPlugin * p, CompWindow * w) +{ + AnimWindow *aw; + + ANIM_SCREEN(w->screen); + + aw = calloc(1, sizeof(AnimWindow)); + if (!aw) + return FALSE; + + aw->model = 0; + aw->state = w->state; + aw->animRemainingTime = 0; + aw->animInitialized = FALSE; + aw->curAnimEffect = AnimEffectNone; + aw->curWindowEvent = WindowEventNone; + aw->animOverrideProgressDir = 0; + aw->curAnimSelectionRow = -1; + + w->indexCount = 0; + + aw->polygonSet = NULL; + aw->lastKnownCoords.x = NOT_INITIALIZED; + aw->lastKnownCoords.y = NOT_INITIALIZED; + + aw->unmapCnt = 0; + aw->destroyCnt = 0; + + aw->grabbed = FALSE; + + aw->useDrawRegion = FALSE; + aw->drawRegion = NULL; + + aw->BB.x1 = aw->BB.y1 = MAXSHORT; + aw->BB.x2 = aw->BB.y2 = MINSHORT; + + if (w->shaded) + { + aw->state = aw->newState = NormalState; + aw->nowShaded = TRUE; + } + else + { + aw->state = aw->newState = animGetWindowState(w); + aw->nowShaded = FALSE; + } + + aw->wmName = animGetWindowName(w); + + w->privates[as->windowPrivateIndex].ptr = aw; + + return TRUE; +} + +static void animFiniWindow(CompPlugin * p, CompWindow * w) +{ + ANIM_WINDOW(w); + + if (aw->wmName) + free (aw->wmName); + + postAnimationCleanup(w, FALSE); + + animFreeModel(aw); + + while (aw->unmapCnt--) + unmapWindow(w); + + free(aw); +} + +static Bool animInit(CompPlugin * p) +{ + if (!compInitPluginMetadataFromInfo (&animMetadata, + p->vTable->name, + 0, 0, + animScreenOptionInfo, + ANIM_SCREEN_OPTION_NUM)) + return FALSE; + + animDisplayPrivateIndex = allocateDisplayPrivateIndex(); + if (animDisplayPrivateIndex < 0) + { + compFiniMetadata (&animMetadata); + return FALSE; + } + + compAddMetadataFromFile (&animMetadata, p->vTable->name); + + animEffectPropertiesTmp = animEffectProperties; + + return TRUE; +} + +static void animFini(CompPlugin * p) +{ + freeDisplayPrivateIndex(animDisplayPrivateIndex); + compFiniMetadata (&animMetadata); +} + +static int +animGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +animGetMetadata (CompPlugin *plugin) +{ + return &animMetadata; +} + +CompPluginVTable animVTable = { + "animation", + animGetVersion, + animGetMetadata, + animInit, + animFini, + animInitDisplay, + animFiniDisplay, + animInitScreen, + animFiniScreen, + animInitWindow, + animFiniWindow, + 0, + 0, + animGetScreenOptions, + animSetScreenOptions, +}; + +CompPluginVTable *getCompPluginInfo(void) +{ + return &animVTable; +} + diff --git a/animation/animation.c-backup b/animation/animation.c-backup new file mode 100644 index 0000000..053cfd6 --- /dev/null +++ b/animation/animation.c-backup @@ -0,0 +1,4666 @@ +/** + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Airplane added by : Carlo Palma + * E-mail : carlopalma@salug.it + * Based on code originally written by Mark J. Kilgard + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Fold and Skewer added by : Tomasz Kolodziejski + * E-mail : tkolodziejski@gmail.com + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + **/ + +/* + * TODO: + * + * - Custom bounding box update function for Airplane + * + * - Auto direction option: Close in opposite direction of opening + * - Proper side surface normals for lighting + * - decoration shadows + * - shadow quad generation + * - shadow texture coords (from clip tex. matrices) + * - draw shadows + * - fade in shadows + * + * - Voronoi tessellation + * - Brick tessellation + * - Triangle tessellation + * - Hexagonal tessellation + * + * Effects: + * - Circular action for tornado type fx + * - Tornado 3D (especially for minimize) + * - Helix 3D (hor. strips descend while they rotate and fade in) + * - Glass breaking 3D + * - Gaussian distr. points (for gradually increasing polygon size + * starting from center or near mouse pointer) + * - Drawing cracks + * - Gradual cracking + * + * - fix slowness during transparent cube with <100 opacity + * - fix occasional wrong side color in some windows + * - fix on top windows and panels + * (These two only matter for viewing during Rotate Cube. + * All windows should be painted with depth test on + * like 3d-plugin does) + * - play better with rotate (fix cube face drawn on top of polygons + * after 45 deg. rotation) + * + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include "animation-internal.h" +#include + +int animDisplayPrivateIndex; +CompMetadata animMetadata; + +/* + * NOTE: + * Be sure to always update the NUM_EFFECT_TYPE + * macro definitions in animation-internal.h whenever + * elements of these arrays are added or removed. + */ + +static AnimEffect minimizeEffects[] = { + AnimEffectNone, + AnimEffectRandom, + AnimEffectAirplane3D, + AnimEffectBeamUp, + AnimEffectBurn, + AnimEffectCurvedFold, + AnimEffectDomino3D, + AnimEffectDream, + AnimEffectExplode3D, + AnimEffectFade, + AnimEffectFold3D, + AnimEffectGlide3D1, + AnimEffectGlide3D2, + AnimEffectHorizontalFolds, + AnimEffectLeafSpread3D, + AnimEffectMagicLamp, + AnimEffectRazr3D, + AnimEffectSidekick, + AnimEffectSkewer, + AnimEffectZoom +}; + +static AnimEffect closeEffects[] = { + AnimEffectNone, + AnimEffectRandom, + AnimEffectAirplane3D, + AnimEffectBeamUp, + AnimEffectBurn, + AnimEffectCurvedFold, + AnimEffectDomino3D, + AnimEffectDream, + AnimEffectExplode3D, + AnimEffectFade, + AnimEffectFold3D, + AnimEffectGlide3D1, + AnimEffectGlide3D2, + AnimEffectHorizontalFolds, + AnimEffectLeafSpread3D, + AnimEffectMagicLamp, + AnimEffectRazr3D, + AnimEffectSidekick, + AnimEffectSkewer, + AnimEffectVacuum, + AnimEffectWave, + AnimEffectZoom +}; + +static AnimEffect focusEffects[] = { + AnimEffectNone, + AnimEffectDodge, + AnimEffectFocusFade, + AnimEffectWave +}; + +static AnimEffect shadeEffects[] = { + AnimEffectNone, + AnimEffectRandom, + AnimEffectCurvedFold, + AnimEffectHorizontalFolds, + AnimEffectRollUp +}; + +float identity[16] = { + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0 +}; + +static int switcherPostWait = 0; + + +// Remove when matmul4 in matrix.c made publicly accessible + +#define A(row, col) a[(col << 2) + row] +#define B(row, col) b[(col << 2) + row] +#define P(row, col) product[(col << 2) + row] + +/** + * Perform a full 4x4 matrix multiplication. + * + * \param a matrix. + * \param b matrix. + * \param product will receive the product of \p a and \p b. + * + * \warning Is assumed that \p product != \p b. \p product == \p a is allowed. + * + * \note KW: 4*16 = 64 multiplications + * + * \author This \c matmul was contributed by Thomas Malik + */ +void +matmul4 (float *product, + const float *a, + const float *b) +{ + int i; + + for (i = 0; i < 4; i++) + { + const float ai0 = A(i,0), ai1 = A(i,1), ai2 = A(i,2), ai3 = A(i,3); + + P(i,0) = ai0 * B(0,0) + ai1 * B(1,0) + ai2 * B(2,0) + ai3 * B(3,0); + P(i,1) = ai0 * B(0,1) + ai1 * B(1,1) + ai2 * B(2,1) + ai3 * B(3,1); + P(i,2) = ai0 * B(0,2) + ai1 * B(1,2) + ai2 * B(2,2) + ai3 * B(3,2); + P(i,3) = ai0 * B(0,3) + ai1 * B(1,3) + ai2 * B(2,3) + ai3 * B(3,3); + } +} + +#undef A +#undef B +#undef P + + +// Perform multiplication of 4x4 matrix by a vector +void +multiplyMatrixVector (float *result, + const float *mat, + const float *v) +{ +#define M(row, col) mat[(col << 2) + row] + int i; + for (i = 0; i < 4; i++) + result[i] = M(i,0) * v[0] + M(i,1) * v[1] + M(i,2) * v[2] + M(i,3) * v[3]; +#undef M +} + +// iterate over given list +// check if given effect name matches any implemented effect +// Check if it was already in the stored list +// if not, store the effect +// if no valid effect is given, use the default effect + +void defaultAnimInit(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(s); + + // store window opacity + aw->storedOpacity = w->paint.opacity; + + aw->timestep = (s->slowAnimations ? 2 : // For smooth slow-mo (refer to display.c) + as->opt[ANIM_SCREEN_OPTION_TIME_STEP].value.i); +} + +Bool +animZoomToIcon (AnimScreen *as, AnimWindow *aw) +{ + return + aw->curAnimEffect == AnimEffectZoom || + aw->curAnimEffect == AnimEffectSidekick || + ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + ((aw->curAnimEffect == AnimEffectCurvedFold && + animGetB(as, aw, ANIM_SCREEN_OPTION_CURVED_FOLD_Z2TOM)) || + (aw->curAnimEffect == AnimEffectDream && + animGetB(as, aw, ANIM_SCREEN_OPTION_DREAM_Z2TOM)) || + (aw->curAnimEffect == AnimEffectGlide3D1 && + animGetB(as, aw, ANIM_SCREEN_OPTION_GLIDE1_Z2TOM)) || + (aw->curAnimEffect == AnimEffectGlide3D2 && + animGetB(as, aw, ANIM_SCREEN_OPTION_GLIDE2_Z2TOM)) || + (aw->curAnimEffect == AnimEffectHorizontalFolds && + animGetB(as, aw, ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_Z2TOM)))); +} + +static void +defaultMinimizeAnimInit (CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (animZoomToIcon(as, aw)) + { + aw->animTotalTime /= ZOOM_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; + } + defaultAnimInit(s, w); +} + +static inline Bool +defaultLetOthersDrawGeoms (CompScreen *s, CompWindow *w) +{ + return TRUE; +} + +static void +animStoreRandomEffectList (CompOptionValue *value, + AnimEffect *allowedEffects, + unsigned int numAllowedEffects, + AnimEffect *targetList, + unsigned int *targetCount) +{ + CompOptionValue *effect = value->list.value; + AnimEffect listEffect; + int nItems = value->list.nValue; + int i, j, count; + + count = 0; + + for (i = 0; i < nItems; i++, effect++) + { + if ((effect->i < 0) || (effect->i >= numAllowedEffects)) + continue; + + listEffect = allowedEffects[effect->i]; + + for (j = 0; j < count; j++) + { + if (targetList[j] == listEffect) + break; + } + + if (j < count) + continue; + + targetList[count] = listEffect; + count++; + } + + *targetCount = count; +} + +// Assumes events in the metadata are in +// [Open, Close, Minimize, Focus, Shade] order +// and effects among those are in alphabetical order +// but with "(Event) None" first and "(Event) Random" last. +static AnimEffect +getMatchingAnimSelection (CompWindow *w, + WindowEvent event, + int *duration) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + if (duration == NULL) + return AnimEffectNone; + + CompOptionValue *valMatch; + CompOptionValue *valEffect; + CompOptionValue *valDuration; + AnimEffect *effects; + + switch (event) + { + case WindowEventOpen: + effects = closeEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_OPEN_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_OPEN_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_OPEN_DURATIONS].value; + break; + case WindowEventClose: + effects = closeEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_CLOSE_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_CLOSE_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_CLOSE_DURATIONS].value; + break; + case WindowEventMinimize: + case WindowEventUnminimize: + effects = minimizeEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_DURATIONS].value; + break; + case WindowEventFocus: + effects = focusEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_FOCUS_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_FOCUS_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_FOCUS_DURATIONS].value; + break; + case WindowEventShade: + case WindowEventUnshade: + effects = shadeEffects; + valMatch = &as->opt[ANIM_SCREEN_OPTION_SHADE_MATCHES].value; + valEffect = &as->opt[ANIM_SCREEN_OPTION_SHADE_EFFECTS].value; + valDuration = &as->opt[ANIM_SCREEN_OPTION_SHADE_DURATIONS].value; + break; + case WindowEventNone: + default: + return AnimEffectNone; + } + + int nRows = valMatch->list.nValue; + if (nRows != valEffect->list.nValue || + nRows != valDuration->list.nValue) + { + compLogMessage + (w->screen->display, "animation", CompLogLevelError, + "Number of animation selection effects, durations, matches, and options are not the same."); + return AnimEffectNone; + } + // printf("%s\n", valMatch->list.value[i].s); + // Find the first row that matches this window for this event + int i; + for (i = 0; i < nRows; i++) + { + // printf("%s\n", ((CompMatchExpOp*)&(valMatch->list.value[i].match))->value); + + if (!matchEval (&valMatch->list.value[i].match, w)) + continue; + + aw->curAnimSelectionRow = i; + + *duration = valDuration->list.value[i].i; + + return effects[valEffect->list.value[i].i]; + } + return AnimEffectNone; +} + +static inline AnimEffect +animGetAnimEffect (AnimEffect effect, + AnimEffect *randomEffects, + unsigned int nRandomEffects, + Bool allRandom) +{ + if ((effect == AnimEffectRandom) || allRandom) + { + if (nRandomEffects == 0) + return AnimEffectNone; + else + { + unsigned int index; + index = (unsigned int)(nRandomEffects * (double)rand() / RAND_MAX); + return randomEffects[index]; + } + } + else + return effect; +} + +// Converts animation direction string to an integer direction +// (up, down, left, or right) +AnimDirection getAnimationDirection(CompWindow * w, + CompOptionValue *value, + Bool openDir) +{ + ANIM_WINDOW(w); + + AnimDirection dir; + + dir = value->i; + + if (dir == AnimDirectionRandom) + { + dir = rand() % 4; + } + else if (dir == AnimDirectionAuto) + { + // away from icon + int centerX = BORDER_X(w) + BORDER_W(w) / 2; + int centerY = BORDER_Y(w) + BORDER_H(w) / 2; + float relDiffX = ((float)centerX - aw->icon.x) / BORDER_W(w); + float relDiffY = ((float)centerY - aw->icon.y) / BORDER_H(w); + + if (openDir) + { + if (aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) + // min/unmin. should always result in +/- y direction + dir = aw->icon.y < w->screen->height - aw->icon.y ? + AnimDirectionDown : AnimDirectionUp; + else if (fabs(relDiffY) > fabs(relDiffX)) + dir = relDiffY > 0 ? AnimDirectionDown : AnimDirectionUp; + else + dir = relDiffX > 0 ? AnimDirectionRight : AnimDirectionLeft; + } + else + { + if (aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) + // min/unmin. should always result in +/- y direction + dir = aw->icon.y < w->screen->height - aw->icon.y ? + AnimDirectionUp : AnimDirectionDown; + else if (fabs(relDiffY) > fabs(relDiffX)) + dir = relDiffY > 0 ? AnimDirectionUp : AnimDirectionDown; + else + dir = relDiffX > 0 ? AnimDirectionLeft : AnimDirectionRight; + } + } + return dir; +} + +float defaultAnimProgress(AnimWindow * aw) +{ + float forwardProgress = + 1 - aw->animRemainingTime / (aw->animTotalTime - aw->timestep); + forwardProgress = MIN(forwardProgress, 1); + forwardProgress = MAX(forwardProgress, 0); + + if (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventUnshade || + aw->curWindowEvent == WindowEventFocus) + forwardProgress = 1 - forwardProgress; + + return forwardProgress; +} + +float sigmoidAnimProgress(AnimWindow * aw) +{ + float forwardProgress = + 1 - aw->animRemainingTime / (aw->animTotalTime - aw->timestep); + forwardProgress = MIN(forwardProgress, 1); + forwardProgress = MAX(forwardProgress, 0); + + // Apply sigmoid and normalize + forwardProgress = + (sigmoid(forwardProgress) - sigmoid(0)) / + (sigmoid(1) - sigmoid(0)); + + if (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventUnshade || + aw->curWindowEvent == WindowEventFocus) + forwardProgress = 1 - forwardProgress; + + return forwardProgress; +} + +// Gives some acceleration (when closing a window) +// or deceleration (when opening a window) +// Applies a sigmoid with slope s, +// where minx and maxx are the +// starting and ending points on the sigmoid +float decelerateProgressCustom(float progress, float minx, float maxx) +{ + float x = 1 - progress; + float s = 8; + + return (1 - + ((sigmoid2(minx + (x * (maxx - minx)), s) - sigmoid2(minx, s)) / + (sigmoid2(maxx, s) - sigmoid2(minx, s)))); +} + +float decelerateProgress(float progress) +{ + return decelerateProgressCustom(progress, 0.5, 0.75); +} + +Bool defaultAnimStep(CompScreen * s, CompWindow * w, float time) +{ + int steps; + + ANIM_WINDOW(w); + ANIM_SCREEN(s); + + float timestep = (s->slowAnimations ? 2 : // For smooth slow-mo (refer to display.c) + as->opt[ANIM_SCREEN_OPTION_TIME_STEP].value.i); + + aw->timestep = timestep; + + aw->remainderSteps += time / timestep; + steps = floor(aw->remainderSteps); + aw->remainderSteps -= steps; + + if (!steps && aw->animRemainingTime < aw->animTotalTime) + return FALSE; + steps = MAX(1, steps); + + aw->animRemainingTime -= timestep * steps; + + // avoid sub-zero values + aw->animRemainingTime = MAX(aw->animRemainingTime, 0); + + resetToIdentity (&aw->transform); + if (animZoomToIcon(as, aw)) + { + applyZoomTransform (w, &aw->transform); + } + return TRUE; +} + +void +defaultMinimizeUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + if (animZoomToIcon(as, aw)) + fxZoomUpdateWindowAttrib(as, w, wAttrib); +} + +void +defaultMinimizeUpdateWindowTransform(CompScreen *s, + CompWindow *w, + CompTransform *wTransform) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (animZoomToIcon(as, aw)) + fxZoomUpdateWindowTransform(s, w, wTransform); +} + +static void +copyResetBB (AnimWindow *aw) +{ + memcpy (&aw->lastBB, &aw->BB, sizeof (Box)); + aw->BB.x1 = aw->BB.y1 = MAXSHORT; + aw->BB.x2 = aw->BB.y2 = MINSHORT; +} + +void +expandBoxWithBox (Box *target, Box *source) +{ + if (source->x1 < target->x1) + target->x1 = source->x1; + if (source->x2 > target->x2) + target->x2 = source->x2; + if (source->y1 < target->y1) + target->y1 = source->y1; + if (source->y2 > target->y2) + target->y2 = source->y2; +} + +void +expandBoxWithPoint (Box *target, float fx, float fy) +{ + short x = MAX (MIN (fx, MAXSHORT - 1), MINSHORT); + short y = MAX (MIN (fy, MAXSHORT - 1), MINSHORT); + + if (target->x1 == MAXSHORT) + { + target->x1 = x; + target->y1 = y; + target->x2 = x + 1; + target->y2 = y + 1; + return; + } + if (x < target->x1) + target->x1 = x; + else if (x > target->x2) + target->x2 = x; + + if (y < target->y1) + target->y1 = y; + else if (y > target->y2) + target->y2 = y; +} + +// This will work for zoom-like 2D transforms, +// but not for glide-like 3D transforms. +static void +expandBoxWithPoint2DTransform (CompScreen *s, + Box *target, + float x, + float y, + float *transformMat) +{ + float coords[4] = {x, y, 0, 1}; + float coordsTransformed[4]; + multiplyMatrixVector (coordsTransformed, transformMat, coords); + + expandBoxWithPoint (target, coordsTransformed[0], coordsTransformed[1]); +} + +static Bool +expandBoxWithPoints3DTransform (CompOutput *output, + CompScreen *s, + const CompTransform *transform, + Box *targetBox, + const float *points, + int nPoints) +{ + GLdouble dModel[16]; + GLdouble dProjection[16]; + GLdouble x, y, z; + int i; + for (i = 0; i < 16; i++) + { + dModel[i] = transform->m[i]; + dProjection[i] = s->projection[i]; + } + GLint viewport[4] = + {output->region.extents.x1, + output->region.extents.y1, + output->width, + output->height}; + + while (nPoints--) + { + if (!gluProject (points[0], points[1], points[2], + dModel, dProjection, viewport, + &x, &y, &z)) + return FALSE; + + expandBoxWithPoint (targetBox, x + 0.5, (s->height - y) + 0.5); + + points += 3; + } + + return TRUE; +} + +static void +modelUpdateBB (CompOutput *output, + CompWindow * w) +{ + ANIM_WINDOW (w); + ANIM_SCREEN (w->screen); + + Model *model = aw->model; + if (!model) + return; + + float x, y; + int i; + if (animZoomToIcon(as, aw)) + for (i = 0; i < model->numObjects; i++) + { + x = model->objects[i].position.x; + y = model->objects[i].position.y; + + expandBoxWithPoint2DTransform (w->screen, + &aw->BB, + x, y, + aw->transform.m); + } + else + for (i = 0; i < model->numObjects; i++) + { + x = model->objects[i].position.x + 0.5; + y = model->objects[i].position.y + 0.5; + + expandBoxWithPoint (&aw->BB, x, y); + } +} + +void +updateBBWindow (CompOutput *output, + CompWindow * w) +{ + ANIM_WINDOW(w); + Box windowBox = {WIN_X(w), WIN_X(w) + WIN_W(w), + WIN_Y(w), WIN_Y(w) + WIN_H(w)}; + expandBoxWithBox (&aw->BB, &windowBox); +} + +void +updateBBScreen (CompOutput *output, + CompWindow * w) +{ + ANIM_WINDOW(w); + + Box screenBox = {0, w->screen->width, + 0, w->screen->height}; + expandBoxWithBox (&aw->BB, &screenBox); +} + +inline void +resetToIdentity (CompTransform *transform) +{ + memcpy (transform->m, identity, 16 * sizeof(float)); +} + +void +prepareTransform (CompScreen *s, + CompOutput *output, + CompTransform *resultTransform, + CompTransform *transform) +{ + CompTransform sTransform; + + resetToIdentity (&sTransform); + + transformToScreenSpace (s, output, + -DEFAULT_Z_CAMERA, &sTransform); + + matmul4 (resultTransform->m, sTransform.m, transform->m); +} + +void +compTransformUpdateBB (CompOutput *output, + CompWindow *w) +{ + ANIM_WINDOW(w); + CompScreen *s = w->screen; + CompTransform wTransform; + + prepareTransform (s, output, &wTransform, &aw->transform); + + float corners[4*3] = {WIN_X(w), WIN_Y(w), 0, + WIN_X(w) + WIN_W(w), WIN_Y(w), 0, + WIN_X(w), WIN_Y(w) + WIN_H(w), 0, + WIN_X(w) + WIN_W(w), WIN_Y(w) + WIN_H(w), 0}; + + expandBoxWithPoints3DTransform (output, + s, + &wTransform, + &aw->BB, + corners, + 4); +} + +// Damage the union of window's bounding box +// before and after animStepFunc does its job +static void +damageBoundingBox (CompWindow * w) +{ + ANIM_WINDOW(w); + + if (aw->BB.x1 == MAXSHORT) // unintialized BB + return; + + // Find union of BB and lastBB + Box box; + box.x1 = MIN (aw->BB.x1, aw->lastBB.x1) - 1; + box.y1 = MIN (aw->BB.y1, aw->lastBB.y1) - 1; + box.x2 = MAX (aw->BB.x2, aw->lastBB.x2) + 1; + box.y2 = MAX (aw->BB.y2, aw->lastBB.y2) + 1; + // prevent occasional 1 pixel line artifact + + box.x1 -= w->attrib.x + w->attrib.border_width; + box.y1 -= w->attrib.y + w->attrib.border_width; + box.x2 -= w->attrib.x + w->attrib.border_width; + box.y2 -= w->attrib.y + w->attrib.border_width; + + addWindowDamageRect(w, &box); +} + +AnimEffectProperties animEffectProperties[AnimEffectNum] = { + // AnimEffectNone + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + // AnimEffectRandom + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + // AnimEffectAirplane3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, fxAirplane3DAnimStep, + fxAirplane3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + fxAirplane3DLinearAnimStepPolygon, 0, 0, 0, updateBBScreen}, + // AnimEffectBeamUp + {fxBeamupUpdateWindowAttrib, 0, drawParticleSystems, fxBeamUpModelStep, + fxBeamUpInit, 0, 0, 0, 1, 0, 0, 0, 0, particlesUpdateBB}, + // AnimEffectBurn + {0, 0, drawParticleSystems, fxBurnModelStep, fxBurnInit, 0, 0, 0, 1, 0, + 0, 0, 0, particlesUpdateBB}, + // AnimEffectCurvedFold + {fxFoldUpdateWindowAttrib, 0, 0, fxCurvedFoldModelStep, + defaultMinimizeAnimInit, fxMagicLampInitGrid, 0, 0, 0, 0, 0, + defaultMinimizeUpdateWindowTransform, 0, modelUpdateBB}, + // AnimEffectDodge + {0, 0, 0, fxDodgeAnimStep, defaultAnimInit, 0, 0, 0, 0, 0, + defaultLetOthersDrawGeoms, + fxDodgeUpdateWindowTransform, fxDodgePostPreparePaintScreen, + fxDodgeUpdateBB}, + // AnimEffectDomino3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxDomino3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsLinearAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectDream + {fxDreamUpdateWindowAttrib, 0, 0, fxDreamModelStep, fxDreamAnimInit, + fxMagicLampInitGrid, 0, 0, 0, 0, 0, defaultMinimizeUpdateWindowTransform, + 0, modelUpdateBB}, + // AnimEffectExplode3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxExplode3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsLinearAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectFade + {fxFadeUpdateWindowAttrib, 0, 0, defaultAnimStep, defaultAnimInit, 0, 0, + 0, 0, 0, defaultLetOthersDrawGeoms, 0, 0, updateBBWindow}, + // AnimEffectFocusFade + {fxFocusFadeUpdateWindowAttrib, 0, 0, defaultAnimStep, defaultAnimInit, + 0, 0, 0, 0, 0, defaultLetOthersDrawGeoms, 0, 0, updateBBWindow}, + // AnimEffectFold3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxFold3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + fxFold3dAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectGlide3D1 + {fxGlideUpdateWindowAttrib, fxGlidePrePaintWindow, + fxGlidePostPaintWindow, fxGlideAnimStep, + fxGlideInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsDeceleratingAnimStepPolygon, + fxGlideLetOthersDrawGeoms, fxGlideUpdateWindowTransform, 0, + fxGlideUpdateBB}, + // AnimEffectGlide3D2 + {fxGlideUpdateWindowAttrib, fxGlidePrePaintWindow, + fxGlidePostPaintWindow, fxGlideAnimStep, + fxGlideInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsDeceleratingAnimStepPolygon, + fxGlideLetOthersDrawGeoms, fxGlideUpdateWindowTransform, 0, + fxGlideUpdateBB}, + // AnimEffectHorizontalFolds + {fxFoldUpdateWindowAttrib, 0, 0, fxHorizontalFoldsModelStep, + defaultMinimizeAnimInit, fxHorizontalFoldsInitGrid, 0, 0, 0, 0, 0, + defaultMinimizeUpdateWindowTransform, 0, modelUpdateBB}, + // AnimEffectLeafSpread3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxLeafSpread3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsLinearAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectMagicLamp + {0, 0, 0, fxMagicLampModelStep, fxMagicLampInit, fxMagicLampInitGrid, + 0, 0, 0, 0, 0, 0, 0, modelUpdateBB}, + // AnimEffectRazr3D + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxDomino3DInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + polygonsLinearAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectRollUp + {0, 0, 0, fxRollUpModelStep, fxRollUpAnimInit, fxRollUpInitGrid, 0, 0, 1, + 0, 0, 0, 0, modelUpdateBB}, + // AnimEffectSidekick + {fxZoomUpdateWindowAttrib, 0, 0, defaultAnimStep, fxSidekickInit, + 0, 0, 0, 1, 0, defaultLetOthersDrawGeoms, fxZoomUpdateWindowTransform, + 0, compTransformUpdateBB}, + // AnimEffectSkewer + {0, polygonsPrePaintWindow, polygonsPostPaintWindow, polygonsAnimStep, + fxSkewerInit, 0, polygonsStoreClips, polygonsDrawCustomGeometry, 0, + fxSkewerAnimStepPolygon, 0, 0, 0, polygonsUpdateBB}, + // AnimEffectVacuum + {0, 0, 0, fxMagicLampModelStep, fxMagicLampInit, + fxVacuumInitGrid, 0, 0, 0, 0, 0, 0, 0, modelUpdateBB}, + // AnimEffectWave + {0, 0, 0, fxWaveModelStep, 0, fxMagicLampInitGrid, 0, 0, 0, 0, 0, 0, 0, + modelUpdateBB}, + // AnimEffectZoom + {fxZoomUpdateWindowAttrib, 0, 0, defaultAnimStep, fxZoomInit, + 0, 0, 0, 1, 0, defaultLetOthersDrawGeoms, fxZoomUpdateWindowTransform, + 0, compTransformUpdateBB} +}; + + +Bool getMousePointerXY(CompScreen * s, short *x, short *y) +{ + Window w1, w2; + int xp, yp, xj, yj; + unsigned int m; + + if (XQueryPointer + (s->display->display, s->root, &w1, &w2, &xj, &yj, &xp, &yp, &m)) + { + *x = xp; + *y = yp; + return TRUE; + } + return FALSE; +} + +static int animGetWindowState(CompWindow * w) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + if(w->transientFor) + result = XGetWindowProperty(w->screen->display->display, w->transientFor, + w->screen->display->wmStateAtom, 0L, + 1L, FALSE, + w->screen->display->wmStateAtom, + &actual, &format, &n, &left, &data); + else + result = XGetWindowProperty(w->screen->display->display, w->id, + w->screen->display->wmStateAtom, 0L, + 1L, FALSE, + w->screen->display->wmStateAtom, + &actual, &format, &n, &left, &data); + + if (result == Success && n && data) + { + int state; + + memcpy(&state, data, sizeof(int)); + XFree((void *)data); + + return state; + } + + return WithdrawnState; +} + +static Bool +animSetScreenOptions(CompPlugin *plugin, + CompScreen * screen, + char *name, + CompOptionValue * value) +{ + CompOption *o; + int index; + + ANIM_SCREEN(screen); + + o = compFindOption(as->opt, NUM_OPTIONS(as), name, &index); + if (!o) + return FALSE; + + switch (index) + { + case ANIM_SCREEN_OPTION_OPEN_MATCHES: + case ANIM_SCREEN_OPTION_CLOSE_MATCHES: + case ANIM_SCREEN_OPTION_MINIMIZE_MATCHES: + case ANIM_SCREEN_OPTION_FOCUS_MATCHES: + case ANIM_SCREEN_OPTION_SHADE_MATCHES: + if (compSetOptionList(o, value)) + { + int i; + for (i = 0; i < o->value.list.nValue; i++) + matchUpdate (screen->display, &o->value.list.value[i].match); + } + break; + case ANIM_SCREEN_OPTION_OPEN_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventOpen], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_CLOSE_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventClose], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_MINIMIZE_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventMinimize], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_FOCUS_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventFocus], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_SHADE_OPTIONS: + if (compSetOptionList(o, value)) + { + updateOptionSets + (screen, as->eventOptionSets[WindowEventShade], &o->value.list); + } + break; + case ANIM_SCREEN_OPTION_OPEN_RANDOM_EFFECTS: + if (compSetOptionList(o, value)) + { + animStoreRandomEffectList (&o->value, + closeEffects + RANDOM_EFFECT_OFFSET, + NUM_CLOSE_EFFECT - RANDOM_EFFECT_OFFSET, + as->openRandomEffects, + &as->nOpenRandomEffects); + return TRUE; + } + break; + case ANIM_SCREEN_OPTION_CLOSE_RANDOM_EFFECTS: + if (compSetOptionList(o, value)) + { + animStoreRandomEffectList (&o->value, + closeEffects + RANDOM_EFFECT_OFFSET, + NUM_CLOSE_EFFECT - RANDOM_EFFECT_OFFSET, + as->closeRandomEffects, + &as->nCloseRandomEffects); + return TRUE; + } + break; + case ANIM_SCREEN_OPTION_MINIMIZE_RANDOM_EFFECTS: + if (compSetOptionList(o, value)) + { + animStoreRandomEffectList (&o->value, + minimizeEffects + RANDOM_EFFECT_OFFSET, + NUM_MINIMIZE_EFFECT - RANDOM_EFFECT_OFFSET, + as->minimizeRandomEffects, + &as->nMinimizeRandomEffects); + return TRUE; + } + break; + case ANIM_SCREEN_OPTION_SHADE_RANDOM_EFFECTS: + if (compSetOptionList(o, value)) + { + animStoreRandomEffectList (&o->value, + shadeEffects + RANDOM_EFFECT_OFFSET, + NUM_SHADE_EFFECT - RANDOM_EFFECT_OFFSET, + as->shadeRandomEffects, + &as->nShadeRandomEffects); + return TRUE; + } + break; + default: + return compSetScreenOption (screen, o, value); + break; + } + + return FALSE; +} + +static const CompMetadataOptionInfo animScreenOptionInfo[] = { + // Event settings + { "open_effects", "list", "int" RESTOSTRING (0, LAST_CLOSE_EFFECT), 0, 0 }, + { "open_durations", "list", "int50", 0, 0 }, + { "open_matches", "list", "match", 0, 0 }, + { "open_options", "list", "string", 0, 0 }, + { "open_random_effects", "list", "int" RESTOSTRING (0, LAST_RANDOM_CLOSE_EFFECT), 0, 0 }, + { "close_effects", "list", "int" RESTOSTRING (0, LAST_CLOSE_EFFECT), 0, 0 }, + { "close_durations", "list", "int50", 0, 0 }, + { "close_matches", "list", "match", 0, 0 }, + { "close_options", "list", "string", 0, 0 }, + { "close_random_effects", "list", "int" RESTOSTRING (0, LAST_RANDOM_CLOSE_EFFECT), 0, 0 }, + { "minimize_effects", "list", "int" RESTOSTRING (0, LAST_MINIMIZE_EFFECT), 0, 0 }, + { "minimize_durations", "list", "int50", 0, 0 }, + { "minimize_matches", "list", "match", 0, 0 }, + { "minimize_options", "list", "string", 0, 0 }, + { "minimize_random_effects", "list", "int" RESTOSTRING (0, LAST_RANDOM_MINIMIZE_EFFECT), 0, 0 }, + { "focus_effects", "list", "int" RESTOSTRING (0, LAST_FOCUS_EFFECT), 0, 0 }, + { "focus_durations", "list", "int50", 0, 0 }, + { "focus_matches", "list", "match", 0, 0 }, + { "focus_options", "list", "string", 0, 0 }, + { "shade_effects", "list", "int" RESTOSTRING (0, LAST_SHADE_EFFECT), 0, 0 }, + { "shade_durations", "list", "int50", 0, 0 }, + { "shade_matches", "list", "match", 0, 0 }, + { "shade_options", "list", "string", 0, 0 }, + { "shade_random_effects", "list", "int" RESTOSTRING (0, LAST_RANDOM_SHADE_EFFECT), 0, 0 }, + // Misc. settings + { "all_random", "bool", 0, 0, 0 }, + { "time_step", "int", "1", 0, 0 }, + { "time_step_intense", "int", "1", 0, 0 }, + // Effect settings + { "airplane_path_length", "float", "0.2", 0, 0 }, + { "airplane_fly_to_taskbar", "bool", 0, 0, 0 }, + { "beam_size", "float", "0.1", 0, 0 }, + { "beam_spacing", "int", "1", 0, 0 }, + { "beam_color", "color", 0, 0, 0 }, + { "beam_slowdown", "float", "0.1", 0, 0 }, + { "beam_life", "float", "0.1", 0, 0 }, + { "curved_fold_amp", "float", "-0.50.5", 0, 0 }, + { "curved_fold_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "dodge_gap_ratio", "float", "0.01.0", 0, 0 }, + { "domino_direction", "int", RESTOSTRING (0, LAST_ANIM_DIRECTION), 0, 0 }, + { "dream_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "razr_direction", "int", RESTOSTRING (0, LAST_ANIM_DIRECTION), 0, 0 }, + { "explode_thickness", "float", "1", 0, 0 }, + { "explode_gridx", "int", "1", 0, 0 }, + { "explode_gridy", "int", "1", 0, 0 }, + { "explode_tessellation", "int", RESTOSTRING (0, LAST_POLYGON_TESS), 0, 0 }, + { "fire_particles", "int", "0", 0, 0 }, + { "fire_size", "float", "0.1", 0, 0 }, + { "fire_slowdown", "float", "0.1", 0, 0 }, + { "fire_life", "float", "0.1", 0, 0 }, + { "fire_color", "color", 0, 0, 0 }, + { "fire_direction", "int", RESTOSTRING (0, LAST_ANIM_DIRECTION), 0, 0 }, + { "fire_constant_speed", "bool", 0, 0, 0 }, + { "fire_smoke", "bool", 0, 0, 0 }, + { "fire_mystical", "bool", 0, 0, 0 }, + { "fold_gridx", "int", "1", 0, 0 }, + { "fold_gridy", "int", "1", 0, 0 }, + { "fold_dir", "int", "0", 0, 0 }, + { "glide1_away_position", "float", 0, 0, 0 }, + { "glide1_away_angle", "float", 0, 0, 0 }, + { "glide1_thickness", "float", "0", 0, 0 }, + { "glide1_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "glide2_away_position", "float", 0, 0, 0 }, + { "glide2_away_angle", "float", 0, 0, 0 }, + { "glide2_thickness", "float", "0", 0, 0 }, + { "glide2_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "horizontal_folds_amp", "float", "-0.50.5", 0, 0 }, + { "horizontal_folds_num_folds", "int", "1", 0, 0 }, + { "horizontal_folds_zoom_to_taskbar", "bool", 0, 0, 0 }, + { "magic_lamp_moving_end", "bool", 0, 0, 0 }, + { "magic_lamp_grid_res", "int", "4", 0, 0 }, + { "magic_lamp_max_waves", "int", "3", 0, 0 }, + { "magic_lamp_amp_min", "float", "200", 0, 0 }, + { "magic_lamp_amp_max", "float", "200", 0, 0 }, + { "magic_lamp_open_start_width", "int", "0", 0, 0 }, + { "rollup_fixed_interior", "bool", 0, 0, 0 }, + { "sidekick_num_rotations", "float", "0", 0, 0 }, + { "sidekick_springiness", "float", "01", 0, 0 }, + { "sidekick_zoom_from_center", "int", RESTOSTRING (0, LAST_ZOOM_FROM_CENTER), 0, 0 }, + { "skewer_gridx", "int", "1", 0, 0 }, + { "skewer_gridy", "int", "1", 0, 0 }, + { "skewer_thickness", "float", "1", 0, 0 }, + { "skewer_direction", "int", "0", 0, 0 }, + { "skewer_tessellation", "int", RESTOSTRING (0, LAST_POLYGON_TESS), 0, 0 }, + { "skewer_rotation", "int", 0, 0, 0 }, + { "vacuum_moving_end", "bool", 0, 0, 0 }, + { "vacuum_grid_res", "int", "4", 0, 0 }, + { "vacuum_open_start_width", "int", "0", 0, 0 }, + { "wave_width", "float", "0", 0, 0 }, + { "wave_amp", "float", "0", 0, 0 }, + { "zoom_from_center", "int", RESTOSTRING (0, LAST_ZOOM_FROM_CENTER), 0, 0 }, + { "zoom_springiness", "float", "01", 0, 0 } +}; + +static CompOption * +animGetScreenOptions(CompPlugin *plugin, CompScreen * screen, int *count) +{ + ANIM_SCREEN(screen); + + *count = NUM_OPTIONS(as); + return as->opt; +} + +static void +objectInit(Object * object, + float positionX, float positionY, + float gridPositionX, float gridPositionY) +{ + object->gridPosition.x = gridPositionX; + object->gridPosition.y = gridPositionY; + + object->position.x = positionX; + object->position.y = positionY; + + object->offsetTexCoordForQuadBefore.x = 0; + object->offsetTexCoordForQuadBefore.y = 0; + object->offsetTexCoordForQuadAfter.x = 0; + object->offsetTexCoordForQuadAfter.y = 0; +} + +void +modelInitObjects(Model * model, int x, int y, int width, int height) +{ + int gridX, gridY; + int nGridCellsX, nGridCellsY; + float x0, y0; + + x0 = model->scaleOrigin.x; + y0 = model->scaleOrigin.y; + + // number of grid cells in x direction + nGridCellsX = model->gridWidth - 1; + + if (model->forWindowEvent == WindowEventShade || + model->forWindowEvent == WindowEventUnshade) + { + // number of grid cells in y direction + nGridCellsY = model->gridHeight - 3; // One allocated for top, one for bottom + + float winContentsHeight = + height - model->topHeight - model->bottomHeight; + + //Top + float objectY = y + (0 - y0) * model->scale.y + y0; + + for (gridX = 0; gridX < model->gridWidth; gridX++) + { + objectInit(&model->objects[gridX], + x + ((gridX * width / nGridCellsX) - x0) * + model->scale.x + x0, objectY, + (float)gridX / nGridCellsX, 0); + } + + // Window contents + for (gridY = 1; gridY < model->gridHeight - 1; gridY++) + { + float inWinY = + (gridY - 1) * winContentsHeight / nGridCellsY + + model->topHeight; + float gridPosY = inWinY / height; + + objectY = y + (inWinY - y0) * model->scale.y + y0; + + for (gridX = 0; gridX < model->gridWidth; gridX++) + { + objectInit(&model->objects[gridY * model->gridWidth + gridX], + x + ((gridX * width / nGridCellsX) - x0) * + model->scale.x + x0, + objectY, (float)gridX / nGridCellsX, gridPosY); + } + } + + // Bottom (gridY is model->gridHeight-1 now) + objectY = y + (height - y0) * model->scale.y + y0; + + for (gridX = 0; gridX < model->gridWidth; gridX++) + { + objectInit(&model->objects[gridY * model->gridWidth + gridX], + x + ((gridX * width / nGridCellsX) - x0) * + model->scale.x + x0, objectY, + (float)gridX / nGridCellsX, 1); + } + } + else + { + // number of grid cells in y direction + nGridCellsY = model->gridHeight - 1; + + int i = 0; + + for (gridY = 0; gridY < model->gridHeight; gridY++) + { + float objectY = + y + ((gridY * height / nGridCellsY) - + y0) * model->scale.y + y0; + for (gridX = 0; gridX < model->gridWidth; gridX++) + { + objectInit(&model->objects[i], + x + ((gridX * width / nGridCellsX) - x0) * + model->scale.x + x0, + objectY, + (float)gridX / nGridCellsX, + (float)gridY / nGridCellsY); + i++; + } + } + } +} + +static void +modelMove (Model *model, + float tx, + float ty) +{ + int i; + + for (i = 0; i < model->numObjects; i++) + { + model->objects[i].position.x += tx; + model->objects[i].position.y += ty; + } +} + +static Model *createModel(CompWindow * w, + WindowEvent forWindowEvent, + AnimEffect forAnimEffect, int gridWidth, + int gridHeight) +{ + int x = WIN_X(w); + int y = WIN_Y(w); + int width = WIN_W(w); + int height = WIN_H(w); + + Model *model; + + model = calloc(1, sizeof(Model)); + if (!model) + { + compLogMessage (w->screen->display, "animation", CompLogLevelError, + "Not enough memory"); + return 0; + } + model->magicLampWaveCount = 0; + model->magicLampWaves = NULL; + + model->gridWidth = gridWidth; + model->gridHeight = gridHeight; + model->numObjects = gridWidth * gridHeight; + model->objects = calloc(model->numObjects, sizeof(Object)); + if (!model->objects) + { + compLogMessage (w->screen->display, "animation", CompLogLevelError, + "Not enough memory"); + free(model); + return 0; + } + + // Store win. size to check later + model->winWidth = width; + model->winHeight = height; + + // For shading + model->forWindowEvent = forWindowEvent; + model->topHeight = w->output.top; + model->bottomHeight = w->output.bottom; + + model->scale.x = 1.0f; + model->scale.y = 1.0f; + + model->scaleOrigin.x = 0.0f; + model->scaleOrigin.y = 0.0f; + + modelInitObjects(model, x, y, width, height); + + return model; +} + +static void +animFreeModel(AnimWindow *aw) +{ + if (!aw->model) + return; + + if (aw->model->magicLampWaves) + free(aw->model->magicLampWaves); + if (aw->model->objects) + free(aw->model->objects); + free(aw->model); + aw->model = NULL; +} + +static Bool +animEnsureModel(CompWindow * w) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + WindowEvent forWindowEvent = aw->curWindowEvent; + AnimEffect forAnimEffect = aw->curAnimEffect; + + int gridWidth = 2; + int gridHeight = 2; + + if (animEffectProperties[forAnimEffect].initGridFunc) + animEffectProperties[forAnimEffect].initGridFunc + (as, aw, &gridWidth, &gridHeight); + + Bool isShadeUnshadeEvent = + (forWindowEvent == WindowEventShade || + forWindowEvent == WindowEventUnshade); + + Bool wasShadeUnshadeEvent = aw->model && + (aw->model->forWindowEvent == WindowEventShade || + aw->model->forWindowEvent == WindowEventUnshade); + + if (!aw->model || + gridWidth != aw->model->gridWidth || + gridHeight != aw->model->gridHeight || + (isShadeUnshadeEvent != wasShadeUnshadeEvent) || + aw->model->winWidth != WIN_W(w) || aw->model->winHeight != WIN_H(w)) + { + animFreeModel(aw); + aw->model = createModel(w, + forWindowEvent, forAnimEffect, + gridWidth, gridHeight); + if (!aw->model) + return FALSE; + } + + return TRUE; +} + +static Bool playingPolygonEffect(AnimScreen *as, AnimWindow *aw) +{ + if (!animEffectProperties[aw->curAnimEffect]. + addCustomGeometryFunc) + return FALSE; + + if (!(aw->curAnimEffect == AnimEffectGlide3D1 || + aw->curAnimEffect == AnimEffectGlide3D2)) + return TRUE; + + return (fxGlideIsPolygonBased(as, aw)); +} + +static void cleanUpParentChildChainItem(AnimScreen *as, AnimWindow *aw) +{ + if (aw->winThisIsPaintedBefore && !aw->winThisIsPaintedBefore->destroyed) + { + AnimWindow *aw2 = + GET_ANIM_WINDOW(aw->winThisIsPaintedBefore, as); + if (aw2) + aw2->winToBePaintedBeforeThis = NULL; + } + aw->winThisIsPaintedBefore = NULL; + aw->moreToBePaintedPrev = NULL; + aw->moreToBePaintedNext = NULL; + aw->isDodgeSubject = FALSE; + aw->skipPostPrepareScreen = FALSE; +} + +static void postAnimationCleanupCustom(CompWindow * w, + Bool resetAnimation, + Bool closing, + Bool clearMatchingRow) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + if (// make sure window shadows (which are not drawn by polygon engine) + // are damaged + (playingPolygonEffect(as, aw) && + (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventUnshade || + aw->curWindowEvent == WindowEventFocus)) || + // make sure the window gets fully damaged with + // effects that possibly have models that don't cover + // the whole window (like in magic lamp with menus) + aw->curAnimEffect == AnimEffectMagicLamp || + aw->curAnimEffect == AnimEffectVacuum) + { + updateBBWindow (NULL, w); + } + + if (resetAnimation) + { + aw->curWindowEvent = WindowEventNone; + aw->curAnimEffect = AnimEffectNone; + aw->animOverrideProgressDir = 0; + + if (aw->model) + { + if (aw->model->magicLampWaves) + free(aw->model->magicLampWaves); + aw->model->magicLampWaves = 0; + } + } + + if (aw->BB.x1 != MAXSHORT) + { + // damage BB + memcpy (&aw->lastBB, &aw->BB, sizeof(Box)); + damageBoundingBox (w); + } + aw->BB.x1 = aw->BB.y1 = MAXSHORT; + aw->BB.x2 = aw->BB.y2 = MINSHORT; + + Bool thereIsUnfinishedChainElem = FALSE; + + // Look for still playing windows in parent-child chain + CompWindow *wCur = aw->moreToBePaintedNext; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + + if (awCur->animRemainingTime > 0) + { + thereIsUnfinishedChainElem = TRUE; + break; + } + wCur = awCur->moreToBePaintedNext; + } + if (!thereIsUnfinishedChainElem) + { + wCur = aw->moreToBePaintedPrev; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + + if (awCur->animRemainingTime > 0) + { + thereIsUnfinishedChainElem = TRUE; + break; + } + wCur = awCur->moreToBePaintedPrev; + } + } + if (closing || !thereIsUnfinishedChainElem) + { + // Finish off all windows in parent-child chain + CompWindow *wCur = aw->moreToBePaintedNext; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + wCur = awCur->moreToBePaintedNext; + cleanUpParentChildChainItem(as, awCur); + } + wCur = w; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + wCur = awCur->moreToBePaintedPrev; + cleanUpParentChildChainItem(as, awCur); + } + } + + aw->state = aw->newState; + + if (clearMatchingRow) + aw->curAnimSelectionRow = -1; + + if (aw->drawRegion) + XDestroyRegion(aw->drawRegion); + aw->drawRegion = NULL; + aw->useDrawRegion = FALSE; + + if (aw->numPs) + { + int i = 0; + + for (i = 0; i < aw->numPs; i++) + finiParticles(aw->ps + i); + free(aw->ps); + aw->ps = NULL; + aw->numPs = 0; + } + + if (aw->polygonSet) + { + freePolygonSet(aw); + //aw->polygonSet->nClips = 0; + } + aw->animInitialized = FALSE; + aw->remainderSteps = 0; + + // Reset dodge parameters + aw->dodgeMaxAmount = 0; + if (!(aw->moreToBePaintedPrev || + aw->moreToBePaintedNext)) + { + aw->isDodgeSubject = FALSE; + aw->skipPostPrepareScreen = FALSE; + } + + if (aw->restackInfo) + { + free(aw->restackInfo); + aw->restackInfo = NULL; + } + + //if (aw->unmapCnt || aw->destroyCnt) + // releaseWindow (w); + while (aw->unmapCnt) + { + unmapWindow(w); + aw->unmapCnt--; + } + while (aw->destroyCnt) + { + destroyWindow(w); + aw->destroyCnt--; + } +} + +void postAnimationCleanup(CompWindow * w, Bool resetAnimation) +{ + postAnimationCleanupCustom(w, resetAnimation, FALSE, TRUE); +} + +static void +animActivateEvent (CompScreen *s, + Bool activating) +{ + ANIM_SCREEN(s); + + if (activating) + { + if (as->animInProgress) + return; + } + as->animInProgress = activating; + + CompOption o[2]; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeBool; + o[1].name = "active"; + o[1].value.b = activating; + + (*s->display->handleEcompEvent) (s->display, "animation", "activate", o, 2); +} + +static inline Bool +isWinVisible(CompWindow *w) +{ + return (!w->destroyed && + !(!w->shaded && + (w->attrib.map_state != IsViewable))); +} + +static inline void +getHostedOnWin (AnimScreen *as, + CompWindow *w, + CompWindow *wHost) +{ + ANIM_WINDOW(w); + AnimWindow *awHost = GET_ANIM_WINDOW(wHost, as); + awHost->winToBePaintedBeforeThis = w; + aw->winThisIsPaintedBefore = wHost; +} + +static Bool +otherPluginsActive(AnimScreen *as) +{ + int i; + for (i = 0; i < NUM_WATCHED_PLUGINS; i++) + if (as->pluginActive[i]) + return TRUE; + return FALSE; +} + +static void +initiateFocusAnimation(CompWindow *w) +{ + CompScreen *s = w->screen; + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (aw->curWindowEvent != WindowEventNone || otherPluginsActive(as)) + return; + + // Check the "switcher post-wait" counter that effectively prevents + // focus animation to be initiated when the zoom option value is low + // in Switcher. + if (switcherPostWait) + return; + + int duration = 200; + AnimEffect chosenEffect = + getMatchingAnimSelection (w, WindowEventFocus, &duration); + + if (chosenEffect && + // On unminimization, focus event is fired first. + // When this happens and minimize is in progress, + // don't prevent rewinding of minimize when unminimize is fired + // right after this focus event. + aw->curWindowEvent != WindowEventMinimize) + { + CompWindow *wStart = NULL; + CompWindow *wEnd = NULL; + CompWindow *wOldAbove = NULL; + + RestackInfo *restackInfo = aw->restackInfo; + Bool raised = TRUE; + + if (restackInfo) + { + wStart = restackInfo->wStart; + wEnd = restackInfo->wEnd; + wOldAbove = restackInfo->wOldAbove; + raised = restackInfo->raised; + } + + // FOCUS event! + + aw->curWindowEvent = WindowEventFocus; + aw->curAnimEffect = chosenEffect; + + if (chosenEffect == AnimEffectFocusFade || + chosenEffect == AnimEffectDodge) + { + // Find union region of all windows that will be + // faded through by w. If the region is empty, don't + // run focus fade effect. + + Region fadeRegion = XCreateRegion(); + Region thisAndSubjectIntersection = XCreateRegion(); + Region thisWinRegion = XCreateRegion(); + Region subjectWinRegion = XCreateRegion(); + XRectangle rect; + + int numDodgingWins = 0; + + // Compute subject win. region + rect.x = WIN_X(w); + rect.y = WIN_Y(w); + rect.width = WIN_W(w); + rect.height = WIN_H(w); + XUnionRectWithRegion(&rect, &emptyRegion, subjectWinRegion); + + // Dodge candidate window + CompWindow *dw; + for (dw = wStart; dw && dw != wEnd->next; dw = dw->next) + { + if (!isWinVisible(dw) || + dw->type & CompWindowTypeDockMask) + continue; + + // Compute intersection of this with subject + rect.x = WIN_X(dw); + rect.y = WIN_Y(dw); + rect.width = WIN_W(dw); + rect.height = WIN_H(dw); + XUnionRectWithRegion(&rect, &emptyRegion, thisWinRegion); + XIntersectRegion(subjectWinRegion, thisWinRegion, + thisAndSubjectIntersection); + XUnionRegion(fadeRegion, thisAndSubjectIntersection, + fadeRegion); + + if (chosenEffect == AnimEffectDodge && + !XEmptyRegion(thisAndSubjectIntersection)) + { + AnimWindow *adw = GET_ANIM_WINDOW(dw, as); + if ((adw->curAnimEffect == AnimEffectNone || + (adw->curAnimEffect == AnimEffectDodge)) && + dw->id != w->id) // don't let the subject dodge itself + { + // Mark this window for dodge + + numDodgingWins++; + adw->dodgeOrder = numDodgingWins; + } + } + } + + if (XEmptyRegion(fadeRegion)) + return; // empty -> won't be drawn + + if ((chosenEffect == AnimEffectFocusFade || + chosenEffect == AnimEffectDodge) && wOldAbove) + { + // Store this window in the next window + // so that this is drawn before that, + // i.e. in its old place + getHostedOnWin(as, w, wOldAbove); + } + + float dodgeMaxStartProgress = + numDodgingWins * + animGetF(as, aw, ANIM_SCREEN_OPTION_DODGE_GAP_RATIO) * + duration / 1000.0f; + + if (chosenEffect == AnimEffectDodge) + { + CompWindow *wDodgeChainLastVisited = NULL; + + animActivateEvent(s, TRUE); + + aw->isDodgeSubject = TRUE; + aw->dodgeChainStart = NULL; + float maxTransformTotalProgress = 0; + + for (dw = wStart; dw && dw != wEnd->next; dw = dw->next) + { + AnimWindow *adw = GET_ANIM_WINDOW(dw, as); + + // Skip non-dodgers + if (adw->dodgeOrder == 0) + continue; + + // Initiate dodge for this window + + adw->dodgeSubjectWin = w; + adw->curAnimEffect = AnimEffectDodge; + + // Slight change in dodge movement start + // to reflect stacking order of dodgy windows + if (raised) + adw->transformStartProgress = + dodgeMaxStartProgress * + (adw->dodgeOrder - 1) / numDodgingWins; + else + adw->transformStartProgress = + dodgeMaxStartProgress * + (1 - (float)adw->dodgeOrder / numDodgingWins); + + float transformTotalProgress = + 1 + adw->transformStartProgress; + + // normalize + adw->transformStartProgress /= + transformTotalProgress; + + adw->animTotalTime = + transformTotalProgress * duration; + adw->animRemainingTime = adw->animTotalTime; + + if (maxTransformTotalProgress < transformTotalProgress) + maxTransformTotalProgress = transformTotalProgress; + + // Put window on dodge chain + + // if dodge chain was started before + if (wDodgeChainLastVisited) + { + AnimWindow *awDodgeChainLastVisited = + GET_ANIM_WINDOW(wDodgeChainLastVisited, as); + if (raised) + awDodgeChainLastVisited->dodgeChainNext = dw; + else + awDodgeChainLastVisited->dodgeChainPrev = dw; + } + else if (raised) // mark chain start + { + aw->dodgeChainStart = dw; + } + if (raised) + { + adw->dodgeChainPrev = wDodgeChainLastVisited; + adw->dodgeChainNext = NULL; + } + else + { + adw->dodgeChainPrev = NULL; + adw->dodgeChainNext = wDodgeChainLastVisited; + } + + // Find direction (left, right, up, down) + // that minimizes dodge amount + + // Dodge amount (dodge shadows as well) + + int dodgeAmount[4]; + + int i; + for (i = 0; i < 4; i++) + dodgeAmount[i] = DODGE_AMOUNT(w, dw, i); + + int amountMin = abs(dodgeAmount[0]); + int iMin = 0; + for (i=1; i<4; i++) + { + int absAmount = abs(dodgeAmount[i]); + if (absAmount < amountMin) + { + amountMin = absAmount; + iMin = i; + } + } + adw->dodgeMaxAmount = dodgeAmount[iMin]; + adw->dodgeDirection = iMin; + + wDodgeChainLastVisited = dw; + + // Reset back to 0 for the next dodge calculation + adw->dodgeOrder = 0; + } + if (aw->isDodgeSubject) + aw->dodgeMaxAmount = 0; + + // if subject is being lowered, + // point chain-start to the topmost doding window + if (!raised) + { + aw->dodgeChainStart = wDodgeChainLastVisited; + } + + aw->animTotalTime = + maxTransformTotalProgress * duration; + } + } + + if (!animEnsureModel(w)) + { + postAnimationCleanup(w, TRUE); + return; + } + + animActivateEvent(s, TRUE); + + if (chosenEffect != AnimEffectDodge) + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + damagePendingOnScreen (s); + } +} + +// returns whether this window is relevant for fade focus +static Bool +relevantForFadeFocus(CompWindow *nw) +{ + if (!((nw->type & + // these two are to be used as "host" windows + // to host the painting of windows being focused + // at a stacking order lower than them + (CompWindowTypeDockMask | CompWindowTypeSplashMask)) || + nw->type == CompWindowTypeNormalMask || + nw->type == CompWindowTypeDialogMask || + nw->type == CompWindowTypeUtilMask || + nw->type == CompWindowTypeUnknownMask)) + { + return FALSE; + } + return isWinVisible(nw); +} + +static Bool +restackInfoStillGood(CompScreen *s, RestackInfo *restackInfo) +{ + Bool wStartGood = FALSE; + Bool wEndGood = FALSE; + Bool wOldAboveGood = FALSE; + Bool wRestackedGood = FALSE; + + CompWindow *w; + for (w = s->windows; w; w = w->next) + { + if (restackInfo->wStart == w && isWinVisible(w)) + wStartGood = TRUE; + if (restackInfo->wEnd == w && isWinVisible(w)) + wEndGood = TRUE; + if (restackInfo->wRestacked == w && isWinVisible(w)) + wRestackedGood = TRUE; + if (restackInfo->wOldAbove == w && isWinVisible(w)) + wOldAboveGood = TRUE; + } + return (wStartGood && wEndGood && wOldAboveGood && wRestackedGood); +} + +static void animPreparePaintScreen(CompScreen * s, int msSinceLastPaint) +{ + CompWindow *w; + + ANIM_SCREEN(s); + + // Check and update "switcher post wait" counter + if (switcherPostWait > 0) + { + switcherPostWait++; + if (switcherPostWait > 4) // wait over + switcherPostWait = 0; + } + //if (as->focusEffect == AnimEffectFocusFade || + //as->focusEffect == AnimEffectDodge) + { + if (as->aWinWasRestackedJustNow) + { + // do in reverse order so that focus-fading chains are handled + // properly + for (w = s->reverseWindows; w; w = w->prev) + { + ANIM_WINDOW(w); + if (aw->restackInfo) + { + if (aw->curWindowEvent != WindowEventNone || + otherPluginsActive(as) || + // Don't animate with stale restack info + !restackInfoStillGood(s, aw->restackInfo)) + { + free(aw->restackInfo); + aw->restackInfo = NULL; + continue; + } + + // Find the first window at a higher stacking order than w + CompWindow *nw; + for (nw = w->next; nw; nw = nw->next) + { + if (relevantForFadeFocus(nw)) + break; + } + + // If w is being lowered, there has to be a window + // at a higher stacking position than w (like a panel) + // which this w's copy can be painted before. + // Otherwise the animation will only show w fading in + // rather than 2 copies of it cross-fading. + if (!aw->restackInfo->raised && !nw) + { + // Free unnecessary restackInfo + free(aw->restackInfo); + aw->restackInfo = NULL; + continue; + } + + // Check if above window is focus-fading too. + // (like a dialog of an app. window) + // If so, focus-fade this together with the one above + // (link to it) + if (nw) + { + AnimWindow *awNext = GET_ANIM_WINDOW(nw, as); + if (awNext && awNext->winThisIsPaintedBefore) + { + awNext->moreToBePaintedPrev = w; + aw->moreToBePaintedNext = nw; + aw->restackInfo->wOldAbove = + awNext->winThisIsPaintedBefore; + } + } + initiateFocusAnimation(w); + } + } + //if (as->focusEffect == AnimEffectDodge) + { + for (w = s->reverseWindows; w; w = w->prev) + { + ANIM_WINDOW(w); + + if (!aw->isDodgeSubject) + continue; + Bool dodgersAreOnlySubjects = TRUE; + CompWindow *dw; + AnimWindow *adw; + for (dw = aw->dodgeChainStart; dw; dw = adw->dodgeChainNext) + { + adw = GET_ANIM_WINDOW(dw, as); + if (!adw) + break; + if (!adw->isDodgeSubject) + dodgersAreOnlySubjects = FALSE; + } + if (dodgersAreOnlySubjects) + aw->skipPostPrepareScreen = TRUE; + } + } + } + } + + if (as->animInProgress) + { + AnimWindow *aw; + Bool animStillInProgress = FALSE; + + for (w = s->windows; w; w = w->next) + { + aw = GET_ANIM_WINDOW(w, as); + + if (aw->numPs) + { + int i = 0; + + for (i = 0; i < aw->numPs; i++) + { + if (aw->ps[i].active) + { + updateParticles(&aw->ps[i], msSinceLastPaint); + animStillInProgress = TRUE; + } + } + } + + if (aw->animRemainingTime > 0) + { + if (!aw->animInitialized) // if animation is just starting + { + aw->deceleratingMotion = + animEffectProperties[aw->curAnimEffect]. + animStepPolygonFunc == + polygonsDeceleratingAnimStepPolygon; + + if (playingPolygonEffect(as, aw)) + { + // Allocate polygon set if null + if (!aw->polygonSet) + { + aw->polygonSet = calloc(1, sizeof(PolygonSet)); + } + if (!aw->polygonSet) + { + compLogMessage (w->screen->display, + "animation", CompLogLevelError, + "Not enough memory"); + return; + } + aw->polygonSet->allFadeDuration = -1.0f; + } + } + + // if 3d polygon fx + if (playingPolygonEffect(as, aw)) + { + aw->nClipsPassed = 0; + aw->clipsUpdated = FALSE; + } + + // If just starting, call fx init func. + if (!aw->animInitialized && + animEffectProperties[aw->curAnimEffect].initFunc) + { + animEffectProperties[aw->curAnimEffect].initFunc(s, w); + } + + if (aw->model) + { + if (aw->model->winWidth != WIN_W(w) || + aw->model->winHeight != WIN_H(w)) + { + // model needs update + // re-create model + if (!animEnsureModel (w)) + continue; // skip this window + } + } + + if (animEffectProperties[aw->curAnimEffect].updateBBFunc) + { + copyResetBB (aw); + + if (!aw->animInitialized && + (aw->curWindowEvent == WindowEventClose || + aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventShade || + ((aw->curWindowEvent == WindowEventFocus || + // for dodging windows + aw->curAnimEffect == AnimEffectDodge) && + !aw->isDodgeSubject))) + updateBBWindow (NULL, w); + } + aw->animInitialized = TRUE; + + if (animEffectProperties[aw->curAnimEffect].animStepFunc) + animEffectProperties[aw->curAnimEffect].animStepFunc + (s, w, msSinceLastPaint); + + if (animEffectProperties[aw->curAnimEffect].updateBBFunc) + { + int i; + for (i = 0; i < s->nOutputDev; i++) + animEffectProperties[aw->curAnimEffect]. + updateBBFunc (&s->outputDev[i], w); + + if (!(s->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK)) + damageBoundingBox (w); + } + + if (aw->animRemainingTime <= 0) + { + // Animation done + postAnimationCleanup(w, TRUE); + } + animStillInProgress |= (aw->animRemainingTime > 0); + } + + if (aw->animRemainingTime <= 0) + { + if (aw->curAnimEffect != AnimEffectNone || + aw->unmapCnt > 0 || aw->destroyCnt > 0) + { + postAnimationCleanup(w, TRUE); + } + aw->curWindowEvent = WindowEventNone; + aw->curAnimEffect = AnimEffectNone; + } + } + + for (w = s->windows; w; w = w->next) + { + aw = GET_ANIM_WINDOW(w, as); + if (aw && animEffectProperties[aw->curAnimEffect]. + postPreparePaintScreenFunc) + { + animEffectProperties[aw->curAnimEffect]. + postPreparePaintScreenFunc(s, w); + } + } + + if (!animStillInProgress) + animActivateEvent(s, FALSE); + } + + UNWRAP(as, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP(as, s, preparePaintScreen, animPreparePaintScreen); +} + +static void animDonePaintScreen(CompScreen * s) +{ + ANIM_SCREEN(s); + + if (as->animInProgress) + damagePendingOnScreen (s); + + UNWRAP(as, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP(as, s, donePaintScreen, animDonePaintScreen); +} + +static void +animAddWindowGeometry(CompWindow * w, + CompMatrix * matrix, + int nMatrix, Region region, Region clip) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + // if model is lost during animation (e.g. when plugin just reloaded) + /*if (aw->animRemainingTime > 0 && !aw->model) + { + aw->animRemainingTime = 0; + postAnimationCleanup(w, TRUE); + }*/ + // if window is being animated + if (aw->animRemainingTime > 0 && aw->model && + !(animEffectProperties[aw->curAnimEffect].letOthersDrawGeoms && + animEffectProperties[aw->curAnimEffect].letOthersDrawGeoms + (w->screen, w))) + { + BoxPtr pClip; + int nClip; + int nVertices, nIndices; + GLushort *i; + GLfloat *v; + int x1, y1, x2, y2; + float width, height; + float winContentsY, winContentsHeight; + float deformedX, deformedY; + int nVertX, nVertY, wx, wy; + int vSize, it; + float gridW, gridH, x, y; + Bool rect = TRUE; + Bool useTextureQ = TRUE; + Model *model = aw->model; + Region awRegion = NULL; + + // Use Q texture coordinate to avoid jagged-looking quads + // http://www.r3.nu/~cass/qcoord/ + if (animEffectProperties[aw->curAnimEffect].dontUseQTexCoord) + useTextureQ = FALSE; + + if (aw->useDrawRegion) + { + awRegion = XCreateRegion(); + XOffsetRegion(aw->drawRegion, WIN_X(w), WIN_Y(w)); + XIntersectRegion(region, aw->drawRegion, awRegion); + XOffsetRegion(aw->drawRegion, -WIN_X(w), -WIN_Y(w)); + nClip = awRegion->numRects; + pClip = awRegion->rects; + } + else + { + nClip = region->numRects; + pClip = region->rects; + } + + if (nClip == 0) // nothing to do + { + if (awRegion) + XDestroyRegion(awRegion); + return; + } + + for (it = 0; it < nMatrix; it++) + { + if (matrix[it].xy != 0.0f || matrix[it].yx != 0.0f) + { + rect = FALSE; + break; + } + } + + w->drawWindowGeometry = animDrawWindowGeometry; + + if (aw->polygonSet && + animEffectProperties[aw->curAnimEffect].addCustomGeometryFunc) + { + /*int nClip2 = nClip; + BoxPtr pClip2 = pClip; + + // For each clip passed to this function + for (; nClip2--; pClip2++) + { + x1 = pClip2->x1; + y1 = pClip2->y1; + x2 = pClip2->x2; + y2 = pClip2->y2; + + printf("x1: %4d, y1: %4d, x2: %4d, y2: %4d", x1, y1, x2, y2); + printf("\tm: %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f\n", + matrix[0].xx, matrix[0].xy, matrix[0].yx, matrix[0].yy, + matrix[0].x0, matrix[0].y0); + } */ + if (nMatrix == 0) + return; + animEffectProperties[aw->curAnimEffect]. + addCustomGeometryFunc(w->screen, w, nClip, pClip, + nMatrix, matrix); + + // If addGeometryFunc exists, it is expected to do everthing + // to add geometries (instead of the rest of this function). + + if (w->vCount == 0) // if there is no vertex + { + // put a dummy quad in vertices and indices + if (4 > w->indexSize) + { + if (!moreWindowIndices(w, 4)) + return; + } + if (4 > w->vertexSize) + { + if (!moreWindowVertices(w, 4)) + return; + } + w->vCount = 4; + w->indexCount = 4; + w->texUnits = 1; + memset(w->vertices, 0, sizeof(GLfloat) * 4); + memset(w->indices, 0, sizeof(GLushort) * 4); + } + return; // We're done here. + } + + // window coordinates and size + wx = WIN_X(w); + wy = WIN_Y(w); + width = WIN_W(w); + height = WIN_H(w); + + // to be used if event is shade/unshade + winContentsY = w->attrib.y; + winContentsHeight = w->height; + + w->texUnits = nMatrix; + + if (w->vCount == 0) + { + // reset + w->indexCount = 0; + w->texCoordSize = 4; + } + vSize = 2 + w->texUnits * w->texCoordSize; + + nVertices = w->vCount; + nIndices = w->indexCount; + + v = w->vertices + (nVertices * vSize); + i = w->indices + nIndices; + + // For each clip passed to this function + for (; nClip--; pClip++) + { + x1 = pClip->x1; + y1 = pClip->y1; + x2 = pClip->x2; + y2 = pClip->y2; + /* + printf("x1: %4d, y1: %4d, x2: %4d, y2: %4d", x1, y1, x2, y2); + printf("\tm: %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f\n", + matrix[0].xx, matrix[0].xy, matrix[0].yx, matrix[0].yy, + matrix[0].x0, matrix[0].y0); + */ + gridW = (float)width / (model->gridWidth - 1); + + if (aw->curWindowEvent == WindowEventShade || + aw->curWindowEvent == WindowEventUnshade) + { + if (y1 < w->attrib.y) // if at top part + { + gridH = model->topHeight; + } + else if (y2 > w->attrib.y + w->height) // if at bottom + { + gridH = model->bottomHeight; + } + else // in window contents (only in Y coords) + { + float winContentsHeight = + height - model->topHeight - model->bottomHeight; + gridH = winContentsHeight / (model->gridHeight - 3); + } + } + else + gridH = (float)height / (model->gridHeight - 1); + + // nVertX, nVertY: number of vertices for this clip in x and y dimensions + // + 2 to avoid running short of vertices in some cases + nVertX = ceil((x2 - x1) / gridW) + 2; + nVertY = (gridH ? ceil((y2 - y1) / gridH) : 0) + 2; + + // Allocate 4 indices for each quad + int newIndexSize = nIndices + ((nVertX - 1) * (nVertY - 1) * 4); + + if (newIndexSize > w->indexSize) + { + if (!moreWindowIndices(w, newIndexSize)) + return; + + i = w->indices + nIndices; + } + // Assign quad vertices to indices + int jx, jy; + + for (jy = 0; jy < nVertY - 1; jy++) + { + for (jx = 0; jx < nVertX - 1; jx++) + { + *i++ = nVertices + nVertX * (2 * jy + 1) + jx; + *i++ = nVertices + nVertX * (2 * jy + 1) + jx + 1; + *i++ = nVertices + nVertX * 2 * jy + jx + 1; + *i++ = nVertices + nVertX * 2 * jy + jx; + + nIndices += 4; + } + } + + // Allocate vertices + int newVertexSize = + (nVertices + nVertX * (2 * nVertY - 2)) * vSize; + if (newVertexSize > w->vertexSize) + { + if (!moreWindowVertices(w, newVertexSize)) + return; + + v = w->vertices + (nVertices * vSize); + } + + float rowTexCoordQ = 1; + float prevRowCellWidth = 0; // this initial value won't be used + float rowCellWidth = 0; + + // For each vertex + for (jy = 0, y = y1; jy < nVertY; jy++) + { + if (y > y2) + y = y2; + + // Do calculations for y here to avoid repeating + // them unnecessarily in the x loop + + float topiyFloat; + Bool applyOffsets = TRUE; + + if (aw->curWindowEvent == WindowEventShade + || aw->curWindowEvent == WindowEventUnshade) + { + if (y1 < w->attrib.y) // if at top part + { + topiyFloat = (y - WIN_Y(w)) / model->topHeight; + topiyFloat = MIN(topiyFloat, 0.999); // avoid 1.0 + applyOffsets = FALSE; + } + else if (y2 > w->attrib.y + w->height) // if at bottom + { + topiyFloat = (model->gridHeight - 2) + + (model->bottomHeight ? (y - winContentsY - + winContentsHeight) / + model->bottomHeight : 0); + applyOffsets = FALSE; + } + else // in window contents (only in Y coords) + { + topiyFloat = (model->gridHeight - 3) * + (y - winContentsY) / winContentsHeight + 1; + } + } + else + { + topiyFloat = (model->gridHeight - 1) * (y - wy) / height; + } + // topiy should be at most (model->gridHeight - 2) + int topiy = (int)(topiyFloat + 1e-4); + + if (topiy == model->gridHeight - 1) + topiy--; + int bottomiy = topiy + 1; + float iny = topiyFloat - topiy; + + // End of calculations for y + + for (jx = 0, x = x1; jx < nVertX; jx++) + { + if (x > x2) + x = x2; + + // find containing grid cell (leftix rightix) x (topiy bottomiy) + float leftixFloat = + (model->gridWidth - 1) * (x - wx) / width; + int leftix = (int)(leftixFloat + 1e-4); + + if (leftix == model->gridWidth - 1) + leftix--; + int rightix = leftix + 1; + + // Objects that are at top, bottom, left, right corners of quad + Object *objToTopLeft = + &(model->objects[topiy * model->gridWidth + leftix]); + Object *objToTopRight = + &(model->objects[topiy * model->gridWidth + rightix]); + Object *objToBottomLeft = + &(model->objects[bottomiy * model->gridWidth + leftix]); + Object *objToBottomRight = + &(model->objects[bottomiy * model->gridWidth + rightix]); + + // find position in cell by taking remainder of flooring + float inx = leftixFloat - leftix; + + // Interpolate to find deformed coordinates + + float hor1x = (1 - inx) * + objToTopLeft->position.x + + inx * objToTopRight->position.x; + float hor1y = (1 - inx) * + objToTopLeft->position.y + + inx * objToTopRight->position.y; + float hor2x = (1 - inx) * + objToBottomLeft->position.x + + inx * objToBottomRight->position.x; + float hor2y = (1 - inx) * + objToBottomLeft->position.y + + inx * objToBottomRight->position.y; + + deformedX = (1 - iny) * hor1x + iny * hor2x; + deformedY = (1 - iny) * hor1y + iny * hor2y; + + if (useTextureQ) + { + if (jx == 1) + rowCellWidth = deformedX - v[-2]; + + if (jy > 0 && jx == 1) // do only once per row for all rows except row 0 + { + rowTexCoordQ = (rowCellWidth / prevRowCellWidth); + + v[-3] = rowTexCoordQ; // update first column + v[-6] *= rowTexCoordQ; // (since we didn't know rowTexCoordQ before) + v[-5] *= rowTexCoordQ; + } + } + if (rect) + { + for (it = 0; it < nMatrix; it++) + { + float offsetY = 0; + + if (applyOffsets && y < y2) + offsetY = objToTopLeft->offsetTexCoordForQuadAfter.y; + + *v++ = COMP_TEX_COORD_X(&matrix[it], x); + *v++ = COMP_TEX_COORD_Y(&matrix[it], y + offsetY); + *v++ = 0; + if (useTextureQ) + { + *v++ = rowTexCoordQ; // Q texture coordinate + + if (0 < jy && jy < nVertY - 1) + { + // copy first 3 texture coords to duplicate row + memcpy(v - 4 + nVertX * vSize, + v - 4, 3 * sizeof(GLfloat)); + *(v - 1 + nVertX * vSize) = 1; // Q texture coordinate + } + if (applyOffsets && /*0 < jy && */ + objToTopLeft-> + offsetTexCoordForQuadBefore.y != 0) + { + // After copying to next row, update texture y coord + // by following object's offset + offsetY = objToTopLeft-> offsetTexCoordForQuadBefore.y; + v[-3] = COMP_TEX_COORD_Y(&matrix[it], y + offsetY); + } + if (jx > 0) // since column 0 is updated when jx == 1 + { + v[-4] *= rowTexCoordQ; + v[-3] *= rowTexCoordQ; + } + } + else + { + *v++ = 1; + + if (0 < jy && jy < nVertY - 1) + { + // copy first 3 texture coords to duplicate row + memcpy(v - 4 + nVertX * vSize, + v - 4, 3 * sizeof(GLfloat)); + + *(v - 1 + nVertX * vSize) = 1; // Q texture coordinate + } + if (applyOffsets && + objToTopLeft->offsetTexCoordForQuadBefore.y != 0) + { + // After copying to next row, update texture y coord + // by following object's offset + offsetY = objToTopLeft->offsetTexCoordForQuadBefore.y; + v[-3] = COMP_TEX_COORD_Y(&matrix[it], y + offsetY); + } + } + } + } + else + { + for (it = 0; it < nMatrix; it++) + { + float offsetY = 0; + + if (applyOffsets && y < y2) + { + // FIXME: + // the correct value below doesn't work for some reason + offsetY = 0; + // objToTopLeft-> + // offsetTexCoordForQuadAfter.y; + } + + *v++ = COMP_TEX_COORD_XY(&matrix[it], x, y + offsetY); + *v++ = COMP_TEX_COORD_YX(&matrix[it], x, y + offsetY); + *v++ = 0; + if (useTextureQ) + { + *v++ = rowTexCoordQ; // Q texture coordinate + + if (0 < jy && jy < nVertY - 1) + { + // copy first 3 texture coords to duplicate row + memcpy(v - 4 + nVertX * vSize, + v - 4, 3 * sizeof(GLfloat)); + *(v - 1 + nVertX * vSize) = 1; // Q texture coordinate + } + if (applyOffsets && + objToTopLeft->offsetTexCoordForQuadBefore.y != 0) + { + // After copying to next row, update texture y coord + // by following object's offset + offsetY = objToTopLeft->offsetTexCoordForQuadBefore.y; + v[-4] = COMP_TEX_COORD_XY(&matrix[it], x, + y + offsetY); + v[-3] = COMP_TEX_COORD_YX(&matrix[it], x, + y + offsetY); + } + if (jx > 0) // column t should be updated when jx is t+1 + { + v[-4] *= rowTexCoordQ; + v[-3] *= rowTexCoordQ; + } + } + else + { + *v++ = 1; + + if (0 < jy && jy < nVertY - 1) + { + // copy first 3 texture coords to duplicate row + memcpy(v - 4 + nVertX * vSize, + v - 4, 3 * sizeof(GLfloat)); + *(v - 1 + nVertX * vSize) = 1; // Q texture coordinate + } + if (applyOffsets && + objToTopLeft->offsetTexCoordForQuadBefore.y != 0) + { + // After copying to next row, update texture y coord + // by following object's offset + offsetY = + objToTopLeft-> + offsetTexCoordForQuadBefore.y; + v[-4] = COMP_TEX_COORD_XY(&matrix[it], x, + y + offsetY); + v[-3] = COMP_TEX_COORD_YX(&matrix[it], x, + y + offsetY); + } + } + } + } + *v++ = deformedX; + *v++ = deformedY; + + if (0 < jy && jy < nVertY - 1) + memcpy(v - 2 + nVertX * vSize, v - 2, 2 * sizeof(GLfloat)); + + nVertices++; + + // increment x properly (so that coordinates fall on grid intersections) + x = rightix * gridW + wx; + } + if (useTextureQ) + prevRowCellWidth = rowCellWidth; + + if (0 < jy && jy < nVertY - 1) + { + v += nVertX * vSize; // skip the duplicate row + nVertices += nVertX; + } + // increment y properly (so that coordinates fall on grid intersections) + if (aw->curWindowEvent == WindowEventShade + || aw->curWindowEvent == WindowEventUnshade) + { + y += gridH; + } + else + { + y = bottomiy * gridH + wy; + } + } + } + w->vCount = nVertices; + w->indexCount = nIndices; + if (awRegion) + { + XDestroyRegion(awRegion); + awRegion = NULL; + } + } + else + { + UNWRAP(as, w->screen, addWindowGeometry); + (*w->screen->addWindowGeometry) (w, matrix, nMatrix, region, clip); + WRAP(as, w->screen, addWindowGeometry, animAddWindowGeometry); + } +} + +static void +animDrawWindowTexture(CompWindow * w, CompTexture * texture, + const FragmentAttrib *attrib, + unsigned int mask) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(w->screen); + + if (aw->animRemainingTime > 0) // if animation in progress, store texture + { + aw->curTexture = texture; + aw->curPaintAttrib = *attrib; + } + + UNWRAP(as, w->screen, drawWindowTexture); + (*w->screen->drawWindowTexture) (w, texture, attrib, mask); + WRAP(as, w->screen, drawWindowTexture, animDrawWindowTexture); +} + +void +animDrawWindowGeometry(CompWindow * w) +{ + ANIM_WINDOW(w); + + aw->nDrawGeometryCalls++; + + ANIM_SCREEN(w->screen); + + if (playingPolygonEffect(as, aw) && + animEffectProperties[aw->curAnimEffect].drawCustomGeometryFunc) + { + animEffectProperties[aw->curAnimEffect].drawCustomGeometryFunc (w->screen, w); + return; + } + int texUnit = w->texUnits; + int currentTexUnit = 0; + int stride = 2 + texUnit * w->texCoordSize; + GLfloat *vertices = w->vertices + (stride - 2); + + stride *= sizeof(GLfloat); + + glVertexPointer(2, GL_FLOAT, stride, vertices); + + while (texUnit--) + { + if (texUnit != currentTexUnit) + { + w->screen->clientActiveTexture(GL_TEXTURE0_ARB + texUnit); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + currentTexUnit = texUnit; + } + vertices -= w->texCoordSize; + glTexCoordPointer(w->texCoordSize, GL_FLOAT, stride, vertices); + } + + glDrawElements(GL_QUADS, w->indexCount, GL_UNSIGNED_SHORT, + w->indices); + + // disable all texture coordinate arrays except 0 + texUnit = w->texUnits; + if (texUnit > 1) + { + while (--texUnit) + { + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB + texUnit); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + } + + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB); + } +} + +static Bool +animPaintWindow(CompWindow * w, + const WindowPaintAttrib * attrib, + const CompTransform *transform, + Region region, unsigned int mask) +{ + Bool status; + + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + // For Focus Fade && Focus Dodge + if (aw->winToBePaintedBeforeThis) + { + CompWindow *w2 = aw->winToBePaintedBeforeThis; + // ========= Paint w2 on host w ========= + + // Go to the bottommost window in this "focus chain" + // This chain is used to handle some cases: e.g when Find dialog + // of an app is open, both windows should be faded when the Find + // dialog is raised. + CompWindow *bottommost = w2; + CompWindow *wPrev = GET_ANIM_WINDOW(bottommost, as)-> + moreToBePaintedPrev; + while (wPrev) + { + bottommost = wPrev; + wPrev = GET_ANIM_WINDOW(wPrev, as)->moreToBePaintedPrev; + } + + // Paint each window in the chain going to the topmost + for (w2 = bottommost; w2; + w2 = GET_ANIM_WINDOW(w2, as)->moreToBePaintedNext) + { + AnimWindow *aw2 = GET_ANIM_WINDOW(w2, as); + if (!aw2) + continue; + + if (aw2->animTotalTime < 1e-4) + { + aw2->drawnOnHostSkip = TRUE; + } + w2->indexCount = 0; + WindowPaintAttrib wAttrib2 = w2->lastPaint; + + if (aw2->curAnimEffect == AnimEffectFocusFade) + fxFocusFadeUpdateWindowAttrib2(as, w2, &wAttrib2); + else // if dodge + wAttrib2.opacity = aw2->storedOpacity; + + unsigned int mask2 = mask; + mask2 |= PAINT_WINDOW_TRANSFORMED_MASK; + + aw2->nDrawGeometryCalls = 0; + UNWRAP(as, w2->screen, paintWindow); + status = (*w2->screen->paintWindow) + (w2, &wAttrib2, transform, region, mask2); + WRAP(as, w2->screen, paintWindow, animPaintWindow); + } + } + if (aw->drawnOnHostSkip) + { + aw->drawnOnHostSkip = FALSE; + return FALSE; + } + if (aw->animRemainingTime > 0) + { + if (aw->curAnimEffect == AnimEffectDodge && + aw->isDodgeSubject && + aw->winThisIsPaintedBefore) + { + // if aw is to be painted somewhere other than in its + // original stacking order, it will only be painted with + // the code above (but in animPaintWindow call for + // the window aw->winThisIsPaintedBefore), so we don't + // need to paint aw below + return FALSE; + } + + if (aw->curWindowEvent == WindowEventFocus && otherPluginsActive(as)) + postAnimationCleanup(w, TRUE); + + if (playingPolygonEffect(as, aw)) + { + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + { + aw->curTextureFilter = w->screen->filter[WINDOW_TRANS_FILTER]; + } + else if (mask & PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK) + { + aw->curTextureFilter = w->screen->filter[SCREEN_TRANS_FILTER]; + } + else + { + aw->curTextureFilter = w->screen->filter[NOTHING_TRANS_FILTER]; + } + } + w->indexCount = 0; + + WindowPaintAttrib wAttrib = *attrib; + CompTransform wTransform = *transform; + + //if (mask & PAINT_WINDOW_SOLID_MASK) + // return FALSE; + + // TODO: should only happen for distorting effects + mask |= PAINT_WINDOW_TRANSFORMED_MASK; + + wAttrib.xScale = 1.0f; + wAttrib.yScale = 1.0f; + + aw->nDrawGeometryCalls = 0; + + if (animEffectProperties[aw->curAnimEffect].updateWindowAttribFunc) + animEffectProperties[aw->curAnimEffect]. + updateWindowAttribFunc(as, w, &wAttrib); + + if (animEffectProperties[aw->curAnimEffect].updateWindowTransformFunc) + animEffectProperties[aw->curAnimEffect]. + updateWindowTransformFunc(w->screen, w, &wTransform); + + if (animEffectProperties[aw->curAnimEffect].prePaintWindowFunc) + animEffectProperties[aw->curAnimEffect]. + prePaintWindowFunc(w->screen, w); + + UNWRAP(as, w->screen, paintWindow); + status = (*w->screen->paintWindow) (w, &wAttrib, &wTransform, region, mask); + WRAP(as, w->screen, paintWindow, animPaintWindow); + + if (animEffectProperties[aw->curAnimEffect].postPaintWindowFunc) + animEffectProperties[aw->curAnimEffect]. + postPaintWindowFunc(w->screen, w); + } + else + { + UNWRAP(as, w->screen, paintWindow); + status = (*w->screen->paintWindow) (w, attrib, transform, region, mask); + WRAP(as, w->screen, paintWindow, animPaintWindow); + } + + return status; +} + +static Bool animGetWindowIconGeometry(CompWindow * w, XRectangle * rect) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + ANIM_DISPLAY(w->screen->display); + + result = XGetWindowProperty(w->screen->display->display, w->id, + ad->winIconGeometryAtom, + 0L, 4L, FALSE, XA_CARDINAL, &actual, + &format, &n, &left, &data); + + if (result == Success && n && data) + { + if (n == 4) + { + unsigned long *geometry = (unsigned long *)data; + + rect->x = geometry[0]; + rect->y = geometry[1]; + rect->width = geometry[2]; + rect->height = geometry[3]; + + XFree(data); + printf("got icon\n"); + + return TRUE; + } + + XFree(data); + } + printf("cant get icon\n"); + + return FALSE; +} + +static const PluginEventInfo watchedPlugins[] = +{ + {"switcher", "activate"}, + {"scale", "activate"}, + {"group", "tabChangeActivate"}, + {"fadedesktop", "activate"}, + {"shift", "activate"}, +}; + +static void animHandleEcompEvent(CompDisplay * d, char *pluginName, + char *eventName, CompOption * option, int nOption) +{ + ANIM_DISPLAY(d); + + UNWRAP (ad, d, handleEcompEvent); + (*d->handleEcompEvent) (d, pluginName, eventName, option, nOption); + WRAP (ad, d, handleEcompEvent, animHandleEcompEvent); + + int i; + for (i = 0; i < NUM_WATCHED_PLUGINS; i++) + if (strcmp(pluginName, watchedPlugins[i].pluginName) == 0) + { + if (strcmp(eventName, watchedPlugins[i].activateEventName) == 0) + { + Window xid = getIntOptionNamed(option, nOption, "root", 0); + CompScreen *s = findScreenAtDisplay(d, xid); + + if (s) + { + ANIM_SCREEN(s); + as->pluginActive[i] = + getBoolOptionNamed(option, nOption, "active", FALSE); + if (i == 0) + { + as->switcherWinOpeningSuppressed = FALSE; + if (!as->pluginActive[i]) + switcherPostWait = 1; + } + } + } + break; + } +} + +static void +updateLastClientListStacking(CompScreen *s) +{ + ANIM_SCREEN(s); + int n = s->nClientList; + Window *clientListStacking = (Window *) (s->clientList + n) + n; + + if (as->nLastClientListStacking != n) // the number of windows has changed + { + Window *list; + + list = realloc (as->lastClientListStacking, sizeof (Window) * n); + as->lastClientListStacking = list; + + if (!list) + { + as->nLastClientListStacking = 0; + return; + } + + as->nLastClientListStacking = n; + } + + // Store new client stack listing + memcpy(as->lastClientListStacking, clientListStacking, + sizeof (Window) * n); +} +/* +static Bool +windowHasUserTime(CompWindow *w) +{ + Time t; + return getWindowUserTime (w, &t); +} +*/ +static char * +animGetWindowName (CompWindow *w) +{ + CompDisplay *d = w->screen->display; + Atom type; + unsigned long nItems; + unsigned long bytesAfter; + unsigned char *str = NULL; + int format, result; + char *retval; + + ANIM_DISPLAY (d); + + result = XGetWindowProperty (d->display, w->id, ad->wmNameAtom, + 0, LONG_MAX, FALSE, XA_STRING, + &type, &format, &nItems, &bytesAfter, + (unsigned char **) &str); + if (result != Success) + return NULL; + + if (type != XA_STRING) + { + XFree (str); + return NULL; + } + retval = strdup ((char *) str); + XFree (str); + + return retval; +} + +static void animHandleEvent(CompDisplay * d, XEvent * event) +{ + CompWindow *w; + + ANIM_DISPLAY(d); + + switch (event->type) + { + case PropertyNotify: + if (event->xproperty.atom == d->clientListStackingAtom) + { + CompScreen *s = findScreenAtDisplay (d, event->xproperty.window); + if (s) + updateLastClientListStacking(s); + } + break; + case MapNotify: + printf("map notify\n"); + + w = findWindowAtDisplay(d, event->xmap.window); + if (w) + { + ANIM_WINDOW(w); + + if (aw->animRemainingTime > 0) + { + printf("- 1: %d\n", aw->newState); + + aw->state = aw->newState; + } + while (aw->unmapCnt) + { + unmapWindow(w); + aw->unmapCnt--; + } + } + break; + case DestroyNotify: + w = findWindowAtDisplay(d, event->xunmap.window); + if (w) + { + ANIM_WINDOW(w); + aw->destroyCnt++; + w->destroyRefCnt++; + addWindowDamage(w); + } + break; + case UnmapNotify: + w = findWindowAtDisplay(d, event->xunmap.window); + if (w) + { + printf("0x%x animation unmap notify %d : %d\n", (unsigned int)w->id, w->invisible, w->pendingUnmaps); + + ANIM_SCREEN(w->screen); + + //if (w->pendingUnmaps && onCurrentDesktop(w)) + if ((w->state = getWmState(d, w->transientFor)) == IconicState && onCurrentDesktop(w)) + // // Normal -> Iconic /*FIXME */ + { + printf("animation 1\n"); + + ANIM_WINDOW(w); + + int duration = 200; + AnimEffect chosenEffect; + + /*if (w->shaded) + { + chosenEffect = + getMatchingAnimSelection (w, WindowEventShade, &duration); + + // SHADE event! + + aw->nowShaded = TRUE; + + if (chosenEffect) + { + Bool startingNew = TRUE; + + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent != WindowEventUnshade) + { + postAnimationCleanupCustom(w, TRUE, FALSE, FALSE); + } + else + { + // Play the unshade effect backwards from where it left + aw->animRemainingTime = + aw->animTotalTime - + aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 2; + else if (aw->animOverrideProgressDir == 1) + aw->animOverrideProgressDir = 0; + } + } + + if (startingNew) + { + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->shadeRandomEffects, + as->nShadeRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + break; + + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventShade; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (!animEnsureModel(w)) + { + postAnimationCleanup(w, TRUE); + } + + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } + } + else*/ + /*if (!w->invisible && + animGetWindowIconGeometry(w, &aw->icon)) + { + // MINIMIZE event! + printf("animation: minimize event\n"); + if(aw->newState == IconicState) break; + + //aw->newState = IconicState; + aw->state = IconicState; + + chosenEffect = + getMatchingAnimSelection (w, WindowEventMinimize, &duration); + + if (chosenEffect) + { + printf("animation: minimize event - effect chosen\n"); + Bool startingNew = TRUE; + + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent != WindowEventUnminimize) + { + postAnimationCleanupCustom(w, TRUE, FALSE, FALSE); + } + else + { + // Play the unminimize effect backwards from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime == 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 2; + else if (aw->animOverrideProgressDir == 1) + aw->animOverrideProgressDir = 0; + } + } + + if (startingNew) + { + printf("animation: minimize event - starting new\n"); + AnimEffect effectToBePlayed; + + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->minimizeRandomEffects, + as->nMinimizeRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + break; + + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventMinimize; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (!animEnsureModel(w)) + { + printf("animation: minimize event - !animEnsureModel\n"); + postAnimationCleanup(w, TRUE); + } + else + { + printf("animation: minimize event - animEnsureModel\n"); + if (!animGetWindowIconGeometry(w, &aw->icon)) + { + // minimize to bottom-center if there is no window list + aw->icon.x = w->screen->width / 2; + aw->icon.y = w->screen->height; + aw->icon.width = 100; + aw->icon.height = 20; + } + + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } + } + } + }*/ + + if (!w->invisible && + animGetWindowIconGeometry(w, &aw->icon)) + { + + printf("animation: minimize event\n"); + int duration = 200; + AnimEffect chosenEffect = + getMatchingAnimSelection (w, WindowEventMinimize, &duration); + + // CLOSE event! + + aw->state = NormalState; + aw->newState = IconicState; + + if (chosenEffect) + { + printf("chosenEffect\n"); + + int tmpSteps = 0; + + Bool startingNew = TRUE; + + if (aw->animRemainingTime > 0 && + aw->curWindowEvent != WindowEventOpen) + { + tmpSteps = aw->animRemainingTime; + aw->animRemainingTime = 0; + } + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent == WindowEventUnminimize) + { + // Play the create effect backward from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 2; + else if (aw->animOverrideProgressDir == 1) + aw->animOverrideProgressDir = 0; + } + else if (aw->curWindowEvent == WindowEventMinimize) + { + if (aw->animOverrideProgressDir == 2) + { + aw->animRemainingTime = tmpSteps; + startingNew = FALSE; + } + } + else + { + postAnimationCleanupCustom(w, TRUE, TRUE, FALSE); + } + } + + if (startingNew) + { + printf("startingNew\n"); + + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->minimizeRandomEffects, + as->nMinimizeRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + break; + printf("startingNew -2\n"); + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventMinimize; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (!animEnsureModel(w)) + { + postAnimationCleanup(w, TRUE); + } + else /*if (getMousePointerXY + (w->screen, &aw->icon.x, &aw->icon.y))*/ + { + /*aw->icon.width = FAKE_ICON_SIZE; + aw->icon.height = FAKE_ICON_SIZE; + + if (aw->curAnimEffect == AnimEffectMagicLamp) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_OPEN_START_WIDTH)); + else if (aw->curAnimEffect == AnimEffectVacuum) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_VACUUM_OPEN_START_WIDTH)); + */ + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } + } + else if (getMatchingAnimSelection (w, WindowEventOpen, &duration)) + { + // stop the current animation and prevent it from rewinding + + if (aw->animRemainingTime > 0 && + aw->curWindowEvent != WindowEventOpen) + { + aw->animRemainingTime = 0; + } + if ((aw->curWindowEvent != WindowEventNone) && + (aw->curWindowEvent != WindowEventClose)) + { + postAnimationCleanup(w, TRUE); + } + // set some properties to make sure this window will use the + // correct open effect the next time it's "opened" + + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventClose; + + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } + + } + } + + else // X -> Withdrawn + { + printf("animation 2\n"); + + ANIM_WINDOW(w); + + // don't animate windows that don't have certain properties + // like the fullscreen darkening layer of gksudo + // or the darkening layer of x-session-manager + if (/*!(w->resName || windowHasUserTime (w)) ||*/ + (aw->wmName && strcasecmp (aw->wmName, "x-session-manager") == 0)) + break; + + int duration = 200; + AnimEffect chosenEffect = + getMatchingAnimSelection (w, WindowEventClose, &duration); + + // CLOSE event! + printf("close event\n"); + + aw->state = NormalState; + aw->newState = WithdrawnState; + + if (chosenEffect) + { + printf("chosenEffect\n"); + + int tmpSteps = 0; + + Bool startingNew = TRUE; + + if (aw->animRemainingTime > 0 && + aw->curWindowEvent != WindowEventOpen) + { + tmpSteps = aw->animRemainingTime; + aw->animRemainingTime = 0; + } + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent == WindowEventOpen) + { + // Play the create effect backward from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 2; + else if (aw->animOverrideProgressDir == 1) + aw->animOverrideProgressDir = 0; + } + else if (aw->curWindowEvent == WindowEventClose) + { + if (aw->animOverrideProgressDir == 2) + { + aw->animRemainingTime = tmpSteps; + startingNew = FALSE; + } + } + else + { + postAnimationCleanupCustom(w, TRUE, TRUE, FALSE); + } + } + + if (startingNew) + { + printf("startingNew\n"); + + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->closeRandomEffects, + as->nCloseRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + break; + + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventClose; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (!animEnsureModel(w)) + { + postAnimationCleanup(w, TRUE); + } + else if (getMousePointerXY + (w->screen, &aw->icon.x, &aw->icon.y)) + { + aw->icon.width = FAKE_ICON_SIZE; + aw->icon.height = FAKE_ICON_SIZE; + + if (aw->curAnimEffect == AnimEffectMagicLamp) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_OPEN_START_WIDTH)); + else if (aw->curAnimEffect == AnimEffectVacuum) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_VACUUM_OPEN_START_WIDTH)); + + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } + } + else if (getMatchingAnimSelection (w, WindowEventOpen, &duration)) + { + // stop the current animation and prevent it from rewinding + + if (aw->animRemainingTime > 0 && + aw->curWindowEvent != WindowEventOpen) + { + aw->animRemainingTime = 0; + } + if ((aw->curWindowEvent != WindowEventNone) && + (aw->curWindowEvent != WindowEventClose)) + { + postAnimationCleanup(w, TRUE); + } + // set some properties to make sure this window will use the + // correct open effect the next time it's "opened" + + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventClose; + + aw->unmapCnt++; + w->unmapRefCnt++; + + damagePendingOnScreen (w->screen); + } + } + } + break; + case ConfigureNotify: + { + XConfigureEvent *ce = &event->xconfigure; + w = findWindowAtDisplay (d, ce->window); + if (!w) + break; + if (w->prev) + { + if (ce->above && ce->above == w->prev->id) + break; + } + else if (ce->above == None) + break; + CompScreen *s = findScreenAtDisplay (d, event->xproperty.window); + if (!s) + break; + + ANIM_SCREEN(s); + int i; + int n = s->nClientList; + Bool winOpenedClosed = FALSE; + + Window *clientList = (Window *) (s->clientList + n); + Window *clientListStacking = clientList + n; + + if (n != as->nLastClientListStacking) + winOpenedClosed = TRUE; + + // if restacking occurred and not window open/close + if (!winOpenedClosed) + { + ANIM_WINDOW(w); + aw->configureNotified = TRUE; + + // Find which window is restacked + // e.g. here 8507730 was raised: + // 54526074 8507730 48234499 14680072 6291497 + // 54526074 48234499 14680072 8507730 6291497 + // compare first changed win. of row 1 with last + // changed win. of row 2, and vica versa + // the matching one is the restacked one + CompWindow *wRestacked = 0; + CompWindow *wStart = 0; + CompWindow *wEnd = 0; + CompWindow *wOldAbove = 0; + CompWindow *wChangeStart = 0; + CompWindow *wChangeEnd = 0; + + Bool raised = FALSE; + int changeStart = -1; + int changeEnd = -1; + + for (i = 0; i < n; i++) + { + CompWindow *wi = + findWindowAtScreen (s, clientListStacking[i]); + + // skip if minimized (prevents flashing problem) + if (!wi || !isWinVisible(wi)) + continue; + + // skip if (tabbed and) hidden by Group plugin + if (wi->state & (CompWindowStateSkipPagerMask | + CompWindowStateSkipTaskbarMask)) + continue; + + if (clientListStacking[i] != + as->lastClientListStacking[i]) + { + if (changeStart < 0) + { + changeStart = i; + wChangeStart = wi; // make use of already found w + } + else + { + changeEnd = i; + wChangeEnd = wi; + } + } + else if (changeStart >= 0) // found some change earlier + break; + } + + // if restacking occurred + if (changeStart >= 0 && changeEnd >= 0) + { + CompWindow *w2; + + // if we have only 2 windows changed, + // choose the one clicked on + Bool preferRaised = FALSE; + Bool onlyTwo = FALSE; + + if (wChangeEnd && + clientListStacking[changeEnd] == + as->lastClientListStacking[changeStart] && + clientListStacking[changeStart] == + as->lastClientListStacking[changeEnd]) + { + // Check if the window coming on top was + // configureNotified (clicked on) + AnimWindow *aw2 = GET_ANIM_WINDOW(wChangeEnd, as); + if (aw2->configureNotified) + { + preferRaised = TRUE; + } + onlyTwo = TRUE; + } + // Clear all configureNotified's + for (w2 = s->windows; w2; w2 = w2->next) + { + AnimWindow *aw2 = GET_ANIM_WINDOW(w2, as); + aw2->configureNotified = FALSE; + } + + if (preferRaised || + (!onlyTwo && + clientListStacking[changeEnd] == + as->lastClientListStacking[changeStart])) + { + // raised + raised = TRUE; + wRestacked = wChangeEnd; + wStart = wChangeStart; + wEnd = wRestacked; + wOldAbove = wStart; + } + else if (clientListStacking[changeStart] == + as->lastClientListStacking[changeEnd] && // lowered + // We don't animate lowering if there is no + // window above this window, since this window needs + // to be drawn on such a "host" in animPaintWindow + // (at least for now). + changeEnd < n - 1) + { + wRestacked = wChangeStart; + wStart = wRestacked; + wEnd = wChangeEnd; + wOldAbove = findWindowAtScreen + (s, as->lastClientListStacking[changeEnd+1]); + } + for (; wOldAbove && !isWinVisible(wOldAbove); + wOldAbove = wOldAbove->next) + ; + } + if (wRestacked && wStart && wEnd && wOldAbove) + { + AnimWindow *awRestacked = GET_ANIM_WINDOW(wRestacked, as); + if (awRestacked->created) + { + RestackInfo *restackInfo = calloc(1, sizeof(RestackInfo)); + if (restackInfo) + { + restackInfo->wRestacked = wRestacked; + restackInfo->wStart = wStart; + restackInfo->wEnd = wEnd; + restackInfo->wOldAbove = wOldAbove; + restackInfo->raised = raised; + + if (awRestacked->restackInfo) + free(awRestacked->restackInfo); + + awRestacked->restackInfo = restackInfo; + as->aWinWasRestackedJustNow = TRUE; + } + } + } + } + updateLastClientListStacking(s); + } + break; + default: + break; + } + + UNWRAP(ad, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP(ad, d, handleEvent, animHandleEvent); + + switch (event->type) + { + case PropertyNotify: + if (event->xproperty.atom == d->winActiveAtom && + d->activeWindow != ad->activeWindow) + { + ad->activeWindow = d->activeWindow; + w = findWindowAtDisplay(d, d->activeWindow); + + if (w) + { + int duration = 200; + AnimEffect chosenEffect = + getMatchingAnimSelection (w, WindowEventFocus, &duration); + + if (!(chosenEffect == AnimEffectFocusFade || + chosenEffect == AnimEffectDodge)) + initiateFocusAnimation(w); + } + } + break; + default: + break; + } +} + +static Bool animDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect) +{ + Bool status; + + ANIM_SCREEN(w->screen); + + if (initial) // Unminimize or Open + { + printf("animDamageWindowRect initial\n"); + + ANIM_WINDOW(w); + + int duration = 200; + AnimEffect chosenEffect; + + if (aw->state == IconicState) + { + printf("animDamageWindowRect initial - 1\n"); + chosenEffect = + getMatchingAnimSelection (w, WindowEventUnminimize, &duration); + + if (!w->invisible && + chosenEffect && + !as->pluginActive[3]) // fadedesktop + { + // UNMINIMIZE event! + + Bool startingNew = TRUE; + + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent != WindowEventMinimize) + { + printf("animDamageWindowRect initial - 4\n"); + postAnimationCleanupCustom(w, TRUE, FALSE, FALSE); + } + else + { + printf("animDamageWindowRect initial - 5\n"); + // Play the minimize effect backwards from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 1; + else if (aw->animOverrideProgressDir == 2) + aw->animOverrideProgressDir = 0; + } + } + + Bool playEffect = TRUE; + + if (startingNew) + { + printf("animDamageWindowRect initial 2\n"); + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->minimizeRandomEffects, + as->nMinimizeRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + playEffect = FALSE; + + if (playEffect) + { + printf("animDamageWindowRect initial 6\n"); + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + } + + if (playEffect) + { + printf("animDamageWindowRect initial 3\n"); + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventUnminimize; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (animEnsureModel(w)) + { + if (!animGetWindowIconGeometry(w, &aw->icon)) + { + // minimize to bottom-center if there is no window list + aw->icon.x = w->screen->width / 2; + aw->icon.y = w->screen->height; + aw->icon.width = 100; + aw->icon.height = 20; + } + + damagePendingOnScreen (w->screen); + } + else + { + postAnimationCleanup(w, TRUE); + } + } + } + } + else if (aw->nowShaded) + { + chosenEffect = + getMatchingAnimSelection (w, WindowEventUnshade, &duration); + + // UNSHADE event! + + aw->nowShaded = FALSE; + + if (chosenEffect) + { + Bool startingNew = TRUE; + + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent != WindowEventShade) + { + postAnimationCleanupCustom(w, TRUE, FALSE, FALSE); + } + else + { + // Play the shade effect backwards from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 1; + else if (aw->animOverrideProgressDir == 2) + aw->animOverrideProgressDir = 0; + } + } + + Bool playEffect = TRUE; + + if (startingNew) + { + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->shadeRandomEffects, + as->nShadeRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + playEffect = FALSE; + + if (playEffect) + { + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + } + + if (playEffect) + { + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventUnshade; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + + if (animEnsureModel(w)) + damagePendingOnScreen (w->screen); + else + postAnimationCleanup(w, TRUE); + } + } + } + else if (!w->invisible) + { + aw->created = TRUE; + + int duration = 200; + AnimEffect chosenEffect = + getMatchingAnimSelection (w, WindowEventOpen, &duration); + printf("- open event %d\n", chosenEffect); + + // OPEN event! + + if (chosenEffect && + // don't animate windows that don't have certain properties + // like the fullscreen darkening layer of gksudo + /*(w->resName || windowHasUserTime (w)) &&*/ + // don't animate darkening layer of x-session-manager + !(aw->wmName && strcasecmp (aw->wmName, "x-session-manager") == 0) && + // suppress switcher window + // (1st window that opens after switcher becomes active) + (!as->pluginActive[0] || as->switcherWinOpeningSuppressed) && + getMousePointerXY(w->screen, &aw->icon.x, &aw->icon.y)) + { + printf("- 1\n"); + + Bool startingNew = TRUE; + + if (aw->curWindowEvent != WindowEventNone) + { + if (aw->curWindowEvent != WindowEventClose) + { + postAnimationCleanupCustom(w, TRUE, FALSE, FALSE); + } + else + { + // Play the close effect backwards from where it left + aw->animRemainingTime = + aw->animTotalTime - aw->animRemainingTime; + + // avoid window remains + if (aw->animRemainingTime == 0) + aw->animRemainingTime = 1; + + startingNew = FALSE; + if (aw->animOverrideProgressDir == 0) + aw->animOverrideProgressDir = 1; + else if (aw->animOverrideProgressDir == 2) + aw->animOverrideProgressDir = 0; + } + } + + Bool playEffect = TRUE; + + if (startingNew) + { + printf("- 2 startingNew\n"); + + AnimEffect effectToBePlayed; + effectToBePlayed = animGetAnimEffect( + chosenEffect, + as->openRandomEffects, + as->nOpenRandomEffects, + as->opt[ANIM_SCREEN_OPTION_ALL_RANDOM].value.b); + + // handle empty random effect list + if (effectToBePlayed == AnimEffectNone) + playEffect = FALSE; + + if (playEffect) + { + aw->curAnimEffect = effectToBePlayed; + aw->animTotalTime = duration; + aw->animRemainingTime = aw->animTotalTime; + } + } + + if (playEffect) + { + printf("- 3 playEffect\n"); + + animActivateEvent(w->screen, TRUE); + aw->curWindowEvent = WindowEventOpen; + + aw->icon.width = FAKE_ICON_SIZE; + aw->icon.height = FAKE_ICON_SIZE; + + if (aw->curAnimEffect == AnimEffectMagicLamp) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_OPEN_START_WIDTH)); + else if (aw->curAnimEffect == AnimEffectVacuum) + aw->icon.width = + MAX(aw->icon.width, + animGetI(as, aw, ANIM_SCREEN_OPTION_VACUUM_OPEN_START_WIDTH)); + + aw->icon.x -= aw->icon.width / 2; + aw->icon.y -= aw->icon.height / 2; + + // Store coords in this viewport to omit 3d effect + // painting in other viewports + if (aw->lastKnownCoords.x != NOT_INITIALIZED) + { + aw->lastKnownCoords.x = w->attrib.x; + aw->lastKnownCoords.y = w->attrib.y; + } + if (animEnsureModel(w)) + damagePendingOnScreen (w->screen); + else + postAnimationCleanup(w, TRUE); + } + } + else if (as->pluginActive[0] && !as->switcherWinOpeningSuppressed) + { + // done suppressing open animation + as->switcherWinOpeningSuppressed = TRUE; + } + } + + aw->newState = NormalState; + } + + UNWRAP(as, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP(as, w->screen, damageWindowRect, animDamageWindowRect); + + return status; +} + +static void animWindowResizeNotify(CompWindow * w, int dx, int dy, int dwidth, int dheight) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + // Don't let transient window open anim be interrupted with a resize notify + if (!(aw->curWindowEvent == WindowEventOpen && + (w->type & + (CompWindowTypeDropdownMenuMask | + CompWindowTypePopupMenuMask | + CompWindowTypeMenuMask | + CompWindowTypeTooltipMask | + CompWindowTypeNotificationMask | + CompWindowTypeComboMask | + CompWindowTypeDndMask)))) + { + if (aw->polygonSet && !aw->animInitialized) + { + // to refresh polygon coords + freePolygonSet(aw); + } + + if (aw->animRemainingTime > 0) + { + aw->animRemainingTime = 0; + postAnimationCleanup(w, TRUE); + } + } + + if (aw->model) + { + modelInitObjects(aw->model, + WIN_X(w), WIN_Y(w), + WIN_W(w), WIN_H(w)); + } + + aw->state = w->state; + + UNWRAP(as, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP(as, w->screen, windowResizeNotify, animWindowResizeNotify); +} + +static void +animWindowMoveNotify(CompWindow * w, int dx, int dy, Bool immediate) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + if (!immediate) + { + if (!(aw->animRemainingTime > 0 && + (aw->curAnimEffect == AnimEffectFocusFade || + aw->curAnimEffect == AnimEffectDodge))) + { + CompWindow *w2; + + if (aw->polygonSet && !aw->animInitialized) + { + // to refresh polygon coords + freePolygonSet(aw); + } + if (aw->animRemainingTime > 0 && aw->grabbed) + { + aw->animRemainingTime = 0; + if (as->animInProgress) + { + Bool animStillInProgress = FALSE; + for (w2 = w->screen->windows; w2; w2 = w2->next) + { + AnimWindow *aw2; + + aw2 = GET_ANIM_WINDOW(w2, as); + if (aw2->animRemainingTime > 0) + { + animStillInProgress = TRUE; + break; + } + } + + if (!animStillInProgress) + animActivateEvent(w->screen, FALSE); + } + postAnimationCleanup(w, TRUE); + } + + if (aw->model) + { + modelInitObjects(aw->model, WIN_X(w), WIN_Y(w), WIN_W(w), + WIN_H(w)); + } + } + } + else if (aw->model) + modelMove (aw->model, dx, dy); + + UNWRAP(as, w->screen, windowMoveNotify); + (*w->screen->windowMoveNotify) (w, dx, dy, immediate); + WRAP(as, w->screen, windowMoveNotify, animWindowMoveNotify); +} + +static void +animWindowGrabNotify(CompWindow * w, + int x, int y, unsigned int state, unsigned int mask) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + aw->grabbed = TRUE; + + UNWRAP(as, w->screen, windowGrabNotify); + (*w->screen->windowGrabNotify) (w, x, y, state, mask); + WRAP(as, w->screen, windowGrabNotify, animWindowGrabNotify); +} + +static void animWindowUngrabNotify(CompWindow * w) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + aw->grabbed = FALSE; + + UNWRAP(as, w->screen, windowUngrabNotify); + (*w->screen->windowUngrabNotify) (w); + WRAP(as, w->screen, windowUngrabNotify, animWindowUngrabNotify); +} + +static Bool +animPaintOutput(CompScreen * s, + const ScreenPaintAttrib * sAttrib, + const CompTransform *transform, + Region region, CompOutput *output, + unsigned int mask) +{ + Bool status; + + ANIM_SCREEN(s); + + if (as->animInProgress) + { + // Find out if an animation running now uses depth test + Bool depthUsed = FALSE; + CompWindow *w; + for (w = s->windows; w; w = w->next) + { + ANIM_WINDOW(w); + if (aw->animRemainingTime > 0 && + aw->polygonSet && + aw->polygonSet->doDepthTest) + { + depthUsed = TRUE; + break; + } + } + if (depthUsed) + { + glClearDepth(1000.0f); + glClear(GL_DEPTH_BUFFER_BIT); + } + mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + } + + as->output = output; + + UNWRAP(as, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP(as, s, paintOutput, animPaintOutput); + + CompWindow *w; + if (as->aWinWasRestackedJustNow) + { + as->aWinWasRestackedJustNow = FALSE; + } + if (as->markAllWinCreatedCountdown > 0) + { + if (as->markAllWinCreatedCountdown == 1) + { + // Mark all windows as "created" + for (w = s->windows; w; w = w->next) + { + ANIM_WINDOW(w); + aw->created = TRUE; + } + } + as->markAllWinCreatedCountdown--; + } + + return status; +} + +static Bool animInitDisplay(CompPlugin * p, CompDisplay * d) +{ + AnimDisplay *ad; + + ad = calloc(1, sizeof(AnimDisplay)); + if (!ad) + return FALSE; + + ad->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (ad->screenPrivateIndex < 0) + { + free(ad); + return FALSE; + } + + ad->wmNameAtom = XInternAtom (d->display, "WM_NAME", 0); + ad->winIconGeometryAtom = + XInternAtom(d->display, "_NET_WM_ICON_GEOMETRY", 0); + + WRAP(ad, d, handleEvent, animHandleEvent); + WRAP(ad, d, handleEcompEvent, animHandleEcompEvent); + + d->privates[animDisplayPrivateIndex].ptr = ad; + + return TRUE; +} + +static void animFiniDisplay(CompPlugin * p, CompDisplay * d) +{ + ANIM_DISPLAY(d); + + freeScreenPrivateIndex(d, ad->screenPrivateIndex); + + UNWRAP(ad, d, handleEcompEvent); + UNWRAP(ad, d, handleEvent); + + free(ad); +} + +static Bool animInitScreen(CompPlugin * p, CompScreen * s) +{ + AnimScreen *as; + CompDisplay *d = s->display; + + ANIM_DISPLAY(d); + + as = calloc(1, sizeof(AnimScreen)); + if (!as) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &animMetadata, + animScreenOptionInfo, + as->opt, + ANIM_SCREEN_OPTION_NUM)) + { + free (as); + return FALSE; + } + + as->windowPrivateIndex = allocateWindowPrivateIndex(s); + if (as->windowPrivateIndex < 0) + { + compFiniScreenOptions (s, as->opt, ANIM_SCREEN_OPTION_NUM); + free(as); + return FALSE; + } + + as->animInProgress = FALSE; + + animStoreRandomEffectList ( + &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_RANDOM_EFFECTS].value, + minimizeEffects + RANDOM_EFFECT_OFFSET, + NUM_MINIMIZE_EFFECT - RANDOM_EFFECT_OFFSET, + as->minimizeRandomEffects, + &as->nMinimizeRandomEffects); + + animStoreRandomEffectList ( + &as->opt[ANIM_SCREEN_OPTION_CLOSE_RANDOM_EFFECTS].value, + closeEffects + RANDOM_EFFECT_OFFSET, + NUM_CLOSE_EFFECT - RANDOM_EFFECT_OFFSET, + as->closeRandomEffects, + &as->nCloseRandomEffects); + + animStoreRandomEffectList ( + &as->opt[ANIM_SCREEN_OPTION_OPEN_RANDOM_EFFECTS].value, + closeEffects + RANDOM_EFFECT_OFFSET, + NUM_CLOSE_EFFECT - RANDOM_EFFECT_OFFSET, + as->openRandomEffects, + &as->nOpenRandomEffects); + + animStoreRandomEffectList ( + &as->opt[ANIM_SCREEN_OPTION_SHADE_RANDOM_EFFECTS].value, + shadeEffects + RANDOM_EFFECT_OFFSET, + NUM_SHADE_EFFECT - RANDOM_EFFECT_OFFSET, + as->shadeRandomEffects, + &as->nShadeRandomEffects); + + as->eventOptionSets[WindowEventOpen] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventClose] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventMinimize] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventUnminimize] = + as->eventOptionSets[WindowEventMinimize]; + as->eventOptionSets[WindowEventFocus] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventShade] = calloc(1, sizeof(OptionSets)); + as->eventOptionSets[WindowEventUnshade] = + as->eventOptionSets[WindowEventShade]; + + updateOptionSets + (s, as->eventOptionSets[WindowEventOpen], + &as->opt[ANIM_SCREEN_OPTION_OPEN_OPTIONS].value.list); + updateOptionSets + (s, as->eventOptionSets[WindowEventClose], + &as->opt[ANIM_SCREEN_OPTION_CLOSE_OPTIONS].value.list); + updateOptionSets + (s, as->eventOptionSets[WindowEventMinimize], + &as->opt[ANIM_SCREEN_OPTION_MINIMIZE_OPTIONS].value.list); + updateOptionSets + (s, as->eventOptionSets[WindowEventFocus], + &as->opt[ANIM_SCREEN_OPTION_FOCUS_OPTIONS].value.list); + updateOptionSets + (s, as->eventOptionSets[WindowEventShade], + &as->opt[ANIM_SCREEN_OPTION_SHADE_OPTIONS].value.list); + + as->lastClientListStacking = NULL; + as->nLastClientListStacking = 0; + + as->output = &s->fullscreenOutput; + + WRAP(as, s, preparePaintScreen, animPreparePaintScreen); + WRAP(as, s, donePaintScreen, animDonePaintScreen); + WRAP(as, s, paintOutput, animPaintOutput); + WRAP(as, s, paintWindow, animPaintWindow); + WRAP(as, s, damageWindowRect, animDamageWindowRect); + WRAP(as, s, addWindowGeometry, animAddWindowGeometry); + WRAP(as, s, drawWindowTexture, animDrawWindowTexture); + WRAP(as, s, windowResizeNotify, animWindowResizeNotify); + WRAP(as, s, windowMoveNotify, animWindowMoveNotify); + WRAP(as, s, windowGrabNotify, animWindowGrabNotify); + WRAP(as, s, windowUngrabNotify, animWindowUngrabNotify); + + as->markAllWinCreatedCountdown = 5; // start countdown + + s->privates[ad->screenPrivateIndex].ptr = as; + + return TRUE; +} + +static void animFiniScreen(CompPlugin * p, CompScreen * s) +{ + ANIM_SCREEN(s); + + if (as->animInProgress) + animActivateEvent(s, FALSE); + + freeWindowPrivateIndex(s, as->windowPrivateIndex); + + if (as->lastClientListStacking) + free(as->lastClientListStacking); + + freeAllOptionSets(as->eventOptionSets); + + UNWRAP(as, s, preparePaintScreen); + UNWRAP(as, s, donePaintScreen); + UNWRAP(as, s, paintOutput); + UNWRAP(as, s, paintWindow); + UNWRAP(as, s, damageWindowRect); + UNWRAP(as, s, addWindowGeometry); + UNWRAP(as, s, drawWindowTexture); + UNWRAP(as, s, windowResizeNotify); + UNWRAP(as, s, windowMoveNotify); + UNWRAP(as, s, windowGrabNotify); + UNWRAP(as, s, windowUngrabNotify); + + compFiniScreenOptions (s, as->opt, ANIM_SCREEN_OPTION_NUM); + + free(as); +} + +static Bool animInitWindow(CompPlugin * p, CompWindow * w) +{ + AnimWindow *aw; + + ANIM_SCREEN(w->screen); + + aw = calloc(1, sizeof(AnimWindow)); + if (!aw) + return FALSE; + + aw->model = 0; + aw->state = w->state; + aw->animRemainingTime = 0; + aw->animInitialized = FALSE; + aw->curAnimEffect = AnimEffectNone; + aw->curWindowEvent = WindowEventNone; + aw->animOverrideProgressDir = 0; + aw->curAnimSelectionRow = -1; + + w->indexCount = 0; + + aw->polygonSet = NULL; + aw->lastKnownCoords.x = NOT_INITIALIZED; + aw->lastKnownCoords.y = NOT_INITIALIZED; + + aw->unmapCnt = 0; + aw->destroyCnt = 0; + + aw->grabbed = FALSE; + + aw->useDrawRegion = FALSE; + aw->drawRegion = NULL; + + aw->BB.x1 = aw->BB.y1 = MAXSHORT; + aw->BB.x2 = aw->BB.y2 = MINSHORT; + + if (w->shaded) + { + aw->state = aw->newState = NormalState; + aw->nowShaded = TRUE; + } + else + { + aw->state = aw->newState = animGetWindowState(w); + aw->nowShaded = FALSE; + } + + aw->wmName = animGetWindowName(w); + + w->privates[as->windowPrivateIndex].ptr = aw; + + return TRUE; +} + +static void animFiniWindow(CompPlugin * p, CompWindow * w) +{ + ANIM_WINDOW(w); + + if (aw->wmName) + free (aw->wmName); + + postAnimationCleanup(w, FALSE); + + animFreeModel(aw); + + while (aw->unmapCnt--) + unmapWindow(w); + + free(aw); +} + +static Bool animInit(CompPlugin * p) +{ + if (!compInitPluginMetadataFromInfo (&animMetadata, + p->vTable->name, + 0, 0, + animScreenOptionInfo, + ANIM_SCREEN_OPTION_NUM)) + return FALSE; + + animDisplayPrivateIndex = allocateDisplayPrivateIndex(); + if (animDisplayPrivateIndex < 0) + { + compFiniMetadata (&animMetadata); + return FALSE; + } + + compAddMetadataFromFile (&animMetadata, p->vTable->name); + + animEffectPropertiesTmp = animEffectProperties; + + return TRUE; +} + +static void animFini(CompPlugin * p) +{ + freeDisplayPrivateIndex(animDisplayPrivateIndex); + compFiniMetadata (&animMetadata); +} + +static int +animGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +animGetMetadata (CompPlugin *plugin) +{ + return &animMetadata; +} + +CompPluginVTable animVTable = { + "animation", + animGetVersion, + animGetMetadata, + animInit, + animFini, + animInitDisplay, + animFiniDisplay, + animInitScreen, + animFiniScreen, + animInitWindow, + animFiniWindow, + 0, + 0, + animGetScreenOptions, + animSetScreenOptions, +}; + +CompPluginVTable *getCompPluginInfo(void) +{ + return &animVTable; +} + diff --git a/animation/animation_tex.h b/animation/animation_tex.h new file mode 100644 index 0000000..7c193ad --- /dev/null +++ b/animation/animation_tex.h @@ -0,0 +1,222 @@ +/** + * + * Particle texture for Beryl benchmark plugin + * + * Copyright : (C) 2006 by Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + **/ + +static const unsigned char fireTex[4096] = { + "\0\0\0\0\377\377\377\3\377\377\377\2\377\377\377\5\377\377\377\7\377\377" + "\377\6\377\377\377\6\377\377\377\12\377\377\377\13\377\377\377\11\377\377" + "\377\12\377\377\377\12\377\377\377\14\377\377\377\14\377\377\377\14\377\377" + "\377\16\377\377\377\15\377\377\377\14\377\377\377\12\377\377\377\13\377\377" + "\377\13\377\377\377\11\377\377\377\12\377\377\377\12\377\377\377\10\377\377" + "\377\7\377\377\377\6\377\377\377\6\377\377\377\5\377\377\377\2\0\0\0\0\0" + "\0\0\0\377\377\377\4\377\377\377\3\377\377\377\4\377\377\377\7\377\377\377" + "\6\377\377\377\10\377\377\377\11\377\377\377\11\377\377\377\14\377\377\377" + "\14\377\377\377\15\377\377\377\16\377\377\377\20\377\377\377\21\377\377\377" + "\20\377\377\377\22\377\377\377\20\377\377\377\21\377\377\377\17\377\377\377" + "\20\377\377\377\17\377\377\377\13\377\377\377\13\377\377\377\13\377\377\377" + "\14\377\377\377\11\377\377\377\6\377\377\377\6\377\377\377\6\377\377\377" + "\4\377\377\377\1\0\0\0\0\377\377\377\5\377\377\377\4\377\377\377\6\377\377" + "\377\6\377\377\377\12\377\377\377\12\377\377\377\11\377\377\377\14\377\377" + "\377\15\377\377\377\20\377\377\377\20\377\377\377\24\377\377\377\24\377\377" + "\377\23\377\377\377\23\377\377\377\26\377\377\377\25\377\377\377\23\377\377" + "\377\21\377\377\377\24\377\377\377\22\377\377\377\17\377\377\377\17\377\377" + "\377\15\377\377\377\15\377\377\377\11\377\377\377\11\377\377\377\7\377\377" + "\377\7\377\377\377\6\377\377\377\3\377\377\377\3\377\377\377\6\377\377\377" + "\6\377\377\377\6\377\377\377\12\377\377\377\13\377\377\377\13\377\377\377" + "\13\377\377\377\17\377\377\377\22\377\377\377\24\377\377\377\22\377\377\377" + "\30\377\377\377\30\377\377\377\31\377\377\377\31\377\377\377\33\377\377\377" + "\31\377\377\377\30\377\377\377\30\377\377\377\30\377\377\377\25\377\377\377" + "\25\377\377\377\23\377\377\377\22\377\377\377\17\377\377\377\13\377\377\377" + "\12\377\377\377\11\377\377\377\7\377\377\377\6\377\377\377\5\377\377\377" + "\4\377\377\377\7\377\377\377\6\377\377\377\12\377\377\377\11\377\377\377" + "\14\377\377\377\15\377\377\377\20\377\377\377\22\377\377\377\25\377\377\377" + "\30\377\377\377\32\377\377\377\35\377\377\377\34\377\377\377\34\377\377\377" + "\36\377\377\377\40\377\377\377\36\377\377\377\34\377\377\377\34\377\377\377" + "\34\377\377\377\32\377\377\377\31\377\377\377\26\377\377\377\25\377\377\377" + "\22\377\377\377\16\377\377\377\12\377\377\377\12\377\377\377\12\377\377\377" + "\10\377\377\377\6\377\377\377\4\377\377\377\10\377\377\377\11\377\377\377" + "\12\377\377\377\13\377\377\377\16\377\377\377\21\377\377\377\22\377\377\377" + "\25\377\377\377\30\377\377\377\34\377\377\377\37\377\377\377!\377\377\377" + "\"\377\377\377#\377\377\377#\377\377\377&\377\377\377&\377\377\377$\377\377" + "\377#\377\377\377\40\377\377\377!\377\377\377\35\377\377\377\34\377\377\377" + "\25\377\377\377\24\377\377\377\21\377\377\377\15\377\377\377\14\377\377\377" + "\14\377\377\377\12\377\377\377\6\377\377\377\6\377\377\377\10\377\377\377" + "\12\377\377\377\12\377\377\377\16\377\377\377\22\377\377\377\24\377\377\377" + "\26\377\377\377\30\377\377\377\34\377\377\377\37\377\377\377#\377\377\377" + "&\377\377\377,\377\377\377+\377\377\377,\377\377\377-\377\377\377-\377\377" + "\377,\377\377\377+\377\377\377&\377\377\377)\377\377\377$\377\377\377\34" + "\377\377\377\34\377\377\377\27\377\377\377\24\377\377\377\23\377\377\377" + "\17\377\377\377\15\377\377\377\12\377\377\377\7\377\377\377\6\377\377\377" + "\12\377\377\377\12\377\377\377\16\377\377\377\21\377\377\377\22\377\377\377" + "\27\377\377\377\31\377\377\377\36\377\377\377!\377\377\377%\377\377\377(" + "\377\377\3771\377\377\3772\377\377\3775\377\377\377;\377\377\377<\377\377" + "\3779\377\377\3778\377\377\3773\377\377\3771\377\377\377-\377\377\377'\377" + "\377\377\"\377\377\377\34\377\377\377\36\377\377\377\32\377\377\377\25\377" + "\377\377\21\377\377\377\15\377\377\377\11\377\377\377\12\377\377\377\7\377" + "\377\377\13\377\377\377\14\377\377\377\17\377\377\377\21\377\377\377\31\377" + "\377\377\31\377\377\377\35\377\377\377!\377\377\377'\377\377\377+\377\377" + "\3771\377\377\377=\377\377\377E\377\377\377H\377\377\377M\377\377\377M\377" + "\377\377J\377\377\377I\377\377\377A\377\377\377A\377\377\3778\377\377\377" + ",\377\377\377%\377\377\377$\377\377\377\"\377\377\377\34\377\377\377\24\377" + "\377\377\22\377\377\377\17\377\377\377\13\377\377\377\12\377\377\377\11\377" + "\377\377\13\377\377\377\14\377\377\377\20\377\377\377\23\377\377\377\27\377" + "\377\377\35\377\377\377$\377\377\377(\377\377\377.\377\377\3776\377\377\377" + "=\377\377\377H\377\377\377W\377\377\377Y\377\377\377]\377\377\377a\377\377" + "\377\\\377\377\377\\\377\377\377U\377\377\377O\377\377\377?\377\377\3774" + "\377\377\377-\377\377\377+\377\377\377\40\377\377\377\32\377\377\377\27\377" + "\377\377\23\377\377\377\22\377\377\377\15\377\377\377\11\377\377\377\13\377" + "\377\377\12\377\377\377\15\377\377\377\21\377\377\377\25\377\377\377\30\377" + "\377\377\37\377\377\377$\377\377\377.\377\377\3779\377\377\377?\377\377\377" + "N\377\377\377X\377\377\377h\377\377\377r\377\377\377w\377\377\377|\377\377" + "\377x\377\377\377p\377\377\377k\377\377\377\\\377\377\377J\377\377\377F\377" + "\377\3779\377\377\377*\377\377\377$\377\377\377\36\377\377\377\30\377\377" + "\377\25\377\377\377\24\377\377\377\20\377\377\377\14\377\377\377\12\377\377" + "\377\15\377\377\377\17\377\377\377\22\377\377\377\27\377\377\377\34\377\377" + "\377\40\377\377\377%\377\377\377.\377\377\377<\377\377\377M\377\377\377[" + "\377\377\377l\377\377\377~\377\377\377\227\377\377\377\230\377\377\377\234" + "\377\377\377\233\377\377\377\226\377\377\377\205\377\377\377i\377\377\377" + "b\377\377\377P\377\377\3779\377\377\377-\377\377\377(\377\377\377!\377\377" + "\377\35\377\377\377\32\377\377\377\25\377\377\377\21\377\377\377\13\377\377" + "\377\12\377\377\377\15\377\377\377\21\377\377\377\23\377\377\377\31\377\377" + "\377\37\377\377\377!\377\377\377(\377\377\3774\377\377\377@\377\377\377Q" + "\377\377\377g\377\377\377\200\377\377\377\231\377\377\377\254\377\377\377" + "\275\377\377\377\310\377\377\377\304\377\377\377\264\377\377\377\227\377" + "\377\377\212\377\377\377f\377\377\377Q\377\377\377B\377\377\377:\377\377" + "\377/\377\377\377&\377\377\377\36\377\377\377\32\377\377\377\26\377\377\377" + "\21\377\377\377\14\377\377\377\12\377\377\377\17\377\377\377\22\377\377\377" + "\24\377\377\377\31\377\377\377\40\377\377\377&\377\377\377-\377\377\377:" + "\377\377\377H\377\377\377X\377\377\377k\377\377\377\220\377\377\377\252\377" + "\377\377\324\377\377\377\363\377\377\377\370\377\377\377\366\377\377\377" + "\335\377\377\377\263\377\377\377\221\377\377\377w\377\377\377b\377\377\377" + "P\377\377\377>\377\377\3770\377\377\377&\377\377\377\37\377\377\377\32\377" + "\377\377\26\377\377\377\23\377\377\377\15\377\377\377\11\377\377\377\16\377" + "\377\377\21\377\377\377\27\377\377\377\33\377\377\377\"\377\377\377(\377" + "\377\377/\377\377\377<\377\377\377N\377\377\377b\377\377\377z\377\377\377" + "\231\377\377\377\275\377\377\377\361\377\377\377\375\377\377\377\376\377" + "\377\377\376\377\377\377\370\377\377\377\316\377\377\377\240\377\377\377" + "\205\377\377\377b\377\377\377L\377\377\377<\377\377\377.\377\377\377&\377" + "\377\377\40\377\377\377\33\377\377\377\26\377\377\377\22\377\377\377\15\377" + "\377\377\12\377\377\377\16\377\377\377\22\377\377\377\24\377\377\377\32\377" + "\377\377\40\377\377\377$\377\377\377,\377\377\377:\377\377\377L\377\377\377" + "`\377\377\377|\377\377\377\231\377\377\377\310\377\377\377\372\377\377\377" + "\375\377\377\377\376\377\377\377\376\377\377\377\375\377\377\377\332\377" + "\377\377\241\377\377\377\207\377\377\377f\377\377\377R\377\377\377@\377\377" + "\3773\377\377\377+\377\377\377\"\377\377\377\35\377\377\377\30\377\377\377" + "\24\377\377\377\17\377\377\377\14\377\377\377\16\377\377\377\22\377\377\377" + "\25\377\377\377\30\377\377\377\40\377\377\377$\377\377\377,\377\377\377;" + "\377\377\377N\377\377\377e\377\377\377\206\377\377\377\246\377\377\377\327" + "\377\377\377\374\377\377\377\375\377\377\377\376\377\377\377\376\377\377" + "\377\374\377\377\377\331\377\377\377\243\377\377\377\210\377\377\377b\377" + "\377\377O\377\377\377>\377\377\377.\377\377\377&\377\377\377\40\377\377\377" + "\33\377\377\377\27\377\377\377\22\377\377\377\15\377\377\377\12\377\377\377" + "\16\377\377\377\22\377\377\377\23\377\377\377\32\377\377\377\40\377\377\377" + "'\377\377\3770\377\377\377?\377\377\377U\377\377\377h\377\377\377\200\377" + "\377\377\237\377\377\377\270\377\377\377\344\377\377\377\372\377\377\377" + "\375\377\377\377\376\377\377\377\354\377\377\377\275\377\377\377\227\377" + "\377\377\200\377\377\377e\377\377\377Q\377\377\377>\377\377\377.\377\377" + "\377%\377\377\377\40\377\377\377\33\377\377\377\26\377\377\377\22\377\377" + "\377\15\377\377\377\11\377\377\377\17\377\377\377\22\377\377\377\25\377\377" + "\377\31\377\377\377\"\377\377\377*\377\377\3773\377\377\377=\377\377\377" + "J\377\377\377^\377\377\377o\377\377\377\211\377\377\377\235\377\377\377\271" + "\377\377\377\327\377\377\377\342\377\377\377\335\377\377\377\302\377\377" + "\377\240\377\377\377\216\377\377\377k\377\377\377X\377\377\377C\377\377\377" + "9\377\377\377/\377\377\377&\377\377\377\"\377\377\377\33\377\377\377\26\377" + "\377\377\22\377\377\377\14\377\377\377\12\377\377\377\15\377\377\377\22\377" + "\377\377\31\377\377\377\35\377\377\377\37\377\377\377$\377\377\377,\377\377" + "\3777\377\377\377A\377\377\377Q\377\377\377[\377\377\377p\377\377\377\212" + "\377\377\377\231\377\377\377\242\377\377\377\253\377\377\377\251\377\377" + "\377\236\377\377\377\215\377\377\377u\377\377\377b\377\377\377O\377\377\377" + "<\377\377\3771\377\377\377)\377\377\377\"\377\377\377\34\377\377\377\32\377" + "\377\377\27\377\377\377\21\377\377\377\16\377\377\377\12\377\377\377\17\377" + "\377\377\21\377\377\377\20\377\377\377\27\377\377\377\37\377\377\377$\377" + "\377\377&\377\377\377,\377\377\3778\377\377\377B\377\377\377R\377\377\377" + "_\377\377\377k\377\377\377~\377\377\377\207\377\377\377\220\377\377\377\220" + "\377\377\377\203\377\377\377q\377\377\377_\377\377\377V\377\377\377F\377" + "\377\3777\377\377\377,\377\377\377%\377\377\377!\377\377\377\31\377\377\377" + "\25\377\377\377\22\377\377\377\17\377\377\377\14\377\377\377\11\377\377\377" + "\12\377\377\377\16\377\377\377\22\377\377\377\27\377\377\377\33\377\377\377" + "\35\377\377\377\"\377\377\377(\377\377\377/\377\377\3779\377\377\377E\377" + "\377\377L\377\377\377^\377\377\377d\377\377\377e\377\377\377k\377\377\377" + "l\377\377\377d\377\377\377a\377\377\377O\377\377\377C\377\377\377=\377\377" + "\3770\377\377\377)\377\377\377$\377\377\377\35\377\377\377\30\377\377\377" + "\25\377\377\377\22\377\377\377\16\377\377\377\12\377\377\377\13\377\377\377" + "\13\377\377\377\15\377\377\377\20\377\377\377\21\377\377\377\31\377\377\377" + "\33\377\377\377\35\377\377\377$\377\377\377)\377\377\3771\377\377\3776\377" + "\377\377@\377\377\377J\377\377\377N\377\377\377P\377\377\377S\377\377\377" + "X\377\377\377P\377\377\377J\377\377\377E\377\377\3777\377\377\377,\377\377" + "\377+\377\377\377%\377\377\377\40\377\377\377\32\377\377\377\26\377\377\377" + "\21\377\377\377\21\377\377\377\14\377\377\377\11\377\377\377\12\377\377\377" + "\13\377\377\377\11\377\377\377\14\377\377\377\21\377\377\377\23\377\377\377" + "\27\377\377\377\33\377\377\377\37\377\377\377&\377\377\377(\377\377\377*" + "\377\377\3774\377\377\3779\377\377\377<\377\377\377=\377\377\377C\377\377" + "\377E\377\377\377?\377\377\3779\377\377\377:\377\377\377.\377\377\377(\377" + "\377\377!\377\377\377!\377\377\377\35\377\377\377\31\377\377\377\24\377\377" + "\377\21\377\377\377\16\377\377\377\12\377\377\377\11\377\377\377\10\377\377" + "\377\10\377\377\377\11\377\377\377\13\377\377\377\16\377\377\377\22\377\377" + "\377\25\377\377\377\30\377\377\377\33\377\377\377\"\377\377\377!\377\377" + "\377%\377\377\377*\377\377\377-\377\377\3770\377\377\377/\377\377\3773\377" + "\377\3772\377\377\3774\377\377\377-\377\377\377,\377\377\377*\377\377\377" + "\"\377\377\377\37\377\377\377\32\377\377\377\33\377\377\377\27\377\377\377" + "\21\377\377\377\17\377\377\377\16\377\377\377\12\377\377\377\11\377\377\377" + "\6\377\377\377\10\377\377\377\12\377\377\377\11\377\377\377\15\377\377\377" + "\20\377\377\377\22\377\377\377\23\377\377\377\30\377\377\377\32\377\377\377" + "\35\377\377\377\40\377\377\377!\377\377\377%\377\377\377(\377\377\377&\377" + "\377\377)\377\377\377(\377\377\377+\377\377\377$\377\377\377!\377\377\377" + "#\377\377\377\36\377\377\377\30\377\377\377\30\377\377\377\24\377\377\377" + "\22\377\377\377\20\377\377\377\15\377\377\377\11\377\377\377\12\377\377\377" + "\6\377\377\377\6\377\377\377\7\377\377\377\7\377\377\377\11\377\377\377\12" + "\377\377\377\16\377\377\377\17\377\377\377\22\377\377\377\23\377\377\377" + "\26\377\377\377\31\377\377\377\33\377\377\377\34\377\377\377!\377\377\377" + "\40\377\377\377\"\377\377\377\"\377\377\377\"\377\377\377&\377\377\377\36" + "\377\377\377\35\377\377\377\35\377\377\377\34\377\377\377\26\377\377\377" + "\24\377\377\377\23\377\377\377\20\377\377\377\15\377\377\377\14\377\377\377" + "\13\377\377\377\7\377\377\377\5\377\377\377\6\377\377\377\7\377\377\377\6" + "\377\377\377\11\377\377\377\12\377\377\377\11\377\377\377\15\377\377\377" + "\16\377\377\377\21\377\377\377\22\377\377\377\26\377\377\377\26\377\377\377" + "\30\377\377\377\33\377\377\377\32\377\377\377\34\377\377\377\33\377\377\377" + "\32\377\377\377\37\377\377\377\31\377\377\377\31\377\377\377\27\377\377\377" + "\30\377\377\377\21\377\377\377\22\377\377\377\17\377\377\377\14\377\377\377" + "\11\377\377\377\11\377\377\377\12\377\377\377\6\377\377\377\6\377\377\377" + "\4\377\377\377\6\377\377\377\6\377\377\377\5\377\377\377\7\377\377\377\13" + "\377\377\377\11\377\377\377\12\377\377\377\16\377\377\377\21\377\377\377" + "\21\377\377\377\20\377\377\377\22\377\377\377\30\377\377\377\26\377\377\377" + "\27\377\377\377\30\377\377\377\27\377\377\377\30\377\377\377\26\377\377\377" + "\23\377\377\377\22\377\377\377\20\377\377\377\20\377\377\377\16\377\377\377" + "\14\377\377\377\11\377\377\377\11\377\377\377\10\377\377\377\6\377\377\377" + "\6\377\377\377\4\377\377\377\3\377\377\377\4\377\377\377\4\377\377\377\4" + "\377\377\377\7\377\377\377\10\377\377\377\12\377\377\377\10\377\377\377\11" + "\377\377\377\15\377\377\377\16\377\377\377\16\377\377\377\20\377\377\377" + "\23\377\377\377\21\377\377\377\23\377\377\377\22\377\377\377\22\377\377\377" + "\21\377\377\377\22\377\377\377\22\377\377\377\20\377\377\377\16\377\377\377" + "\15\377\377\377\12\377\377\377\11\377\377\377\12\377\377\377\7\377\377\377" + "\6\377\377\377\7\377\377\377\5\377\377\377\4\377\377\377\1\377\377\377\1" + "\377\377\377\3\377\377\377\3\377\377\377\6\377\377\377\7\377\377\377\6\377" + "\377\377\10\377\377\377\12\377\377\377\12\377\377\377\11\377\377\377\13\377" + "\377\377\16\377\377\377\16\377\377\377\16\377\377\377\17\377\377\377\16\377" + "\377\377\16\377\377\377\17\377\377\377\17\377\377\377\15\377\377\377\14\377" + "\377\377\12\377\377\377\11\377\377\377\12\377\377\377\12\377\377\377\7\377" + "\377\377\6\377\377\377\6\377\377\377\6\377\377\377\3\377\377\377\1\377\377" + "\377\1\0\0\0\0\0\0\0\0\377\377\377\2\377\377\377\4\377\377\377\7\377\377" + "\377\6\377\377\377\6\377\377\377\7\377\377\377\13\377\377\377\13\377\377" + "\377\10\377\377\377\11\377\377\377\11\377\377\377\11\377\377\377\15\377\377" + "\377\13\377\377\377\14\377\377\377\11\377\377\377\13\377\377\377\11\377\377" + "\377\12\377\377\377\13\377\377\377\11\377\377\377\11\377\377\377\6\377\377" + "\377\7\377\377\377\4\377\377\377\5\377\377\377\3\377\377\377\1\0\0\0\0\0" + "\0\0\0" +}; diff --git a/animation/beamup.c b/animation/beamup.c new file mode 100644 index 0000000..19aa877 --- /dev/null +++ b/animation/beamup.c @@ -0,0 +1,297 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" +#include "animation_tex.h" + +// ===================== Effect: Beam Up ========================= + +void fxBeamUpInit(CompScreen * s, CompWindow * w) +{ + int particles = WIN_W(w); + + defaultAnimInit(s, w); + ANIM_WINDOW(w); + ANIM_SCREEN(s); + if (!aw->numPs) + { + aw->ps = calloc(2, sizeof(ParticleSystem)); + if (!aw->ps) + { + postAnimationCleanup(w, TRUE); + return; + } + aw->numPs = 2; + } + initParticles(particles / 10, &aw->ps[0]); + initParticles(particles, &aw->ps[1]); + aw->ps[1].slowdown = animGetF(as, aw, ANIM_SCREEN_OPTION_BEAMUP_SLOWDOWN); + aw->ps[1].darken = 0.5; + aw->ps[1].blendMode = GL_ONE; + + aw->ps[0].slowdown = + animGetF(as, aw, ANIM_SCREEN_OPTION_BEAMUP_SLOWDOWN) / 2.0; + aw->ps[0].darken = 0.0; + aw->ps[0].blendMode = GL_ONE_MINUS_SRC_ALPHA; + + if (!aw->ps[0].tex) + glGenTextures(1, &aw->ps[0].tex); + glBindTexture(GL_TEXTURE_2D, aw->ps[0].tex); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 32, 0, + GL_RGBA, GL_UNSIGNED_BYTE, fireTex); + glBindTexture(GL_TEXTURE_2D, 0); + + if (!aw->ps[1].tex) + glGenTextures(1, &aw->ps[1].tex); + glBindTexture(GL_TEXTURE_2D, aw->ps[1].tex); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 32, 0, + GL_RGBA, GL_UNSIGNED_BYTE, fireTex); + glBindTexture(GL_TEXTURE_2D, 0); + +} + +static void +fxBeamUpGenNewFire(CompScreen * s, + CompWindow * w, + ParticleSystem * ps, + int x, + int y, + int width, + int height, + float size, + float time) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + ps->numParticles = + width / animGetI(as, aw, ANIM_SCREEN_OPTION_BEAMUP_SPACING); + float max_new = + ps->numParticles * (time / 50) * + (1.05 - animGetF(as, aw, ANIM_SCREEN_OPTION_BEAMUP_LIFE)); + int i; + Particle *part; + float rVal; + + for (i = 0; i < ps->numParticles && max_new > 0; i++) + { + part = &ps->particles[i]; + if (part->life <= 0.0f) + { + // give gt new life + rVal = (float)(random() & 0xff) / 255.0; + part->life = 1.0f; + part->fade = (rVal * (1 - animGetF(as, aw, ANIM_SCREEN_OPTION_BEAMUP_LIFE))) + + (0.2f * (1.01 - animGetF(as, aw, ANIM_SCREEN_OPTION_BEAMUP_LIFE))); // Random Fade Value + + // set size + part->width = 2.5 * animGetF(as, aw, ANIM_SCREEN_OPTION_BEAMUP_SIZE); + part->height = height; + part->w_mod = size * 0.2; + part->h_mod = size * 0.02; + + // choose random x position + rVal = (float)(random() & 0xff) / 255.0; + part->x = x + ((width > 1) ? (rVal * width) : 0); + part->y = y; + part->z = 0.0; + part->xo = part->x; + part->yo = part->y; + part->zo = part->z; + + // set speed and direction + part->xi = 0.0f; + part->yi = 0.0f; + part->zi = 0.0f; + + // set color ABAB ANIM_SCREEN_OPTION_BEAMUP_COLOR + unsigned short *c = + animGetC(as, aw, ANIM_SCREEN_OPTION_BEAMUP_COLOR); + part->r = (float)c[0] / 0xffff - + (rVal / 1.7 * (float)c[0] / 0xffff); + part->g = (float)c[1] / 0xffff - + (rVal / 1.7 * (float)c[1] / 0xffff); + part->b = (float)c[2] / 0xffff - + (rVal / 1.7 * (float)c[2] / 0xffff); + part->a = (float)c[3] / 0xffff; + + // set gravity + part->xg = 0.0f; + part->yg = 0.0f; + part->zg = 0.0f; + + ps->active = TRUE; + max_new -= 1; + } + else + { + part->xg = (part->x < part->xo) ? 1.0 : -1.0; + } + } + +} + +Bool fxBeamUpModelStep(CompScreen * s, CompWindow * w, float time) +{ + int steps; + + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + float timestep = (s->slowAnimations ? 2 : // For smooth slow-mo (refer to display.c) + as->opt[ANIM_SCREEN_OPTION_TIME_STEP_INTENSE].value.i); + + aw->timestep = timestep; + + Bool creating = (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventUnshade); + aw->remainderSteps += time / timestep; + steps = floor(aw->remainderSteps); + aw->remainderSteps -= steps; + if (!steps && aw->animRemainingTime < aw->animTotalTime) + { + // Might be interrupted in the middle. + // Therefore, if creating, schedule whole window to be damaged. + if (creating) + updateBBWindow (NULL, w); + return FALSE; + } + aw->animRemainingTime -= timestep; + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 0; // avoid sub-zero values + float new = 1 - (aw->animRemainingTime) / (aw->animTotalTime - timestep); + + if (creating) + new = 1 - new; + + if (!aw->drawRegion) + aw->drawRegion = XCreateRegion(); + if (aw->animRemainingTime > 0) + { + XRectangle rect; + + rect.x = ((new / 2) * WIN_W(w)); + rect.width = (1 - new) * WIN_W(w); + rect.y = ((new / 2) * WIN_H(w)); + rect.height = (1 - new) * WIN_H(w); + XUnionRectWithRegion(&rect, &emptyRegion, aw->drawRegion); + } + else + { + XUnionRegion(&emptyRegion, &emptyRegion, aw->drawRegion); + } + + aw->useDrawRegion = (fabs (new) > 1e-5); + + if (aw->animRemainingTime > 0 && aw->numPs) + { + fxBeamUpGenNewFire(s, w, &aw->ps[1], + WIN_X(w), WIN_Y(w) + (WIN_H(w) / 2), WIN_W(w), + creating ? + (1 - new / 2) * WIN_H(w) : + (1 - new) * WIN_H(w), + WIN_W(w) / 40.0, time); + + } + if (aw->animRemainingTime <= 0 && aw->numPs + && (aw->ps[0].active || aw->ps[1].active)) + aw->animRemainingTime = 0.001f; + + if (!aw->numPs || !aw->ps) + { + if (aw->ps) + { + finiParticles(aw->ps); + free(aw->ps); + aw->ps = NULL; + } + return TRUE; // FIXME - is this correct behaviour? + } + + int i; + Particle *part; + + aw->ps[0].x = WIN_X(w); + aw->ps[0].y = WIN_Y(w); + + for (i = 0; i < aw->ps[1].numParticles && aw->animRemainingTime > 0; i++) + { + part = &aw->ps[1].particles[i]; + part->xg = (part->x < part->xo) ? 1.0 : -1.0; + } + aw->ps[1].x = WIN_X(w); + aw->ps[1].y = WIN_Y(w); + + return TRUE; +} + +void +fxBeamupUpdateWindowAttrib(AnimScreen * as, + CompWindow *w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + float forwardProgress = 0; + if (aw->animTotalTime - aw->timestep != 0) + forwardProgress = + 1 - aw->animRemainingTime / + (aw->animTotalTime - aw->timestep); + forwardProgress = MIN(forwardProgress, 1); + forwardProgress = MAX(forwardProgress, 0); + + if (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize) + { + forwardProgress = forwardProgress * forwardProgress; + forwardProgress = forwardProgress * forwardProgress; + forwardProgress = 1 - forwardProgress; + } + + wAttrib->opacity = (GLushort) (aw->storedOpacity * (1 - forwardProgress)); +} diff --git a/animation/burn.c b/animation/burn.c new file mode 100644 index 0000000..be80a4d --- /dev/null +++ b/animation/burn.c @@ -0,0 +1,446 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" +#include "animation_tex.h" + +// ===================== Effect: Burn ========================= + +void fxBurnInit(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(s); + + modelInitObjects(aw->model, WIN_X(w), WIN_Y(w), WIN_W(w), WIN_H(w)); + if (!aw->numPs) + { + aw->ps = calloc(2, sizeof(ParticleSystem)); + if (!aw->ps) + { + postAnimationCleanup(w, TRUE); + return; + } + aw->numPs = 2; + } + initParticles(animGetI(as, aw, ANIM_SCREEN_OPTION_FIRE_PARTICLES)/ + 10, &aw->ps[0]); + initParticles(animGetI(as, aw, ANIM_SCREEN_OPTION_FIRE_PARTICLES), + &aw->ps[1]); + aw->ps[1].slowdown = animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_SLOWDOWN); + aw->ps[1].darken = 0.5; + aw->ps[1].blendMode = GL_ONE; + + aw->ps[0].slowdown = + animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_SLOWDOWN) / 2.0; + aw->ps[0].darken = 0.0; + aw->ps[0].blendMode = GL_ONE_MINUS_SRC_ALPHA; + + if (!aw->ps[0].tex) + glGenTextures(1, &aw->ps[0].tex); + glBindTexture(GL_TEXTURE_2D, aw->ps[0].tex); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 32, 0, + GL_RGBA, GL_UNSIGNED_BYTE, fireTex); + glBindTexture(GL_TEXTURE_2D, 0); + + if (!aw->ps[1].tex) + glGenTextures(1, &aw->ps[1].tex); + glBindTexture(GL_TEXTURE_2D, aw->ps[1].tex); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 32, 0, + GL_RGBA, GL_UNSIGNED_BYTE, fireTex); + glBindTexture(GL_TEXTURE_2D, 0); + + aw->animFireDirection = getAnimationDirection + (w, animGetOptVal(as, aw, ANIM_SCREEN_OPTION_FIRE_DIRECTION), FALSE); + + if (animGetB(as, aw, ANIM_SCREEN_OPTION_FIRE_CONSTANT_SPEED)) + { + aw->animTotalTime *= WIN_H(w) / 500.0; + aw->animRemainingTime *= WIN_H(w) / 500.0; + } +} + +static void +fxBurnGenNewFire(CompScreen * s, + CompWindow * w, + ParticleSystem * ps, + int x, + int y, + int width, + int height, + float size, + float time) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + float max_new = + ps->numParticles * (time / 50) * + (1.05 - animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_LIFE)); + int i; + Particle *part; + float rVal; + + for (i = 0; i < ps->numParticles && max_new > 0; i++) + { + part = &ps->particles[i]; + if (part->life <= 0.0f) + { + // give gt new life + rVal = (float)(random() & 0xff) / 255.0; + part->life = 1.0f; + part->fade = (rVal * (1 - animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_LIFE))) + + (0.2f * (1.01 - animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_LIFE))); // Random Fade Value + + // set size + part->width = animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_SIZE); + part->height = animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_SIZE) * 1.5; + rVal = (float)(random() & 0xff) / 255.0; + part->w_mod = size * rVal; + part->h_mod = size * rVal; + + // choose random position + rVal = (float)(random() & 0xff) / 255.0; + part->x = x + ((width > 1) ? (rVal * width) : 0); + rVal = (float)(random() & 0xff) / 255.0; + part->y = y + ((height > 1) ? (rVal * height) : 0); + part->z = 0.0; + part->xo = part->x; + part->yo = part->y; + part->zo = part->z; + + // set speed and direction + rVal = (float)(random() & 0xff) / 255.0; + part->xi = ((rVal * 20.0) - 10.0f); + rVal = (float)(random() & 0xff) / 255.0; + part->yi = ((rVal * 20.0) - 15.0f); + part->zi = 0.0f; + rVal = (float)(random() & 0xff) / 255.0; + + // set color ABAB ANIM_SCREEN_OPTION_FIRE_COLOR + unsigned short *c = + animGetC(as, aw, ANIM_SCREEN_OPTION_FIRE_COLOR); + if (animGetB(as, aw, ANIM_SCREEN_OPTION_FIRE_MYSTICAL)) + { + // Random colors! (aka Mystical Fire) + rVal = (float)(random() & 0xff) / 255.0; + part->r = rVal; + rVal = (float)(random() & 0xff) / 255.0; + part->g = rVal; + rVal = (float)(random() & 0xff) / 255.0; + part->b = rVal; + } + else + { + part->r = (float)c[0] / 0xffff - + (rVal / 1.7 * (float)c[0] / 0xffff); + part->g = (float)c[1] / 0xffff - + (rVal / 1.7 * (float)c[1] / 0xffff); + part->b = (float)c[2] / 0xffff - + (rVal / 1.7 * (float)c[2] / 0xffff); + } + // set transparancy + part->a = (float)c[3] / 0xffff; + + // set gravity + part->xg = (part->x < part->xo) ? 1.0 : -1.0; + part->yg = -3.0f; + part->zg = 0.0f; + + ps->active = TRUE; + max_new -= 1; + } + else + { + part->xg = (part->x < part->xo) ? 1.0 : -1.0; + } + } + +} + +static void +fxBurnGenNewSmoke(CompScreen * s, + CompWindow * w, + ParticleSystem * ps, + int x, + int y, + int width, + int height, + float size, + float time) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + float max_new = + ps->numParticles * (time / 50) * + (1.05 - animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_LIFE)); + int i; + Particle *part; + float rVal; + + for (i = 0; i < ps->numParticles && max_new > 0; i++) + { + part = &ps->particles[i]; + if (part->life <= 0.0f) + { + // give gt new life + rVal = (float)(random() & 0xff) / 255.0; + part->life = 1.0f; + part->fade = (rVal * (1 - animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_LIFE))) + + (0.2f * (1.01 - animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_LIFE))); // Random Fade Value + + // set size + part->width = animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_SIZE) * size * 5; + part->height = animGetF(as, aw, ANIM_SCREEN_OPTION_FIRE_SIZE) * size * 5; + rVal = (float)(random() & 0xff) / 255.0; + part->w_mod = -0.8; + part->h_mod = -0.8; + + // choose random position + rVal = (float)(random() & 0xff) / 255.0; + part->x = x + ((width > 1) ? (rVal * width) : 0); + rVal = (float)(random() & 0xff) / 255.0; + part->y = y + ((height > 1) ? (rVal * height) : 0); + part->z = 0.0; + part->xo = part->x; + part->yo = part->y; + part->zo = part->z; + + // set speed and direction + rVal = (float)(random() & 0xff) / 255.0; + part->xi = ((rVal * 20.0) - 10.0f); + rVal = (float)(random() & 0xff) / 255.0; + part->yi = (rVal + 0.2) * -size; + part->zi = 0.0f; + + // set color + rVal = (float)(random() & 0xff) / 255.0; + part->r = rVal / 4.0; + part->g = rVal / 4.0; + part->b = rVal / 4.0; + rVal = (float)(random() & 0xff) / 255.0; + part->a = 0.5 + (rVal / 2.0); + + // set gravity + part->xg = (part->x < part->xo) ? size : -size; + part->yg = -size; + part->zg = 0.0f; + + ps->active = TRUE; + max_new -= 1; + } + else + { + part->xg = (part->x < part->xo) ? size : -size; + } + } + +} + +Bool fxBurnModelStep(CompScreen * s, CompWindow * w, float time) +{ + int steps; + + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + Bool smoke = animGetB(as, aw, ANIM_SCREEN_OPTION_FIRE_SMOKE); + + float timestep = (s->slowAnimations ? 2 : // For smooth slow-mo (refer to display.c) + as->opt[ANIM_SCREEN_OPTION_TIME_STEP_INTENSE].value.i); + float old = 1 - (aw->animRemainingTime) / (aw->animTotalTime - timestep); + float stepSize; + + aw->remainderSteps += time / timestep; + steps = floor(aw->remainderSteps); + aw->remainderSteps -= steps; + if (!steps && aw->animRemainingTime < aw->animTotalTime) + return FALSE; + + aw->animRemainingTime -= timestep; + if (aw->animRemainingTime <= 0) + aw->animRemainingTime = 0; // avoid sub-zero values + float new = 1 - (aw->animRemainingTime) / (aw->animTotalTime - timestep); + + stepSize = new - old; + + if (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventUnshade) + { + new = 1 - new; + } + if (!aw->drawRegion) + aw->drawRegion = XCreateRegion(); + if (aw->animRemainingTime > 0) + { + XRectangle rect; + + switch (aw->animFireDirection) + { + case AnimDirectionUp: + rect.x = 0; + rect.y = 0; + rect.width = WIN_W(w); + rect.height = WIN_H(w) - (new * WIN_H(w)); + break; + case AnimDirectionRight: + rect.x = (new * WIN_W(w)); + rect.y = 0; + rect.width = WIN_W(w) - (new * WIN_W(w)); + rect.height = WIN_H(w); + break; + case AnimDirectionLeft: + rect.x = 0; + rect.y = 0; + rect.width = WIN_W(w) - (new * WIN_W(w)); + rect.height = WIN_H(w); + break; + case AnimDirectionDown: + default: + rect.x = 0; + rect.y = (new * WIN_H(w)); + rect.width = WIN_W(w); + rect.height = WIN_H(w) - (new * WIN_H(w)); + break; + } + XUnionRectWithRegion(&rect, &emptyRegion, aw->drawRegion); + } + else + { + XUnionRegion(&emptyRegion, &emptyRegion, aw->drawRegion); + } + aw->useDrawRegion = (fabs (new) > 1e-5); + + if (aw->animRemainingTime > 0 && aw->numPs) + { + switch (aw->animFireDirection) + { + case AnimDirectionUp: + if (smoke) + fxBurnGenNewSmoke(s, w, &aw->ps[0], WIN_X(w), + WIN_Y(w) + ((1 - new) * WIN_H(w)), + WIN_W(w), 1, WIN_W(w) / 40.0, time); + fxBurnGenNewFire(s, w, &aw->ps[1], WIN_X(w), + WIN_Y(w) + ((1 - new) * WIN_H(w)), + WIN_W(w), (stepSize) * WIN_H(w), + WIN_W(w) / 40.0, time); + break; + case AnimDirectionLeft: + if (smoke) + fxBurnGenNewSmoke(s, w, &aw->ps[0], + WIN_X(w) + ((1 - new) * WIN_W(w)), + WIN_Y(w), + (stepSize) * WIN_W(w), + WIN_H(w), WIN_H(w) / 40.0, time); + fxBurnGenNewFire(s, w, &aw->ps[1], + WIN_X(w) + ((1 - new) * WIN_W(w)), + WIN_Y(w), (stepSize) * WIN_W(w), + WIN_H(w), WIN_H(w) / 40.0, time); + break; + case AnimDirectionRight: + if (smoke) + fxBurnGenNewSmoke(s, w, &aw->ps[0], + WIN_X(w) + (new * WIN_W(w)), + WIN_Y(w), + (stepSize) * WIN_W(w), + WIN_H(w), WIN_H(w) / 40.0, time); + fxBurnGenNewFire(s, w, &aw->ps[1], + WIN_X(w) + (new * WIN_W(w)), + WIN_Y(w), (stepSize) * WIN_W(w), + WIN_H(w), WIN_H(w) / 40.0, time); + break; + case AnimDirectionDown: + default: + if (smoke) + fxBurnGenNewSmoke(s, w, &aw->ps[0], WIN_X(w), + WIN_Y(w) + (new * WIN_H(w)), + WIN_W(w), 1, WIN_W(w) / 40.0, time); + fxBurnGenNewFire(s, w, &aw->ps[1], WIN_X(w), + WIN_Y(w) + (new * WIN_H(w)), + WIN_W(w), (stepSize) * WIN_H(w), + WIN_W(w) / 40.0, time); + break; + } + + } + if (aw->animRemainingTime <= 0 && aw->numPs + && (aw->ps[0].active || aw->ps[1].active)) + aw->animRemainingTime = timestep; + + if (!aw->numPs || !aw->ps) + { + if (aw->ps) + { + finiParticles(aw->ps); + free(aw->ps); + aw->ps = NULL; + } + return FALSE; // FIXME - is this correct behaviour? + } + + int i; + Particle *part; + + for (i = 0; + i < aw->ps[0].numParticles && aw->animRemainingTime > 0 + && smoke; i++) + { + part = &aw->ps[0].particles[i]; + part->xg = (part->x < part->xo) ? WIN_W(w) / 40.0 : -WIN_W(w) / 40.0; + } + aw->ps[0].x = WIN_X(w); + aw->ps[0].y = WIN_Y(w); + + for (i = 0; i < aw->ps[1].numParticles && aw->animRemainingTime > 0; i++) + { + part = &aw->ps[1].particles[i]; + part->xg = (part->x < part->xo) ? 1.0 : -1.0; + } + aw->ps[1].x = WIN_X(w); + aw->ps[1].y = WIN_Y(w); + + return TRUE; +} + diff --git a/animation/curvedfold.c b/animation/curvedfold.c new file mode 100644 index 0000000..4fbb487 --- /dev/null +++ b/animation/curvedfold.c @@ -0,0 +1,184 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Curved Fold ========================= + +static void +fxCurvedFoldModelStepObject(CompWindow * w, + Model * model, + Object * object, + float forwardProgress, float curveMaxAmp) +{ + ANIM_WINDOW(w); + + float origx = w->attrib.x + (WIN_W(w) * object->gridPosition.x - + w->output.left) * model->scale.x; + float origy = w->attrib.y + (WIN_H(w) * object->gridPosition.y - + w->output.top) * model->scale.y; + + if (aw->curWindowEvent == WindowEventShade || + aw->curWindowEvent == WindowEventUnshade) + { + // Execute shade mode + + // find position in window contents + // (window contents correspond to 0.0-1.0 range) + float relPosInWinContents = + (object->gridPosition.y * WIN_H(w) - + model->topHeight) / w->height; + float relDistToCenter = fabs(relPosInWinContents - 0.5); + + if (object->gridPosition.y == 0) + { + object->position.x = origx; + object->position.y = WIN_Y(w); + } + else if (object->gridPosition.y == 1) + { + object->position.x = origx; + object->position.y = + (1 - forwardProgress) * origy + + forwardProgress * + (WIN_Y(w) + model->topHeight + model->bottomHeight); + } + else + { + object->position.x = + origx + sin(forwardProgress * M_PI / 2) * + (0.5 - object->gridPosition.x) * 2 * model->scale.x * + curveMaxAmp * + (1 - pow (pow(2 * relDistToCenter, 1.3), 2)); + object->position.y = + (1 - forwardProgress) * origy + + forwardProgress * (WIN_Y(w) + model->topHeight); + } + } + else + { + // Execute normal mode + + // find position within window borders + // (border contents correspond to 0.0-1.0 range) + float relPosInWinBorders = + (object->gridPosition.y * WIN_H(w) - + (w->output.top - w->input.top)) / BORDER_H(w); + float relDistToCenter = fabs(relPosInWinBorders - 0.5); + + // prevent top & bottom shadows from extending too much + if (relDistToCenter > 0.5) + relDistToCenter = 0.5; + + object->position.x = + origx + sin(forwardProgress * M_PI / 2) * + (0.5 - object->gridPosition.x) * 2 * model->scale.x * + curveMaxAmp * + (1 - pow (pow(2 * relDistToCenter, 1.3), 2)); + object->position.y = + (1 - forwardProgress) * origy + + forwardProgress * (BORDER_Y(w) + BORDER_H(w) / 2.0); + } +} + +Bool fxCurvedFoldModelStep(CompScreen * s, CompWindow * w, float time) +{ + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + Model *model = aw->model; + + float forwardProgress; + if ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + animGetB(as, aw, ANIM_SCREEN_OPTION_CURVED_FOLD_Z2TOM)) + { + float dummy; + fxZoomAnimProgress(as, aw, &forwardProgress, &dummy, TRUE); + } + else + forwardProgress = defaultAnimProgress(aw); + + float curveMaxAmp = + animGetF(as, aw, ANIM_SCREEN_OPTION_CURVED_FOLD_AMP) * WIN_W(w) * + pow(WIN_H(w) / (s->height * 1.2f), 0.7); + int i; + for (i = 0; i < model->numObjects; i++) + fxCurvedFoldModelStepObject + (w, + model, + &model->objects[i], + forwardProgress, + curveMaxAmp); + + return TRUE; +} + +void +fxFoldUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + if (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventClose || + ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + ((aw->curAnimEffect == AnimEffectCurvedFold && + !animGetB(as, aw, ANIM_SCREEN_OPTION_CURVED_FOLD_Z2TOM)) || + (aw->curAnimEffect == AnimEffectHorizontalFolds && + !animGetB(as, aw, ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_Z2TOM))))) + { + float forwardProgress = defaultAnimProgress(aw); + + wAttrib->opacity = + (GLushort) (aw->storedOpacity * (1 - forwardProgress)); + } + else if ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + ((aw->curAnimEffect == AnimEffectCurvedFold && + animGetB(as, aw, ANIM_SCREEN_OPTION_CURVED_FOLD_Z2TOM)) || + (aw->curAnimEffect == AnimEffectHorizontalFolds && + animGetB(as, aw, ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_Z2TOM)))) + { + fxZoomUpdateWindowAttrib(as, w, wAttrib); + } + // if shade/unshade don't do anything +} diff --git a/animation/dodge.c b/animation/dodge.c new file mode 100644 index 0000000..75f72e5 --- /dev/null +++ b/animation/dodge.c @@ -0,0 +1,316 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Dodge ========================= + +static void +fxDodgeProcessSubject (CompWindow *wCur, + Region wRegion, + Region dodgeRegion, + Bool alwaysInclude) +{ + XRectangle rect; + rect.x = WIN_X(wCur); + rect.y = WIN_Y(wCur); + rect.width = WIN_W(wCur); + rect.height = WIN_H(wCur); + Region wCurRegion = XCreateRegion(); + XUnionRectWithRegion(&rect, &emptyRegion, wCurRegion); + if (!alwaysInclude) + { + Region intersectionRegion = XCreateRegion(); + XIntersectRegion(wRegion, wCurRegion, + intersectionRegion); + if (!XEmptyRegion(intersectionRegion)) + XUnionRegion(dodgeRegion, wCurRegion, dodgeRegion); + } + else + XUnionRegion(dodgeRegion, wCurRegion, dodgeRegion); +} + +static void +fxDodgeFindDodgeBox (CompWindow *w, XRectangle *dodgeBox) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + // Find the box to be dodged, it can contain multiple windows + // when there are dialog/utility windows of subject windows + // (stacked in the moreToBePaintedNext chain) + // Then this would be a bounding box of the subject windows + // intersecting with dodger. + Region wRegion = XCreateRegion(); + Region dodgeRegion = XCreateRegion(); + + XRectangle rect; + rect.x = WIN_X(w); + rect.y = WIN_Y(w); + rect.width = WIN_W(w); + rect.height = WIN_H(w); + + int dodgeMaxAmount = (int)aw->dodgeMaxAmount; + + // to compute if subject(s) intersect with dodger w, + // enlarge dodger window's box so that it encloses all of the covered + // region during dodge movement. This corrects the animation when + // there are >1 subjects (a window with its dialog/utility windows). + switch (aw->dodgeDirection) + { + case 0: + rect.y += dodgeMaxAmount; + rect.height -= dodgeMaxAmount; + break; + case 1: + rect.height += dodgeMaxAmount; + break; + case 2: + rect.x += dodgeMaxAmount; + rect.width -= dodgeMaxAmount; + break; + case 3: + rect.width += dodgeMaxAmount; + break; + } + XUnionRectWithRegion(&rect, &emptyRegion, wRegion); + + AnimWindow *awCur; + CompWindow *wCur = aw->dodgeSubjectWin; + for (; wCur; wCur = awCur->moreToBePaintedNext) + { + fxDodgeProcessSubject(wCur, wRegion, dodgeRegion, + wCur == aw->dodgeSubjectWin); + awCur = GET_ANIM_WINDOW(wCur, as); + } + + AnimWindow *awSubj = GET_ANIM_WINDOW(aw->dodgeSubjectWin, as); + wCur = awSubj->moreToBePaintedPrev; + for (; wCur; wCur = awCur->moreToBePaintedPrev) + { + fxDodgeProcessSubject(wCur, wRegion, dodgeRegion, FALSE); + awCur = GET_ANIM_WINDOW(wCur, as); + } + + XClipBox(dodgeRegion, dodgeBox); +} + +static void +applyDodgeTransform (CompWindow * w, CompTransform *transform) +{ + ANIM_WINDOW(w); + + if (aw->isDodgeSubject) + return; + + float amount = sin(M_PI * aw->transformProgress) * aw->dodgeMaxAmount; + + if (aw->dodgeDirection > 1) // if x axis + matrixTranslate (transform, amount, 0.0f, 0.0f); + else + matrixTranslate (transform, 0.0f, amount, 0.0f); +} + +Bool +fxDodgeAnimStep (CompScreen * s, CompWindow * w, float time) +{ + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_WINDOW(w); + + aw->transformProgress = 0; + + float forwardProgress = defaultAnimProgress(aw); + if (forwardProgress > aw->transformStartProgress) + { + aw->transformProgress = + (forwardProgress - aw->transformStartProgress) / + (1 - aw->transformStartProgress); + } + + if (!aw->isDodgeSubject && !aw->dodgeSubjectWin) + compLogMessage (w->screen->display, "animation", CompLogLevelError, + "%s: %d: Dodge subject missing!", + __FILE__, __LINE__); + if (!aw->isDodgeSubject && + aw->dodgeSubjectWin && + aw->transformProgress <= 0.5f) + { + XRectangle dodgeBox; + fxDodgeFindDodgeBox (w, &dodgeBox); + + // Update dodge amount if subject window is moved during dodge + float newDodgeAmount = + DODGE_AMOUNT_BOX(dodgeBox, w, aw->dodgeDirection); + + // Only update if amount got larger + if (((newDodgeAmount > 0 && aw->dodgeMaxAmount > 0) || + (newDodgeAmount < 0 && aw->dodgeMaxAmount < 0)) && + abs(newDodgeAmount) > abs(aw->dodgeMaxAmount)) + { + aw->dodgeMaxAmount = newDodgeAmount; + } + } + + resetToIdentity (&aw->transform); + applyDodgeTransform (w, &aw->transform); + + return TRUE; +} + +void +fxDodgeUpdateWindowTransform (CompScreen *s, + CompWindow *w, + CompTransform *wTransform) +{ + ANIM_WINDOW(w); + + if (aw->isDodgeSubject) + return; + + // Apply transform to wTransform + matmul4 (wTransform->m, wTransform->m, aw->transform.m); +} + +void +fxDodgePostPreparePaintScreen(CompScreen *s, CompWindow *w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + // Only dodge subjects should be processed here + if (!aw->isDodgeSubject) + return; + + if (!aw->restackInfo) + return; + + if (aw->skipPostPrepareScreen) + return; + + // Dodgy window + CompWindow *dw; + AnimWindow *adw = NULL; + for (dw = aw->dodgeChainStart; dw; dw = adw->dodgeChainNext) + { + adw = GET_ANIM_WINDOW(dw, as); + if (!adw) + break; + // find the first dodging window that hasn't yet + // reached 50% progress yet. The subject window should be + // painted right behind that one (or right in front of it if + // the subject window is being lowered). + if (!(adw->transformProgress > 0.5f)) + break; + } + AnimWindow *awOldHost = NULL; + + if (aw->restackInfo->raised && + dw != aw->winThisIsPaintedBefore) // w's host is changing + { + if (aw->winThisIsPaintedBefore) + { + // Clear old host + awOldHost = GET_ANIM_WINDOW(aw->winThisIsPaintedBefore, as); + awOldHost->winToBePaintedBeforeThis = NULL; + } + if (dw && adw) // if a dodgy win. is still at <0.5 progress + { + // Put subject right behind adw (new host) + adw->winToBePaintedBeforeThis = w; + } + // otherwise all dodgy win.s have passed 0.5 progress + + CompWindow *wCur = w; + while (wCur) + { + AnimWindow *awCur = GET_ANIM_WINDOW(wCur, as); + awCur->winThisIsPaintedBefore = dw; // dw can be null, which is ok + wCur = awCur->moreToBePaintedNext; + } + } + else if (!aw->restackInfo->raised) + { + // Put subject right in front of dw + // But we need to find the dodgy window above dw + // (since we need to put subject *behind* another one) + + CompWindow *wDodgeChainAbove = NULL; + + if (dw && adw) // if a dodgy win. is still at <0.5 progress + { + if (adw->dodgeChainPrev) + wDodgeChainAbove = adw->dodgeChainPrev; + else + wDodgeChainAbove = aw->restackInfo->wOldAbove; + + if (!wDodgeChainAbove) + compLogMessage (s->display, "animation", CompLogLevelError, + "%s: error at line %d", __FILE__, __LINE__); + else if (aw->winThisIsPaintedBefore != + wDodgeChainAbove) // w's host is changing + { + AnimWindow *adw2 = GET_ANIM_WINDOW(wDodgeChainAbove, as); + + // Put subject right behind adw2 (new host) + adw2->winToBePaintedBeforeThis = w; + } + } + if (aw->winThisIsPaintedBefore && + aw->winThisIsPaintedBefore != wDodgeChainAbove) + { + awOldHost = GET_ANIM_WINDOW(aw->winThisIsPaintedBefore, as); + + // Clear old host + awOldHost->winToBePaintedBeforeThis = NULL; + } + // otherwise all dodgy win.s have passed 0.5 progress + + // wDodgeChainAbove can be null, which is ok + aw->winThisIsPaintedBefore = wDodgeChainAbove; + } +} + +void +fxDodgeUpdateBB (CompOutput *output, + CompWindow * w) +{ + ANIM_WINDOW(w); + + if (!aw->isDodgeSubject) + compTransformUpdateBB (output, w); +} diff --git a/animation/domino.c b/animation/domino.c new file mode 100644 index 0000000..b599785 --- /dev/null +++ b/animation/domino.c @@ -0,0 +1,271 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +void fxDomino3DInit(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(s); + + Bool isRazr = (aw->curAnimEffect == AnimEffectRazr3D); + + int fallDir; + + if (isRazr) + fallDir = getAnimationDirection + (w, animGetOptVal(as, aw, ANIM_SCREEN_OPTION_RAZR_DIRECTION), TRUE); + else + fallDir = getAnimationDirection + (w, animGetOptVal(as, aw, ANIM_SCREEN_OPTION_DOMINO_DIRECTION), + TRUE); + + int defaultGridSize = 20; + float minCellSize = 30; + int gridSizeX; + int gridSizeY; + int fallDirGridSize; + float minDistStartEdge; // half piece size in [0,1] range + float gridCellW; + float gridCellH; + float cellAspectRatio = 1.25; + + if (isRazr) + cellAspectRatio = 1; + + // Determine sensible domino piece sizes + if (fallDir == AnimDirectionDown || fallDir == AnimDirectionUp) + { + if (minCellSize > BORDER_W(w)) + minCellSize = BORDER_W(w); + if (BORDER_W(w) / defaultGridSize < minCellSize) + gridSizeX = (int)(BORDER_W(w) / minCellSize); + else + gridSizeX = defaultGridSize; + gridCellW = BORDER_W(w) / gridSizeX; + gridSizeY = (int)(BORDER_H(w) / (gridCellW * cellAspectRatio)); + if (gridSizeY == 0) + gridSizeY = 1; + gridCellH = BORDER_H(w) / gridSizeY; + fallDirGridSize = gridSizeY; + } + else + { + if (minCellSize > BORDER_H(w)) + minCellSize = BORDER_H(w); + if (BORDER_H(w) / defaultGridSize < minCellSize) + gridSizeY = (int)(BORDER_H(w) / minCellSize); + else + gridSizeY = defaultGridSize; + gridCellH = BORDER_H(w) / gridSizeY; + gridSizeX = (int)(BORDER_W(w) / (gridCellH * cellAspectRatio)); + if (gridSizeX == 0) + gridSizeX = 1; + gridCellW = BORDER_W(w) / gridSizeX; + fallDirGridSize = gridSizeX; + } + minDistStartEdge = (1.0 / fallDirGridSize) / 2; + + float thickness = MIN(gridCellW, gridCellH) / 3.5; + + if (!tessellateIntoRectangles(w, gridSizeX, gridSizeY, thickness)) + return; + + float rotAxisX = 0; + float rotAxisY = 0; + Point3d rotAxisOff = { 0, 0, thickness / 2 }; + float posX = 0; // position of standing piece + float posY = 0; + float posZ = 0; + int nFallingColumns = gridSizeX; + float gridCellHalfW = gridCellW / 2; + float gridCellHalfH = gridCellH / 2; + + switch (fallDir) + { + case AnimDirectionDown: + rotAxisX = -1; + if (isRazr) + rotAxisOff.y = -gridCellHalfH; + else + { + posY = -(gridCellHalfH + thickness); + posZ = gridCellHalfH - thickness / 2; + } + break; + case AnimDirectionLeft: + rotAxisY = -1; + if (isRazr) + rotAxisOff.x = gridCellHalfW; + else + { + posX = gridCellHalfW + thickness; + posZ = gridCellHalfW - thickness / 2; + } + nFallingColumns = gridSizeY; + break; + case AnimDirectionUp: + rotAxisX = 1; + if (isRazr) + rotAxisOff.y = gridCellHalfH; + else + { + posY = gridCellHalfH + thickness; + posZ = gridCellHalfH - thickness / 2; + } + break; + case AnimDirectionRight: + rotAxisY = 1; + if (isRazr) + rotAxisOff.x = -gridCellHalfW; + else + { + posX = -(gridCellHalfW + thickness); + posZ = gridCellHalfW - thickness / 2; + } + nFallingColumns = gridSizeY; + break; + } + + float fadeDuration; + float riseDuration; + float riseTimeRandMax = 0.2; + + if (isRazr) + { + riseDuration = (1 - riseTimeRandMax) / fallDirGridSize; + fadeDuration = riseDuration / 2; + } + else + { + fadeDuration = 0.18; + riseDuration = 0.2; + } + float *riseTimeRandSeed = calloc(nFallingColumns, sizeof(float)); + + if (!riseTimeRandSeed) + // TODO: log error here + return; + int i; + + for (i = 0; i < nFallingColumns; i++) + riseTimeRandSeed[i] = RAND_FLOAT(); + + PolygonSet *pset = aw->polygonSet; + PolygonObject *p = pset->polygons; + + for (i = 0; i < pset->nPolygons; i++, p++) + { + p->rotAxis.x = rotAxisX; + p->rotAxis.y = rotAxisY; + p->rotAxis.z = 0; + + p->finalRelPos.x = posX; + p->finalRelPos.y = posY; + p->finalRelPos.z = posZ; + + // dist. from rise-start / fall-end edge in window ([0,1] range) + float distStartEdge = 0; + + // dist. from edge perpendicular to movement (for move start time) + // so that same the blocks in same row/col. appear to knock down + // the next one + float distPerpEdge = 0; + + switch (fallDir) + { + case AnimDirectionUp: + distStartEdge = p->centerRelPos.y; + distPerpEdge = p->centerRelPos.x; + break; + case AnimDirectionRight: + distStartEdge = 1 - p->centerRelPos.x; + distPerpEdge = p->centerRelPos.y; + break; + case AnimDirectionDown: + distStartEdge = 1 - p->centerRelPos.y; + distPerpEdge = p->centerRelPos.x; + break; + case AnimDirectionLeft: + distStartEdge = p->centerRelPos.x; + distPerpEdge = p->centerRelPos.y; + break; + } + + float riseTimeRand = + riseTimeRandSeed[(int)(distPerpEdge * nFallingColumns)] * + riseTimeRandMax; + + p->moveDuration = riseDuration; + + float mult = 1; + if (fallDirGridSize > 1) + mult = ((distStartEdge - minDistStartEdge) / + (1 - 2 * minDistStartEdge)); + if (isRazr) + { + p->moveStartTime = + mult * + (1 - riseDuration - riseTimeRandMax) + riseTimeRand; + p->fadeStartTime = p->moveStartTime + riseDuration / 2; + p->finalRotAng = -180; + + p->rotAxisOffset.x = rotAxisOff.x; + p->rotAxisOffset.y = rotAxisOff.y; + p->rotAxisOffset.z = rotAxisOff.z; + } + else + { + p->moveStartTime = + mult * + (1 - riseDuration - riseTimeRandMax) + + riseTimeRand; + p->fadeStartTime = + p->moveStartTime + riseDuration - riseTimeRand + 0.03; + p->finalRotAng = -90; + } + if (p->fadeStartTime > 1 - fadeDuration) + p->fadeStartTime = 1 - fadeDuration; + p->fadeDuration = fadeDuration; + } + free(riseTimeRandSeed); + pset->doDepthTest = TRUE; + pset->doLighting = TRUE; + pset->correctPerspective = CorrectPerspectivePolygon; + + aw->animTotalTime /= DOMINO_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; +} diff --git a/animation/dream.c b/animation/dream.c new file mode 100644 index 0000000..50523f5 --- /dev/null +++ b/animation/dream.c @@ -0,0 +1,125 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +void +fxDreamAnimInit (CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (animZoomToIcon(as, aw)) + aw->animTotalTime /= ZOOM_PERCEIVED_T; + else + aw->animTotalTime /= DREAM_PERCEIVED_T; + + aw->animRemainingTime = aw->animTotalTime; + + defaultAnimInit(s, w); +} + +static void +fxDreamModelStepObject(CompWindow * w, + Model * model, Object * object, float forwardProgress) +{ + float waveAmpMax = MIN(WIN_H(w), WIN_W(w)) * 0.125f; + float waveWidth = 10.0f; + float waveSpeed = 7.0f; + + float origx = w->attrib.x + (WIN_W(w) * object->gridPosition.x - + w->output.left) * model->scale.x; + float origy = w->attrib.y + (WIN_H(w) * object->gridPosition.y - + w->output.top) * model->scale.y; + + object->position.y = origy; + object->position.x = + origx + + forwardProgress * waveAmpMax * model->scale.x * + sin(object->gridPosition.y * M_PI * waveWidth + + waveSpeed * forwardProgress); + +} + +Bool fxDreamModelStep(CompScreen * s, CompWindow * w, float time) +{ + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + Model *model = aw->model; + + float forwardProgress; + if ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + animGetB(as, aw, ANIM_SCREEN_OPTION_DREAM_Z2TOM)) + { + float dummy; + fxZoomAnimProgress(as, aw, &forwardProgress, &dummy, TRUE); + } + else + forwardProgress = defaultAnimProgress(aw); + + int i; + for (i = 0; i < model->numObjects; i++) + fxDreamModelStepObject(w, + model, + &model->objects[i], forwardProgress); + + return TRUE; +} + +void +fxDreamUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + if ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + animGetB(as, aw, ANIM_SCREEN_OPTION_DREAM_Z2TOM)) + { + fxZoomUpdateWindowAttrib(as, w, wAttrib); + return; + } + + float forwardProgress = defaultAnimProgress(aw); + + wAttrib->opacity = (GLushort) (aw->storedOpacity * (1 - forwardProgress)); +} diff --git a/animation/explode3d.c b/animation/explode3d.c new file mode 100644 index 0000000..7bd95d7 --- /dev/null +++ b/animation/explode3d.c @@ -0,0 +1,107 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +void fxExplode3DInit(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + ANIM_SCREEN(s); + + switch (animGetI(as, aw, ANIM_SCREEN_OPTION_EXPLODE3D_TESS)) + { + case PolygonTessRect: + if (!tessellateIntoRectangles(w, + animGetI(as, aw, ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_X), + animGetI(as, aw, ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_Y), + animGetF(as, aw, ANIM_SCREEN_OPTION_EXPLODE3D_THICKNESS))) + return; + break; + case PolygonTessHex: + if (!tessellateIntoHexagons(w, + animGetI(as, aw, ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_X), + animGetI(as, aw, ANIM_SCREEN_OPTION_EXPLODE3D_GRIDSIZE_Y), + animGetF(as, aw, ANIM_SCREEN_OPTION_EXPLODE3D_THICKNESS))) + return; + break; + default: + return; + } + + PolygonSet *pset = aw->polygonSet; + PolygonObject *p = pset->polygons; + double sqrt2 = sqrt(2); + + int i; + + for (i = 0; i < pset->nPolygons; i++, p++) + { + p->rotAxis.x = RAND_FLOAT(); + p->rotAxis.y = RAND_FLOAT(); + p->rotAxis.z = RAND_FLOAT(); + + float screenSizeFactor = (0.8 * DEFAULT_Z_CAMERA * s->width); + float speed = screenSizeFactor / 10 * (0.2 + RAND_FLOAT()); + + float xx = 2 * (p->centerRelPos.x - 0.5); + float yy = 2 * (p->centerRelPos.y - 0.5); + + float x = speed * 2 * (xx + 0.5 * (RAND_FLOAT() - 0.5)); + float y = speed * 2 * (yy + 0.5 * (RAND_FLOAT() - 0.5)); + + float distToCenter = sqrt(xx * xx + yy * yy) / sqrt2; + float moveMult = 1 - distToCenter; + moveMult = moveMult < 0 ? 0 : moveMult; + float zbias = 0.1; + float z = speed * 10 * + (zbias + RAND_FLOAT() * + pow(moveMult, 0.5)); + + p->finalRelPos.x = x; + p->finalRelPos.y = y; + p->finalRelPos.z = z; + p->finalRotAng = RAND_FLOAT() * 540 - 270; + } + pset->allFadeDuration = 0.3f; + pset->doDepthTest = TRUE; + pset->doLighting = TRUE; + pset->correctPerspective = CorrectPerspectivePolygon; + pset->backAndSidesFadeDur = 0.2f; + + aw->animTotalTime /= EXPLODE_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; +} + diff --git a/animation/fade.c b/animation/fade.c new file mode 100644 index 0000000..59b35ed --- /dev/null +++ b/animation/fade.c @@ -0,0 +1,53 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Fade ========================= + +void +fxFadeUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + float forwardProgress = defaultAnimProgress(aw); + + wAttrib->opacity = (GLushort) (aw->storedOpacity * (1 - forwardProgress)); +} + + diff --git a/animation/focusfade.c b/animation/focusfade.c new file mode 100644 index 0000000..816cec0 --- /dev/null +++ b/animation/focusfade.c @@ -0,0 +1,103 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Focus Fade ========================= + +// Compute the cross-fade opacity to make the effect look good with every +// window opacity value. +static GLushort +fxFocusFadeComputeOpacity(CompWindow *w, float progress, float opacity, Bool front) +{ + ANIM_WINDOW(w); + + float multiplier; + + // Reverse behavior if lowering (i.e. not raising) + if (aw->restackInfo && !aw->restackInfo->raised) + front = !front; + + if (w->alpha || (front && opacity >= 0.91f)) + multiplier = decelerateProgress(progress); + else if (opacity > 0.94f) + multiplier = decelerateProgressCustom(progress, 0.55, 1.32); + else if (opacity >= 0.91f && opacity < 0.94f) + multiplier = decelerateProgressCustom(progress, 0.62, 0.92); + else if (opacity >= 0.89f && opacity < 0.91f) + multiplier = decelerateProgress(progress); + else if (opacity >= 0.84f && opacity < 0.89f) + multiplier = decelerateProgressCustom(progress, 0.64, 0.80); + else if (opacity >= 0.79f && opacity < 0.84f) + multiplier = decelerateProgressCustom(progress, 0.67, 0.77); + else if (opacity >= 0.54f && opacity < 0.79f) + multiplier = decelerateProgressCustom(progress, 0.61, 0.69); + else + multiplier = progress;//decelerateProgressCustom(progress, 0.71, 0.73); + + multiplier = 1 - multiplier; + float finalOpacity = opacity * multiplier; + finalOpacity = MIN(finalOpacity, 1); + finalOpacity = MAX(finalOpacity, 0); + + return (GLushort)(finalOpacity * OPAQUE); +} + +void +fxFocusFadeUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + float forwardProgress = defaultAnimProgress(aw); + float opacity = aw->storedOpacity / (float)OPAQUE; + wAttrib->opacity = + fxFocusFadeComputeOpacity(w, forwardProgress, opacity, TRUE); +} + +void +fxFocusFadeUpdateWindowAttrib2(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + float forwardProgress = defaultAnimProgress(aw); + float opacity = aw->storedOpacity / (float)OPAQUE; + wAttrib->opacity = + fxFocusFadeComputeOpacity(w, 1 - forwardProgress, opacity, FALSE); +} diff --git a/animation/fold3d.c b/animation/fold3d.c new file mode 100644 index 0000000..765f59b --- /dev/null +++ b/animation/fold3d.c @@ -0,0 +1,237 @@ +/** + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Fold and Skewer added by : Tomasz Kołodziejski + * E-mail : tkolodziejski@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + **/ + +#include "animation-internal.h" + +void +fxFold3DInit (CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW (w); + ANIM_SCREEN (s); + + aw->animTotalTime /= FOLD_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; + + int gridSizeX = animGetI (as, aw, ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_X); + int gridSizeY = animGetI (as, aw, ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_Y); + + if (!tessellateIntoRectangles (w, gridSizeX, gridSizeY, 1.0f)) + return; + + PolygonSet *pset = aw->polygonSet; + PolygonObject *p = pset->polygons; + + // handle other non-zero values + int fold_in = animGetI (as, aw, ANIM_SCREEN_OPTION_FOLD3D_DIR) == 0 ? 1 : 0; + + float rows_duration; + float fduration; + + if (gridSizeY == 1) + { + fduration = 1.0f / (float)(gridSizeY + 2 * ceil (gridSizeX / 2)); + rows_duration = 0; + } + else + { + fduration = + 1.0f / (float)(gridSizeY + 2 * ceil (gridSizeX / 2) + 1 + fold_in); + rows_duration = (gridSizeY - 1 + fold_in) * fduration; + } + + float duration = fduration * 2; + float start; + int i; + int j = 0; + int k = 0; + + for (i = 0; i < pset->nPolygons; i++, p++) + { + if (i > pset->nPolygons - gridSizeX - 1) + { + // bottom row polygons + if (j < gridSizeX / 2) + { + // the left ones + start = rows_duration + duration * j++; + + p->rotAxis.y = -180; + p->finalRotAng = 180; + + p->fadeStartTime = start + fduration; + p->fadeDuration = fduration; + } + else if (j == gridSizeX / 2) + { + // the middle one + start = rows_duration + j * duration; + + p->rotAxis.y = 90; + p->finalRotAng = 90; + + p->fadeStartTime = start + fduration; + p->fadeDuration = fduration; + j++; + } + else + { + // the right ones + start = rows_duration + (j - 2) * duration + duration * k--; + + p->rotAxis.y = 180; + p->finalRotAng = 180; + + p->fadeStartTime = start + fduration; + p->fadeDuration = fduration; + } + } + else + { + // main rows + int row = i / gridSizeX; // [0; gridSizeY-1] + + start = row * fduration; + p->rotAxis.x = 180; + p->finalRelPos.y = row; // number of row, not finalRelPos!! + p->finalRotAng = 180; + + p->fadeDuration = fduration; + p->fadeStartTime = start; + + if (row < gridSizeY - 2 || fold_in) + p->fadeStartTime += fduration; + } + p->moveStartTime = start; + p->moveDuration = duration; + } + pset->doDepthTest = TRUE; + pset->doLighting = TRUE; + pset->correctPerspective = CorrectPerspectiveWindow; +} + +void +fxFold3dAnimStepPolygon (CompWindow * w, PolygonObject * p, + float forwardProgress) +{ + ANIM_SCREEN (w->screen); + ANIM_WINDOW (w); + + int dir = animGetI (as, aw, ANIM_SCREEN_OPTION_FOLD3D_DIR) == 0 ? 1 : -1; + + int gridSizeX = animGetI (as, aw, ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_X); + int gridSizeY = animGetI (as, aw, ANIM_SCREEN_OPTION_FOLD3D_GRIDSIZE_Y); + + float moveProgress = forwardProgress - p->moveStartTime; + + if (p->moveDuration > 0) + moveProgress /= p->moveDuration; + if (moveProgress < 0) + moveProgress = 0; + else if (moveProgress > 1) + moveProgress = 1; + + float const_x = BORDER_W (w) / (float)gridSizeX; // width of single piece + float const_y = BORDER_H (w) / (float)gridSizeY; // height of single piece + + p->rotAngle = dir * moveProgress * p->finalRotAng; + + if (p->rotAxis.x == 180) + { + if (p->finalRelPos.y == gridSizeY - 2) + { + // it means the last row + p->centerPos.y = + p->centerPosStart.y + const_y / 2.0f - + cos (p->rotAngle * M_PI / 180.0f) * const_y / 2.0f; + p->centerPos.z = + p->centerPosStart.z + + 1.0f / w->screen->width * (sin (-p->rotAngle * M_PI / 180.0f) * + const_y / 2.0f); + } + else + { + // rows + if (fabs (p->rotAngle) < 90) + { + // 1. rotate 90 + p->centerPos.y = + p->centerPosStart.y + const_y / 2.0f - + cos (p->rotAngle * M_PI / 180.0f) * const_y / 2.0f; + p->centerPos.z = + p->centerPosStart.z + + 1.0f / w->screen->width * + (sin (-p->rotAngle * M_PI / 180.0f) * const_y / 2.0f); + } + else + { + // 2. rotate faster 180 + float alpha = p->rotAngle - dir * 90; // [0 - 45] + float alpha2 = 2 * alpha; // [0 - 90] + + p->rotAngle = (p->rotAngle - dir * 90) * 2 + dir * 90; + + p->centerPos.y = + p->centerPosStart.y + const_y / 2.0f + const_y - + cos (alpha * M_PI / 180.0f) * const_y + dir * + sin (alpha2 * M_PI / 180.0f) * const_y / 2.0f; + + p->centerPos.z = + p->centerPosStart.z + + 1.0f / w->screen->width * + (-sin (alpha * M_PI / 180.0f) * const_y - dir * + cos (alpha2 * M_PI / 180.0f) * const_y / 2.0f); + } + } + } + else if (p->rotAxis.y == -180) + { + // simple blocks left + p->centerPos.x = + p->centerPosStart.x + const_x / 2.0f - + cos (p->rotAngle * M_PI / 180.0f) * const_x / 2.0f; + + p->centerPos.z = + p->centerPosStart.z - + 1.0f / w->screen->width * (sin (p->rotAngle * M_PI / 180.0f) * + const_x / 2.0f); + } + else if (p->rotAxis.y == 180) + { + // simple blocks right + p->centerPos.x = + p->centerPosStart.x - const_x / 2.0f + + cos (-p->rotAngle * M_PI / 180.0f) * const_x / 2.0f; + + p->centerPos.z = + p->centerPosStart.z + + 1.0f / w->screen->width * (sin (-p->rotAngle * M_PI / 180.0f) * + const_x / 2.0f); + } +} diff --git a/animation/glide.c b/animation/glide.c new file mode 100644 index 0000000..63bde01 --- /dev/null +++ b/animation/glide.c @@ -0,0 +1,318 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Glide ========================= + +static void +fxGlideGetParams (AnimScreen *as, + AnimWindow *aw, + float *finalDistFac, + float *finalRotAng, + float *thickness) +{ + if (aw->curAnimEffect == AnimEffectGlide3D1) + { + *finalDistFac = animGetF(as, aw, ANIM_SCREEN_OPTION_GLIDE1_AWAY_POS); + *finalRotAng = animGetF(as, aw, ANIM_SCREEN_OPTION_GLIDE1_AWAY_ANGLE); + *thickness = animGetF(as, aw, ANIM_SCREEN_OPTION_GLIDE1_THICKNESS); + } + else + { + *finalDistFac = animGetF(as, aw, ANIM_SCREEN_OPTION_GLIDE2_AWAY_POS); + *finalRotAng = animGetF(as, aw, ANIM_SCREEN_OPTION_GLIDE2_AWAY_ANGLE); + *thickness = animGetF(as, aw, ANIM_SCREEN_OPTION_GLIDE2_THICKNESS); + } +} + +Bool +fxGlideIsPolygonBased (AnimScreen *as, AnimWindow *aw) +{ + if (aw->curAnimEffect == AnimEffectGlide3D1) + return (animGetF(as, aw, ANIM_SCREEN_OPTION_GLIDE1_THICKNESS) > 1e-5); + else + return (animGetF(as, aw, ANIM_SCREEN_OPTION_GLIDE2_THICKNESS) > 1e-5); +} + +static inline Bool +fxGlideZoomToTaskBar (AnimScreen *as, AnimWindow *aw) +{ + return + (aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + ((aw->curAnimEffect == AnimEffectGlide3D1 && + animGetB(as, aw, ANIM_SCREEN_OPTION_GLIDE1_Z2TOM)) || + (aw->curAnimEffect == AnimEffectGlide3D2 && + animGetB(as, aw, ANIM_SCREEN_OPTION_GLIDE2_Z2TOM))); +} + +Bool +fxGlideLetOthersDrawGeoms(CompScreen *s, CompWindow *w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + return !fxGlideIsPolygonBased(as, aw); +} + +float fxGlideAnimProgress(AnimWindow * aw) +{ + float forwardProgress = defaultAnimProgress(aw); + + return decelerateProgress(forwardProgress); +} + +// Scales z by 0 and does perspective distortion so that it +// looks the same wherever on screen +static void +resetAndPerspectiveDistortOnZ (CompTransform *wTransform, float v) +{ + /* + This does + wTransform = M * wTransform, where M is + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 0, v, + 0, 0, 0, 1 + */ + float *m = wTransform->m; + m[8] = v * m[12]; + m[9] = v * m[13]; + m[10] = v * m[14]; + m[11] = v * m[15]; +} + +static void +applyGlideTransform (CompWindow *w, CompTransform *transform) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + float finalDistFac; + float finalRotAng; + float thickness; + + fxGlideGetParams(as, aw, &finalDistFac, &finalRotAng, &thickness); + + float forwardProgress; + if (fxGlideZoomToTaskBar(as, aw)) + { + float dummy; + fxZoomAnimProgress(as, aw, &forwardProgress, &dummy, TRUE); + } + else + forwardProgress = fxGlideAnimProgress(aw); + + float finalz = finalDistFac * 0.8 * DEFAULT_Z_CAMERA * + w->screen->width; + + Vector3d rotAxis = {1, 0, 0}; + Point3d rotAxisOffset = + {WIN_X(w) + WIN_W(w) / 2.0f, + WIN_Y(w) + WIN_H(w) / 2.0f, + 0}; + Point3d translation = {0, 0, finalz * forwardProgress}; + + float rotAngle = finalRotAng * forwardProgress; + aw->glideModRotAngle = fmodf(rotAngle + 720, 360.0f); + + // put back to window position + matrixTranslate (transform, rotAxisOffset.x, rotAxisOffset.y, 0); + + resetAndPerspectiveDistortOnZ (transform, -1.0 / w->screen->width); + + // animation movement + matrixTranslate (transform, translation.x, translation.y, translation.z); + + // animation rotation + matrixRotate (transform, rotAngle, rotAxis.x, rotAxis.y, rotAxis.z); + + // intentional scaling of z by 0 to prevent weird opacity results and + // flashing that happen when z coords are between 0 and 1 (bug in ecomp?) + matrixScale (transform, 1.0f, 1.0f, 0.0f); + + // place window rotation axis at origin + matrixTranslate (transform, -rotAxisOffset.x, -rotAxisOffset.y, 0); +} + +Bool fxGlideAnimStep(CompScreen * s, CompWindow * w, float time) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (fxGlideIsPolygonBased(as, aw)) + return polygonsAnimStep(s, w, time); + else + { + if (!defaultAnimStep(s, w, time)) + return FALSE; + + applyGlideTransform (w, &aw->transform); + + return TRUE; + } +} + +void +fxGlideUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + if (fxGlideIsPolygonBased(as, aw)) + return; + + // the effect is CompTransform-based + + if (fxGlideZoomToTaskBar(as, aw)) + { + fxZoomUpdateWindowAttrib(as, w, wAttrib); + return; + } + + float forwardProgress = fxGlideAnimProgress(aw); + + wAttrib->opacity = aw->storedOpacity * (1 - forwardProgress); +} + +void +fxGlideUpdateWindowTransform (CompScreen *s, + CompWindow *w, + CompTransform *wTransform) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (fxGlideIsPolygonBased (as, aw)) + return; + + // apply the transform + matmul4 (wTransform->m, wTransform->m, aw->transform.m); +} + +void fxGlideInit(CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (fxGlideZoomToTaskBar(as, aw)) + { + aw->animTotalTime /= ZOOM_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; + } + + if (!fxGlideIsPolygonBased(as, aw)) + { + defaultAnimInit (s, w); + return; // we're done with CompTransform-based glide initialization + } + + // for polygon-based glide effect + + float finalDistFac; + float finalRotAng; + float thickness; + + fxGlideGetParams(as, aw, &finalDistFac, &finalRotAng, &thickness); + + PolygonSet *pset = aw->polygonSet; + + pset->includeShadows = (thickness < 1e-5); + + if (!tessellateIntoRectangles(w, 1, 1, thickness)) + return; + + PolygonObject *p = pset->polygons; + + int i; + + for (i = 0; i < pset->nPolygons; i++, p++) + { + p->rotAxis.x = 1; + p->rotAxis.y = 0; + p->rotAxis.z = 0; + + p->finalRelPos.x = 0; + p->finalRelPos.y = 0; + p->finalRelPos.z = finalDistFac * 0.8 * DEFAULT_Z_CAMERA * s->width; + + p->finalRotAng = finalRotAng; + } + pset->allFadeDuration = 1.0f; + pset->backAndSidesFadeDur = 0.2f; + pset->doLighting = TRUE; + pset->correctPerspective = CorrectPerspectivePolygon; +} + +void fxGlidePrePaintWindow(CompScreen *s, + CompWindow *w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (fxGlideIsPolygonBased(as, aw)) + polygonsPrePaintWindow(s, w); + else if (90 < aw->glideModRotAngle && + aw->glideModRotAngle < 270) + glCullFace(GL_FRONT); +} + +void fxGlidePostPaintWindow(CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if (fxGlideIsPolygonBased(as, aw)) + polygonsPostPaintWindow(s, w); + else if (90 < aw->glideModRotAngle && + aw->glideModRotAngle < 270) + glCullFace(GL_BACK); +} + +void +fxGlideUpdateBB (CompOutput *output, + CompWindow *w) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + if (fxGlideIsPolygonBased (as, aw)) + polygonsUpdateBB (output, w); + else + compTransformUpdateBB (output, w); +} diff --git a/animation/horizontalfold.c b/animation/horizontalfold.c new file mode 100644 index 0000000..89706c3 --- /dev/null +++ b/animation/horizontalfold.c @@ -0,0 +1,156 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Horizontal Folds ========================= + + +void +fxHorizontalFoldsInitGrid(AnimScreen *as, + AnimWindow *aw, + int *gridWidth, int *gridHeight) +{ + *gridWidth = 2; + if (aw->curWindowEvent == WindowEventShade || + aw->curWindowEvent == WindowEventUnshade) + *gridHeight = 3 + 2 * + animGetI(as, aw, ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_NUM_FOLDS); + else + *gridHeight = 1 + 2 * + animGetI(as, aw, ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_NUM_FOLDS); +} + +static void +fxHorizontalFoldsModelStepObject(CompWindow * w, + Model * model, + Object * object, + float forwardProgress, + float curveMaxAmp, int rowNo) +{ + ANIM_WINDOW(w); + + float origx = w->attrib.x + (WIN_W(w) * object->gridPosition.x - + w->output.left) * model->scale.x; + float origy = w->attrib.y + (WIN_H(w) * object->gridPosition.y - + w->output.top) * model->scale.y; + + if (aw->curWindowEvent == WindowEventShade || + aw->curWindowEvent == WindowEventUnshade) + { + // Execute shade mode + + float relDistToFoldCenter = (rowNo % 2 == 1 ? 0.5 : 0); + + if (object->gridPosition.y == 0) + { + object->position.x = origx; + object->position.y = WIN_Y(w); + } + else if (object->gridPosition.y == 1) + { + object->position.x = origx; + object->position.y = + (1 - forwardProgress) * origy + + forwardProgress * + (WIN_Y(w) + model->topHeight + model->bottomHeight); + } + else + { + object->position.x = + origx + sin(forwardProgress * M_PI / 2) * + (0.5 - + object->gridPosition.x) * 2 * model->scale.x * + (curveMaxAmp - + curveMaxAmp * 4 * relDistToFoldCenter * + relDistToFoldCenter); + object->position.y = + (1 - forwardProgress) * origy + + forwardProgress * (WIN_Y(w) + model->topHeight); + } + } + else + { // Execute normal mode + + float relDistToFoldCenter; + + relDistToFoldCenter = (rowNo % 2 == 0 ? 0.5 : 0); + + object->position.x = + origx + sin(forwardProgress * M_PI / 2) * + (0.5 - object->gridPosition.x) * 2 * model->scale.x * + (curveMaxAmp - curveMaxAmp * 4 * + relDistToFoldCenter * relDistToFoldCenter); + object->position.y = + (1 - forwardProgress) * origy + + forwardProgress * (BORDER_Y(w) + BORDER_H(w) / 2.0); + } +} + +Bool +fxHorizontalFoldsModelStep(CompScreen * s, CompWindow * w, float time) +{ + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + Model *model = aw->model; + + float forwardProgress; + if ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + animGetB(as, aw, ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_Z2TOM)) + { + float dummy; + fxZoomAnimProgress(as, aw, &forwardProgress, &dummy, TRUE); + } + else + forwardProgress = defaultAnimProgress(aw); + + int i; + for (i = 0; i < model->numObjects; i++) + fxHorizontalFoldsModelStepObject(w, + model, + &model->objects[i], + forwardProgress, + animGetF(as, aw, ANIM_SCREEN_OPTION_HORIZONTAL_FOLDS_AMP) * + WIN_W(w), + i / model->gridWidth); + + return TRUE; +} diff --git a/animation/leafspread.c b/animation/leafspread.c new file mode 100644 index 0000000..b83f8c4 --- /dev/null +++ b/animation/leafspread.c @@ -0,0 +1,100 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +void fxLeafSpread3DInit(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + + if (!tessellateIntoRectangles(w, 20, 14, 15.0f)) + return; + + PolygonSet *pset = aw->polygonSet; + PolygonObject *p = pset->polygons; + float fadeDuration = 0.26; + float life = 0.4; + float spreadFac = 3.5; + float randYMax = 0.07; + float winFacX = WIN_W(w) / 800.0; + float winFacY = WIN_H(w) / 800.0; + float winFacZ = (WIN_H(w) + WIN_W(w)) / 2.0 / 800.0; + + int i; + + for (i = 0; i < pset->nPolygons; i++, p++) + { + p->rotAxis.x = RAND_FLOAT(); + p->rotAxis.y = RAND_FLOAT(); + p->rotAxis.z = RAND_FLOAT(); + + float screenSizeFactor = (0.8 * DEFAULT_Z_CAMERA * s->width); + float speed = screenSizeFactor / 10 * (0.2 + RAND_FLOAT()); + + float xx = 2 * (p->centerRelPos.x - 0.5); + float yy = 2 * (p->centerRelPos.y - 0.5); + + float x = + speed * winFacX * spreadFac * (xx + + 0.5 * (RAND_FLOAT() - 0.5)); + float y = + speed * winFacY * spreadFac * (yy + + 0.5 * (RAND_FLOAT() - 0.5)); + float z = speed * winFacZ * 7 * ((RAND_FLOAT() - 0.5) / 0.5); + + p->finalRelPos.x = x; + p->finalRelPos.y = y; + p->finalRelPos.z = z; + + p->moveStartTime = + p->centerRelPos.y * (1 - fadeDuration - randYMax) + + randYMax * RAND_FLOAT(); + p->moveDuration = 1; + + p->fadeStartTime = p->moveStartTime + life; + if (p->fadeStartTime > 1 - fadeDuration) + p->fadeStartTime = 1 - fadeDuration; + p->fadeDuration = fadeDuration; + + p->finalRotAng = 150; + } + pset->doDepthTest = TRUE; + pset->doLighting = TRUE; + pset->correctPerspective = CorrectPerspectivePolygon; + + aw->animTotalTime /= LEAFSPREAD_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; +} diff --git a/animation/magiclamp.c b/animation/magiclamp.c new file mode 100644 index 0000000..0830469 --- /dev/null +++ b/animation/magiclamp.c @@ -0,0 +1,316 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +void +fxMagicLampInitGrid(AnimScreen *as, AnimWindow *aw, + int *gridWidth, int *gridHeight) +{ + *gridWidth = 2; + *gridHeight = animGetI(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_GRID_RES); +} +void +fxVacuumInitGrid(AnimScreen * as, AnimWindow *aw, + int *gridWidth, int *gridHeight) +{ + *gridWidth = 2; + *gridHeight = animGetI(as, aw, ANIM_SCREEN_OPTION_VACUUM_GRID_RES); +} + +void fxMagicLampInit(CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + Model *model = aw->model; + + int screenHeight = s->height; + aw->minimizeToTop = (WIN_Y(w) + WIN_H(w) / 2) > + (aw->icon.y + aw->icon.height / 2); + int maxWaves; + float waveAmpMin, waveAmpMax; + + /* if (aw->curAnimEffect == AnimEffectMagicLamp) + { + maxWaves = animGetI(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_MAX_WAVES); + waveAmpMin = + animGetF(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_WAVE_AMP_MIN); + waveAmpMax = + animGetF(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_WAVE_AMP_MAX); + } + else*/ + { + maxWaves = 0; + waveAmpMin = 0; + waveAmpMax = 0; + } + if (waveAmpMax < waveAmpMin) + waveAmpMax = waveAmpMin; + + if (maxWaves > 0) + { + float distance; + + if (aw->minimizeToTop) + distance = WIN_Y(w) + WIN_H(w) - aw->icon.y; + else + distance = aw->icon.y - WIN_Y(w); + + // Initialize waves + model->magicLampWaveCount = + 1 + (float)maxWaves *distance / screenHeight; + + if (!(model->magicLampWaves)) + model->magicLampWaves = + calloc(model->magicLampWaveCount, sizeof(WaveParam)); + + int ampDirection = (RAND_FLOAT() < 0.5 ? 1 : -1); + int i; + float minHalfWidth = 0.22f; + float maxHalfWidth = 0.38f; + + for (i = 0; i < model->magicLampWaveCount; i++) + { + model->magicLampWaves[i].amp = + ampDirection * (waveAmpMax - waveAmpMin) * + rand() / RAND_MAX + ampDirection * waveAmpMin; + model->magicLampWaves[i].halfWidth = + RAND_FLOAT() * (maxHalfWidth - + minHalfWidth) + minHalfWidth; + + // avoid offset at top and bottom part by added waves + float availPos = 1 - 2 * model->magicLampWaves[i].halfWidth; + float posInAvailSegment = 0; + + if (i > 0) + posInAvailSegment = + (availPos / + model->magicLampWaveCount) * rand() / RAND_MAX; + + model->magicLampWaves[i].pos = + (posInAvailSegment + + i * availPos / model->magicLampWaveCount + + model->magicLampWaves[i].halfWidth); + + // switch wave direction + ampDirection *= -1; + } + } + else + model->magicLampWaveCount = 0; +} + +static void +fxMagicLampModelStepObject(CompWindow * w, + Model * model, + Object * object, + float forwardProgress) +{ + ANIM_WINDOW(w); + + float iconCloseEndY; + float iconFarEndY; + float winFarEndY; + float winVisibleCloseEndY; + + if (aw->minimizeToTop) + { + iconFarEndY = aw->icon.y; + iconCloseEndY = aw->icon.y + aw->icon.height; + winFarEndY = WIN_Y(w) + WIN_H(w); + winVisibleCloseEndY = WIN_Y(w); + if (winVisibleCloseEndY < iconCloseEndY) + winVisibleCloseEndY = iconCloseEndY; + } + else + { + iconFarEndY = aw->icon.y + aw->icon.height; + iconCloseEndY = aw->icon.y; + winFarEndY = WIN_Y(w); + winVisibleCloseEndY = WIN_Y(w) + WIN_H(w); + if (winVisibleCloseEndY > iconCloseEndY) + winVisibleCloseEndY = iconCloseEndY; + } + + float preShapePhaseEnd = 0.22f; + float stretchPhaseEnd = + preShapePhaseEnd + (1 - preShapePhaseEnd) * + (iconCloseEndY - + winVisibleCloseEndY) / ((iconCloseEndY - winFarEndY) + + (iconCloseEndY - winVisibleCloseEndY)); + if (stretchPhaseEnd < preShapePhaseEnd + 0.1) + stretchPhaseEnd = preShapePhaseEnd + 0.1; + + float origx = w->attrib.x + (WIN_W(w) * object->gridPosition.x - + w->output.left) * model->scale.x; + float origy = w->attrib.y + (WIN_H(w) * object->gridPosition.y - + w->output.top) * model->scale.y; + + float iconShadowLeft = + ((float)(w->output.left - w->input.left)) * + aw->icon.width / w->width; + float iconShadowRight = + ((float)(w->output.right - w->input.right)) * + aw->icon.width / w->width; + float iconx = + (aw->icon.x - iconShadowLeft) + + (aw->icon.width + iconShadowLeft + iconShadowRight) * + object->gridPosition.x; + float icony = aw->icon.y + aw->icon.height * object->gridPosition.y; + + float stretchedPos; + + if (aw->minimizeToTop) + stretchedPos = + object->gridPosition.y * origy + + (1 - object->gridPosition.y) * icony; + else + stretchedPos = + (1 - object->gridPosition.y) * origy + + object->gridPosition.y * icony; + + if (forwardProgress < preShapePhaseEnd) + { + float preShapeProgress = forwardProgress / preShapePhaseEnd; + float stretchProgress = forwardProgress / stretchPhaseEnd; + float fx = (iconCloseEndY - object->position.y) / + (iconCloseEndY - winFarEndY); + float fy = (sigmoid(fx) - sigmoid(0)) / (sigmoid(1) - sigmoid(0)); + float targetx = fy * (origx - iconx) + iconx; + + int i; + for (i = 0; i < model->magicLampWaveCount; i++) + { + float cosfx = + (fx - model->magicLampWaves[i].pos) / + model->magicLampWaves[i].halfWidth; + if (cosfx < -1 || cosfx > 1) + continue; + targetx += + model->magicLampWaves[i].amp * model->scale.x * + (cos(cosfx * M_PI) + 1) / 2; + } + preShapeProgress = 1 - decelerateProgress(1 - preShapeProgress); + object->position.x = + (1 - preShapeProgress) * origx + preShapeProgress * targetx; + object->position.y = + (1 - stretchProgress) * origy + + stretchProgress * stretchedPos; + } + else + { + if (forwardProgress < stretchPhaseEnd) + { + float stretchProgress = forwardProgress / stretchPhaseEnd; + + object->position.y = + (1 - stretchProgress) * origy + + stretchProgress * stretchedPos; + } + else + { + float postStretchProgress = + (forwardProgress - stretchPhaseEnd) / (1 - stretchPhaseEnd); + + object->position.y = + (1 - postStretchProgress) * + stretchedPos + + postStretchProgress * + (stretchedPos + (iconCloseEndY - winFarEndY)); + } + float fx = + (iconCloseEndY - object->position.y) / (iconCloseEndY - + winFarEndY); + float fy = (sigmoid(fx) - sigmoid(0)) / (sigmoid(1) - sigmoid(0)); + + int i; + + object->position.x = fy * (origx - iconx) + iconx; + for (i = 0; i < model->magicLampWaveCount; i++) + { + float cosfx = + (fx - + model->magicLampWaves[i].pos) / + model->magicLampWaves[i].halfWidth; + if (cosfx < -1 || cosfx > 1) + continue; + object->position.x += + model->magicLampWaves[i].amp * model->scale.x * + (cos(cosfx * M_PI) + 1) / 2; + } + } + if (aw->minimizeToTop) + { + if (object->position.y < iconFarEndY) + object->position.y = iconFarEndY; + } + else + { + if (object->position.y > iconFarEndY) + object->position.y = iconFarEndY; + } +} + +Bool fxMagicLampModelStep(CompScreen * s, CompWindow * w, float time) +{ + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + Model *model = aw->model; + + if ((aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventClose) && + ((aw->curAnimEffect == AnimEffectMagicLamp && + animGetB(as, aw, ANIM_SCREEN_OPTION_MAGIC_LAMP_MOVING_END)) || + (aw->curAnimEffect == AnimEffectVacuum && + animGetB(as, aw, ANIM_SCREEN_OPTION_VACUUM_MOVING_END)))) + { + // Update icon position + getMousePointerXY(s, &aw->icon.x, &aw->icon.y); + } + float forwardProgress = defaultAnimProgress(aw); + + int i; + for (i = 0; i < model->numObjects; i++) + fxMagicLampModelStepObject(w, model, &model->objects[i], + forwardProgress); + + return TRUE; +} diff --git a/animation/options.c b/animation/options.c new file mode 100644 index 0000000..d6b3949 --- /dev/null +++ b/animation/options.c @@ -0,0 +1,362 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ================= Option Related Functions ================= + +CompOptionValue * +animGetOptVal(AnimScreen *as, + AnimWindow *aw, + int optionId) +{ + OptionSet *os = + &as->eventOptionSets[aw->curWindowEvent]->sets[aw->curAnimSelectionRow]; + IdValuePair *pair = os->pairs; + + int i; + for (i = 0; i < os->nPairs; i++, pair++) + if (pair->id == optionId) + return &pair->value; + return &as->opt[optionId].value; +} + +inline Bool +animGetB(AnimScreen *as, + AnimWindow *aw, + int optionId) +{ + return animGetOptVal(as, aw, optionId)->b; +} + +inline int +animGetI(AnimScreen *as, + AnimWindow *aw, + int optionId) +{ + return animGetOptVal(as, aw, optionId)->i; +} + +inline float +animGetF(AnimScreen *as, + AnimWindow *aw, + int optionId) +{ + return animGetOptVal(as, aw, optionId)->f; +} + +inline char * +animGetS(AnimScreen *as, + AnimWindow *aw, + int optionId) +{ + return animGetOptVal(as, aw, optionId)->s; +} + +inline unsigned short * +animGetC(AnimScreen *as, + AnimWindow *aw, + int optionId) +{ + return animGetOptVal(as, aw, optionId)->c; +} + +static +void freeSingleEventOptionSets(OptionSets *oss) +{ + int j; + for (j = 0; j < oss->nSets; j++) + if (oss->sets[j].pairs) + free(oss->sets[j].pairs); + free (oss->sets); + oss->sets = NULL; +} + +void +freeAllOptionSets(OptionSets **eventsOss) +{ + int i; + for (i = 0; i < NUM_EVENTS; i++) + { + OptionSets *oss = eventsOss[i]; + if (!oss->sets) + continue; + freeSingleEventOptionSets(oss); + } + free (eventsOss[WindowEventOpen]); + free (eventsOss[WindowEventClose]); + free (eventsOss[WindowEventMinimize]); + free (eventsOss[WindowEventFocus]); + free (eventsOss[WindowEventShade]); + + for (i = 0; i < NUM_EVENTS; i++) + eventsOss[i] = NULL; +} + +static void +updateOptionSet(CompScreen *s, OptionSet *os, char *optNamesValuesOrig) +{ + ANIM_SCREEN(s); + int len = strlen(optNamesValuesOrig); + char *optNamesValues = calloc(len + 1, 1); + + // Find the first substring with no spaces in it + sscanf(optNamesValuesOrig, " %s ", optNamesValues); + if (strlen(optNamesValues) == 0) + { + free(optNamesValues); + return; + } + // Backup original, since strtok is destructive + strcpy(optNamesValues, optNamesValuesOrig); + + char *name; + char *nameTrimmed = calloc(len + 1, 1); + char *valueStr = NULL; + char *betweenPairs = ","; + char *betweenOptVal = "="; + + // Count number of pairs + char *pairToken = optNamesValuesOrig; + int nPairs = 1; + + while ((pairToken = strchr(pairToken, betweenPairs[0]))) + { + pairToken++; // skip delimiter + nPairs++; + } + + if (os->pairs) + free(os->pairs); + os->pairs = calloc(nPairs, sizeof(IdValuePair)); + if (!os->pairs) + { + os->nPairs = 0; + free(optNamesValues); + free(nameTrimmed); + compLogMessage (s->display, "animation", CompLogLevelError, + "Not enough memory"); + return; + } + os->nPairs = nPairs; + + // Tokenize pairs + name = strtok(optNamesValues, betweenOptVal); + int errorNo = -1; + int i; + for (i = 0; name && i < nPairs; i++) + { + errorNo = 0; + if (strchr(name, betweenPairs[0])) // handle "a, b=4" case + { + errorNo = 1; + break; + } + + sscanf(name, " %s ", nameTrimmed); + if (strlen(nameTrimmed) == 0) + { + errorNo = 2; + break; + } + valueStr = strtok(NULL, betweenPairs); + if (!valueStr) + { + errorNo = 3; + break; + } + + CompOption *o; + int j; + + // Skip non-effect options + for (j = 0; j < ANIM_SCREEN_OPTION_NUM; j++) + { + o = &as->opt[j]; + if (strcasecmp(nameTrimmed, o->name) == 0) + break; + } + if (j == ANIM_SCREEN_OPTION_NUM) // no match + { + errorNo = 4; + break; + } + else if (j < NUM_NONEFFECT_OPTIONS) + { + errorNo = 5; + break; + } + + CompOptionValue v; + + os->pairs[i].id = j; + int valueRead = -1; + switch (o->type) + { + case CompOptionTypeBool: + valueRead = sscanf(valueStr, " %d ", &os->pairs[i].value.b); + break; + case CompOptionTypeInt: + valueRead = sscanf(valueStr, " %d ", &v.i); + if (valueRead > 0) + { + // Store option's original value + int backup = o->value.i; + if (compSetIntOption (o, &v)) + os->pairs[i].value = v; + else + errorNo = 7; + // Restore value + o->value.i = backup; + } + break; + case CompOptionTypeFloat: + valueRead = sscanf(valueStr, " %f ", &v.f); + if (valueRead > 0) + { + // Store option's original value + float backup = o->value.f; + if (compSetFloatOption (o, &v)) + os->pairs[i].value = v; + else + errorNo = 7; + // Restore value + o->value.f = backup; + } + break; + case CompOptionTypeString: + v.s = calloc (strlen(valueStr) + 1, 1); // TODO: not freed + if (!v.s) + { + compLogMessage (s->display, "animation", CompLogLevelError, + "Not enough memory"); + return; + } + strcpy(v.s, valueStr); + valueRead = 1; + break; + case CompOptionTypeColor: + { + unsigned int c[4]; + valueRead = sscanf (valueStr, " #%2x%2x%2x%2x ", + &c[0], &c[1], &c[2], &c[3]); + if (valueRead == 4) + { + CompOptionValue * pv = &os->pairs[i].value; + int j; + for (j = 0; j < 4; j++) + pv->c[j] = c[j] << 8 | c[j]; + } + else + errorNo = 6; + break; + } + default: + break; + } + if (valueRead == 0) + errorNo = 6; + if (errorNo > 0) + break; + // If valueRead is -1 here, then it must be a + // non-(int/float/string) option, which is not supported yet. + // Such an option doesn't currently exist anyway. + + errorNo = -1; + name = strtok(NULL, betweenOptVal); + } + + if (i < nPairs) + { + switch (errorNo) + { + case -1: + case 2: + compLogMessage (s->display, "animation", CompLogLevelError, + "Option name missing in \"%s\"", + optNamesValuesOrig); + break; + case 1: + case 3: + compLogMessage (s->display, "animation", CompLogLevelError, + "Option value missing in \"%s\"", + optNamesValuesOrig); + break; + case 4: + compLogMessage (s->display, "animation", CompLogLevelError, + "Unknown option \"%s\" in \"%s\"", + nameTrimmed, optNamesValuesOrig); + break; + case 5: + compLogMessage (s->display, "animation", CompLogLevelError, + "Option \"%s\" cannot be changed in option strings.", + nameTrimmed); + break; + case 6: + compLogMessage (s->display, "animation", CompLogLevelError, + "Invalid value \"%s\" in \"%s\"", + valueStr, optNamesValuesOrig); + break; + case 7: + compLogMessage (s->display, "animation", CompLogLevelError, + "Value \"%s\" out of range in \"%s\"", + valueStr, optNamesValuesOrig); + break; + default: + break; + } + free(os->pairs); + os->pairs = 0; + os->nPairs = 0; + } + free(optNamesValues); + free(nameTrimmed); +} + +void +updateOptionSets(CompScreen *s, + OptionSets *oss, + CompListValue *listVal) +{ + int n = listVal->nValue; + + if (oss->sets) + freeSingleEventOptionSets(oss); + + oss->sets = calloc(n, sizeof(OptionSet)); + if (!oss->sets) + { + compLogMessage (s->display, "animation", CompLogLevelError, + "Not enough memory"); + return; + } + oss->nSets = n; + + int i; + for (i = 0; i < n; i++) + updateOptionSet(s, &oss->sets[i], listVal->value[i].s); +} diff --git a/animation/particle.c b/animation/particle.c new file mode 100644 index 0000000..2282822 --- /dev/null +++ b/animation/particle.c @@ -0,0 +1,351 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +void initParticles(int numParticles, ParticleSystem * ps) +{ + if (ps->particles) + free(ps->particles); + ps->particles = calloc(numParticles, sizeof(Particle)); + ps->tex = 0; + ps->numParticles = numParticles; + ps->slowdown = 1; + ps->active = FALSE; + + // Initialize cache + ps->vertices_cache = NULL; + ps->colors_cache = NULL; + ps->coords_cache = NULL; + ps->dcolors_cache = NULL; + ps->vertex_cache_count = 0; + ps->color_cache_count = 0; + ps->coords_cache_count = 0; + ps->dcolors_cache_count = 0; + + int i; + + for (i = 0; i < numParticles; i++) + { + ps->particles[i].life = 0.0f; + } +} + +void drawParticles(CompScreen * s, CompWindow * w, ParticleSystem * ps) +{ + glPushMatrix(); + if (w) + glTranslated(WIN_X(w) - ps->x, WIN_Y(w) - ps->y, 0); + + glEnable(GL_BLEND); + if (ps->tex) + { + glBindTexture(GL_TEXTURE_2D, ps->tex); + glEnable(GL_TEXTURE_2D); + } + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + int i; + Particle *part; + + /* Check that the cache is big enough */ + if (ps->numParticles > ps->vertex_cache_count) + { + ps->vertices_cache = + realloc(ps->vertices_cache, + ps->numParticles * 4 * 3 * sizeof(GLfloat)); + ps->vertex_cache_count = ps->numParticles; + } + + if (ps->numParticles > ps->coords_cache_count) + { + ps->coords_cache = + realloc(ps->coords_cache, + ps->numParticles * 4 * 2 * sizeof(GLfloat)); + ps->coords_cache_count = ps->numParticles; + } + + if (ps->numParticles > ps->color_cache_count) + { + ps->colors_cache = + realloc(ps->colors_cache, + ps->numParticles * 4 * 4 * sizeof(GLfloat)); + ps->color_cache_count = ps->numParticles; + } + + if (ps->darken > 0) + { + if (ps->dcolors_cache_count < ps->numParticles) + { + ps->dcolors_cache = + realloc(ps->dcolors_cache, + ps->numParticles * 4 * 4 * sizeof(GLfloat)); + ps->dcolors_cache_count = ps->numParticles; + } + } + + GLfloat *dcolors = ps->dcolors_cache; + GLfloat *vertices = ps->vertices_cache; + GLfloat *coords = ps->coords_cache; + GLfloat *colors = ps->colors_cache; + + int numActive = 0; + + for (i = 0; i < ps->numParticles; i++) + { + part = &ps->particles[i]; + if (part->life > 0.0f) + { + numActive += 4; + + float w = part->width / 2; + float h = part->height / 2; + + w += (w * part->w_mod) * part->life; + h += (h * part->h_mod) * part->life; + + vertices[0] = part->x - w; + vertices[1] = part->y - h; + vertices[2] = part->z; + + vertices[3] = part->x - w; + vertices[4] = part->y + h; + vertices[5] = part->z; + + vertices[6] = part->x + w; + vertices[7] = part->y + h; + vertices[8] = part->z; + + vertices[9] = part->x + w; + vertices[10] = part->y - h; + vertices[11] = part->z; + + vertices += 12; + + coords[0] = 0.0; + coords[1] = 0.0; + + coords[2] = 0.0; + coords[3] = 1.0; + + coords[4] = 1.0; + coords[5] = 1.0; + + coords[6] = 1.0; + coords[7] = 0.0; + + coords += 8; + + colors[0] = part->r; + colors[1] = part->g; + colors[2] = part->b; + colors[3] = part->life * part->a; + colors[4] = part->r; + colors[5] = part->g; + colors[6] = part->b; + colors[7] = part->life * part->a; + colors[8] = part->r; + colors[9] = part->g; + colors[10] = part->b; + colors[11] = part->life * part->a; + colors[12] = part->r; + colors[13] = part->g; + colors[14] = part->b; + colors[15] = part->life * part->a; + + colors += 16; + + if (ps->darken > 0) + { + + dcolors[0] = part->r; + dcolors[1] = part->g; + dcolors[2] = part->b; + dcolors[3] = part->life * part->a * ps->darken; + dcolors[4] = part->r; + dcolors[5] = part->g; + dcolors[6] = part->b; + dcolors[7] = part->life * part->a * ps->darken; + dcolors[8] = part->r; + dcolors[9] = part->g; + dcolors[10] = part->b; + dcolors[11] = part->life * part->a * ps->darken; + dcolors[12] = part->r; + dcolors[13] = part->g; + dcolors[14] = part->b; + dcolors[15] = part->life * part->a * ps->darken; + + dcolors += 16; + } + } + } + + glEnableClientState(GL_COLOR_ARRAY); + + glTexCoordPointer(2, GL_FLOAT, 2 * sizeof(GLfloat), ps->coords_cache); + glVertexPointer(3, GL_FLOAT, 3 * sizeof(GLfloat), ps->vertices_cache); + + // darken the background + if (ps->darken > 0) + { + glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA); + glColorPointer(4, GL_FLOAT, 4 * sizeof(GLfloat), ps->dcolors_cache); + glDrawArrays(GL_QUADS, 0, numActive); + } + // draw particles + glBlendFunc(GL_SRC_ALPHA, ps->blendMode); + + glColorPointer(4, GL_FLOAT, 4 * sizeof(GLfloat), ps->colors_cache); + + glDrawArrays(GL_QUADS, 0, numActive); + + glDisableClientState(GL_COLOR_ARRAY); + + glPopMatrix(); + glColor4usv(defaultColor); + screenTexEnvMode(s, GL_REPLACE); + glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + glDisable(GL_TEXTURE_2D); + glDisable(GL_BLEND); +} + +void drawParticleSystems(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + + if (aw->numPs) + { + int i = 0; + + for (i = 0; i < aw->numPs; i++) + { + if (aw->ps[i].active && !WINDOW_INVISIBLE(w)) + { + drawParticles(s, w, &aw->ps[i]); + } + } + } +} + +void updateParticles(ParticleSystem * ps, float time) +{ + int i; + Particle *part; + float speed = (time / 50.0); + float slowdown = ps->slowdown * (1 - MAX(0.99, time / 1000.0)) * 1000; + + ps->active = FALSE; + + for (i = 0; i < ps->numParticles; i++) + { + part = &ps->particles[i]; + if (part->life > 0.0f) + { + // move particle + part->x += part->xi / slowdown; + part->y += part->yi / slowdown; + part->z += part->zi / slowdown; + + // modify speed + part->xi += part->xg * speed; + part->yi += part->yg * speed; + part->zi += part->zg * speed; + + // modify life + part->life -= part->fade * speed; + ps->active = TRUE; + } + } +} + +void finiParticles(ParticleSystem * ps) +{ + free(ps->particles); + if (ps->tex) + glDeleteTextures(1, &ps->tex); + + if (ps->vertices_cache) + free(ps->vertices_cache); + if (ps->colors_cache) + free(ps->colors_cache); + if (ps->coords_cache) + free(ps->coords_cache); + if (ps->dcolors_cache) + free(ps->dcolors_cache); +} + +void +particlesUpdateBB (CompOutput *output, + CompWindow * w) +{ + ANIM_WINDOW(w); + + int i; + for (i = 0; i < aw->numPs; i++) + { + ParticleSystem * ps = &aw->ps[i]; + if (ps->active) + { + int j; + for (j = 0; j < ps->numParticles; j++) + { + Particle *part = &ps->particles[j]; + + float w = part->width / 2; + float h = part->height / 2; + + w += (w * part->w_mod) * part->life; + h += (h * part->h_mod) * part->life; + + Box particleBox = + {part->x - w, part->x + w, + part->y - h, part->y + h}; + + expandBoxWithBox (&aw->BB, &particleBox); + } + } + } + if (aw->useDrawRegion) + { + int nClip = aw->drawRegion->numRects; + Box *pClip = aw->drawRegion->rects; + + for (; nClip--; pClip++) + expandBoxWithBox (&aw->BB, pClip); + } + else // drawing full window + updateBBWindow (output, w); +} diff --git a/animation/polygon.c b/animation/polygon.c new file mode 100644 index 0000000..f5afebc --- /dev/null +++ b/animation/polygon.c @@ -0,0 +1,1583 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include "animation-internal.h" + +static Bool ensureLargerClipCapacity(PolygonSet * pset) +{ + if (pset->clipCapacity == pset->nClips) // if list full + { + Clip4Polygons *newList = realloc + (pset->clips, sizeof(Clip4Polygons) * + (pset->clipCapacity + ANIM_CLIP_LIST_INCREMENT)); + if (!newList) + return FALSE; + // reset newly allocated part of this memory to 0 + memset(newList + pset->clipCapacity, + 0, sizeof(Clip4Polygons) * ANIM_CLIP_LIST_INCREMENT); + + int *newList2 = realloc + (pset->lastClipInGroup, sizeof(int) * + (pset->clipCapacity + ANIM_CLIP_LIST_INCREMENT)); + if (!newList2) + { + free(newList); + pset->clips = 0; + pset->lastClipInGroup = 0; + return FALSE; + } + // reset newly allocated part of this memory to 0 + memset(newList2 + pset->clipCapacity, + 0, sizeof(int) * ANIM_CLIP_LIST_INCREMENT); + + pset->clips = newList; + pset->clipCapacity += ANIM_CLIP_LIST_INCREMENT; + pset->lastClipInGroup = newList2; + } + return TRUE; +} + +// Frees up polygon objects in pset +void +freePolygonObjects(PolygonSet * pset) +{ + PolygonObject *p = pset->polygons; + + if (!p) + { + pset->nPolygons = 0; + return; + } + int i; + + for (i = 0; i < pset->nPolygons; i++, p++) + { + if (p->nVertices > 0) + { + if (p->vertices) + free(p->vertices); + if (p->sideIndices) + free(p->sideIndices); + if (p->normals) + free(p->normals); + } + if (p->effectParameters) + free(p->effectParameters); + } + free(pset->polygons); + pset->polygons = 0; + pset->nPolygons = 0; +} + +// Frees up intersecting polygon info of PolygonSet clips +static void freeClipsPolygons(PolygonSet * pset) +{ + int k; + + for (k = 0; k < pset->clipCapacity; k++) + { + if (pset->clips[k].intersectingPolygons) + { + free(pset->clips[k].intersectingPolygons); + pset->clips[k].intersectingPolygons = 0; + } + if (pset->clips[k].polygonVertexTexCoords) + { + free(pset->clips[k].polygonVertexTexCoords); + pset->clips[k].polygonVertexTexCoords = 0; + } + pset->clips[k].nIntersectingPolygons = 0; + } +} + +// Frees up the whole polygon set +void freePolygonSet(AnimWindow * aw) +{ + PolygonSet *pset = aw->polygonSet; + + freePolygonObjects(pset); + if (pset->clipCapacity > 0) + { + freeClipsPolygons(pset); + free(pset->clips); + } + free(pset); + aw->polygonSet = 0; +} + +// Tessellates window into extruded rectangular objects +Bool +tessellateIntoRectangles(CompWindow * w, + int gridSizeX, int gridSizeY, float thickness) +{ + ANIM_WINDOW(w); + + PolygonSet *pset = aw->polygonSet; + + if (!pset) + return FALSE; + + int winLimitsX; // boundaries of polygon tessellation + int winLimitsY; + int winLimitsW; + int winLimitsH; + + if (pset->includeShadows) + { + winLimitsX = WIN_X(w); + winLimitsY = WIN_Y(w); + winLimitsW = WIN_W(w) - 1; // avoid artifact on right edge + winLimitsH = WIN_H(w); + } + else + { + winLimitsX = BORDER_X(w); + winLimitsY = BORDER_Y(w); + winLimitsW = BORDER_W(w); + winLimitsH = BORDER_H(w); + } + float minRectSize = MIN_WINDOW_GRID_SIZE; + float rectW = winLimitsW / (float)gridSizeX; + float rectH = winLimitsH / (float)gridSizeY; + + if (rectW < minRectSize) + gridSizeX = winLimitsW / minRectSize; // int div. + if (rectH < minRectSize) + gridSizeY = winLimitsH / minRectSize; // int div. + + if (pset->nPolygons != gridSizeX * gridSizeY) + { + if (pset->nPolygons > 0) + freePolygonObjects(pset); + + pset->nPolygons = gridSizeX * gridSizeY; + + pset->polygons = calloc(pset->nPolygons, sizeof(PolygonObject)); + if (!pset->polygons) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + pset->nPolygons = 0; + return FALSE; + } + } + + thickness /= w->screen->width; + pset->thickness = thickness; + pset->nTotalFrontVertices = 0; + + float cellW = (float)winLimitsW / gridSizeX; + float cellH = (float)winLimitsH / gridSizeY; + float halfW = cellW / 2; + float halfH = cellH / 2; + + float halfThick = pset->thickness / 2; + PolygonObject *p = pset->polygons; + int x, y; + + for (y = 0; y < gridSizeY; y++) + { + float posY = winLimitsY + cellH * (y + 0.5); + + for (x = 0; x < gridSizeX; x++, p++) + { + p->centerPos.x = p->centerPosStart.x = + winLimitsX + cellW * (x + 0.5); + p->centerPos.y = p->centerPosStart.y = posY; + p->centerPos.z = p->centerPosStart.z = -halfThick; + p->rotAngle = p->rotAngleStart = 0; + + p->centerRelPos.x = (x + 0.5) / gridSizeX; + p->centerRelPos.y = (y + 0.5) / gridSizeY; + + p->nSides = 4; + p->nVertices = 2 * 4; + pset->nTotalFrontVertices += 4; + + // 4 front, 4 back vertices + if (!p->vertices) + { + p->vertices = calloc(8 * 3, sizeof(GLfloat)); + } + + if (!p->vertices) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + freePolygonObjects(pset); + return FALSE; + } + + GLfloat *pv = p->vertices; + + // Determine 4 front vertices in ccw direction + pv[0] = -halfW; + pv[1] = -halfH; + pv[2] = halfThick; + + pv[3] = -halfW; + pv[4] = halfH; + pv[5] = halfThick; + + pv[6] = halfW; + pv[7] = halfH; + pv[8] = halfThick; + + pv[9] = halfW; + pv[10] = -halfH; + pv[11] = halfThick; + + // Determine 4 back vertices in cw direction + pv[12] = halfW; + pv[13] = -halfH; + pv[14] = -halfThick; + + pv[15] = halfW; + pv[16] = halfH; + pv[17] = -halfThick; + + pv[18] = -halfW; + pv[19] = halfH; + pv[20] = -halfThick; + + pv[21] = -halfW; + pv[22] = -halfH; + pv[23] = -halfThick; + + // 16 indices for 4 sides (for quad strip) + if (!p->sideIndices) + { + p->sideIndices = calloc(4 * 4, sizeof(GLushort)); + } + if (!p->sideIndices) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + freePolygonObjects(pset); + return FALSE; + } + + GLushort *ind = p->sideIndices; + + int id = 0; + + ind[id++] = 0; + ind[id++] = 7; + ind[id++] = 6; + ind[id++] = 1; + + ind[id++] = 1; + ind[id++] = 6; + ind[id++] = 5; + ind[id++] = 2; + + ind[id++] = 2; + ind[id++] = 5; + ind[id++] = 4; + ind[id++] = 3; + + ind[id++] = 3; + ind[id++] = 4; + ind[id++] = 7; + ind[id++] = 0; + + // Surface normals + if (!p->normals) + { + p->normals = calloc((2 + 4) * 3, sizeof(GLfloat)); + } + if (!p->normals) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, + "Not enough memory"); + freePolygonObjects(pset); + return FALSE; + } + + GLfloat *nor = p->normals; + + // Front + nor[0] = 0; + nor[1] = 0; + nor[2] = -1; + + // Back + nor[3] = 0; + nor[4] = 0; + nor[5] = 1; + + // Sides + nor[6] = -1; + nor[7] = 0; + nor[8] = 0; + + nor[9] = 0; + nor[10] = 1; + nor[11] = 0; + + nor[12] = 1; + nor[13] = 0; + nor[14] = 0; + + nor[15] = 0; + nor[16] = -1; + nor[17] = 0; + + // Determine bounding box (to test intersection with clips) + p->boundingBox.x1 = -halfW + p->centerPos.x; + p->boundingBox.y1 = -halfH + p->centerPos.y; + p->boundingBox.x2 = ceil(halfW + p->centerPos.x); + p->boundingBox.y2 = ceil(halfH + p->centerPos.y); + + p->boundSphereRadius = + sqrt (halfW * halfW + halfH * halfH + halfThick * halfThick); + } + } + return TRUE; +} + +// Tessellates window into extruded hexagon objects +Bool +tessellateIntoHexagons(CompWindow * w, + int gridSizeX, int gridSizeY, float thickness) +{ + ANIM_WINDOW(w); + + PolygonSet *pset = aw->polygonSet; + + if (!pset) + return FALSE; + + int winLimitsX; // boundaries of polygon tessellation + int winLimitsY; + int winLimitsW; + int winLimitsH; + + if (pset->includeShadows) + { + winLimitsX = WIN_X(w); + winLimitsY = WIN_Y(w); + winLimitsW = WIN_W(w) - 1; // avoid artifact on right edge + winLimitsH = WIN_H(w); + } + else + { + winLimitsX = BORDER_X(w); + winLimitsY = BORDER_Y(w); + winLimitsW = BORDER_W(w); + winLimitsH = BORDER_H(w); + } + float minSize = 20; + float hexW = winLimitsW / (float)gridSizeX; + float hexH = winLimitsH / (float)gridSizeY; + + if (hexW < minSize) + gridSizeX = winLimitsW / minSize; // int div. + if (hexH < minSize) + gridSizeY = winLimitsH / minSize; // int div. + + int nPolygons = (gridSizeY + 1) * gridSizeX + (gridSizeY + 1) / 2; + + if (pset->nPolygons != nPolygons) + { + if (pset->nPolygons > 0) + freePolygonObjects(pset); + + pset->nPolygons = nPolygons; + + pset->polygons = calloc(pset->nPolygons, sizeof(PolygonObject)); + if (!pset->polygons) + { + compLogMessage (w->screen->display, "animation", CompLogLevelError, + "Not enough memory"); + pset->nPolygons = 0; + return FALSE; + } + } + + thickness /= w->screen->width; + pset->thickness = thickness; + pset->nTotalFrontVertices = 0; + + float cellW = (float)winLimitsW / gridSizeX; + float cellH = (float)winLimitsH / gridSizeY; + float halfW = cellW / 2; + float twoThirdsH = 2*cellH / 3; + float thirdH = cellH / 3; + + float halfThick = pset->thickness / 2; + PolygonObject *p = pset->polygons; + int x, y; + + for (y = 0; y < gridSizeY+1; y++) + { + float posY = winLimitsY + cellH * (y); + int numPolysinRow = (y%2==0) ? gridSizeX : (gridSizeX + 1); + // Clip polygons to the window dimensions + float topY, topRightY, topLeftY, bottomY, bottomLeftY, bottomRightY; + if(y == 0){ + topY = topRightY = topLeftY = 0; + bottomY = twoThirdsH; + bottomLeftY = bottomRightY = thirdH; + } else if(y == gridSizeY){ + bottomY = bottomLeftY = bottomRightY = 0; + topY = -twoThirdsH; + topLeftY = topRightY = -thirdH; + } else { + topY = -twoThirdsH; + topLeftY = topRightY = -thirdH; + bottomLeftY = bottomRightY = thirdH; + bottomY = twoThirdsH; + } + + for (x = 0; x < numPolysinRow; x++, p++) + { + // Clip odd rows when necessary + float topLeftX, topRightX, bottomLeftX, bottomRightX; + if(y%2 == 1){ + if(x == 0){ + topLeftX = bottomLeftX = 0; + topRightX = halfW; + bottomRightX = halfW; + } else if(x == numPolysinRow-1){ + topRightX = bottomRightX = 0; + topLeftX = -halfW; + bottomLeftX = -halfW; + } else { + topLeftX = bottomLeftX = -halfW; + topRightX = bottomRightX = halfW; + } + } else { + topLeftX = bottomLeftX = -halfW; + topRightX = bottomRightX = halfW; + } + + p->centerPos.x = p->centerPosStart.x = + winLimitsX + cellW * (x + (y%2 ? 0.0 : 0.5)); + p->centerPos.y = p->centerPosStart.y = posY; + p->centerPos.z = p->centerPosStart.z = -halfThick; + p->rotAngle = p->rotAngleStart = 0; + + p->centerRelPos.x = (x + 0.5) / gridSizeX; + p->centerRelPos.y = (y + 0.5) / gridSizeY; + + p->nSides = 6; + p->nVertices = 2 * 6; + pset->nTotalFrontVertices += 6; + + // 6 front, 6 back vertices + if (!p->vertices) + { + p->vertices = calloc(6 * 2 * 3, sizeof(GLfloat)); + if (!p->vertices) + { + compLogMessage (w->screen->display, "animation", CompLogLevelError, + "Not enough memory"); + freePolygonObjects(pset); + return FALSE; + } + } + + GLfloat *pv = p->vertices; + + // Determine 6 front vertices in ccw direction + // Starting at top + pv[0] = 0; + pv[1] = topY; + pv[2] = halfThick; + + pv[3] = topLeftX; + pv[4] = topLeftY; + pv[5] = halfThick; + + pv[6] = bottomLeftX; + pv[7] = bottomLeftY; + pv[8] = halfThick; + + pv[9] = 0; + pv[10] = bottomY; + pv[11] = halfThick; + + pv[12] = bottomRightX; + pv[13] = bottomRightY; + pv[14] = halfThick; + + pv[15] = topRightX; + pv[16] = topRightY; + pv[17] = halfThick; + + // Determine 6 back vertices in cw direction + pv[18] = topRightX; + pv[19] = topRightY; + pv[20] = -halfThick; + + pv[21] = bottomRightX; + pv[22] = bottomRightY; + pv[23] = -halfThick; + + pv[24] = 0; + pv[25] = bottomY; + pv[26] = -halfThick; + + pv[27] = bottomLeftX; + pv[28] = bottomLeftY; + pv[29] = -halfThick; + + pv[30] = topLeftX; + pv[31] = topLeftY; + pv[32] = -halfThick; + + pv[33] = 0; + pv[34] = topY; + pv[35] = -halfThick; + + // 24 indices per 6 sides (for quad strip) + if (!p->sideIndices) + { + p->sideIndices = calloc(4 * 6, sizeof(GLushort)); + } + if (!p->sideIndices) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + freePolygonObjects(pset); + return FALSE; + } + + GLushort *ind = p->sideIndices; + + int id = 0; + // upper left side face + ind[id++] = 0; + ind[id++] = 11; + ind[id++] = 10; + ind[id++] = 1; + // left side face + ind[id++] = 1; + ind[id++] = 10; + ind[id++] = 9; + ind[id++] = 2; + // lower left side face + ind[id++] = 2; + ind[id++] = 9; + ind[id++] = 8; + ind[id++] = 3; + // lower right side face + ind[id++] = 3; + ind[id++] = 8; + ind[id++] = 7; + ind[id++] = 4; + // right side face + ind[id++] = 4; + ind[id++] = 7; + ind[id++] = 6; + ind[id++] = 5; + // upper right side face + ind[id++] = 5; + ind[id++] = 6; + ind[id++] = 11; + ind[id++] = 0; + + // Surface normals + if (!p->normals) + { + p->normals = calloc((2 + 6) * 3, sizeof(GLfloat)); + } + if (!p->normals) + { + compLogMessage (w->screen->display, "animation", + CompLogLevelError, "Not enough memory"); + freePolygonObjects(pset); + return FALSE; + } + + GLfloat *nor = p->normals; + + // Front + nor[0] = 0; + nor[1] = 0; + nor[2] = -1; + + // Back + nor[3] = 0; + nor[4] = 0; + nor[5] = 1; + + // Sides + nor[6] = -1; + nor[7] = 1; + nor[8] = 0; + + nor[9] = -1; + nor[10] = 0; + nor[11] = 0; + + nor[12] = -1; + nor[13] = -1; + nor[14] = 0; + + nor[15] = 1; + nor[16] = -1; + nor[17] = 0; + + nor[18] = 1; + nor[19] = 0; + nor[20] = 0; + + nor[21] = 1; + nor[22] = 1; + nor[23] = 0; + + // Determine bounding box (to test intersection with clips) + p->boundingBox.x1 = topLeftX + p->centerPos.x; + p->boundingBox.y1 = topY + p->centerPos.y; + p->boundingBox.x2 = ceil(bottomRightX + p->centerPos.x); + p->boundingBox.y2 = ceil(bottomY + p->centerPos.y); + + p->boundSphereRadius = sqrt((topRightX - topLeftX) * (topRightX - topLeftX) / 4 + + (bottomY - topY) * (bottomY - topY) / 4 + + halfThick * halfThick); + } + } + if (pset->nPolygons != p - pset->polygons) + compLogMessage (w->screen->display, "animation", CompLogLevelError, + "%s: Error in tessellateIntoHexagons at line %d!", + __FILE__, __LINE__); + return TRUE; +} + +void +polygonsStoreClips(CompScreen * s, CompWindow * w, + int nClip, BoxPtr pClip, int nMatrix, CompMatrix * matrix) +{ + ANIM_WINDOW(w); + + PolygonSet *pset = aw->polygonSet; + + // if polygon set is not valid or effect is not 3D (glide w/thickness=0) + if (!pset) + return; + + // only draw windows on current viewport + if (w->attrib.x > s->width || w->attrib.x + w->width < 0 || + w->attrib.y > s->height || w->attrib.y + w->height < 0 || + (aw->lastKnownCoords.x != NOT_INITIALIZED && + (aw->lastKnownCoords.x != w->attrib.x || + aw->lastKnownCoords.y != w->attrib.y))) + { + return; + // since this is not the viewport the window was drawn + // just before animation started + } + + Bool dontStoreClips = TRUE; + + // If this clip doesn't match the corresponding stored clip, + // clear the stored clips from this point (aw->nClipsPassed) + // to the end and store the new ones instead. + + if (aw->nClipsPassed < pset->nClips) // if we have clips stored earlier + { + Clip4Polygons *c = pset->clips + aw->nClipsPassed; + // the stored clip at position aw->nClipsPassed + + // if either clip coordinates or texture matrix is different + if (memcmp(pClip, &c->box, sizeof(Box)) || + memcmp(matrix, &c->texMatrix, sizeof(CompMatrix))) + { + // get rid of the clips from here (aw->nClipsPassed) to the end + pset->nClips = aw->nClipsPassed; + dontStoreClips = FALSE; + } + } + else + dontStoreClips = FALSE; + + if (dontStoreClips) + { + aw->nClipsPassed += nClip; + return; + } + // For each clip passed to this function + for (; nClip--; pClip++, aw->nClipsPassed++) + { + // New clip + + if (!ensureLargerClipCapacity(pset)) + { + compLogMessage (s->display, "animation", CompLogLevelError, + "Not enough memory"); + return; + } + + Clip4Polygons *newClip = &pset->clips[pset->nClips]; + + newClip->id = aw->nClipsPassed; + memcpy(&newClip->box, pClip, sizeof(Box)); + memcpy(&newClip->texMatrix, matrix, sizeof(CompMatrix)); + // nMatrix is not used for now + // (i.e. only first texture matrix is considered) + + // avoid clipping along window edge + // for the "window contents" clip + if (pClip->x1 == BORDER_X(w) && + pClip->y1 == BORDER_Y(w) && + pClip->x2 == BORDER_X(w) + BORDER_W(w) && + pClip->y2 == BORDER_Y(w) + BORDER_H(w)) + { + newClip->boxf.x1 = pClip->x1 - 0.1f; + newClip->boxf.y1 = pClip->y1 - 0.1f; + newClip->boxf.x2 = pClip->x2 + 0.1f; + newClip->boxf.y2 = pClip->y2 + 0.1f; + } + else + { + newClip->boxf.x1 = pClip->x1; + newClip->boxf.y1 = pClip->y1; + newClip->boxf.x2 = pClip->x2; + newClip->boxf.y2 = pClip->y2; + } + + pset->nClips++; + aw->clipsUpdated = TRUE; + } +} + +// For each rectangular clip, this function finds polygons which +// have a bounding box that intersects the clip. For intersecting +// polygons, it computes the texture coordinates for the vertices +// of that polygon (to draw the clip texture). +static Bool processIntersectingPolygons(CompScreen * s, PolygonSet * pset) +{ + int j; + + for (j = pset->firstNondrawnClip; j < pset->nClips; j++) + { + Clip4Polygons *c = pset->clips + j; + Box *cb = &c->box; + int nFrontVerticesTilThisPoly = 0; + + c->nIntersectingPolygons = 0; + + // TODO: If it doesn't affect speed much, for each clip, + // consider doing 2 passes, counting the intersecting polygons + // in the 1st pass and allocating just enough space for those + // polygons instead of all polygons in the 2nd pass. + int i; + + for (i = 0; i < pset->nPolygons; i++) + { + PolygonObject *p = pset->polygons + i; + + Box *bb = &p->boundingBox; + + if (bb->x2 <= cb->x1) + continue; // no intersection + if (bb->y2 <= cb->y1) + continue; // no intersection + if (bb->x1 >= cb->x2) + continue; // no intersection + if (bb->y1 >= cb->y2) + continue; // no intersection + + // There is intersection, add clip info + + if (!c->intersectingPolygons) + { + c->intersectingPolygons = + calloc(pset->nPolygons, sizeof(int)); + } + // allocate tex coords + // 2 {x, y} * 2 {front, back} * + if (!c->polygonVertexTexCoords) + { + c->polygonVertexTexCoords = + calloc(2 * 2 * pset->nTotalFrontVertices, sizeof(GLfloat)); + } + if (!c->intersectingPolygons || !c->polygonVertexTexCoords) + { + compLogMessage (s->display, "animation", CompLogLevelError, + "Not enough memory"); + freeClipsPolygons(pset); + return FALSE; + } + c->intersectingPolygons[c->nIntersectingPolygons] = i; + + int k; + + for (k = 0; k < p->nSides; k++) + { + float x = p->vertices[3 * k] + + p->centerPosStart.x; + float y = p->vertices[3 * k + 1] + + p->centerPosStart.y; + GLfloat tx; + GLfloat ty; + if (c->texMatrix.xy != 0.0f || c->texMatrix.yx != 0.0f) + { // "non-rect" coordinates + tx = COMP_TEX_COORD_XY(&c->texMatrix, x, y); + ty = COMP_TEX_COORD_YX(&c->texMatrix, x, y); + } + else + { + tx = COMP_TEX_COORD_X(&c->texMatrix, x); + ty = COMP_TEX_COORD_Y(&c->texMatrix, y); + } + // for front vertices + int ti = 2 * (2 * nFrontVerticesTilThisPoly + k); + + c->polygonVertexTexCoords[ti] = tx; + c->polygonVertexTexCoords[ti + 1] = ty; + + // for back vertices + ti = 2 * (2 * nFrontVerticesTilThisPoly + + (2 * p->nSides - 1 - k)); + c->polygonVertexTexCoords[ti] = tx; + c->polygonVertexTexCoords[ti + 1] = ty; + } + c->nIntersectingPolygons++; + nFrontVerticesTilThisPoly += p->nSides; + } + } + + return TRUE; +} + +// Correct perspective appearance by skewing +static void +getPerspectiveCorrectionMat (CompWindow *w, + PolygonObject *p, + GLfloat *mat, + float *matf) +{ + CompScreen *s = w->screen; + ANIM_SCREEN (s); + Point center; + + if (p) // for CorrectPerspectivePolygon + { + // use polygon's center + center.x = p->centerPos.x; + center.y = p->centerPos.y; + } + else // for CorrectPerspectiveWindow + { + // use window's center + center.x = WIN_X(w) + WIN_W(w) / 2; + center.y = WIN_Y(w) + WIN_H(w) / 2; + } + + GLfloat skewx = -(((center.x - as->output->region.extents.x1) - + as->output->width / 2) * 1.15); + GLfloat skewy = -(((center.y - as->output->region.extents.y1) - + as->output->height / 2) * 1.15); + + if (mat) + { + // column-major order skew matrix + GLfloat skewMat[16] = + {1,0,0,0, + 0,1,0,0, + skewx,skewy,1,0, + 0,0,0,1}; + memcpy (mat, skewMat, 16 * sizeof (GLfloat)); + } + else if (matf) + { + // column-major order skew matrix + float skewMat[16] = + {1,0,0,0, + 0,1,0,0, + skewx,skewy,1,0, + 0,0,0,1}; + memcpy (matf, skewMat, 16 * sizeof (float)); + } +} + +void polygonsDrawCustomGeometry(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + + if (// only draw windows on current viewport + w->attrib.x > s->width || w->attrib.x + w->width < 0 || + w->attrib.y > s->height || w->attrib.y + w->height < 0 || + (aw->lastKnownCoords.x != NOT_INITIALIZED && + (aw->lastKnownCoords.x != w->attrib.x || + aw->lastKnownCoords.y != w->attrib.y))) + { + return; + // since this is not the viewport the window was drawn + // just before animation started + } + PolygonSet *pset = aw->polygonSet; + + // if polygon set is not valid or effect is not 3D (glide w/thickness=0) + if (!pset) + return; + + // TODO: Fix the source of the crash problem + // (uninitialized lastClipInGroup) + // instead of doing this uninitialized value check + if (pset->firstNondrawnClip < 0 || + pset->firstNondrawnClip > pset->nClips || + (!aw->clipsUpdated && + (pset->lastClipInGroup[aw->nDrawGeometryCalls - 1] < 0 || + pset->lastClipInGroup[aw->nDrawGeometryCalls - 1] >= pset->nClips))) + { + return; + } + + if (aw->clipsUpdated && aw->nDrawGeometryCalls > 0) + { + if (!processIntersectingPolygons(s, pset)) + { + return; + } + } + + int lastClip; // last clip to draw + + if (aw->clipsUpdated) + { + lastClip = pset->nClips - 1; + } + else + { + lastClip = pset->lastClipInGroup[aw->nDrawGeometryCalls - 1]; + } + + float forwardProgress = defaultAnimProgress(aw); + + // OpenGL stuff starts here + + if (pset->doLighting) + { + glPushAttrib(GL_LIGHT0); + glPushAttrib(GL_COLOR_MATERIAL); + glPushAttrib(GL_LIGHTING); + glEnable(GL_COLOR_MATERIAL); + glEnable(GL_LIGHTING); + + GLfloat ambientLight[] = { 0.3f, 0.3f, 0.3f, 0.3f }; + GLfloat diffuseLight[] = { 0.9f, 0.9f, 0.9f, 0.9f }; + GLfloat light0Position[] = { -0.5f, 0.5f, -9.0f, 0.0f }; + + glLightfv(GL_LIGHT0, GL_AMBIENT, ambientLight); + glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseLight); + glLightfv(GL_LIGHT0, GL_POSITION, light0Position); + } + glPushMatrix(); + + // Store old blend values + GLint blendSrcWas, blendDstWas; + + glGetIntegerv(GL_BLEND_SRC, &blendSrcWas); + glGetIntegerv(GL_BLEND_DST, &blendDstWas); + GLboolean blendWas = glIsEnabled(GL_BLEND); + + glPushAttrib(GL_STENCIL_BUFFER_BIT); + glDisable(GL_STENCIL_TEST); + + //GLboolean normalArrayWas = glIsEnabled(GL_NORMAL_ARRAY); + //glShadeModel(GL_FLAT); + + if (pset->doDepthTest) + { + // Depth test + glPushAttrib(GL_DEPTH_FUNC); + glPushAttrib(GL_DEPTH_TEST); + glDepthFunc(GL_LEQUAL); + glEnable(GL_DEPTH_TEST); + } + + // Clip planes + GLdouble clipPlane0[] = { 1, 0, 0, 0 }; + GLdouble clipPlane1[] = { 0, 1, 0, 0 }; + GLdouble clipPlane2[] = { -1, 0, 0, 0 }; + GLdouble clipPlane3[] = { 0, -1, 0, 0 }; + + // Save old color values + GLfloat oldColor[4]; + + glGetFloatv(GL_CURRENT_COLOR, oldColor); + + + // Determine where we are called from in paint.c's drawWindowTexture + // to find out how we should change the opacity + GLint prevActiveTexture = GL_TEXTURE0_ARB; + Bool saturationFull = TRUE; + + if (w->screen->canDoSaturated && aw->curPaintAttrib.saturation != COLOR) + { + saturationFull = FALSE; + if (w->screen->canDoSlightlySaturated && + aw->curPaintAttrib.saturation > 0) + { + if (aw->curPaintAttrib.opacity < OPAQUE || + aw->curPaintAttrib.brightness != BRIGHT) + prevActiveTexture = GL_TEXTURE3_ARB; + else + prevActiveTexture = GL_TEXTURE2_ARB; + } + else + prevActiveTexture = GL_TEXTURE1_ARB; + } + + float brightness = aw->curPaintAttrib.brightness / 65535.0; + float opacity = aw->curPaintAttrib.opacity / 65535.0; + + float newOpacity = opacity; + float fadePassedBy; + + if (!blendWas) // if translucency is not already turned on in paint.c + { + glEnable(GL_BLEND); + } + if (saturationFull) + { + screenTexEnvMode(w->screen, GL_MODULATE); + } + else if (prevActiveTexture == GL_TEXTURE2_ARB) + { + w->screen->activeTexture(prevActiveTexture + 1); + enableTexture(w->screen, aw->curTexture, aw->curTextureFilter); + } + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + // if fade-out duration is not specified per polygon + if (pset->allFadeDuration > -1.0f) + { + fadePassedBy = forwardProgress - (1 - pset->allFadeDuration); + + // if "fade out starting point" is passed + if (fadePassedBy > 1e-5) // if true, allFadeDuration should be > 0 + { + float opacityFac; + + if (aw->deceleratingMotion) + opacityFac = 1 - decelerateProgress + (fadePassedBy / pset->allFadeDuration); + else + opacityFac = 1 - fadePassedBy / pset->allFadeDuration; + if (opacityFac < 0) + opacityFac = 0; + if (opacityFac > 1) + opacityFac = 1; + newOpacity = opacity * opacityFac; + } + } + + GLfloat skewMat[16]; + if (pset->correctPerspective == CorrectPerspectiveWindow) + getPerspectiveCorrectionMat (w, NULL, skewMat, NULL); + + int pass; + // 0: draw opaque ones + // 2: draw transparent ones + for (pass = 0; pass < 2; pass++) + { + int j; + + for (j = pset->firstNondrawnClip; j <= lastClip; j++) + { + Clip4Polygons *c = pset->clips + j; + int nFrontVerticesTilThisPoly = 0; + int nNewSides = 0; + int i; + + for (i = 0; i < c->nIntersectingPolygons; + i++, nFrontVerticesTilThisPoly += nNewSides) + { + PolygonObject *p = + pset->polygons + c->intersectingPolygons[i]; + nNewSides = p->nSides; + + float newOpacityPolygon = newOpacity; + + // if fade-out duration is specified per polygon + if (pset->allFadeDuration == -1.0f) + { + fadePassedBy = forwardProgress - p->fadeStartTime; + // if "fade out starting point" is passed + if (fadePassedBy > 1e-5) // if true, then allFadeDuration > 0 + { + float opacityFac; + + if (aw->deceleratingMotion) + opacityFac = 1 - decelerateProgress + (fadePassedBy / p->fadeDuration); + else + opacityFac = 1 - fadePassedBy / p->fadeDuration; + if (opacityFac < 0) + opacityFac = 0; + if (opacityFac > 1) + opacityFac = 1; + newOpacityPolygon = newOpacity * opacityFac; + } + } + + if (newOpacityPolygon < 1e-5) // if polygon object is invisible + continue; + + if (pass == 0) + { + if (newOpacityPolygon < 0.9999) // if not fully opaque + continue; // draw only opaque ones in pass 0 + } + else if (newOpacityPolygon > 0.9999) // if fully opaque + continue; // draw only non-opaque ones in pass 1 + + glPushMatrix(); + + if (pset->correctPerspective == CorrectPerspectivePolygon) + getPerspectiveCorrectionMat (w, p, skewMat, NULL); + + if (pset->correctPerspective != CorrectPerspectiveNone) + glMultMatrixf (skewMat); + + // Center + glTranslatef(p->centerPos.x, p->centerPos.y, p->centerPos.z); + + // Scale z first + glScalef(1.0f, 1.0f, 1.0f / s->width); + + if (pset->extraPolygonTransformFunc) + pset->extraPolygonTransformFunc (p); + + // Move by "rotation axis offset" + glTranslatef(p->rotAxisOffset.x, p->rotAxisOffset.y, + p->rotAxisOffset.z); + + // Rotate by desired angle + glRotatef(p->rotAngle, p->rotAxis.x, p->rotAxis.y, + p->rotAxis.z); + + // Move back to center + glTranslatef(-p->rotAxisOffset.x, -p->rotAxisOffset.y, + -p->rotAxisOffset.z); + + // Scale back + glScalef(1.0f, 1.0f, s->width); + + + clipPlane0[3] = -(c->boxf.x1 - p->centerPosStart.x); + clipPlane1[3] = -(c->boxf.y1 - p->centerPosStart.y); + clipPlane2[3] = (c->boxf.x2 - p->centerPosStart.x); + clipPlane3[3] = (c->boxf.y2 - p->centerPosStart.y); + glClipPlane(GL_CLIP_PLANE0, clipPlane0); + glClipPlane(GL_CLIP_PLANE1, clipPlane1); + glClipPlane(GL_CLIP_PLANE2, clipPlane2); + glClipPlane(GL_CLIP_PLANE3, clipPlane3); + + int k; + + for (k = 0; k < 4; k++) + glEnable(GL_CLIP_PLANE0 + k); + Bool fadeBackAndSides = + pset->backAndSidesFadeDur > 0 && + forwardProgress <= pset->backAndSidesFadeDur; + + float newOpacityPolygon2 = newOpacityPolygon; + + if (fadeBackAndSides) + { + // Fade-in opacity for back face and sides + newOpacityPolygon2 *= + (forwardProgress / pset->backAndSidesFadeDur); + } + + if (saturationFull) + glColor4f(brightness, brightness, brightness, + newOpacityPolygon2); + else if (prevActiveTexture == GL_TEXTURE1_ARB) + { + // From paint.c + + GLfloat constant2[4] = + { 0.5f + + 0.5f * RED_SATURATION_WEIGHT * brightness, + 0.5f + 0.5f * GREEN_SATURATION_WEIGHT * brightness, + 0.5f + 0.5f * BLUE_SATURATION_WEIGHT * brightness, + newOpacityPolygon2 + }; + + glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, + constant2); + } + else //if (prevActiveTexture >= GL_TEXTURE2_ARB) + { + GLfloat constant2[4] = { brightness, + brightness, + brightness, + newOpacityPolygon2 + }; + + // From paint.c + + glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, + constant2); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, + GL_COMBINE); + + glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE); + glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_PREVIOUS); + glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_CONSTANT); + glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR); + glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR); + + glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_MODULATE); + glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, GL_PREVIOUS); + glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE1_ALPHA, GL_CONSTANT); + glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, + GL_SRC_ALPHA); + glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND1_ALPHA, + GL_SRC_ALPHA); + } + + //glEnableClientState(GL_NORMAL_ARRAY); + //glEnable(GL_NORMALIZE); + + // Draw back face + glVertexPointer(3, GL_FLOAT, 0, p->vertices + 3 * p->nSides); + //glNormalPointer(GL_FLOAT, 0, + // p->normals + 3 * p->nSides); + glTexCoordPointer(2, GL_FLOAT, 0, + c->polygonVertexTexCoords + + 2 * (2 * nFrontVerticesTilThisPoly + + p->nSides)); + + glNormal3f(p->normals[3], p->normals[4], p->normals[5]); + glDrawArrays(GL_POLYGON, 0, p->nSides); + + // Front vertex coords + glVertexPointer(3, GL_FLOAT, 0, p->vertices); + //glNormalPointer(GL_FLOAT, 0, p->normals); + glTexCoordPointer(2, GL_FLOAT, 0, + c->polygonVertexTexCoords + + 2 * 2 * nFrontVerticesTilThisPoly); + + // TODO: Surface normals for sides + // Draw quad strip for sides + if (TRUE) + { + // Do each quad separately to be able to specify + // different normals + for (k = 0; k < p->nSides; k++) + { + glNormal3f(p->normals[0], // front face normal for now + p->normals[1], p->normals[2]); + glDrawElements(GL_QUADS, 4, + GL_UNSIGNED_SHORT, + p->sideIndices + k * 4); + } + } + else // no need for separate quad rendering + glDrawElements(GL_QUAD_STRIP, 2 * (p->nSides + 1), + GL_UNSIGNED_SHORT, p->sideIndices); + + if (fadeBackAndSides) + // if opacity was changed just above + { + // Go back to normal opacity for front face + + if (saturationFull) + glColor4f(brightness, brightness, brightness, + newOpacityPolygon); + else if (prevActiveTexture == GL_TEXTURE1_ARB) + { + GLfloat constant[4] = + { 0.5f + + 0.5f * RED_SATURATION_WEIGHT * brightness, + 0.5f + 0.5f * GREEN_SATURATION_WEIGHT * + brightness, + 0.5f + 0.5f * BLUE_SATURATION_WEIGHT * brightness, + newOpacityPolygon + }; + + glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, + constant); + } + else + { + GLfloat constant[4] = { brightness, + brightness, + brightness, + newOpacityPolygon + }; + glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, + constant); + } + } + // Draw front face + + glNormal3f(p->normals[0], p->normals[1], p->normals[2]); + glDrawArrays(GL_POLYGON, 0, p->nSides); + + for (k = 0; k < 4; k++) + glDisable(GL_CLIP_PLANE0 + k); + + glPopMatrix(); + } + } + } + // Restore + // ----------------------------------------- + + // Restore old color values + glColor4f(oldColor[0], oldColor[1], oldColor[2], oldColor[3]); + + glPopAttrib(); + if (pset->doDepthTest) + { + glPopAttrib(); + glPopAttrib(); + } + + // Restore texture stuff + if (saturationFull) + screenTexEnvMode(w->screen, GL_REPLACE); + else if (prevActiveTexture == GL_TEXTURE2_ARB) + { + disableTexture(w->screen, aw->curTexture); + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + w->screen->activeTexture(prevActiveTexture); + } + // Restore blend values + if (!blendWas) + glDisable(GL_BLEND); + glBlendFunc(blendSrcWas, blendDstWas); + + glPopMatrix(); + + if (pset->doLighting) // && !s->lighting) + { + glPopAttrib(); + glPopAttrib(); + glPopAttrib(); + } + if (aw->clipsUpdated) // set end mark for this group of clips + pset->lastClipInGroup[aw->nDrawGeometryCalls - 1] = lastClip; + + // Next time, start drawing from next group of clips + pset->firstNondrawnClip = + pset->lastClipInGroup[aw->nDrawGeometryCalls - 1] + 1; +} + +void polygonsPrePaintWindow(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + if (aw->polygonSet) + aw->polygonSet->firstNondrawnClip = 0; +} + +void polygonsPostPaintWindow(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + if (aw->clipsUpdated && // clips should be dropped only in the 1st step + aw->polygonSet && aw->nDrawGeometryCalls == 0) // if clips not drawn + { + // drop these unneeded clips (e.g. ones passed by blurfx) + aw->polygonSet->nClips = aw->polygonSet->firstNondrawnClip; + } +} + +// Computes polygon's new position and orientation +// with linear movement +void +polygonsLinearAnimStepPolygon(CompWindow * w, + PolygonObject * p, float forwardProgress) +{ + float moveProgress = forwardProgress - p->moveStartTime; + + if (p->moveDuration > 0) + moveProgress /= p->moveDuration; + if (moveProgress < 0) + moveProgress = 0; + else if (moveProgress > 1) + moveProgress = 1; + + p->centerPos.x = moveProgress * p->finalRelPos.x + p->centerPosStart.x; + p->centerPos.y = moveProgress * p->finalRelPos.y + p->centerPosStart.y; + p->centerPos.z = 1.0f / w->screen->width * + moveProgress * p->finalRelPos.z + p->centerPosStart.z; + + p->rotAngle = moveProgress * p->finalRotAng + p->rotAngleStart; +} + +// Similar to polygonsLinearAnimStepPolygon, +// but slightly ac/decelerates movement +void +polygonsDeceleratingAnimStepPolygon(CompWindow * w, + PolygonObject * p, float forwardProgress) +{ + float moveProgress = forwardProgress - p->moveStartTime; + + if (p->moveDuration > 0) + moveProgress /= p->moveDuration; + if (moveProgress < 0) + moveProgress = 0; + else if (moveProgress > 1) + moveProgress = 1; + + moveProgress = decelerateProgress(moveProgress); + + p->centerPos.x = moveProgress * p->finalRelPos.x + p->centerPosStart.x; + p->centerPos.y = moveProgress * p->finalRelPos.y + p->centerPosStart.y; + p->centerPos.z = 1.0f / w->screen->width * + moveProgress * p->finalRelPos.z + p->centerPosStart.z; + + p->rotAngle = moveProgress * p->finalRotAng + p->rotAngleStart; +} + +Bool polygonsAnimStep(CompScreen * s, CompWindow * w, float time) +{ + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_WINDOW(w); + + float forwardProgress = defaultAnimProgress(aw); + + if (aw->polygonSet) + { + if (animEffectPropertiesTmp[aw->curAnimEffect]. + animStepPolygonFunc) + { + int i; + for (i = 0; i < aw->polygonSet->nPolygons; i++) + animEffectPropertiesTmp[aw->curAnimEffect]. + animStepPolygonFunc + (w, &aw->polygonSet->polygons[i], + forwardProgress); + } + } + else + compLogMessage (s->display, "animation", CompLogLevelDebug, + "%s: pset null at line %d\n",__FILE__, __LINE__); + return TRUE; +} + +void +polygonsUpdateBB (CompOutput *output, + CompWindow * w) +{ + CompScreen *s = w->screen; + ANIM_WINDOW (w); + + PolygonSet *pset = aw->polygonSet; + if (!pset) + return; + + CompTransform wTransform; + CompTransform wTransform2; + + resetToIdentity (&wTransform2); + prepareTransform (s, output, &wTransform, &wTransform2); + + GLdouble dModel[16]; + GLdouble dProjection[16]; + int i; + for (i = 0; i < 16; i++) + { + dProjection[i] = s->projection[i]; + } + GLint viewport[4] = + {output->region.extents.x1, + output->region.extents.y1, + output->width, + output->height}; + GLdouble px, py, pz; + + PolygonObject *p = aw->polygonSet->polygons; + CompTransform *modelViewTransform = &wTransform; + + float skewMat[16]; + if (pset->correctPerspective == CorrectPerspectiveWindow) + { + getPerspectiveCorrectionMat (w, NULL, NULL, skewMat); + matmul4 (wTransform2.m, wTransform.m, skewMat); + } + if (pset->correctPerspective == CorrectPerspectiveWindow || + pset->correctPerspective == CorrectPerspectivePolygon) + modelViewTransform = &wTransform2; + + for (i = 0; i < aw->polygonSet->nPolygons; i++, p++) + { + if (pset->correctPerspective == CorrectPerspectivePolygon) + { + getPerspectiveCorrectionMat (w, p, NULL, skewMat); + matmul4 (wTransform2.m, wTransform.m, skewMat); + } + + // if modelViewTransform == wTransform2, then + // it changes for each polygon + int j; + for (j = 0; j < 16; j++) + dModel[j] = modelViewTransform->m[j]; + + Point3d center = p->centerPos; + float radius = p->boundSphereRadius + 2; + + float zradius = radius / s->width; +#define N_POINTS 8 + // Corners of almost-bounding rect. prism + Point3d cubeCorners[N_POINTS] = + {{center.x - radius, center.y - radius, center.z + zradius}, + {center.x - radius, center.y + radius, center.z + zradius}, + {center.x + radius, center.y - radius, center.z + zradius}, + {center.x + radius, center.y + radius, center.z + zradius}, + {center.x - radius, center.y - radius, center.z - zradius}, + {center.x - radius, center.y + radius, center.z - zradius}, + {center.x + radius, center.y - radius, center.z - zradius}, + {center.x + radius, center.y + radius, center.z - zradius}}; + Point3d *pnt = cubeCorners; + + for (j = 0; j < N_POINTS; j++, pnt++) + { + if (!gluProject (pnt->x, pnt->y, pnt->z, + dModel, dProjection, viewport, + &px, &py, &pz)) + return; + + py = s->height - py; + expandBoxWithPoint (&aw->BB, px + 0.5, py + 0.5); + } +#undef N_POINTS + } +} diff --git a/animation/rollup.c b/animation/rollup.c new file mode 100644 index 0000000..9c1167f --- /dev/null +++ b/animation/rollup.c @@ -0,0 +1,150 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Roll Up ========================= + +void +fxRollUpInitGrid(AnimScreen * as, AnimWindow *aw, + int *gridWidth, int *gridHeight) +{ + *gridWidth = 2; + if (aw->curWindowEvent == WindowEventShade || + aw->curWindowEvent == WindowEventUnshade) + *gridHeight = 4; + else + *gridHeight = 2; +} + +static void +fxRollUpModelStepObject(CompWindow * w, + Model * model, + Object * object, + float forwardProgress, Bool fixedInterior) +{ + ANIM_WINDOW(w); + + float origx = WIN_X(w) + WIN_W(w) * object->gridPosition.x; + + if (aw->curWindowEvent == WindowEventShade || + aw->curWindowEvent == WindowEventUnshade) + { + // Execute shade mode + + // find position in window contents + // (window contents correspond to 0.0-1.0 range) + float relPosInWinContents = + (object->gridPosition.y * WIN_H(w) - + model->topHeight) / w->height; + + if (object->gridPosition.y == 0) + { + object->position.x = origx; + object->position.y = WIN_Y(w); + } + else if (object->gridPosition.y == 1) + { + object->position.x = origx; + object->position.y = + (1 - forwardProgress) * + (WIN_Y(w) + + WIN_H(w) * object->gridPosition.y) + + forwardProgress * (WIN_Y(w) + + model->topHeight + + model->bottomHeight); + } + else + { + object->position.x = origx; + + if (relPosInWinContents > forwardProgress) + { + object->position.y = + (1 - forwardProgress) * + (WIN_Y(w) + + WIN_H(w) * object->gridPosition.y) + + forwardProgress * (WIN_Y(w) + model->topHeight); + + if (fixedInterior) + object->offsetTexCoordForQuadBefore.y = + -forwardProgress * w->height; + } + else + { + object->position.y = WIN_Y(w) + model->topHeight; + if (!fixedInterior) + object->offsetTexCoordForQuadAfter. + y = + (forwardProgress - + relPosInWinContents) * w->height; + } + } + } +} + +Bool fxRollUpModelStep(CompScreen * s, CompWindow * w, float time) +{ + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + Model *model = aw->model; + + float forwardProgress = sigmoidAnimProgress(aw); + + int i; + for (i = 0; i < model->numObjects; i++) + fxRollUpModelStepObject + (w, + model, + &model->objects[i], + forwardProgress, + animGetB(as, aw, + ANIM_SCREEN_OPTION_ROLLUP_FIXED_INTERIOR)); + + return TRUE; +} + +void fxRollUpAnimInit(CompScreen * s, CompWindow * w) +{ + ANIM_WINDOW(w); + + aw->animTotalTime /= ROLLUP_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; +} diff --git a/animation/skewer.c b/animation/skewer.c new file mode 100644 index 0000000..18c9ec9 --- /dev/null +++ b/animation/skewer.c @@ -0,0 +1,221 @@ +/** + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * Fold and Skewer added by : Tomasz Kołodziejski + * E-mail : tkolodziejski@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + **/ + +#include "animation-internal.h" + +static void +getDirection (int *dir, int *c, int direction) +{ + switch (direction) + { + case 0: + // left + dir[(*c)++] = 0; + break; + case 1: + // right + dir[(*c)++] = 1; + break; + case 2: + // left-right + dir[(*c)++] = 0; + dir[(*c)++] = 1; + break; + case 3: + // up + dir[(*c)++] = 2; + break; + case 4: + // downs + dir[(*c)++] = 3; + break; + case 5: + // up-down + dir[(*c)++] = 2; + dir[(*c)++] = 3; + break; + case 6: + // in + dir[(*c)++] = 4; + break; + case 7: + // out + dir[(*c)++] = 5; + break; + case 8: + // in-out + dir[(*c)++] = 4; + dir[(*c)++] = 5; + break; + case 9: + // random + getDirection (dir, c, floor (RAND_FLOAT () * 8)); + break; + } +} + +void +fxSkewerInit (CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN (s); + ANIM_WINDOW (w); + + aw->animTotalTime /= SKEWER_PERCEIVED_T; + aw->animRemainingTime = aw->animTotalTime; + + float thickness = animGetF (as, aw, ANIM_SCREEN_OPTION_SKEWER_THICKNESS); + int rotation = animGetI (as, aw, ANIM_SCREEN_OPTION_SKEWER_ROTATION); + int gridSizeX = animGetI (as, aw, ANIM_SCREEN_OPTION_SKEWER_GRIDSIZE_X); + int gridSizeY = animGetI (as, aw, ANIM_SCREEN_OPTION_SKEWER_GRIDSIZE_Y); + + int dir[2]; // directions array + int c = 0; // number of directions + + getDirection (dir, &c, + animGetI (as, aw, ANIM_SCREEN_OPTION_SKEWER_DIRECTION)); + + if (animGetI (as, aw, ANIM_SCREEN_OPTION_SKEWER_TESS) == PolygonTessHex) + { + if (!tessellateIntoHexagons (w, gridSizeX, gridSizeY, thickness)) + return; + } + else + { + if (!tessellateIntoRectangles (w, gridSizeX, gridSizeY, thickness)) + return; + } + + PolygonSet *pset = aw->polygonSet; + PolygonObject *p = pset->polygons; + + int times[pset->nPolygons]; + int last_time = pset->nPolygons - 1; + + int i; + for (i = 0; i < pset->nPolygons; i++) + times[i] = i; + + for (i = 0; i < pset->nPolygons; i++, p++) + { + if (c > 0) + { + switch (dir[(int)floor (RAND_FLOAT () * c)]) + { + case 0: + // left + p->finalRelPos.x = -s->width; + p->rotAxis.x = rotation; + break; + + case 1: + // right + p->finalRelPos.x = s->width; + p->rotAxis.x = rotation; + break; + + case 2: + // up + p->finalRelPos.y = -s->height; + p->rotAxis.y = rotation; + break; + + case 3: + // down + p->finalRelPos.y = s->height; + p->rotAxis.y = rotation; + break; + + case 4: + // in + p->finalRelPos.z = -.8 * DEFAULT_Z_CAMERA * s->width; + p->rotAxis.x = rotation; + p->rotAxis.y = rotation; + break; + + case 5: + // out + p->finalRelPos.z = .8 * DEFAULT_Z_CAMERA * s->width; + p->rotAxis.x = rotation; + p->rotAxis.y = rotation; + break; + } + + p->finalRotAng = rotation; + } + // if no direction is set - just fade + + // choose random start_time + int rand_time = floor (RAND_FLOAT () * last_time); + + p->moveStartTime = 0.8 / (float)pset->nPolygons * times[rand_time]; + p->moveDuration = 1 - p->moveStartTime; + + p->fadeStartTime = p->moveStartTime + 0.2; + p->fadeDuration = 1 - p->fadeStartTime; + + times[rand_time] = times[last_time]; // copy last one over times[rand_time] + last_time--; //descrease last_time + } + + pset->doDepthTest = TRUE; + pset->doLighting = TRUE; + pset->correctPerspective = CorrectPerspectiveWindow; +} + +void +fxSkewerAnimStepPolygon (CompWindow * w, + PolygonObject * p, + float forwardProgress) +{ + float moveProgress = forwardProgress - p->moveStartTime; + + if (p->moveDuration > 0) + moveProgress /= p->moveDuration; + if (moveProgress < 0) + moveProgress = 0; + else if (moveProgress > 1) + moveProgress = 1; + + p->centerPos.x = + p->centerPosStart.x + pow (moveProgress, 2) * p->finalRelPos.x; + + p->centerPos.y = + p->centerPosStart.y + pow (moveProgress, 2) * p->finalRelPos.y; + + p->centerPos.z = + p->centerPosStart.z + + pow (moveProgress, 2) * p->finalRelPos.z * 1.0f / w->screen->width; + + // rotate + p->rotAngle = pow (moveProgress, 2) * p->finalRotAng + p->rotAngleStart; +} diff --git a/animation/wave.c b/animation/wave.c new file mode 100644 index 0000000..29968d1 --- /dev/null +++ b/animation/wave.c @@ -0,0 +1,93 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Wave ========================= + +static void +fxWaveModelStepObject(CompWindow * w, + Model * model, + Object * object, + float forwardProgress, + float waveAmp, float waveHalfWidth) +{ + float origx = w->attrib.x + (WIN_W(w) * object->gridPosition.x - + w->output.left) * model->scale.x; + float origy = w->attrib.y + (WIN_H(w) * object->gridPosition.y - + w->output.top) * model->scale.y; + + float wavePosition = + WIN_Y(w) - waveHalfWidth + + forwardProgress * (WIN_H(w) * model->scale.y + 2 * waveHalfWidth); + + object->position.y = origy; + object->position.x = origx; + + if (fabs(object->position.y - wavePosition) < waveHalfWidth) + object->position.x += + (object->gridPosition.x - 0.5) * waveAmp * + (cos + ((object->position.y - + wavePosition) * M_PI / waveHalfWidth) + 1) / 2; +} + +Bool fxWaveModelStep(CompScreen * s, CompWindow * w, float time) +{ + if (!defaultAnimStep(s, w, time)) + return FALSE; + + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + Model *model = aw->model; + + float forwardProgress = 1 - defaultAnimProgress(aw); + + int i; + for (i = 0; i < model->numObjects; i++) + fxWaveModelStepObject(w, + model, + &model->objects[i], + forwardProgress, + WIN_H(w) * model->scale.y * + animGetF(as, aw, ANIM_SCREEN_OPTION_WAVE_AMP), + WIN_H(w) * model->scale.y * + animGetF(as, aw, ANIM_SCREEN_OPTION_WAVE_WIDTH) / + 2); + + return TRUE; +} diff --git a/animation/zoomside.c b/animation/zoomside.c new file mode 100644 index 0000000..157747a --- /dev/null +++ b/animation/zoomside.c @@ -0,0 +1,336 @@ +/* + * Animation plugin for ecomp/beryl + * + * animation.c + * + * Copyright : (C) 2006 Erkin Bahceci + * E-mail : erkinbah@gmail.com + * + * Based on Wobbly and Minimize plugins by + * : David Reveman + * E-mail : davidr@novell.com> + * + * Particle system added by : (C) 2006 Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Beam-Up added by : Florencio Guimaraes + * E-mail : florencio@nexcorp.com.br + * + * Hexagon tessellator added by : Mike Slegeir + * E-mail : mikeslegeir@mail.utexas.edu> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "animation-internal.h" + +// ===================== Effect: Zoom and Sidekick ========================= + +void fxSidekickInit(CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + // determine number of rotations randomly in [0.75, 1.25] range + aw->numZoomRotations = + animGetF(as, aw, ANIM_SCREEN_OPTION_SIDEKICK_NUM_ROTATIONS) * + (1.0f + 0.2f * rand() / RAND_MAX - 0.1f); + + fxZoomInit(s, w); +} + +static float +fxZoomGetSpringiness(AnimScreen *as, AnimWindow *aw) +{ + if (aw->curAnimEffect == AnimEffectZoom) + return 2 * animGetF(as, aw, ANIM_SCREEN_OPTION_ZOOM_SPRINGINESS); + else if (aw->curAnimEffect == AnimEffectSidekick) + return 1.6 * animGetF(as, aw, ANIM_SCREEN_OPTION_SIDEKICK_SPRINGINESS); + else + return 0.0f; +} + +void fxZoomInit(CompScreen * s, CompWindow * w) +{ + ANIM_SCREEN(s); + ANIM_WINDOW(w); + + if ((aw->curAnimEffect == AnimEffectSidekick && + (animGetI(as, aw, ANIM_SCREEN_OPTION_SIDEKICK_ZOOM_FROM_CENTER) == + ZoomFromCenterOn || + ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + animGetI(as, aw, ANIM_SCREEN_OPTION_SIDEKICK_ZOOM_FROM_CENTER) == + ZoomFromCenterMin) || + ((aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventClose) && + animGetI(as, aw, ANIM_SCREEN_OPTION_SIDEKICK_ZOOM_FROM_CENTER) == + ZoomFromCenterCreate))) || + (aw->curAnimEffect == AnimEffectZoom && + (animGetI(as, aw, ANIM_SCREEN_OPTION_ZOOM_FROM_CENTER) == + ZoomFromCenterOn || + ((aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventUnminimize) && + animGetI(as, aw, ANIM_SCREEN_OPTION_ZOOM_FROM_CENTER) == + ZoomFromCenterMin) || + ((aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventClose) && + animGetI(as, aw, ANIM_SCREEN_OPTION_ZOOM_FROM_CENTER) == + ZoomFromCenterCreate)))) + { + aw->icon.x = + WIN_X(w) + WIN_W(w) / 2 - aw->icon.width / 2; + aw->icon.y = + WIN_Y(w) + WIN_H(w) / 2 - aw->icon.height / 2; + } + + // allow extra time for spring damping / deceleration + if ((aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventOpen) && + fxZoomGetSpringiness(as, aw) > 1e-4) + { + aw->animTotalTime /= SPRINGY_ZOOM_PERCEIVED_T; + } + else if ((aw->curAnimEffect == AnimEffectZoom || + aw->curAnimEffect == AnimEffectSidekick) && + (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventClose)) + { + aw->animTotalTime /= NONSPRINGY_ZOOM_PERCEIVED_T; + } + else + { + aw->animTotalTime /= ZOOM_PERCEIVED_T; + } + aw->animRemainingTime = aw->animTotalTime; + + defaultAnimInit(s, w); +} + +void fxZoomAnimProgress(AnimScreen * as, + AnimWindow * aw, + float *moveProgress, + float *scaleProgress, + Bool neverSpringy) +{ + float forwardProgress = + 1 - aw->animRemainingTime / + (aw->animTotalTime - aw->timestep); + forwardProgress = MIN(forwardProgress, 1); + forwardProgress = MAX(forwardProgress, 0); + + float x = forwardProgress; + Bool backwards = FALSE; + int animProgressDir = 1; + + if (aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventOpen) + animProgressDir = 2; + if (aw->animOverrideProgressDir != 0) + animProgressDir = aw->animOverrideProgressDir; + if ((animProgressDir == 1 && + (aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventOpen)) || + (animProgressDir == 2 && + (aw->curWindowEvent == WindowEventMinimize || + aw->curWindowEvent == WindowEventClose))) + backwards = TRUE; + if (backwards) + x = 1 - x; + + float dampBase = (pow(1-pow(x,1.2)*0.5,10)-pow(0.5,10))/(1-pow(0.5,10)); + float nonSpringyProgress = + 1 - pow(decelerateProgressCustom(1 - x, .5f, .8f), 1.7f); + + if (moveProgress && scaleProgress) + { + float damping = + pow(dampBase, 0.5); + + float damping2 = + ((pow(1-(pow(x,0.7)*0.5),10)-pow(0.5,10))/(1-pow(0.5,10))) * + 0.7 + 0.3; + float springiness = 0; + + // springy only when appearing + if ((aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventOpen) && + !neverSpringy) + { + springiness = fxZoomGetSpringiness(as, aw); + } + + float springyMoveProgress = + cos(2*M_PI*pow(x,1)*1.25) * damping * damping2; + + if (springiness > 1e-4f) + { + if (x > 0.2) + { + springyMoveProgress *= springiness; + } + else + { + // interpolate between (springyMoveProgress * springiness) + // and springyMoveProgress for smooth transition at 0.2 + // (where it crosses y=0) + float progressUpto02 = x / 0.2f; + springyMoveProgress = + (1 - progressUpto02) * springyMoveProgress + + progressUpto02 * springyMoveProgress * springiness; + } + *moveProgress = 1 - springyMoveProgress; + } + else + { + *moveProgress = nonSpringyProgress; + } + if (aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventOpen) + *moveProgress = 1 - *moveProgress; + if (backwards) + *moveProgress = 1 - *moveProgress; + + float scProgress = nonSpringyProgress; + if (aw->curWindowEvent == WindowEventUnminimize || + aw->curWindowEvent == WindowEventOpen) + scProgress = 1 - scProgress; + if (backwards) + scProgress = 1 - scProgress; + + *scaleProgress = + pow(scProgress, 1.25); + } +} + +void +fxZoomUpdateWindowAttrib(AnimScreen * as, + CompWindow * w, + WindowPaintAttrib * wAttrib) +{ + ANIM_WINDOW(w); + + float forwardProgress; + float dummy; + + fxZoomAnimProgress(as, aw, &dummy, &forwardProgress, FALSE); + + wAttrib->opacity = + (GLushort) (aw->storedOpacity * (1 - forwardProgress)); +} + +void +applyZoomTransform (CompWindow * w, CompTransform *transform) +{ + ANIM_SCREEN(w->screen); + ANIM_WINDOW(w); + + Point winCenter = + {(WIN_X(w) + WIN_W(w) / 2.0), + (WIN_Y(w) + WIN_H(w) / 2.0)}; + Point iconCenter = + {aw->icon.x + aw->icon.width / 2.0, + aw->icon.y + aw->icon.height / 2.0}; + Point winSize = + {WIN_W(w), WIN_H(w)}; + winSize.x = (winSize.x == 0 ? 1 : winSize.x); + winSize.y = (winSize.y == 0 ? 1 : winSize.y); + + float scaleProgress; + float moveProgress; + float rotateProgress = 0; + + if (aw->curAnimEffect == AnimEffectSidekick) + { + fxZoomAnimProgress(as, aw, &moveProgress, &scaleProgress, FALSE); + rotateProgress = moveProgress; + } + else if (aw->curAnimEffect == AnimEffectZoom) + { + fxZoomAnimProgress(as, aw, &moveProgress, &scaleProgress, FALSE); + } + else + { + // other effects use this for minimization + fxZoomAnimProgress(as, aw, &moveProgress, &scaleProgress, TRUE); + } + + Point curCenter = + {(1 - moveProgress) * winCenter.x + moveProgress * iconCenter.x, + (1 - moveProgress) * winCenter.y + moveProgress * iconCenter.y}; + Point curScale = + {((1 - scaleProgress) * winSize.x + scaleProgress * aw->icon.width) / + winSize.x, + ((1 - scaleProgress) * winSize.y + scaleProgress * aw->icon.height) / + winSize.y}; + + if (fxZoomGetSpringiness(as, aw) == 0.0f && + (aw->curAnimEffect == AnimEffectZoom || + aw->curAnimEffect == AnimEffectSidekick) && + (aw->curWindowEvent == WindowEventOpen || + aw->curWindowEvent == WindowEventClose)) + { + matrixTranslate (transform, + iconCenter.x, iconCenter.y, 0); + matrixScale (transform, curScale.x, curScale.y, 1.0f); + matrixTranslate (transform, + -iconCenter.x, -iconCenter.y, 0); + + if (aw->curAnimEffect == AnimEffectSidekick) + { + matrixTranslate (transform, winCenter.x, winCenter.y, 0); + matrixRotate (transform, rotateProgress * 360 * aw->numZoomRotations, + 0.0f, 0.0f, 1.0f); + matrixTranslate (transform, -winCenter.x, -winCenter.y, 0); + } + } + else + { + matrixTranslate (transform, winCenter.x, winCenter.y, 0); + float tx, ty; + if (aw->curAnimEffect != AnimEffectZoom) + { + // avoid parallelogram look + float maxScale = MAX(curScale.x, curScale.y); + matrixScale (transform, maxScale, maxScale, 1.0f); + tx = (curCenter.x - winCenter.x) / maxScale; + ty = (curCenter.y - winCenter.y) / maxScale; + } + else + { + matrixScale (transform, curScale.x, curScale.y, 1.0f); + tx = (curCenter.x - winCenter.x) / curScale.x; + ty = (curCenter.y - winCenter.y) / curScale.y; + } + matrixTranslate (transform, tx, ty, 0); + if (aw->curAnimEffect == AnimEffectSidekick) + { + matrixRotate (transform, rotateProgress * 360 * aw->numZoomRotations, + 0.0f, 0.0f, 1.0f); + } + matrixTranslate (transform, -winCenter.x, -winCenter.y, 0); + } +} + +void +fxZoomUpdateWindowTransform (CompScreen *s, + CompWindow *w, + CompTransform *wTransform) +{ + ANIM_WINDOW(w); + + // Apply transform to wTransform + matmul4 (wTransform->m, wTransform->m, aw->transform.m); +} diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..e7513cd --- /dev/null +++ b/autogen.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +intltoolize --copy --force --automake || exit 1 +glib-gettextize --copy --force || exit 1 + +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" \ No newline at end of file diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0 new file mode 100644 index 0000000..db21a69 --- /dev/null +++ b/autom4te.cache/output.0 @@ -0,0 +1,23108 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.61 for ecomp 0.6.2. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +ECHO=${lt_ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +$* +_LT_EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi + + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi + fi + fi + fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='ecomp' +PACKAGE_TARNAME='ecomp' +PACKAGE_VERSION='0.6.2' +PACKAGE_STRING='ecomp 0.6.2' +PACKAGE_BUGREPORT='davidr@novell.com' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +ECOMP_VERSION_MAJOR +ECOMP_VERSION_MINOR +ECOMP_VERSION_MICRO +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +am__isrc +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +USE_NLS +INTLTOOL_UPDATE +INTLTOOL_MERGE +INTLTOOL_EXTRACT +INTLTOOL_DESKTOP_RULE +INTLTOOL_DIRECTORY_RULE +INTLTOOL_KEYS_RULE +INTLTOOL_PROP_RULE +INTLTOOL_OAF_RULE +INTLTOOL_PONG_RULE +INTLTOOL_SERVER_RULE +INTLTOOL_SHEET_RULE +INTLTOOL_SOUNDLIST_RULE +INTLTOOL_UI_RULE +INTLTOOL_XAM_RULE +INTLTOOL_KBD_RULE +INTLTOOL_XML_RULE +INTLTOOL_XML_NOMERGE_RULE +INTLTOOL_CAVES_RULE +INTLTOOL_SCHEMAS_RULE +INTLTOOL_THEME_RULE +INTLTOOL_SERVICE_RULE +INTLTOOL_POLICY_RULE +XGETTEXT +MSGMERGE +MSGFMT +GMSGFMT +INTLTOOL_PERL +ALL_LINGUAS +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +DATADIRNAME +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +LIBTOOL +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +SED +GREP +EGREP +FGREP +LD +DUMPBIN +ac_ct_DUMPBIN +NM +LN_S +AR +RANLIB +lt_ECHO +DSYMUTIL +NMEDIT +LIPO +OTOOL +OTOOL64 +CXXCPP +MSGFMT_OPTS +CATALOGS +CATOBJEXT +GMOFILES +INSTOBJEXT +INTLLIBS +PO_IN_DATADIR_TRUE +PO_IN_DATADIR_FALSE +POFILES +POSUB +MKINSTALLDIRS +GETTEXT_PACKAGE +plugindir +default_plugins +imagedir +metadatadir +PKG_CONFIG +ECOMP_CFLAGS +ECOMP_LIBS +ECOMP_REQUIRES +DECORATION_CFLAGS +DECORATION_LIBS +DECORATION_REQUIRES +GL_CFLAGS +GL_LIBS +XSLTPROC +LIBPNG_CFLAGS +LIBPNG_LIBS +stylesheetdir +PLACE_PLUGIN_TRUE +PLACE_PLUGIN_FALSE +DBUS_CFLAGS +DBUS_LIBS +DBUS_PLUGIN_TRUE +DBUS_PLUGIN_FALSE +INOTIFY_PLUGIN_TRUE +INOTIFY_PLUGIN_FALSE +FUSE_CFLAGS +FUSE_LIBS +FUSE_PLUGIN_TRUE +FUSE_PLUGIN_FALSE +ANNOTATE_CFLAGS +ANNOTATE_LIBS +ANNOTATE_PLUGIN_TRUE +ANNOTATE_PLUGIN_FALSE +LIBRSVG_CFLAGS +LIBRSVG_LIBS +USE_LIBRSVG_TRUE +USE_LIBRSVG_FALSE +CAIRO_CFLAGS +CAIRO_LIBS +PANGO_CFLAGS +PANGO_LIBS +TEXT_PLUGIN_TRUE +TEXT_PLUGIN_FALSE +WALL_PLUGIN_TRUE +WALL_PLUGIN_FALSE +JPEG_PLUGIN_TRUE +JPEG_PLUGIN_FALSE +LIBXSLT_CFLAGS +LIBXSLT_LIBS +xsltdir +BCOP_BIN +LIB@&t@OBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +PKG_CONFIG +ECOMP_CFLAGS +ECOMP_LIBS +DECORATION_CFLAGS +DECORATION_LIBS +LIBPNG_CFLAGS +LIBPNG_LIBS +DBUS_CFLAGS +DBUS_LIBS +FUSE_CFLAGS +FUSE_LIBS +ANNOTATE_CFLAGS +ANNOTATE_LIBS +LIBRSVG_CFLAGS +LIBRSVG_LIBS +CAIRO_CFLAGS +CAIRO_LIBS +PANGO_CFLAGS +PANGO_LIBS +LIBXSLT_CFLAGS +LIBXSLT_LIBS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures ecomp 0.6.2 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/ecomp@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of ecomp 0.6.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-nls do not use Native Language Support + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --disable-dbus Disable dbus plugin + --disable-inotify Disable inotify plugin + --disable-fuse Disable fuse plugin + --disable-annotate Disable annotate plugin + --disable-librsvg Disable svg support + --disable-jpeg Disable jpeg plugin + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-default-plugins=PLUGINS + --with-gl-cflags=CFLAGS + --with-gl-libs=LIBS + --with-max-desktops Max reasonable desktops + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + PKG_CONFIG path to pkg-config utility + ECOMP_CFLAGS + C compiler flags for ECOMP, overriding pkg-config + ECOMP_LIBS linker flags for ECOMP, overriding pkg-config + DECORATION_CFLAGS + C compiler flags for DECORATION, overriding pkg-config + DECORATION_LIBS + linker flags for DECORATION, overriding pkg-config + LIBPNG_CFLAGS + C compiler flags for LIBPNG, overriding pkg-config + LIBPNG_LIBS linker flags for LIBPNG, overriding pkg-config + DBUS_CFLAGS C compiler flags for DBUS, overriding pkg-config + DBUS_LIBS linker flags for DBUS, overriding pkg-config + FUSE_CFLAGS C compiler flags for FUSE, overriding pkg-config + FUSE_LIBS linker flags for FUSE, overriding pkg-config + ANNOTATE_CFLAGS + C compiler flags for ANNOTATE, overriding pkg-config + ANNOTATE_LIBS + linker flags for ANNOTATE, overriding pkg-config + LIBRSVG_CFLAGS + C compiler flags for LIBRSVG, overriding pkg-config + LIBRSVG_LIBS + linker flags for LIBRSVG, overriding pkg-config + CAIRO_CFLAGS + C compiler flags for CAIRO, overriding pkg-config + CAIRO_LIBS linker flags for CAIRO, overriding pkg-config + PANGO_CFLAGS + C compiler flags for PANGO, overriding pkg-config + PANGO_LIBS linker flags for PANGO, overriding pkg-config + LIBXSLT_CFLAGS + C compiler flags for LIBXSLT, overriding pkg-config + LIBXSLT_LIBS + linker flags for LIBXSLT, overriding pkg-config + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +ecomp configure 0.6.2 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by ecomp $as_me 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +@%:@@%:@ --------- @%:@@%:@ +@%:@@%:@ Platform. @%:@@%:@ +@%:@@%:@ --------- @%:@@%:@ + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ Core tests. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +@%:@@%:@ ---------------- @%:@@%:@ +@%:@@%:@ Cache variables. @%:@@%:@ +@%:@@%:@ ---------------- @%:@@%:@ +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +@%:@@%:@ ----------------- @%:@@%:@ +@%:@@%:@ Output variables. @%:@@%:@ +@%:@@%:@ ----------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +@%:@@%:@ ------------------- @%:@@%:@ +@%:@@%:@ File substitutions. @%:@@%:@ +@%:@@%:@ ------------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ confdefs.h. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ECOMP_VERSION_MAJOR=0 +ECOMP_VERSION_MINOR=6 +ECOMP_VERSION_MICRO=2 + + + + +am__api_version='1.10' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS + +fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +echo "${ECHO_T}$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='ecomp' + VERSION='0.6.2' + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h" + + + { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6; } + + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + + +case "$am__api_version" in + 1.01234) + { { echo "$as_me:$LINENO: error: Automake 1.5 or newer is required to use intltool" >&5 +echo "$as_me: error: Automake 1.5 or newer is required to use intltool" >&2;} + { (exit 1); exit 1; }; } + ;; + *) + ;; +esac + +if test -n "0.23"; then + { echo "$as_me:$LINENO: checking for intltool >= 0.23" >&5 +echo $ECHO_N "checking for intltool >= 0.23... $ECHO_C" >&6; } + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.23 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` + INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + + { echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found" >&5 +echo "${ECHO_T}$INTLTOOL_APPLIED_VERSION found" >&6; } + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + { { echo "$as_me:$LINENO: error: Your intltool is too old. You need intltool 0.23 or later." >&5 +echo "$as_me: error: Your intltool is too old. You need intltool 0.23 or later." >&2;} + { (exit 1); exit 1; }; } +fi + +# Extract the first word of "intltool-update", so it can be a program name with args. +set dummy intltool-update; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_UPDATE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_UPDATE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE +if test -n "$INTLTOOL_UPDATE"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_UPDATE" >&5 +echo "${ECHO_T}$INTLTOOL_UPDATE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "intltool-merge", so it can be a program name with args. +set dummy intltool-merge; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_MERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_MERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE +if test -n "$INTLTOOL_MERGE"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_MERGE" >&5 +echo "${ECHO_T}$INTLTOOL_MERGE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "intltool-extract", so it can be a program name with args. +set dummy intltool-extract; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_EXTRACT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_EXTRACT in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT +if test -n "$INTLTOOL_EXTRACT"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_EXTRACT" >&5 +echo "${ECHO_T}$INTLTOOL_EXTRACT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then + { { echo "$as_me:$LINENO: error: The intltool scripts were not found. Please install intltool." >&5 +echo "$as_me: error: The intltool scripts were not found. Please install intltool." >&2;} + { (exit 1); exit 1; }; } +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + + + + + + + + + + + + + + + + + + + + + +# Check the gettext tools to make sure they are GNU +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $XGETTEXT in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +XGETTEXT=$ac_cv_path_XGETTEXT +if test -n "$XGETTEXT"; then + { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGMERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MSGMERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +MSGMERGE=$ac_cv_path_MSGMERGE +if test -n "$MSGMERGE"; then + { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 +echo "${ECHO_T}$MSGMERGE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +MSGFMT=$ac_cv_path_MSGFMT +if test -n "$MSGFMT"; then + { echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then + { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5 +echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then + { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5 +echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi + +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL +if test -n "$INTLTOOL_PERL"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_PERL" >&5 +echo "${ECHO_T}$INTLTOOL_PERL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$INTLTOOL_PERL"; then + { { echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5 +echo "$as_me: error: perl not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then + { { echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5 +echo "$as_me: error: perl 5.x required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +if test "x" != "xno-xml"; then + { echo "$as_me:$LINENO: checking for XML::Parser" >&5 +echo $ECHO_N "checking for XML::Parser... $ECHO_C" >&6; } + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + { { echo "$as_me:$LINENO: error: XML::Parser perl module is required for intltool" >&5 +echo "$as_me: error: XML::Parser perl module is required for intltool" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# Substitute ALL_LINGUAS so we can use it in po/Makefile + + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + DATADIRNAME=share +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + case $host in + *-*-solaris*) + { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 +echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } +if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. + For example, HP-UX 11i declares gettimeofday. */ +#define bind_textdomain_codeset innocuous_bind_textdomain_codeset + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bind_textdomain_codeset (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef bind_textdomain_codeset + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bind_textdomain_codeset (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset +choke me +#endif + +int +main () +{ +return bind_textdomain_codeset (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_bind_textdomain_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_bind_textdomain_codeset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 +echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } +if test $ac_cv_func_bind_textdomain_codeset = yes; then + DATADIRNAME=share +else + DATADIRNAME=lib +fi + + ;; + *) + DATADIRNAME=lib + ;; + esac +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi + + + + + +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + +cat >>confdefs.h <<\_ACEOF +@%:@define DECOR_INTERFACE_VERSION 20070319 +_ACEOF + + +{ echo "$as_me:$LINENO: checking for library containing strerror" >&5 +echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; } +if test "${ac_cv_search_strerror+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (); +int +main () +{ +return strerror (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cposix; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_strerror=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_strerror+set}" = set; then + break +fi +done +if test "${ac_cv_search_strerror+set}" = set; then + : +else + ac_cv_search_strerror=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +echo "${ECHO_T}$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +case `pwd` in + *\ * | *\ *) + { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.2.4' +macro_revision='1.2976' + + + + + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${ac_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" | sed 99q >conftest.sed + $as_unset ac_script || ac_script= + # Extract the first word of "sed gsed" to use in msg output +if test -z "$SED"; then +set dummy sed gsed; ac_prog_name=$2 +if test "${ac_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_SED_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue + # Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_SED_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +SED="$ac_cv_path_SED" +if test -z "$SED"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in \$PATH" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_SED=$SED +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 +echo "${ECHO_T}$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for fgrep" >&5 +echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; } +if test "${ac_cv_path_FGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + # Extract the first word of "fgrep" to use in msg output +if test -z "$FGREP"; then +set dummy fgrep; ac_prog_name=$2 +if test "${ac_cv_path_FGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_FGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue + # Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_FGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +FGREP="$ac_cv_path_FGREP" +if test -z "$FGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_FGREP=$FGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 +echo "${ECHO_T}$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 +echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$ac_tool_prefix"; then + for ac_prog in "dumpbin -symbols" "link -dump -symbols" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DUMPBIN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { echo "$as_me:$LINENO: result: $DUMPBIN" >&5 +echo "${ECHO_T}$DUMPBIN" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in "dumpbin -symbols" "link -dump -symbols" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 +echo "${ECHO_T}$ac_ct_DUMPBIN" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 +echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6; } +if test "${lt_cv_nm_interface+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:__oline__: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 +echo "${ECHO_T}$lt_cv_nm_interface" >&6; } + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +{ echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 +echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ echo "$as_me:$LINENO: result: $xsi_shell" >&5 +echo "${ECHO_T}$xsi_shell" >&6; } + + +{ echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 +echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ echo "$as_me:$LINENO: result: $lt_shell_append" >&5 +echo "${ECHO_T}$lt_shell_append" >&6; } + + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + + + + + + + + + + + + + + + + + + + + + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DSYMUTIL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 +echo "${ECHO_T}$DSYMUTIL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 +echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_NMEDIT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { echo "$as_me:$LINENO: result: $NMEDIT" >&5 +echo "${ECHO_T}$NMEDIT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 +echo "${ECHO_T}$ac_ct_NMEDIT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_LIPO+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { echo "$as_me:$LINENO: result: $LIPO" >&5 +echo "${ECHO_T}$LIPO" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_LIPO="lipo" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 +echo "${ECHO_T}$ac_ct_LIPO" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { echo "$as_me:$LINENO: result: $OTOOL" >&5 +echo "${ECHO_T}$OTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OTOOL="otool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 +echo "${ECHO_T}$ac_ct_OTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OTOOL64+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { echo "$as_me:$LINENO: result: $OTOOL64" >&5 +echo "${ECHO_T}$OTOOL64" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 +echo "${ECHO_T}$ac_ct_OTOOL64" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 +echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; } +if test "${lt_cv_apple_cc_single_mod+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 +echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; } + { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 +echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; } +if test "${lt_cv_ld_exported_symbols_list+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_ld_exported_symbols_list=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_ld_exported_symbols_list=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 +echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + _lt_caught_CXX_error=yes +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + + +test -z "$pic_mode" && pic_mode=default + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +@%:@define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + + + + + + + + + + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl*) + # IBM XL C 8.0/Fortran 10.1 on PPC + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" + ;; +esac +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + + + + + + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; } + +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag= + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld='-rpath $libdir' + archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + allow_undefined_flag="$_lt_dar_allow_undefined" + if test "$GCC" = "yes"; then + output_verbose_link_cmd=echo + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat >conftest.$ac_ext <<_ACEOF +int foo(void) {} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then + shlibpath_overrides_runpath=yes +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +_LT_EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +_LT_EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report which library types will actually be built + { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + + { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + + { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + compiler=$CC + compiler_CXX=$CC + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + if test "$GCC" = "yes"; then + output_verbose_link_cmd=echo + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + gnu*) + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5]* | *pgcpp\ [1-5]*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=echo + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no + + GCC_CXX="$GXX" + LD_CXX="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc* ) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC*) + # IBM XL 8.0 on PPC + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + ;; +esac +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + + + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then + shlibpath_overrides_runpath=yes +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + + + + +for ac_header in stdlib.h sys/time.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ -------------------------------- @%:@@%:@ +@%:@@%:@ Report this to davidr@novell.com @%:@@%:@ +@%:@@%:@ -------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +ALL_LINGUAS="cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu" + + + +for ac_header in locale.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ -------------------------------- @%:@@%:@ +@%:@@%:@ Report this to davidr@novell.com @%:@@%:@ +@%:@@%:@ -------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + if test $ac_cv_header_locale_h = yes; then + { echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 +echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6; } +if test "${am_cv_val_LC_MESSAGES+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +return LC_MESSAGES + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + am_cv_val_LC_MESSAGES=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + am_cv_val_LC_MESSAGES=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 +echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6; } + if test $am_cv_val_LC_MESSAGES = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LC_MESSAGES 1 +_ACEOF + + fi + fi + USE_NLS=yes + + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + if test "${ac_cv_header_libintl_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libintl.h usability" >&5 +echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libintl.h presence" >&5 +echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ -------------------------------- @%:@@%:@ +@%:@@%:@ Report this to davidr@novell.com @%:@@%:@ +@%:@@%:@ -------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libintl_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } + +fi +if test $ac_cv_header_libintl_h = yes; then + gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + # + # First check in libc + # + { echo "$as_me:$LINENO: checking for ngettext in libc" >&5 +echo $ECHO_N "checking for ngettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_ngettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include + +int +main () +{ +return !ngettext ("","", 1) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + gt_cv_func_ngettext_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_ngettext_libc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $gt_cv_func_ngettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_ngettext_libc" >&6; } + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + { echo "$as_me:$LINENO: checking for dgettext in libc" >&5 +echo $ECHO_N "checking for dgettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_dgettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include + +int +main () +{ +return !dgettext ("","") + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + gt_cv_func_dgettext_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_dgettext_libc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_dgettext_libc" >&6; } + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + +for ac_func in bind_textdomain_codeset +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + { echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 +echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bindtextdomain (); +int +main () +{ +return bindtextdomain (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_bindtextdomain=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_bindtextdomain=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6; } +if test $ac_cv_lib_intl_bindtextdomain = yes; then + { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 +echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_ngettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); +int +main () +{ +return ngettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_ngettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_ngettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } +if test $ac_cv_lib_intl_ngettext = yes; then + { echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5 +echo $ECHO_N "checking for dgettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_dgettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dgettext (); +int +main () +{ +return dgettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_dgettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_dgettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_dgettext" >&6; } +if test $ac_cv_lib_intl_dgettext = yes; then + gt_cv_func_dgettext_libintl=yes +fi + +fi + +fi + + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + { echo "$as_me:$LINENO: checking if -liconv is needed to use gettext" >&5 +echo $ECHO_N "checking if -liconv is needed to use gettext... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 +echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_ngettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); +int +main () +{ +return ngettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_ngettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_ngettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } +if test $ac_cv_lib_intl_ngettext = yes; then + { echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5 +echo $ECHO_N "checking for dcgettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_dcgettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dcgettext (); +int +main () +{ +return dcgettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_dcgettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_dcgettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_dcgettext" >&6; } +if test $ac_cv_lib_intl_dcgettext = yes; then + gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv +else + : +fi + +else + : +fi + + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + +for ac_func in bind_textdomain_codeset +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_GETTEXT 1 +_ACEOF + + # Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$MSGFMT" in + /*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then + ac_cv_path_MSGFMT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != "no"; then + { echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + +for ac_func in dcgettext +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + MSGFMT_OPTS= + { echo "$as_me:$LINENO: checking if msgfmt accepts -c" >&5 +echo $ECHO_N "checking if msgfmt accepts -c... $ECHO_C" >&6; } + cat >conftest.foo <<_ACEOF + +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +_ACEOF +if { (echo "$as_me:$LINENO: \$MSGFMT -c -o /dev/null conftest.foo") >&5 + ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + MSGFMT_OPTS=-c; { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +echo "$as_me: failed input was:" >&5 +sed 's/^/| /' conftest.foo >&5 +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + # Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$XGETTEXT" in + /*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + CATOBJEXT=.gmo + DATADIRNAME=share +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + case $host in + *-*-solaris*) + { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 +echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } +if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. + For example, HP-UX 11i declares gettimeofday. */ +#define bind_textdomain_codeset innocuous_bind_textdomain_codeset + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bind_textdomain_codeset (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef bind_textdomain_codeset + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bind_textdomain_codeset (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset +choke me +#endif + +int +main () +{ +return bind_textdomain_codeset (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_bind_textdomain_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_bind_textdomain_codeset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 +echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } +if test $ac_cv_func_bind_textdomain_codeset = yes; then + CATOBJEXT=.gmo + DATADIRNAME=share +else + CATOBJEXT=.mo + DATADIRNAME=lib +fi + + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + +fi + + + + if test "$gt_cv_have_gettext" = "yes" ; then + +cat >>confdefs.h <<\_ACEOF +@%:@define ENABLE_NLS 1 +_ACEOF + + fi + + if test "$XGETTEXT" != ":"; then + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + { echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 +echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6; } + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + + ac_config_commands="$ac_config_commands default-1" + + + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + + + + + + + + + + + + + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + { echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 +echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6; } + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + { echo "$as_me:$LINENO: result: $LINGUAS" >&5 +echo "${ECHO_T}$LINGUAS" >&6; } + fi + + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + + + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + +GETTEXT_PACKAGE=ecomp + +cat >>confdefs.h <<_ACEOF +@%:@define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" +_ACEOF + + + +if test "x$GCC" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wall" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wpointer-arith[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wpointer-arith" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wstrict-prototypes[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wstrict-prototypes" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wmissing-prototypes[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wmissing-prototypes" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wmissing-declarations[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wmissing-declarations" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wnested-externs[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wnested-externs" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-D_FORTIFY_SOURCE=2[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" ;; + esac + + if test "x$enable_ansi" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-ansi[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -ansi" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-pedantic[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -pedantic" ;; + esac + fi +fi + +if test "x$GCC" = "xyes"; then + case " $CXXFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) CXXFLAGS="$CXXFLAGS -Wall" ;; + esac + + case " $CXXFLAGS " in + *[\ \ ]-D_FORTIFY_SOURCE=2[\ \ ]*) ;; + *) CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2" ;; + esac +fi + +{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # See if sys/param.h defines the BYTE_ORDER macro. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) + bogus endian macros +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + # It does; now see whether it defined to BIG_ENDIAN or not. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_bigendian=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_bigendian=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # It does not; compile a test program. +if test "$cross_compiling" = yes; then + # try to guess the endianness by grepping values into an object file + ac_cv_c_bigendian=unknown + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; +void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +int +main () +{ + _ascii (); _ebcdic (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then + ac_cv_c_bigendian=yes +fi +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_bigendian=no +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } +case $ac_cv_c_bigendian in + yes) + +cat >>confdefs.h <<\_ACEOF +@%:@define WORDS_BIGENDIAN 1 +_ACEOF + ;; + no) + ;; + *) + { { echo "$as_me:$LINENO: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +echo "$as_me: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + { (exit 1); exit 1; }; } ;; +esac + + +plugindir=$libdir/ecomp + + + +# Check whether --with-default-plugins was given. +if test "${with_default_plugins+set}" = set; then + withval=$with_default_plugins; default_plugins="$withval" +else + default_plugins="" +fi + + + +imagedir=$datadir/ecomp + + +metadatadir=$datadir/ecomp + + +ECOMP_REQUIRES="xcomposite \ + xfixes \ + xdamage \ + xrandr \ + xinerama \ + ice \ + sm \ + libxml-2.0 \ + libxslt \ + pango" + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 +echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 +echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + PKG_CONFIG="" + fi + +fi + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for ECOMP" >&5 +echo $ECHO_N "checking for ECOMP... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$ECOMP_CFLAGS"; then + pkg_cv_ECOMP_CFLAGS="$ECOMP_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$ECOMP_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$ECOMP_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ECOMP_CFLAGS=`$PKG_CONFIG --cflags "$ECOMP_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$ECOMP_LIBS"; then + pkg_cv_ECOMP_LIBS="$ECOMP_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$ECOMP_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$ECOMP_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ECOMP_LIBS=`$PKG_CONFIG --libs "$ECOMP_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + ECOMP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$ECOMP_REQUIRES"` + else + ECOMP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$ECOMP_REQUIRES"` + fi + # Put the nasty error message in config.log where it belongs + echo "$ECOMP_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements ($ECOMP_REQUIRES) were not met: + +$ECOMP_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements ($ECOMP_REQUIRES) were not met: + +$ECOMP_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + ECOMP_CFLAGS=$pkg_cv_ECOMP_CFLAGS + ECOMP_LIBS=$pkg_cv_ECOMP_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + +DECORATION_REQUIRES="xrender" + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for DECORATION" >&5 +echo $ECHO_N "checking for DECORATION... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$DECORATION_CFLAGS"; then + pkg_cv_DECORATION_CFLAGS="$DECORATION_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$DECORATION_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$DECORATION_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DECORATION_CFLAGS=`$PKG_CONFIG --cflags "$DECORATION_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$DECORATION_LIBS"; then + pkg_cv_DECORATION_LIBS="$DECORATION_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$DECORATION_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$DECORATION_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DECORATION_LIBS=`$PKG_CONFIG --libs "$DECORATION_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DECORATION_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$DECORATION_REQUIRES"` + else + DECORATION_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$DECORATION_REQUIRES"` + fi + # Put the nasty error message in config.log where it belongs + echo "$DECORATION_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements ($DECORATION_REQUIRES) were not met: + +$DECORATION_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements ($DECORATION_REQUIRES) were not met: + +$DECORATION_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + DECORATION_CFLAGS=$pkg_cv_DECORATION_CFLAGS + DECORATION_LIBS=$pkg_cv_DECORATION_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + +if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xrender >= 0.9.3\"") >&5 + ($PKG_CONFIG --exists --print-errors "xrender >= 0.9.3") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + have_xrender_0_9_3=yes +else + have_xrender_0_9_3=no +fi + +if test "$have_xrender_0_9_3" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_XRENDER_0_9_3 1 +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for GL_CFLAGS" >&5 +echo $ECHO_N "checking for GL_CFLAGS... $ECHO_C" >&6; } + +# Check whether --with-gl-cflags was given. +if test "${with_gl_cflags+set}" = set; then + withval=$with_gl_cflags; GL_CFLAGS="$withval" +else + GL_CFLAGS="" +fi + + +{ echo "$as_me:$LINENO: result: $GL_CFLAGS" >&5 +echo "${ECHO_T}$GL_CFLAGS" >&6; } +{ echo "$as_me:$LINENO: checking for GL_LIBS" >&5 +echo $ECHO_N "checking for GL_LIBS... $ECHO_C" >&6; } + +# Check whether --with-gl-libs was given. +if test "${with_gl_libs+set}" = set; then + withval=$with_gl_libs; GL_LIBS="$withval" +else + GL_LIBS="-lGL" +fi + +{ echo "$as_me:$LINENO: result: $GL_LIBS" >&5 +echo "${ECHO_T}$GL_LIBS" >&6; } + + + + +for ac_prog in xsltproc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_XSLTPROC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$XSLTPROC"; then + ac_cv_prog_XSLTPROC="$XSLTPROC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_XSLTPROC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +XSLTPROC=$ac_cv_prog_XSLTPROC +if test -n "$XSLTPROC"; then + { echo "$as_me:$LINENO: result: $XSLTPROC" >&5 +echo "${ECHO_T}$XSLTPROC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$XSLTPROC" && break +done + +if test -z "$XSLTPROC"; then + { { echo "$as_me:$LINENO: error: Couldn't find xsltproc" >&5 +echo "$as_me: error: Couldn't find xsltproc" >&2;} + { (exit 1); exit 1; }; } +fi + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBPNG" >&5 +echo $ECHO_N "checking for LIBPNG... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBPNG_CFLAGS"; then + pkg_cv_LIBPNG_CFLAGS="$LIBPNG_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpng\"") >&5 + ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBPNG_CFLAGS=`$PKG_CONFIG --cflags "libpng" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBPNG_LIBS"; then + pkg_cv_LIBPNG_LIBS="$LIBPNG_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpng\"") >&5 + ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBPNG_LIBS=`$PKG_CONFIG --libs "libpng" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBPNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng"` + else + LIBPNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBPNG_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (libpng) were not met: + +$LIBPNG_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (libpng) were not met: + +$LIBPNG_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + LIBPNG_CFLAGS=$pkg_cv_LIBPNG_CFLAGS + LIBPNG_LIBS=$pkg_cv_LIBPNG_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + + + + + + + + +stylesheetdir=$datadir/ecomp + + + + + if test "x$use_place" = "xyes"; then + PLACE_PLUGIN_TRUE= + PLACE_PLUGIN_FALSE='#' +else + PLACE_PLUGIN_TRUE='#' + PLACE_PLUGIN_FALSE= +fi + +if test "$use_place" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_PLACE 1 +_ACEOF + +fi + +# Check whether --enable-dbus was given. +if test "${enable_dbus+set}" = set; then + enableval=$enable_dbus; use_dbus=$enableval +else + use_dbus=yes +fi + + +if test "x$use_dbus" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for DBUS" >&5 +echo $ECHO_N "checking for DBUS... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$DBUS_CFLAGS"; then + pkg_cv_DBUS_CFLAGS="$DBUS_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-1 libxml-2.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "dbus-1 libxml-2.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-1 libxml-2.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$DBUS_LIBS"; then + pkg_cv_DBUS_LIBS="$DBUS_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-1 libxml-2.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "dbus-1 libxml-2.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DBUS_LIBS=`$PKG_CONFIG --libs "dbus-1 libxml-2.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "dbus-1 libxml-2.0"` + else + DBUS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "dbus-1 libxml-2.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$DBUS_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_dbus=no +elif test $pkg_failed = untried; then + use_dbus=no +else + DBUS_CFLAGS=$pkg_cv_DBUS_CFLAGS + DBUS_LIBS=$pkg_cv_DBUS_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_dbus=yes +fi +fi + + if test "x$use_dbus" = "xyes"; then + DBUS_PLUGIN_TRUE= + DBUS_PLUGIN_FALSE='#' +else + DBUS_PLUGIN_TRUE='#' + DBUS_PLUGIN_FALSE= +fi + +if test "$use_dbus" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_DBUS 1 +_ACEOF + +fi + + + + +# Check whether --enable-inotify was given. +if test "${enable_inotify+set}" = set; then + enableval=$enable_inotify; use_inotify=$enableval +else + use_inotify=yes +fi + + +if test "x$use_inotify" = "xyes"; then + +for ac_header in sys/inotify.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ -------------------------------- @%:@@%:@ +@%:@@%:@ Report this to davidr@novell.com @%:@@%:@ +@%:@@%:@ -------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + use_inotify=yes +else + use_inotify=no +fi + +done + +fi + + if test "x$use_inotify" = "xyes"; then + INOTIFY_PLUGIN_TRUE= + INOTIFY_PLUGIN_FALSE='#' +else + INOTIFY_PLUGIN_TRUE='#' + INOTIFY_PLUGIN_FALSE= +fi + +if test "$use_inotify" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_INOTIFY 1 +_ACEOF + +fi + +# Check whether --enable-fuse was given. +if test "${enable_fuse+set}" = set; then + enableval=$enable_fuse; use_fuse=$enableval +else + use_fuse=yes +fi + + +if test "x$use_fuse" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for FUSE" >&5 +echo $ECHO_N "checking for FUSE... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$FUSE_CFLAGS"; then + pkg_cv_FUSE_CFLAGS="$FUSE_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fuse\"") >&5 + ($PKG_CONFIG --exists --print-errors "fuse") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_FUSE_CFLAGS=`$PKG_CONFIG --cflags "fuse" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$FUSE_LIBS"; then + pkg_cv_FUSE_LIBS="$FUSE_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fuse\"") >&5 + ($PKG_CONFIG --exists --print-errors "fuse") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_FUSE_LIBS=`$PKG_CONFIG --libs "fuse" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FUSE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fuse"` + else + FUSE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fuse"` + fi + # Put the nasty error message in config.log where it belongs + echo "$FUSE_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_fuse=no +elif test $pkg_failed = untried; then + use_fuse=no +else + FUSE_CFLAGS=$pkg_cv_FUSE_CFLAGS + FUSE_LIBS=$pkg_cv_FUSE_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_fuse=yes +fi +fi + + if test "x$use_fuse" = "xyes"; then + FUSE_PLUGIN_TRUE= + FUSE_PLUGIN_FALSE='#' +else + FUSE_PLUGIN_TRUE='#' + FUSE_PLUGIN_FALSE= +fi + +if test "$use_fuse" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_FUSE 1 +_ACEOF + +fi + +# Check whether --enable-annotate was given. +if test "${enable_annotate+set}" = set; then + enableval=$enable_annotate; use_annotate=$enableval +else + use_annotate=yes +fi + + +if test "x$use_annotate" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for ANNOTATE" >&5 +echo $ECHO_N "checking for ANNOTATE... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$ANNOTATE_CFLAGS"; then + pkg_cv_ANNOTATE_CFLAGS="$ANNOTATE_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ANNOTATE_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$ANNOTATE_LIBS"; then + pkg_cv_ANNOTATE_LIBS="$ANNOTATE_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ANNOTATE_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + ANNOTATE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender"` + else + ANNOTATE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender"` + fi + # Put the nasty error message in config.log where it belongs + echo "$ANNOTATE_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_annotate=no +elif test $pkg_failed = untried; then + use_annotate=no +else + ANNOTATE_CFLAGS=$pkg_cv_ANNOTATE_CFLAGS + ANNOTATE_LIBS=$pkg_cv_ANNOTATE_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_annotate=yes +fi +fi + + if test "x$use_annotate" = "xyes"; then + ANNOTATE_PLUGIN_TRUE= + ANNOTATE_PLUGIN_FALSE='#' +else + ANNOTATE_PLUGIN_TRUE='#' + ANNOTATE_PLUGIN_FALSE= +fi + +if test "$use_annotate" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_ANNOTATE 1 +_ACEOF + +fi + +# Check whether --enable-librsvg was given. +if test "${enable_librsvg+set}" = set; then + enableval=$enable_librsvg; use_librsvg=$enableval +else + use_librsvg=yes +fi + + +if test "x$use_librsvg" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBRSVG" >&5 +echo $ECHO_N "checking for LIBRSVG... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBRSVG_CFLAGS"; then + pkg_cv_LIBRSVG_CFLAGS="$LIBRSVG_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.0 librsvg-2.0 >= 2.14.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBRSVG_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.0 librsvg-2.0 >= 2.14.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBRSVG_LIBS"; then + pkg_cv_LIBRSVG_LIBS="$LIBRSVG_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.0 librsvg-2.0 >= 2.14.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBRSVG_LIBS=`$PKG_CONFIG --libs "cairo >= 1.0 librsvg-2.0 >= 2.14.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0"` + else + LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBRSVG_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_librsvg=no +elif test $pkg_failed = untried; then + use_librsvg=no +else + LIBRSVG_CFLAGS=$pkg_cv_LIBRSVG_CFLAGS + LIBRSVG_LIBS=$pkg_cv_LIBRSVG_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_librsvg=yes +fi +fi + + if test "x$use_librsvg" = "xyes"; then + USE_LIBRSVG_TRUE= + USE_LIBRSVG_FALSE='#' +else + USE_LIBRSVG_TRUE='#' + USE_LIBRSVG_FALSE= +fi + +if test "$use_librsvg" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_LIBRSVG 1 +_ACEOF + +fi + + + + + +#AC_SUBST(windowsettingsdatadir) +#AC_SUBST(windowsettingslibdir) +#AC_SUBST(keybindingsdir) + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for CAIRO" >&5 +echo $ECHO_N "checking for CAIRO... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$CAIRO_CFLAGS"; then + pkg_cv_CAIRO_CFLAGS="$CAIRO_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$CAIRO_LIBS"; then + pkg_cv_CAIRO_LIBS="$CAIRO_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender cairo >= 1.0"` + else + CAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender cairo >= 1.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$CAIRO_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + have_cairo=no +elif test $pkg_failed = untried; then + have_cairo=no +else + CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS + CAIRO_LIBS=$pkg_cv_CAIRO_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + have_cairo=yes +fi + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for PANGO" >&5 +echo $ECHO_N "checking for PANGO... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$PANGO_CFLAGS"; then + pkg_cv_PANGO_CFLAGS="$PANGO_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender pangocairo cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_PANGO_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender pangocairo cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$PANGO_LIBS"; then + pkg_cv_PANGO_LIBS="$PANGO_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender pangocairo cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_PANGO_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender pangocairo cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PANGO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0"` + else + PANGO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$PANGO_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + have_pango=no +elif test $pkg_failed = untried; then + have_pango=no +else + PANGO_CFLAGS=$pkg_cv_PANGO_CFLAGS + PANGO_LIBS=$pkg_cv_PANGO_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + have_pango=yes +fi + + if test "x$have_pango" = "xyes"; then + TEXT_PLUGIN_TRUE= + TEXT_PLUGIN_FALSE='#' +else + TEXT_PLUGIN_TRUE='#' + TEXT_PLUGIN_FALSE= +fi + +if test "x$have_pango" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_TEXT 1 +_ACEOF + +fi + + if test "x$have_cairo" = "xyes"; then + WALL_PLUGIN_TRUE= + WALL_PLUGIN_FALSE='#' +else + WALL_PLUGIN_TRUE='#' + WALL_PLUGIN_FALSE= +fi + +if test "x$have_cairo" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_WALL 1 +_ACEOF + +fi + +# PKG_CHECK_MODULES(GROUP, compiz-text cairo >= 1.0, [use_group=yes], [use_group=no]) +# AM_CONDITIONAL(GROUP_PLUGIN, test "x$use_group" = "xyes") +# if test "$use_group" = yes; then +# AC_DEFINE(USE_GROUP, 1, [Build group plugin]) +# fi + + +# Check whether --enable-jpeg was given. +if test "${enable_jpeg+set}" = set; then + enableval=$enable_jpeg; use_jpeg=$enableval +else + use_jpeg=yes +fi + + + if test "x$use_jpeg" = "xyes"; then + JPEG_PLUGIN_TRUE= + JPEG_PLUGIN_FALSE='#' +else + JPEG_PLUGIN_TRUE='#' + JPEG_PLUGIN_FALSE= +fi + +if test "$use_jpeg" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_JPEG 1 +_ACEOF + +fi + + +# Check whether --with-max-desktops was given. +if test "${with_max_desktops+set}" = set; then + withval=$with_max_desktops; MAX_DESKTOPS=$withval +else + MAX_DESKTOPS=36 +fi + + +if test -n "$MAX_DESKTOPS"; then + +cat >>confdefs.h <<_ACEOF +@%:@define MAX_DESKTOPS $MAX_DESKTOPS +_ACEOF + +fi + + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBXSLT" >&5 +echo $ECHO_N "checking for LIBXSLT... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBXSLT_CFLAGS"; then + pkg_cv_LIBXSLT_CFLAGS="$LIBXSLT_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxslt\"") >&5 + ($PKG_CONFIG --exists --print-errors "libxslt") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBXSLT_CFLAGS=`$PKG_CONFIG --cflags "libxslt" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBXSLT_LIBS"; then + pkg_cv_LIBXSLT_LIBS="$LIBXSLT_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxslt\"") >&5 + ($PKG_CONFIG --exists --print-errors "libxslt") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBXSLT_LIBS=`$PKG_CONFIG --libs "libxslt" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBXSLT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxslt"` + else + LIBXSLT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxslt"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBXSLT_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (libxslt) were not met: + +$LIBXSLT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (libxslt) were not met: + +$LIBXSLT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + LIBXSLT_CFLAGS=$pkg_cv_LIBXSLT_CFLAGS + LIBXSLT_LIBS=$pkg_cv_LIBXSLT_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi +xsltdir=$datadir/bcop + + + +## hmmm + +BCOP_BIN=../bcop/src/bcop.in + + + + +ac_config_files="$ac_config_files ecomp.pc ecomp-cube.pc ecomp-scale.pc Makefile src/Makefile libdecoration/Makefile libdecoration/libdecoration.pc include/Makefile plugins/Makefile text/Makefile expo/Makefile jpeg/Makefile ring/Makefile shift/Makefile thumbnail/Makefile wall/Makefile animation/Makefile mblur/Makefile cubereflex/Makefile scalefilter/Makefile scaleaddon/Makefile images/Makefile po/Makefile.in metadata/Makefile bcop/bcop.pc bcop/Makefile bcop/src/Makefile bcop/src/bcop" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + + ac_config_commands="$ac_config_commands po/stamp-it" + + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${PLACE_PLUGIN_TRUE}" && test -z "${PLACE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"PLACE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"PLACE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${DBUS_PLUGIN_TRUE}" && test -z "${DBUS_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"DBUS_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"DBUS_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INOTIFY_PLUGIN_TRUE}" && test -z "${INOTIFY_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INOTIFY_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INOTIFY_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${FUSE_PLUGIN_TRUE}" && test -z "${FUSE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FUSE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FUSE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ANNOTATE_PLUGIN_TRUE}" && test -z "${ANNOTATE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"ANNOTATE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"ANNOTATE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${USE_LIBRSVG_TRUE}" && test -z "${USE_LIBRSVG_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"USE_LIBRSVG\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"USE_LIBRSVG\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${TEXT_PLUGIN_TRUE}" && test -z "${TEXT_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"TEXT_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"TEXT_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WALL_PLUGIN_TRUE}" && test -z "${WALL_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WALL_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WALL_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${JPEG_PLUGIN_TRUE}" && test -z "${JPEG_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"JPEG_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"JPEG_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by ecomp $as_me 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +ecomp config.status 0.6.2 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' +macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' +enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' +pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' +host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' +host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' +host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' +build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' +build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' +build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' +SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' +Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' +GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' +EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' +FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' +LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' +NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' +LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' +ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' +exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' +lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' +reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' +AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' +STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' +RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' +compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' +GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' +SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' +ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' +need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' +LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' +libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' +version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' +runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' +libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' +soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' +old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' +striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' +predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' +postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +deplibs_check_method \ +file_magic_cmd \ +AR \ +AR_FLAGS \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +SHELL \ +ECHO \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_wl \ +lt_prog_compiler_pic \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_flag_spec_ld \ +hardcode_libdir_separator \ +fix_srcfile_path \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_flag_spec_ld_CXX \ +hardcode_libdir_separator_CXX \ +fix_srcfile_path_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` + ;; +esac + +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile' + + + + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "ecomp.pc") CONFIG_FILES="$CONFIG_FILES ecomp.pc" ;; + "ecomp-cube.pc") CONFIG_FILES="$CONFIG_FILES ecomp-cube.pc" ;; + "ecomp-scale.pc") CONFIG_FILES="$CONFIG_FILES ecomp-scale.pc" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "libdecoration/Makefile") CONFIG_FILES="$CONFIG_FILES libdecoration/Makefile" ;; + "libdecoration/libdecoration.pc") CONFIG_FILES="$CONFIG_FILES libdecoration/libdecoration.pc" ;; + "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; + "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;; + "text/Makefile") CONFIG_FILES="$CONFIG_FILES text/Makefile" ;; + "expo/Makefile") CONFIG_FILES="$CONFIG_FILES expo/Makefile" ;; + "jpeg/Makefile") CONFIG_FILES="$CONFIG_FILES jpeg/Makefile" ;; + "ring/Makefile") CONFIG_FILES="$CONFIG_FILES ring/Makefile" ;; + "shift/Makefile") CONFIG_FILES="$CONFIG_FILES shift/Makefile" ;; + "thumbnail/Makefile") CONFIG_FILES="$CONFIG_FILES thumbnail/Makefile" ;; + "wall/Makefile") CONFIG_FILES="$CONFIG_FILES wall/Makefile" ;; + "animation/Makefile") CONFIG_FILES="$CONFIG_FILES animation/Makefile" ;; + "mblur/Makefile") CONFIG_FILES="$CONFIG_FILES mblur/Makefile" ;; + "cubereflex/Makefile") CONFIG_FILES="$CONFIG_FILES cubereflex/Makefile" ;; + "scalefilter/Makefile") CONFIG_FILES="$CONFIG_FILES scalefilter/Makefile" ;; + "scaleaddon/Makefile") CONFIG_FILES="$CONFIG_FILES scaleaddon/Makefile" ;; + "images/Makefile") CONFIG_FILES="$CONFIG_FILES images/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "metadata/Makefile") CONFIG_FILES="$CONFIG_FILES metadata/Makefile" ;; + "bcop/bcop.pc") CONFIG_FILES="$CONFIG_FILES bcop/bcop.pc" ;; + "bcop/Makefile") CONFIG_FILES="$CONFIG_FILES bcop/Makefile" ;; + "bcop/src/Makefile") CONFIG_FILES="$CONFIG_FILES bcop/src/Makefile" ;; + "bcop/src/bcop") CONFIG_FILES="$CONFIG_FILES bcop/src/bcop" ;; + "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +ECOMP_VERSION_MAJOR!$ECOMP_VERSION_MAJOR$ac_delim +ECOMP_VERSION_MINOR!$ECOMP_VERSION_MINOR$ac_delim +ECOMP_VERSION_MICRO!$ECOMP_VERSION_MICRO$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +am__isrc!$am__isrc$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +USE_NLS!$USE_NLS$ac_delim +INTLTOOL_UPDATE!$INTLTOOL_UPDATE$ac_delim +INTLTOOL_MERGE!$INTLTOOL_MERGE$ac_delim +INTLTOOL_EXTRACT!$INTLTOOL_EXTRACT$ac_delim +INTLTOOL_DESKTOP_RULE!$INTLTOOL_DESKTOP_RULE$ac_delim +INTLTOOL_DIRECTORY_RULE!$INTLTOOL_DIRECTORY_RULE$ac_delim +INTLTOOL_KEYS_RULE!$INTLTOOL_KEYS_RULE$ac_delim +INTLTOOL_PROP_RULE!$INTLTOOL_PROP_RULE$ac_delim +INTLTOOL_OAF_RULE!$INTLTOOL_OAF_RULE$ac_delim +INTLTOOL_PONG_RULE!$INTLTOOL_PONG_RULE$ac_delim +INTLTOOL_SERVER_RULE!$INTLTOOL_SERVER_RULE$ac_delim +INTLTOOL_SHEET_RULE!$INTLTOOL_SHEET_RULE$ac_delim +INTLTOOL_SOUNDLIST_RULE!$INTLTOOL_SOUNDLIST_RULE$ac_delim +INTLTOOL_UI_RULE!$INTLTOOL_UI_RULE$ac_delim +INTLTOOL_XAM_RULE!$INTLTOOL_XAM_RULE$ac_delim +INTLTOOL_KBD_RULE!$INTLTOOL_KBD_RULE$ac_delim +INTLTOOL_XML_RULE!$INTLTOOL_XML_RULE$ac_delim +INTLTOOL_XML_NOMERGE_RULE!$INTLTOOL_XML_NOMERGE_RULE$ac_delim +INTLTOOL_CAVES_RULE!$INTLTOOL_CAVES_RULE$ac_delim +INTLTOOL_SCHEMAS_RULE!$INTLTOOL_SCHEMAS_RULE$ac_delim +INTLTOOL_THEME_RULE!$INTLTOOL_THEME_RULE$ac_delim +INTLTOOL_SERVICE_RULE!$INTLTOOL_SERVICE_RULE$ac_delim +INTLTOOL_POLICY_RULE!$INTLTOOL_POLICY_RULE$ac_delim +XGETTEXT!$XGETTEXT$ac_delim +MSGMERGE!$MSGMERGE$ac_delim +MSGFMT!$MSGFMT$ac_delim +GMSGFMT!$GMSGFMT$ac_delim +INTLTOOL_PERL!$INTLTOOL_PERL$ac_delim +ALL_LINGUAS!$ALL_LINGUAS$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +DATADIRNAME!$DATADIRNAME$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +SED!$SED$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +FGREP!$FGREP$ac_delim +LD!$LD$ac_delim +DUMPBIN!$DUMPBIN$ac_delim +ac_ct_DUMPBIN!$ac_ct_DUMPBIN$ac_delim +NM!$NM$ac_delim +LN_S!$LN_S$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +lt_ECHO!$lt_ECHO$ac_delim +DSYMUTIL!$DSYMUTIL$ac_delim +NMEDIT!$NMEDIT$ac_delim +LIPO!$LIPO$ac_delim +OTOOL!$OTOOL$ac_delim +OTOOL64!$OTOOL64$ac_delim +CXXCPP!$CXXCPP$ac_delim +MSGFMT_OPTS!$MSGFMT_OPTS$ac_delim +CATALOGS!$CATALOGS$ac_delim +CATOBJEXT!$CATOBJEXT$ac_delim +GMOFILES!$GMOFILES$ac_delim +INSTOBJEXT!$INSTOBJEXT$ac_delim +INTLLIBS!$INTLLIBS$ac_delim +PO_IN_DATADIR_TRUE!$PO_IN_DATADIR_TRUE$ac_delim +PO_IN_DATADIR_FALSE!$PO_IN_DATADIR_FALSE$ac_delim +POFILES!$POFILES$ac_delim +POSUB!$POSUB$ac_delim +MKINSTALLDIRS!$MKINSTALLDIRS$ac_delim +GETTEXT_PACKAGE!$GETTEXT_PACKAGE$ac_delim +plugindir!$plugindir$ac_delim +default_plugins!$default_plugins$ac_delim +imagedir!$imagedir$ac_delim +metadatadir!$metadatadir$ac_delim +PKG_CONFIG!$PKG_CONFIG$ac_delim +ECOMP_CFLAGS!$ECOMP_CFLAGS$ac_delim +ECOMP_LIBS!$ECOMP_LIBS$ac_delim +ECOMP_REQUIRES!$ECOMP_REQUIRES$ac_delim +DECORATION_CFLAGS!$DECORATION_CFLAGS$ac_delim +DECORATION_LIBS!$DECORATION_LIBS$ac_delim +DECORATION_REQUIRES!$DECORATION_REQUIRES$ac_delim +GL_CFLAGS!$GL_CFLAGS$ac_delim +GL_LIBS!$GL_LIBS$ac_delim +XSLTPROC!$XSLTPROC$ac_delim +LIBPNG_CFLAGS!$LIBPNG_CFLAGS$ac_delim +LIBPNG_LIBS!$LIBPNG_LIBS$ac_delim +stylesheetdir!$stylesheetdir$ac_delim +PLACE_PLUGIN_TRUE!$PLACE_PLUGIN_TRUE$ac_delim +PLACE_PLUGIN_FALSE!$PLACE_PLUGIN_FALSE$ac_delim +DBUS_CFLAGS!$DBUS_CFLAGS$ac_delim +DBUS_LIBS!$DBUS_LIBS$ac_delim +DBUS_PLUGIN_TRUE!$DBUS_PLUGIN_TRUE$ac_delim +DBUS_PLUGIN_FALSE!$DBUS_PLUGIN_FALSE$ac_delim +INOTIFY_PLUGIN_TRUE!$INOTIFY_PLUGIN_TRUE$ac_delim +INOTIFY_PLUGIN_FALSE!$INOTIFY_PLUGIN_FALSE$ac_delim +FUSE_CFLAGS!$FUSE_CFLAGS$ac_delim +FUSE_LIBS!$FUSE_LIBS$ac_delim +FUSE_PLUGIN_TRUE!$FUSE_PLUGIN_TRUE$ac_delim +FUSE_PLUGIN_FALSE!$FUSE_PLUGIN_FALSE$ac_delim +ANNOTATE_CFLAGS!$ANNOTATE_CFLAGS$ac_delim +ANNOTATE_LIBS!$ANNOTATE_LIBS$ac_delim +ANNOTATE_PLUGIN_TRUE!$ANNOTATE_PLUGIN_TRUE$ac_delim +ANNOTATE_PLUGIN_FALSE!$ANNOTATE_PLUGIN_FALSE$ac_delim +LIBRSVG_CFLAGS!$LIBRSVG_CFLAGS$ac_delim +LIBRSVG_LIBS!$LIBRSVG_LIBS$ac_delim +USE_LIBRSVG_TRUE!$USE_LIBRSVG_TRUE$ac_delim +USE_LIBRSVG_FALSE!$USE_LIBRSVG_FALSE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +CAIRO_CFLAGS!$CAIRO_CFLAGS$ac_delim +CAIRO_LIBS!$CAIRO_LIBS$ac_delim +PANGO_CFLAGS!$PANGO_CFLAGS$ac_delim +PANGO_LIBS!$PANGO_LIBS$ac_delim +TEXT_PLUGIN_TRUE!$TEXT_PLUGIN_TRUE$ac_delim +TEXT_PLUGIN_FALSE!$TEXT_PLUGIN_FALSE$ac_delim +WALL_PLUGIN_TRUE!$WALL_PLUGIN_TRUE$ac_delim +WALL_PLUGIN_FALSE!$WALL_PLUGIN_FALSE$ac_delim +JPEG_PLUGIN_TRUE!$JPEG_PLUGIN_TRUE$ac_delim +JPEG_PLUGIN_FALSE!$JPEG_PLUGIN_FALSE$ac_delim +LIBXSLT_CFLAGS!$LIBXSLT_CFLAGS$ac_delim +LIBXSLT_LIBS!$LIBXSLT_LIBS$ac_delim +xsltdir!$xsltdir$ac_delim +BCOP_BIN!$BCOP_BIN$ac_delim +LIB@&t@OBJS!$LIB@&t@OBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 16; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_arg=$ac_file +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "libtool":C) + + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +# The names of the tagged configurations supported by this script. +available_tags="CXX " + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that does not interpret backslashes. +ECHO=$lt_ECHO + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain="$ac_aux_dir/ltmain.sh" + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[^=]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$@"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1=\$$1\$2" +} + +_LT_EOF + ;; + esac + + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac ;; + "po/stamp-it":C) + if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" ; then + { { echo "$as_me:$LINENO: error: po/Makefile.in.in was not created by intltoolize." >&5 +echo "$as_me: error: po/Makefile.in.in was not created by intltoolize." >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" + >"po/stamp-it.tmp" + sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" + + sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r po/POTFILES + } + ' "po/Makefile.in" >"po/Makefile" + rm -f "po/Makefile.tmp" + mv "po/stamp-it.tmp" "po/stamp-it" + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + +echo "" +echo "the following optional plugins will be compiled:" +echo " dbus: $use_dbus" +#echo " svg: $use_librsvg" +#echo " inotify: $use_inotify" +#echo " fuse: $use_fuse" +echo "" +echo "" diff --git a/autom4te.cache/output.1 b/autom4te.cache/output.1 new file mode 100644 index 0000000..670771d --- /dev/null +++ b/autom4te.cache/output.1 @@ -0,0 +1,23104 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.61 for ecomp 0.6.2. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +ECHO=${lt_ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +$* +_LT_EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi + + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi + fi + fi + fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='ecomp' +PACKAGE_TARNAME='ecomp' +PACKAGE_VERSION='0.6.2' +PACKAGE_STRING='ecomp 0.6.2' +PACKAGE_BUGREPORT='davidr@novell.com' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +ECOMP_VERSION_MAJOR +ECOMP_VERSION_MINOR +ECOMP_VERSION_MICRO +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +am__isrc +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +USE_NLS +INTLTOOL_UPDATE +INTLTOOL_MERGE +INTLTOOL_EXTRACT +INTLTOOL_DESKTOP_RULE +INTLTOOL_DIRECTORY_RULE +INTLTOOL_KEYS_RULE +INTLTOOL_PROP_RULE +INTLTOOL_OAF_RULE +INTLTOOL_PONG_RULE +INTLTOOL_SERVER_RULE +INTLTOOL_SHEET_RULE +INTLTOOL_SOUNDLIST_RULE +INTLTOOL_UI_RULE +INTLTOOL_XAM_RULE +INTLTOOL_KBD_RULE +INTLTOOL_XML_RULE +INTLTOOL_XML_NOMERGE_RULE +INTLTOOL_CAVES_RULE +INTLTOOL_SCHEMAS_RULE +INTLTOOL_THEME_RULE +INTLTOOL_SERVICE_RULE +INTLTOOL_POLICY_RULE +XGETTEXT +MSGMERGE +MSGFMT +GMSGFMT +INTLTOOL_PERL +ALL_LINGUAS +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +DATADIRNAME +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +LIBTOOL +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +SED +GREP +EGREP +FGREP +LD +DUMPBIN +ac_ct_DUMPBIN +NM +LN_S +AR +RANLIB +lt_ECHO +DSYMUTIL +NMEDIT +LIPO +OTOOL +OTOOL64 +CXXCPP +MSGFMT_OPTS +CATALOGS +CATOBJEXT +GMOFILES +INSTOBJEXT +INTLLIBS +PO_IN_DATADIR_TRUE +PO_IN_DATADIR_FALSE +POFILES +POSUB +MKINSTALLDIRS +GETTEXT_PACKAGE +plugindir +default_plugins +imagedir +metadatadir +PKG_CONFIG +ECOMP_CFLAGS +ECOMP_LIBS +ECOMP_REQUIRES +DECORATION_CFLAGS +DECORATION_LIBS +DECORATION_REQUIRES +GL_CFLAGS +GL_LIBS +XSLTPROC +LIBPNG_CFLAGS +LIBPNG_LIBS +stylesheetdir +PLACE_PLUGIN_TRUE +PLACE_PLUGIN_FALSE +DBUS_CFLAGS +DBUS_LIBS +DBUS_PLUGIN_TRUE +DBUS_PLUGIN_FALSE +INOTIFY_PLUGIN_TRUE +INOTIFY_PLUGIN_FALSE +FUSE_CFLAGS +FUSE_LIBS +FUSE_PLUGIN_TRUE +FUSE_PLUGIN_FALSE +ANNOTATE_CFLAGS +ANNOTATE_LIBS +ANNOTATE_PLUGIN_TRUE +ANNOTATE_PLUGIN_FALSE +LIBRSVG_CFLAGS +LIBRSVG_LIBS +USE_LIBRSVG_TRUE +USE_LIBRSVG_FALSE +CAIRO_CFLAGS +CAIRO_LIBS +PANGO_CFLAGS +PANGO_LIBS +TEXT_PLUGIN_TRUE +TEXT_PLUGIN_FALSE +WALL_PLUGIN_TRUE +WALL_PLUGIN_FALSE +JPEG_PLUGIN_TRUE +JPEG_PLUGIN_FALSE +LIBXSLT_CFLAGS +LIBXSLT_LIBS +xsltdir +BCOP_BIN +LIB@&t@OBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +PKG_CONFIG +ECOMP_CFLAGS +ECOMP_LIBS +DECORATION_CFLAGS +DECORATION_LIBS +LIBPNG_CFLAGS +LIBPNG_LIBS +DBUS_CFLAGS +DBUS_LIBS +FUSE_CFLAGS +FUSE_LIBS +ANNOTATE_CFLAGS +ANNOTATE_LIBS +LIBRSVG_CFLAGS +LIBRSVG_LIBS +CAIRO_CFLAGS +CAIRO_LIBS +PANGO_CFLAGS +PANGO_LIBS +LIBXSLT_CFLAGS +LIBXSLT_LIBS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures ecomp 0.6.2 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/ecomp@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of ecomp 0.6.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-nls do not use Native Language Support + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --disable-dbus Disable dbus plugin + --disable-inotify Disable inotify plugin + --disable-fuse Disable fuse plugin + --disable-annotate Disable annotate plugin + --disable-librsvg Disable svg support + --disable-jpeg Disable jpeg plugin + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-default-plugins=PLUGINS + --with-gl-cflags=CFLAGS + --with-gl-libs=LIBS + --with-max-desktops Max reasonable desktops + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + PKG_CONFIG path to pkg-config utility + ECOMP_CFLAGS + C compiler flags for ECOMP, overriding pkg-config + ECOMP_LIBS linker flags for ECOMP, overriding pkg-config + DECORATION_CFLAGS + C compiler flags for DECORATION, overriding pkg-config + DECORATION_LIBS + linker flags for DECORATION, overriding pkg-config + LIBPNG_CFLAGS + C compiler flags for LIBPNG, overriding pkg-config + LIBPNG_LIBS linker flags for LIBPNG, overriding pkg-config + DBUS_CFLAGS C compiler flags for DBUS, overriding pkg-config + DBUS_LIBS linker flags for DBUS, overriding pkg-config + FUSE_CFLAGS C compiler flags for FUSE, overriding pkg-config + FUSE_LIBS linker flags for FUSE, overriding pkg-config + ANNOTATE_CFLAGS + C compiler flags for ANNOTATE, overriding pkg-config + ANNOTATE_LIBS + linker flags for ANNOTATE, overriding pkg-config + LIBRSVG_CFLAGS + C compiler flags for LIBRSVG, overriding pkg-config + LIBRSVG_LIBS + linker flags for LIBRSVG, overriding pkg-config + CAIRO_CFLAGS + C compiler flags for CAIRO, overriding pkg-config + CAIRO_LIBS linker flags for CAIRO, overriding pkg-config + PANGO_CFLAGS + C compiler flags for PANGO, overriding pkg-config + PANGO_LIBS linker flags for PANGO, overriding pkg-config + LIBXSLT_CFLAGS + C compiler flags for LIBXSLT, overriding pkg-config + LIBXSLT_LIBS + linker flags for LIBXSLT, overriding pkg-config + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +ecomp configure 0.6.2 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by ecomp $as_me 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +@%:@@%:@ --------- @%:@@%:@ +@%:@@%:@ Platform. @%:@@%:@ +@%:@@%:@ --------- @%:@@%:@ + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ Core tests. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +@%:@@%:@ ---------------- @%:@@%:@ +@%:@@%:@ Cache variables. @%:@@%:@ +@%:@@%:@ ---------------- @%:@@%:@ +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +@%:@@%:@ ----------------- @%:@@%:@ +@%:@@%:@ Output variables. @%:@@%:@ +@%:@@%:@ ----------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +@%:@@%:@ ------------------- @%:@@%:@ +@%:@@%:@ File substitutions. @%:@@%:@ +@%:@@%:@ ------------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ confdefs.h. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ECOMP_VERSION_MAJOR=0 +ECOMP_VERSION_MINOR=6 +ECOMP_VERSION_MICRO=2 + + + + +am__api_version='1.10' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS + +fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +echo "${ECHO_T}$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='ecomp' + VERSION='0.6.2' + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h" + + + { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6; } + + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + + +case "$am__api_version" in + 1.01234) + { { echo "$as_me:$LINENO: error: Automake 1.5 or newer is required to use intltool" >&5 +echo "$as_me: error: Automake 1.5 or newer is required to use intltool" >&2;} + { (exit 1); exit 1; }; } + ;; + *) + ;; +esac + +if test -n "0.23"; then + { echo "$as_me:$LINENO: checking for intltool >= 0.23" >&5 +echo $ECHO_N "checking for intltool >= 0.23... $ECHO_C" >&6; } + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.23 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` + INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + + { echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found" >&5 +echo "${ECHO_T}$INTLTOOL_APPLIED_VERSION found" >&6; } + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + { { echo "$as_me:$LINENO: error: Your intltool is too old. You need intltool 0.23 or later." >&5 +echo "$as_me: error: Your intltool is too old. You need intltool 0.23 or later." >&2;} + { (exit 1); exit 1; }; } +fi + +# Extract the first word of "intltool-update", so it can be a program name with args. +set dummy intltool-update; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_UPDATE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_UPDATE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE +if test -n "$INTLTOOL_UPDATE"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_UPDATE" >&5 +echo "${ECHO_T}$INTLTOOL_UPDATE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "intltool-merge", so it can be a program name with args. +set dummy intltool-merge; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_MERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_MERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE +if test -n "$INTLTOOL_MERGE"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_MERGE" >&5 +echo "${ECHO_T}$INTLTOOL_MERGE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "intltool-extract", so it can be a program name with args. +set dummy intltool-extract; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_EXTRACT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_EXTRACT in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT +if test -n "$INTLTOOL_EXTRACT"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_EXTRACT" >&5 +echo "${ECHO_T}$INTLTOOL_EXTRACT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then + { { echo "$as_me:$LINENO: error: The intltool scripts were not found. Please install intltool." >&5 +echo "$as_me: error: The intltool scripts were not found. Please install intltool." >&2;} + { (exit 1); exit 1; }; } +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + + + + + + + + + + + + + + + + + + + + + +# Check the gettext tools to make sure they are GNU +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $XGETTEXT in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +XGETTEXT=$ac_cv_path_XGETTEXT +if test -n "$XGETTEXT"; then + { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGMERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MSGMERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +MSGMERGE=$ac_cv_path_MSGMERGE +if test -n "$MSGMERGE"; then + { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 +echo "${ECHO_T}$MSGMERGE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +MSGFMT=$ac_cv_path_MSGFMT +if test -n "$MSGFMT"; then + { echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then + { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5 +echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then + { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5 +echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi + +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL +if test -n "$INTLTOOL_PERL"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_PERL" >&5 +echo "${ECHO_T}$INTLTOOL_PERL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$INTLTOOL_PERL"; then + { { echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5 +echo "$as_me: error: perl not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then + { { echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5 +echo "$as_me: error: perl 5.x required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +if test "x" != "xno-xml"; then + { echo "$as_me:$LINENO: checking for XML::Parser" >&5 +echo $ECHO_N "checking for XML::Parser... $ECHO_C" >&6; } + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + { { echo "$as_me:$LINENO: error: XML::Parser perl module is required for intltool" >&5 +echo "$as_me: error: XML::Parser perl module is required for intltool" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# Substitute ALL_LINGUAS so we can use it in po/Makefile + + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + DATADIRNAME=share +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + case $host in + *-*-solaris*) + { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 +echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } +if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. + For example, HP-UX 11i declares gettimeofday. */ +#define bind_textdomain_codeset innocuous_bind_textdomain_codeset + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bind_textdomain_codeset (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef bind_textdomain_codeset + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bind_textdomain_codeset (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset +choke me +#endif + +int +main () +{ +return bind_textdomain_codeset (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_bind_textdomain_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_bind_textdomain_codeset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 +echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } +if test $ac_cv_func_bind_textdomain_codeset = yes; then + DATADIRNAME=share +else + DATADIRNAME=lib +fi + + ;; + *) + DATADIRNAME=lib + ;; + esac +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi + + + + + +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + +cat >>confdefs.h <<\_ACEOF +@%:@define DECOR_INTERFACE_VERSION 20070319 +_ACEOF + + +{ echo "$as_me:$LINENO: checking for library containing strerror" >&5 +echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; } +if test "${ac_cv_search_strerror+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (); +int +main () +{ +return strerror (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cposix; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_strerror=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_strerror+set}" = set; then + break +fi +done +if test "${ac_cv_search_strerror+set}" = set; then + : +else + ac_cv_search_strerror=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +echo "${ECHO_T}$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +case `pwd` in + *\ * | *\ *) + { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.2.4' +macro_revision='1.2976' + + + + + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${ac_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" | sed 99q >conftest.sed + $as_unset ac_script || ac_script= + # Extract the first word of "sed gsed" to use in msg output +if test -z "$SED"; then +set dummy sed gsed; ac_prog_name=$2 +if test "${ac_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_SED_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue + # Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_SED_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +SED="$ac_cv_path_SED" +if test -z "$SED"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in \$PATH" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_SED=$SED +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 +echo "${ECHO_T}$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for fgrep" >&5 +echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; } +if test "${ac_cv_path_FGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + # Extract the first word of "fgrep" to use in msg output +if test -z "$FGREP"; then +set dummy fgrep; ac_prog_name=$2 +if test "${ac_cv_path_FGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_FGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue + # Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_FGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +FGREP="$ac_cv_path_FGREP" +if test -z "$FGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_FGREP=$FGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 +echo "${ECHO_T}$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 +echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$ac_tool_prefix"; then + for ac_prog in "dumpbin -symbols" "link -dump -symbols" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DUMPBIN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { echo "$as_me:$LINENO: result: $DUMPBIN" >&5 +echo "${ECHO_T}$DUMPBIN" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in "dumpbin -symbols" "link -dump -symbols" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 +echo "${ECHO_T}$ac_ct_DUMPBIN" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 +echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6; } +if test "${lt_cv_nm_interface+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:__oline__: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 +echo "${ECHO_T}$lt_cv_nm_interface" >&6; } + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +{ echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 +echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ echo "$as_me:$LINENO: result: $xsi_shell" >&5 +echo "${ECHO_T}$xsi_shell" >&6; } + + +{ echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 +echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ echo "$as_me:$LINENO: result: $lt_shell_append" >&5 +echo "${ECHO_T}$lt_shell_append" >&6; } + + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + + + + + + + + + + + + + + + + + + + + + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line __oline__ "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DSYMUTIL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 +echo "${ECHO_T}$DSYMUTIL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 +echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_NMEDIT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { echo "$as_me:$LINENO: result: $NMEDIT" >&5 +echo "${ECHO_T}$NMEDIT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 +echo "${ECHO_T}$ac_ct_NMEDIT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_LIPO+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { echo "$as_me:$LINENO: result: $LIPO" >&5 +echo "${ECHO_T}$LIPO" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_LIPO="lipo" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 +echo "${ECHO_T}$ac_ct_LIPO" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { echo "$as_me:$LINENO: result: $OTOOL" >&5 +echo "${ECHO_T}$OTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OTOOL="otool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 +echo "${ECHO_T}$ac_ct_OTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OTOOL64+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { echo "$as_me:$LINENO: result: $OTOOL64" >&5 +echo "${ECHO_T}$OTOOL64" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 +echo "${ECHO_T}$ac_ct_OTOOL64" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 +echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; } +if test "${lt_cv_apple_cc_single_mod+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 +echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; } + { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 +echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; } +if test "${lt_cv_ld_exported_symbols_list+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_ld_exported_symbols_list=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_ld_exported_symbols_list=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 +echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + _lt_caught_CXX_error=yes +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + + +test -z "$pic_mode" && pic_mode=default + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +@%:@define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + + + + + + + + + + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl*) + # IBM XL C 8.0/Fortran 10.1 on PPC + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" + ;; +esac +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + + + + + + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; } + +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag= + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld='-rpath $libdir' + archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + allow_undefined_flag="$_lt_dar_allow_undefined" + if test "$GCC" = "yes"; then + output_verbose_link_cmd=echo + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat >conftest.$ac_ext <<_ACEOF +int foo(void) {} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then + shlibpath_overrides_runpath=yes +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +_LT_EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +_LT_EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report which library types will actually be built + { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + + { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + + { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + compiler=$CC + compiler_CXX=$CC + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + if test "$GCC" = "yes"; then + output_verbose_link_cmd=echo + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + gnu*) + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5]* | *pgcpp\ [1-5]*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=echo + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no + + GCC_CXX="$GXX" + LD_CXX="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc* ) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC*) + # IBM XL 8.0 on PPC + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + ;; +esac +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + + + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:__oline__: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then + shlibpath_overrides_runpath=yes +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + + + + +for ac_header in stdlib.h sys/time.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ -------------------------------- @%:@@%:@ +@%:@@%:@ Report this to davidr@novell.com @%:@@%:@ +@%:@@%:@ -------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +ALL_LINGUAS="cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu" + + + +for ac_header in locale.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ -------------------------------- @%:@@%:@ +@%:@@%:@ Report this to davidr@novell.com @%:@@%:@ +@%:@@%:@ -------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + if test $ac_cv_header_locale_h = yes; then + { echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 +echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6; } +if test "${am_cv_val_LC_MESSAGES+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +return LC_MESSAGES + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + am_cv_val_LC_MESSAGES=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + am_cv_val_LC_MESSAGES=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 +echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6; } + if test $am_cv_val_LC_MESSAGES = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_LC_MESSAGES 1 +_ACEOF + + fi + fi + USE_NLS=yes + + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + if test "${ac_cv_header_libintl_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libintl.h usability" >&5 +echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libintl.h presence" >&5 +echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ -------------------------------- @%:@@%:@ +@%:@@%:@ Report this to davidr@novell.com @%:@@%:@ +@%:@@%:@ -------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libintl_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } + +fi +if test $ac_cv_header_libintl_h = yes; then + gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + # + # First check in libc + # + { echo "$as_me:$LINENO: checking for ngettext in libc" >&5 +echo $ECHO_N "checking for ngettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_ngettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include + +int +main () +{ +return !ngettext ("","", 1) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + gt_cv_func_ngettext_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_ngettext_libc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $gt_cv_func_ngettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_ngettext_libc" >&6; } + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + { echo "$as_me:$LINENO: checking for dgettext in libc" >&5 +echo $ECHO_N "checking for dgettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_dgettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include + +int +main () +{ +return !dgettext ("","") + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + gt_cv_func_dgettext_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_dgettext_libc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_dgettext_libc" >&6; } + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + +for ac_func in bind_textdomain_codeset +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + { echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 +echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bindtextdomain (); +int +main () +{ +return bindtextdomain (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_bindtextdomain=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_bindtextdomain=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6; } +if test $ac_cv_lib_intl_bindtextdomain = yes; then + { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 +echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_ngettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); +int +main () +{ +return ngettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_ngettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_ngettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } +if test $ac_cv_lib_intl_ngettext = yes; then + { echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5 +echo $ECHO_N "checking for dgettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_dgettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dgettext (); +int +main () +{ +return dgettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_dgettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_dgettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_dgettext" >&6; } +if test $ac_cv_lib_intl_dgettext = yes; then + gt_cv_func_dgettext_libintl=yes +fi + +fi + +fi + + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + { echo "$as_me:$LINENO: checking if -liconv is needed to use gettext" >&5 +echo $ECHO_N "checking if -liconv is needed to use gettext... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 +echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_ngettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); +int +main () +{ +return ngettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_ngettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_ngettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } +if test $ac_cv_lib_intl_ngettext = yes; then + { echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5 +echo $ECHO_N "checking for dcgettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_dcgettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dcgettext (); +int +main () +{ +return dcgettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_dcgettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_dcgettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_dcgettext" >&6; } +if test $ac_cv_lib_intl_dcgettext = yes; then + gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv +else + : +fi + +else + : +fi + + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + +for ac_func in bind_textdomain_codeset +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_GETTEXT 1 +_ACEOF + + # Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$MSGFMT" in + /*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then + ac_cv_path_MSGFMT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != "no"; then + { echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + +for ac_func in dcgettext +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + MSGFMT_OPTS= + { echo "$as_me:$LINENO: checking if msgfmt accepts -c" >&5 +echo $ECHO_N "checking if msgfmt accepts -c... $ECHO_C" >&6; } + cat >conftest.foo <<_ACEOF + +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +_ACEOF +if { (echo "$as_me:$LINENO: \$MSGFMT -c -o /dev/null conftest.foo") >&5 + ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + MSGFMT_OPTS=-c; { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +echo "$as_me: failed input was:" >&5 +sed 's/^/| /' conftest.foo >&5 +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + # Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$XGETTEXT" in + /*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + CATOBJEXT=.gmo + DATADIRNAME=share +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + case $host in + *-*-solaris*) + { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 +echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } +if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. + For example, HP-UX 11i declares gettimeofday. */ +#define bind_textdomain_codeset innocuous_bind_textdomain_codeset + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bind_textdomain_codeset (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef bind_textdomain_codeset + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bind_textdomain_codeset (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset +choke me +#endif + +int +main () +{ +return bind_textdomain_codeset (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_bind_textdomain_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_bind_textdomain_codeset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 +echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } +if test $ac_cv_func_bind_textdomain_codeset = yes; then + CATOBJEXT=.gmo + DATADIRNAME=share +else + CATOBJEXT=.mo + DATADIRNAME=lib +fi + + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + +fi + + + + if test "$gt_cv_have_gettext" = "yes" ; then + +cat >>confdefs.h <<\_ACEOF +@%:@define ENABLE_NLS 1 +_ACEOF + + fi + + if test "$XGETTEXT" != ":"; then + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + { echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 +echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6; } + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + + ac_config_commands="$ac_config_commands default-1" + + + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + + + + + + + + + + + + + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + { echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 +echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6; } + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + { echo "$as_me:$LINENO: result: $LINGUAS" >&5 +echo "${ECHO_T}$LINGUAS" >&6; } + fi + + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + + + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + +GETTEXT_PACKAGE=ecomp + +cat >>confdefs.h <<_ACEOF +@%:@define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" +_ACEOF + + + +if test "x$GCC" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wall" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wpointer-arith[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wpointer-arith" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wstrict-prototypes[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wstrict-prototypes" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wmissing-prototypes[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wmissing-prototypes" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wmissing-declarations[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wmissing-declarations" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wnested-externs[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wnested-externs" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-D_FORTIFY_SOURCE=2[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" ;; + esac + + if test "x$enable_ansi" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-ansi[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -ansi" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-pedantic[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -pedantic" ;; + esac + fi +fi + +if test "x$GCC" = "xyes"; then + case " $CXXFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) CXXFLAGS="$CXXFLAGS -Wall" ;; + esac + + case " $CXXFLAGS " in + *[\ \ ]-D_FORTIFY_SOURCE=2[\ \ ]*) ;; + *) CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2" ;; + esac +fi + +{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # See if sys/param.h defines the BYTE_ORDER macro. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) + bogus endian macros +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + # It does; now see whether it defined to BIG_ENDIAN or not. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_bigendian=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_bigendian=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # It does not; compile a test program. +if test "$cross_compiling" = yes; then + # try to guess the endianness by grepping values into an object file + ac_cv_c_bigendian=unknown + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; +void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +int +main () +{ + _ascii (); _ebcdic (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then + ac_cv_c_bigendian=yes +fi +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_bigendian=no +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } +case $ac_cv_c_bigendian in + yes) + +cat >>confdefs.h <<\_ACEOF +@%:@define WORDS_BIGENDIAN 1 +_ACEOF + ;; + no) + ;; + *) + { { echo "$as_me:$LINENO: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +echo "$as_me: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + { (exit 1); exit 1; }; } ;; +esac + + +plugindir=$libdir/ecomp + + + +# Check whether --with-default-plugins was given. +if test "${with_default_plugins+set}" = set; then + withval=$with_default_plugins; default_plugins="$withval" +else + default_plugins="" +fi + + + +imagedir=$datadir/ecomp + + +metadatadir=$datadir/ecomp + + +ECOMP_REQUIRES="xcomposite \ + xfixes \ + xdamage \ + xrandr \ + xinerama \ + ice \ + sm \ + libxml-2.0 \ + libxslt \ + pango" + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 +echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 +echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + PKG_CONFIG="" + fi + +fi + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for ECOMP" >&5 +echo $ECHO_N "checking for ECOMP... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$ECOMP_CFLAGS"; then + pkg_cv_ECOMP_CFLAGS="$ECOMP_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$ECOMP_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$ECOMP_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ECOMP_CFLAGS=`$PKG_CONFIG --cflags "$ECOMP_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$ECOMP_LIBS"; then + pkg_cv_ECOMP_LIBS="$ECOMP_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$ECOMP_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$ECOMP_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ECOMP_LIBS=`$PKG_CONFIG --libs "$ECOMP_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + ECOMP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$ECOMP_REQUIRES"` + else + ECOMP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$ECOMP_REQUIRES"` + fi + # Put the nasty error message in config.log where it belongs + echo "$ECOMP_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements ($ECOMP_REQUIRES) were not met: + +$ECOMP_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements ($ECOMP_REQUIRES) were not met: + +$ECOMP_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + ECOMP_CFLAGS=$pkg_cv_ECOMP_CFLAGS + ECOMP_LIBS=$pkg_cv_ECOMP_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + +DECORATION_REQUIRES="xrender" + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for DECORATION" >&5 +echo $ECHO_N "checking for DECORATION... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$DECORATION_CFLAGS"; then + pkg_cv_DECORATION_CFLAGS="$DECORATION_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$DECORATION_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$DECORATION_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DECORATION_CFLAGS=`$PKG_CONFIG --cflags "$DECORATION_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$DECORATION_LIBS"; then + pkg_cv_DECORATION_LIBS="$DECORATION_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$DECORATION_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$DECORATION_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DECORATION_LIBS=`$PKG_CONFIG --libs "$DECORATION_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DECORATION_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$DECORATION_REQUIRES"` + else + DECORATION_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$DECORATION_REQUIRES"` + fi + # Put the nasty error message in config.log where it belongs + echo "$DECORATION_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements ($DECORATION_REQUIRES) were not met: + +$DECORATION_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements ($DECORATION_REQUIRES) were not met: + +$DECORATION_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + DECORATION_CFLAGS=$pkg_cv_DECORATION_CFLAGS + DECORATION_LIBS=$pkg_cv_DECORATION_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + +if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xrender >= 0.9.3\"") >&5 + ($PKG_CONFIG --exists --print-errors "xrender >= 0.9.3") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + have_xrender_0_9_3=yes +else + have_xrender_0_9_3=no +fi + +if test "$have_xrender_0_9_3" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define HAVE_XRENDER_0_9_3 1 +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for GL_CFLAGS" >&5 +echo $ECHO_N "checking for GL_CFLAGS... $ECHO_C" >&6; } + +# Check whether --with-gl-cflags was given. +if test "${with_gl_cflags+set}" = set; then + withval=$with_gl_cflags; GL_CFLAGS="$withval" +else + GL_CFLAGS="" +fi + + +{ echo "$as_me:$LINENO: result: $GL_CFLAGS" >&5 +echo "${ECHO_T}$GL_CFLAGS" >&6; } +{ echo "$as_me:$LINENO: checking for GL_LIBS" >&5 +echo $ECHO_N "checking for GL_LIBS... $ECHO_C" >&6; } + +# Check whether --with-gl-libs was given. +if test "${with_gl_libs+set}" = set; then + withval=$with_gl_libs; GL_LIBS="$withval" +else + GL_LIBS="-lGL" +fi + +{ echo "$as_me:$LINENO: result: $GL_LIBS" >&5 +echo "${ECHO_T}$GL_LIBS" >&6; } + + + + +for ac_prog in xsltproc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_XSLTPROC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$XSLTPROC"; then + ac_cv_prog_XSLTPROC="$XSLTPROC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_XSLTPROC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +XSLTPROC=$ac_cv_prog_XSLTPROC +if test -n "$XSLTPROC"; then + { echo "$as_me:$LINENO: result: $XSLTPROC" >&5 +echo "${ECHO_T}$XSLTPROC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$XSLTPROC" && break +done + +if test -z "$XSLTPROC"; then + { { echo "$as_me:$LINENO: error: Couldn't find xsltproc" >&5 +echo "$as_me: error: Couldn't find xsltproc" >&2;} + { (exit 1); exit 1; }; } +fi + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBPNG" >&5 +echo $ECHO_N "checking for LIBPNG... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBPNG_CFLAGS"; then + pkg_cv_LIBPNG_CFLAGS="$LIBPNG_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpng\"") >&5 + ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBPNG_CFLAGS=`$PKG_CONFIG --cflags "libpng" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBPNG_LIBS"; then + pkg_cv_LIBPNG_LIBS="$LIBPNG_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpng\"") >&5 + ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBPNG_LIBS=`$PKG_CONFIG --libs "libpng" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBPNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng"` + else + LIBPNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBPNG_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (libpng) were not met: + +$LIBPNG_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (libpng) were not met: + +$LIBPNG_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + LIBPNG_CFLAGS=$pkg_cv_LIBPNG_CFLAGS + LIBPNG_LIBS=$pkg_cv_LIBPNG_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + + + + + + + + +stylesheetdir=$datadir/ecomp + + + + + if test "x$use_place" = "xyes"; then + PLACE_PLUGIN_TRUE= + PLACE_PLUGIN_FALSE='#' +else + PLACE_PLUGIN_TRUE='#' + PLACE_PLUGIN_FALSE= +fi + +if test "$use_place" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_PLACE 1 +_ACEOF + +fi + +# Check whether --enable-dbus was given. +if test "${enable_dbus+set}" = set; then + enableval=$enable_dbus; use_dbus=$enableval +else + use_dbus=yes +fi + + +if test "x$use_dbus" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for DBUS" >&5 +echo $ECHO_N "checking for DBUS... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$DBUS_CFLAGS"; then + pkg_cv_DBUS_CFLAGS="$DBUS_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-1 libxml-2.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "dbus-1 libxml-2.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-1 libxml-2.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$DBUS_LIBS"; then + pkg_cv_DBUS_LIBS="$DBUS_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-1 libxml-2.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "dbus-1 libxml-2.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DBUS_LIBS=`$PKG_CONFIG --libs "dbus-1 libxml-2.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "dbus-1 libxml-2.0"` + else + DBUS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "dbus-1 libxml-2.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$DBUS_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_dbus=no +elif test $pkg_failed = untried; then + use_dbus=no +else + DBUS_CFLAGS=$pkg_cv_DBUS_CFLAGS + DBUS_LIBS=$pkg_cv_DBUS_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_dbus=yes +fi +fi + + if test "x$use_dbus" = "xyes"; then + DBUS_PLUGIN_TRUE= + DBUS_PLUGIN_FALSE='#' +else + DBUS_PLUGIN_TRUE='#' + DBUS_PLUGIN_FALSE= +fi + +if test "$use_dbus" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_DBUS 1 +_ACEOF + +fi + + + + +# Check whether --enable-inotify was given. +if test "${enable_inotify+set}" = set; then + enableval=$enable_inotify; use_inotify=$enableval +else + use_inotify=yes +fi + + +if test "x$use_inotify" = "xyes"; then + +for ac_header in sys/inotify.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +@%:@@%:@ -------------------------------- @%:@@%:@ +@%:@@%:@ Report this to davidr@novell.com @%:@@%:@ +@%:@@%:@ -------------------------------- @%:@@%:@ +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + use_inotify=yes +else + use_inotify=no +fi + +done + +fi + + if test "x$use_inotify" = "xyes"; then + INOTIFY_PLUGIN_TRUE= + INOTIFY_PLUGIN_FALSE='#' +else + INOTIFY_PLUGIN_TRUE='#' + INOTIFY_PLUGIN_FALSE= +fi + +if test "$use_inotify" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_INOTIFY 1 +_ACEOF + +fi + +# Check whether --enable-fuse was given. +if test "${enable_fuse+set}" = set; then + enableval=$enable_fuse; use_fuse=$enableval +else + use_fuse=yes +fi + + +if test "x$use_fuse" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for FUSE" >&5 +echo $ECHO_N "checking for FUSE... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$FUSE_CFLAGS"; then + pkg_cv_FUSE_CFLAGS="$FUSE_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fuse\"") >&5 + ($PKG_CONFIG --exists --print-errors "fuse") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_FUSE_CFLAGS=`$PKG_CONFIG --cflags "fuse" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$FUSE_LIBS"; then + pkg_cv_FUSE_LIBS="$FUSE_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fuse\"") >&5 + ($PKG_CONFIG --exists --print-errors "fuse") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_FUSE_LIBS=`$PKG_CONFIG --libs "fuse" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FUSE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fuse"` + else + FUSE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fuse"` + fi + # Put the nasty error message in config.log where it belongs + echo "$FUSE_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_fuse=no +elif test $pkg_failed = untried; then + use_fuse=no +else + FUSE_CFLAGS=$pkg_cv_FUSE_CFLAGS + FUSE_LIBS=$pkg_cv_FUSE_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_fuse=yes +fi +fi + + if test "x$use_fuse" = "xyes"; then + FUSE_PLUGIN_TRUE= + FUSE_PLUGIN_FALSE='#' +else + FUSE_PLUGIN_TRUE='#' + FUSE_PLUGIN_FALSE= +fi + +if test "$use_fuse" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_FUSE 1 +_ACEOF + +fi + +# Check whether --enable-annotate was given. +if test "${enable_annotate+set}" = set; then + enableval=$enable_annotate; use_annotate=$enableval +else + use_annotate=yes +fi + + +if test "x$use_annotate" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for ANNOTATE" >&5 +echo $ECHO_N "checking for ANNOTATE... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$ANNOTATE_CFLAGS"; then + pkg_cv_ANNOTATE_CFLAGS="$ANNOTATE_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ANNOTATE_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$ANNOTATE_LIBS"; then + pkg_cv_ANNOTATE_LIBS="$ANNOTATE_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ANNOTATE_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + ANNOTATE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender"` + else + ANNOTATE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender"` + fi + # Put the nasty error message in config.log where it belongs + echo "$ANNOTATE_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_annotate=no +elif test $pkg_failed = untried; then + use_annotate=no +else + ANNOTATE_CFLAGS=$pkg_cv_ANNOTATE_CFLAGS + ANNOTATE_LIBS=$pkg_cv_ANNOTATE_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_annotate=yes +fi +fi + + if test "x$use_annotate" = "xyes"; then + ANNOTATE_PLUGIN_TRUE= + ANNOTATE_PLUGIN_FALSE='#' +else + ANNOTATE_PLUGIN_TRUE='#' + ANNOTATE_PLUGIN_FALSE= +fi + +if test "$use_annotate" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_ANNOTATE 1 +_ACEOF + +fi + +# Check whether --enable-librsvg was given. +if test "${enable_librsvg+set}" = set; then + enableval=$enable_librsvg; use_librsvg=$enableval +else + use_librsvg=yes +fi + + +if test "x$use_librsvg" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBRSVG" >&5 +echo $ECHO_N "checking for LIBRSVG... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBRSVG_CFLAGS"; then + pkg_cv_LIBRSVG_CFLAGS="$LIBRSVG_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.0 librsvg-2.0 >= 2.14.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBRSVG_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.0 librsvg-2.0 >= 2.14.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBRSVG_LIBS"; then + pkg_cv_LIBRSVG_LIBS="$LIBRSVG_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.0 librsvg-2.0 >= 2.14.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBRSVG_LIBS=`$PKG_CONFIG --libs "cairo >= 1.0 librsvg-2.0 >= 2.14.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0"` + else + LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBRSVG_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_librsvg=no +elif test $pkg_failed = untried; then + use_librsvg=no +else + LIBRSVG_CFLAGS=$pkg_cv_LIBRSVG_CFLAGS + LIBRSVG_LIBS=$pkg_cv_LIBRSVG_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_librsvg=yes +fi +fi + + if test "x$use_librsvg" = "xyes"; then + USE_LIBRSVG_TRUE= + USE_LIBRSVG_FALSE='#' +else + USE_LIBRSVG_TRUE='#' + USE_LIBRSVG_FALSE= +fi + +if test "$use_librsvg" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_LIBRSVG 1 +_ACEOF + +fi + + + + + +#AC_SUBST(windowsettingsdatadir) +#AC_SUBST(windowsettingslibdir) +#AC_SUBST(keybindingsdir) + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for CAIRO" >&5 +echo $ECHO_N "checking for CAIRO... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$CAIRO_CFLAGS"; then + pkg_cv_CAIRO_CFLAGS="$CAIRO_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$CAIRO_LIBS"; then + pkg_cv_CAIRO_LIBS="$CAIRO_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender cairo >= 1.0"` + else + CAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender cairo >= 1.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$CAIRO_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + have_cairo=no +elif test $pkg_failed = untried; then + have_cairo=no +else + CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS + CAIRO_LIBS=$pkg_cv_CAIRO_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + have_cairo=yes +fi + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for PANGO" >&5 +echo $ECHO_N "checking for PANGO... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$PANGO_CFLAGS"; then + pkg_cv_PANGO_CFLAGS="$PANGO_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender pangocairo cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_PANGO_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender pangocairo cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$PANGO_LIBS"; then + pkg_cv_PANGO_LIBS="$PANGO_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender pangocairo cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_PANGO_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender pangocairo cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PANGO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0"` + else + PANGO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$PANGO_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + have_pango=no +elif test $pkg_failed = untried; then + have_pango=no +else + PANGO_CFLAGS=$pkg_cv_PANGO_CFLAGS + PANGO_LIBS=$pkg_cv_PANGO_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + have_pango=yes +fi + + if test "x$have_pango" = "xyes"; then + TEXT_PLUGIN_TRUE= + TEXT_PLUGIN_FALSE='#' +else + TEXT_PLUGIN_TRUE='#' + TEXT_PLUGIN_FALSE= +fi + +if test "x$have_pango" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_TEXT 1 +_ACEOF + +fi + + if test "x$have_cairo" = "xyes"; then + WALL_PLUGIN_TRUE= + WALL_PLUGIN_FALSE='#' +else + WALL_PLUGIN_TRUE='#' + WALL_PLUGIN_FALSE= +fi + +if test "x$have_cairo" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_WALL 1 +_ACEOF + +fi + +# PKG_CHECK_MODULES(GROUP, compiz-text cairo >= 1.0, [use_group=yes], [use_group=no]) +# AM_CONDITIONAL(GROUP_PLUGIN, test "x$use_group" = "xyes") +# if test "$use_group" = yes; then +# AC_DEFINE(USE_GROUP, 1, [Build group plugin]) +# fi + + +# Check whether --enable-jpeg was given. +if test "${enable_jpeg+set}" = set; then + enableval=$enable_jpeg; use_jpeg=$enableval +else + use_jpeg=yes +fi + + + if test "x$use_jpeg" = "xyes"; then + JPEG_PLUGIN_TRUE= + JPEG_PLUGIN_FALSE='#' +else + JPEG_PLUGIN_TRUE='#' + JPEG_PLUGIN_FALSE= +fi + +if test "$use_jpeg" = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define USE_JPEG 1 +_ACEOF + +fi + + +# Check whether --with-max-desktops was given. +if test "${with_max_desktops+set}" = set; then + withval=$with_max_desktops; MAX_DESKTOPS=$withval +else + MAX_DESKTOPS=36 +fi + + +if test -n "$MAX_DESKTOPS"; then + +cat >>confdefs.h <<_ACEOF +@%:@define MAX_DESKTOPS $MAX_DESKTOPS +_ACEOF + +fi + + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBXSLT" >&5 +echo $ECHO_N "checking for LIBXSLT... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBXSLT_CFLAGS"; then + pkg_cv_LIBXSLT_CFLAGS="$LIBXSLT_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxslt\"") >&5 + ($PKG_CONFIG --exists --print-errors "libxslt") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBXSLT_CFLAGS=`$PKG_CONFIG --cflags "libxslt" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBXSLT_LIBS"; then + pkg_cv_LIBXSLT_LIBS="$LIBXSLT_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxslt\"") >&5 + ($PKG_CONFIG --exists --print-errors "libxslt") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBXSLT_LIBS=`$PKG_CONFIG --libs "libxslt" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBXSLT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxslt"` + else + LIBXSLT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxslt"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBXSLT_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (libxslt) were not met: + +$LIBXSLT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (libxslt) were not met: + +$LIBXSLT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + LIBXSLT_CFLAGS=$pkg_cv_LIBXSLT_CFLAGS + LIBXSLT_LIBS=$pkg_cv_LIBXSLT_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi +xsltdir=$datadir/bcop + + + +## hmmm + +BCOP_BIN=../bcop/src/bcop.in + + + + +ac_config_files="$ac_config_files ecomp.pc ecomp-cube.pc ecomp-scale.pc Makefile src/Makefile libdecoration/Makefile libdecoration/libdecoration.pc include/Makefile plugins/Makefile text/Makefile expo/Makefile jpeg/Makefile ring/Makefile shift/Makefile thumbnail/Makefile wall/Makefile animation/Makefile mblur/Makefile cubereflex/Makefile scalefilter/Makefile scaleaddon/Makefile images/Makefile po/Makefile.in metadata/Makefile bcop/bcop.pc bcop/Makefile bcop/src/Makefile bcop/src/bcop" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + + ac_config_commands="$ac_config_commands po/stamp-it" + + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${PLACE_PLUGIN_TRUE}" && test -z "${PLACE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"PLACE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"PLACE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${DBUS_PLUGIN_TRUE}" && test -z "${DBUS_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"DBUS_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"DBUS_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INOTIFY_PLUGIN_TRUE}" && test -z "${INOTIFY_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INOTIFY_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INOTIFY_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${FUSE_PLUGIN_TRUE}" && test -z "${FUSE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FUSE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FUSE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ANNOTATE_PLUGIN_TRUE}" && test -z "${ANNOTATE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"ANNOTATE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"ANNOTATE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${USE_LIBRSVG_TRUE}" && test -z "${USE_LIBRSVG_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"USE_LIBRSVG\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"USE_LIBRSVG\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${TEXT_PLUGIN_TRUE}" && test -z "${TEXT_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"TEXT_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"TEXT_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WALL_PLUGIN_TRUE}" && test -z "${WALL_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WALL_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WALL_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${JPEG_PLUGIN_TRUE}" && test -z "${JPEG_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"JPEG_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"JPEG_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by ecomp $as_me 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +ecomp config.status 0.6.2 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' +macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' +enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' +pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' +host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' +host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' +host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' +build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' +build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' +build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' +SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' +Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' +GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' +EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' +FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' +LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' +NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' +LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' +ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' +exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' +lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' +reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' +AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' +STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' +RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' +compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' +GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' +SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' +ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' +need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' +LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' +libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' +version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' +runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' +libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' +soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' +old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' +striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' +predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' +postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +deplibs_check_method \ +file_magic_cmd \ +AR \ +AR_FLAGS \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +SHELL \ +ECHO \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_wl \ +lt_prog_compiler_pic \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_flag_spec_ld \ +hardcode_libdir_separator \ +fix_srcfile_path \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_flag_spec_ld_CXX \ +hardcode_libdir_separator_CXX \ +fix_srcfile_path_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` + ;; +esac + +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile' + + + + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "ecomp.pc") CONFIG_FILES="$CONFIG_FILES ecomp.pc" ;; + "ecomp-cube.pc") CONFIG_FILES="$CONFIG_FILES ecomp-cube.pc" ;; + "ecomp-scale.pc") CONFIG_FILES="$CONFIG_FILES ecomp-scale.pc" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "libdecoration/Makefile") CONFIG_FILES="$CONFIG_FILES libdecoration/Makefile" ;; + "libdecoration/libdecoration.pc") CONFIG_FILES="$CONFIG_FILES libdecoration/libdecoration.pc" ;; + "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; + "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;; + "text/Makefile") CONFIG_FILES="$CONFIG_FILES text/Makefile" ;; + "expo/Makefile") CONFIG_FILES="$CONFIG_FILES expo/Makefile" ;; + "jpeg/Makefile") CONFIG_FILES="$CONFIG_FILES jpeg/Makefile" ;; + "ring/Makefile") CONFIG_FILES="$CONFIG_FILES ring/Makefile" ;; + "shift/Makefile") CONFIG_FILES="$CONFIG_FILES shift/Makefile" ;; + "thumbnail/Makefile") CONFIG_FILES="$CONFIG_FILES thumbnail/Makefile" ;; + "wall/Makefile") CONFIG_FILES="$CONFIG_FILES wall/Makefile" ;; + "animation/Makefile") CONFIG_FILES="$CONFIG_FILES animation/Makefile" ;; + "mblur/Makefile") CONFIG_FILES="$CONFIG_FILES mblur/Makefile" ;; + "cubereflex/Makefile") CONFIG_FILES="$CONFIG_FILES cubereflex/Makefile" ;; + "scalefilter/Makefile") CONFIG_FILES="$CONFIG_FILES scalefilter/Makefile" ;; + "scaleaddon/Makefile") CONFIG_FILES="$CONFIG_FILES scaleaddon/Makefile" ;; + "images/Makefile") CONFIG_FILES="$CONFIG_FILES images/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "metadata/Makefile") CONFIG_FILES="$CONFIG_FILES metadata/Makefile" ;; + "bcop/bcop.pc") CONFIG_FILES="$CONFIG_FILES bcop/bcop.pc" ;; + "bcop/Makefile") CONFIG_FILES="$CONFIG_FILES bcop/Makefile" ;; + "bcop/src/Makefile") CONFIG_FILES="$CONFIG_FILES bcop/src/Makefile" ;; + "bcop/src/bcop") CONFIG_FILES="$CONFIG_FILES bcop/src/bcop" ;; + "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +ECOMP_VERSION_MAJOR!$ECOMP_VERSION_MAJOR$ac_delim +ECOMP_VERSION_MINOR!$ECOMP_VERSION_MINOR$ac_delim +ECOMP_VERSION_MICRO!$ECOMP_VERSION_MICRO$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +am__isrc!$am__isrc$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +USE_NLS!$USE_NLS$ac_delim +INTLTOOL_UPDATE!$INTLTOOL_UPDATE$ac_delim +INTLTOOL_MERGE!$INTLTOOL_MERGE$ac_delim +INTLTOOL_EXTRACT!$INTLTOOL_EXTRACT$ac_delim +INTLTOOL_DESKTOP_RULE!$INTLTOOL_DESKTOP_RULE$ac_delim +INTLTOOL_DIRECTORY_RULE!$INTLTOOL_DIRECTORY_RULE$ac_delim +INTLTOOL_KEYS_RULE!$INTLTOOL_KEYS_RULE$ac_delim +INTLTOOL_PROP_RULE!$INTLTOOL_PROP_RULE$ac_delim +INTLTOOL_OAF_RULE!$INTLTOOL_OAF_RULE$ac_delim +INTLTOOL_PONG_RULE!$INTLTOOL_PONG_RULE$ac_delim +INTLTOOL_SERVER_RULE!$INTLTOOL_SERVER_RULE$ac_delim +INTLTOOL_SHEET_RULE!$INTLTOOL_SHEET_RULE$ac_delim +INTLTOOL_SOUNDLIST_RULE!$INTLTOOL_SOUNDLIST_RULE$ac_delim +INTLTOOL_UI_RULE!$INTLTOOL_UI_RULE$ac_delim +INTLTOOL_XAM_RULE!$INTLTOOL_XAM_RULE$ac_delim +INTLTOOL_KBD_RULE!$INTLTOOL_KBD_RULE$ac_delim +INTLTOOL_XML_RULE!$INTLTOOL_XML_RULE$ac_delim +INTLTOOL_XML_NOMERGE_RULE!$INTLTOOL_XML_NOMERGE_RULE$ac_delim +INTLTOOL_CAVES_RULE!$INTLTOOL_CAVES_RULE$ac_delim +INTLTOOL_SCHEMAS_RULE!$INTLTOOL_SCHEMAS_RULE$ac_delim +INTLTOOL_THEME_RULE!$INTLTOOL_THEME_RULE$ac_delim +INTLTOOL_SERVICE_RULE!$INTLTOOL_SERVICE_RULE$ac_delim +INTLTOOL_POLICY_RULE!$INTLTOOL_POLICY_RULE$ac_delim +XGETTEXT!$XGETTEXT$ac_delim +MSGMERGE!$MSGMERGE$ac_delim +MSGFMT!$MSGFMT$ac_delim +GMSGFMT!$GMSGFMT$ac_delim +INTLTOOL_PERL!$INTLTOOL_PERL$ac_delim +ALL_LINGUAS!$ALL_LINGUAS$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +DATADIRNAME!$DATADIRNAME$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +SED!$SED$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +FGREP!$FGREP$ac_delim +LD!$LD$ac_delim +DUMPBIN!$DUMPBIN$ac_delim +ac_ct_DUMPBIN!$ac_ct_DUMPBIN$ac_delim +NM!$NM$ac_delim +LN_S!$LN_S$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +lt_ECHO!$lt_ECHO$ac_delim +DSYMUTIL!$DSYMUTIL$ac_delim +NMEDIT!$NMEDIT$ac_delim +LIPO!$LIPO$ac_delim +OTOOL!$OTOOL$ac_delim +OTOOL64!$OTOOL64$ac_delim +CXXCPP!$CXXCPP$ac_delim +MSGFMT_OPTS!$MSGFMT_OPTS$ac_delim +CATALOGS!$CATALOGS$ac_delim +CATOBJEXT!$CATOBJEXT$ac_delim +GMOFILES!$GMOFILES$ac_delim +INSTOBJEXT!$INSTOBJEXT$ac_delim +INTLLIBS!$INTLLIBS$ac_delim +PO_IN_DATADIR_TRUE!$PO_IN_DATADIR_TRUE$ac_delim +PO_IN_DATADIR_FALSE!$PO_IN_DATADIR_FALSE$ac_delim +POFILES!$POFILES$ac_delim +POSUB!$POSUB$ac_delim +MKINSTALLDIRS!$MKINSTALLDIRS$ac_delim +GETTEXT_PACKAGE!$GETTEXT_PACKAGE$ac_delim +plugindir!$plugindir$ac_delim +default_plugins!$default_plugins$ac_delim +imagedir!$imagedir$ac_delim +metadatadir!$metadatadir$ac_delim +PKG_CONFIG!$PKG_CONFIG$ac_delim +ECOMP_CFLAGS!$ECOMP_CFLAGS$ac_delim +ECOMP_LIBS!$ECOMP_LIBS$ac_delim +ECOMP_REQUIRES!$ECOMP_REQUIRES$ac_delim +DECORATION_CFLAGS!$DECORATION_CFLAGS$ac_delim +DECORATION_LIBS!$DECORATION_LIBS$ac_delim +DECORATION_REQUIRES!$DECORATION_REQUIRES$ac_delim +GL_CFLAGS!$GL_CFLAGS$ac_delim +GL_LIBS!$GL_LIBS$ac_delim +XSLTPROC!$XSLTPROC$ac_delim +LIBPNG_CFLAGS!$LIBPNG_CFLAGS$ac_delim +LIBPNG_LIBS!$LIBPNG_LIBS$ac_delim +stylesheetdir!$stylesheetdir$ac_delim +PLACE_PLUGIN_TRUE!$PLACE_PLUGIN_TRUE$ac_delim +PLACE_PLUGIN_FALSE!$PLACE_PLUGIN_FALSE$ac_delim +DBUS_CFLAGS!$DBUS_CFLAGS$ac_delim +DBUS_LIBS!$DBUS_LIBS$ac_delim +DBUS_PLUGIN_TRUE!$DBUS_PLUGIN_TRUE$ac_delim +DBUS_PLUGIN_FALSE!$DBUS_PLUGIN_FALSE$ac_delim +INOTIFY_PLUGIN_TRUE!$INOTIFY_PLUGIN_TRUE$ac_delim +INOTIFY_PLUGIN_FALSE!$INOTIFY_PLUGIN_FALSE$ac_delim +FUSE_CFLAGS!$FUSE_CFLAGS$ac_delim +FUSE_LIBS!$FUSE_LIBS$ac_delim +FUSE_PLUGIN_TRUE!$FUSE_PLUGIN_TRUE$ac_delim +FUSE_PLUGIN_FALSE!$FUSE_PLUGIN_FALSE$ac_delim +ANNOTATE_CFLAGS!$ANNOTATE_CFLAGS$ac_delim +ANNOTATE_LIBS!$ANNOTATE_LIBS$ac_delim +ANNOTATE_PLUGIN_TRUE!$ANNOTATE_PLUGIN_TRUE$ac_delim +ANNOTATE_PLUGIN_FALSE!$ANNOTATE_PLUGIN_FALSE$ac_delim +LIBRSVG_CFLAGS!$LIBRSVG_CFLAGS$ac_delim +LIBRSVG_LIBS!$LIBRSVG_LIBS$ac_delim +USE_LIBRSVG_TRUE!$USE_LIBRSVG_TRUE$ac_delim +USE_LIBRSVG_FALSE!$USE_LIBRSVG_FALSE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +CAIRO_CFLAGS!$CAIRO_CFLAGS$ac_delim +CAIRO_LIBS!$CAIRO_LIBS$ac_delim +PANGO_CFLAGS!$PANGO_CFLAGS$ac_delim +PANGO_LIBS!$PANGO_LIBS$ac_delim +TEXT_PLUGIN_TRUE!$TEXT_PLUGIN_TRUE$ac_delim +TEXT_PLUGIN_FALSE!$TEXT_PLUGIN_FALSE$ac_delim +WALL_PLUGIN_TRUE!$WALL_PLUGIN_TRUE$ac_delim +WALL_PLUGIN_FALSE!$WALL_PLUGIN_FALSE$ac_delim +JPEG_PLUGIN_TRUE!$JPEG_PLUGIN_TRUE$ac_delim +JPEG_PLUGIN_FALSE!$JPEG_PLUGIN_FALSE$ac_delim +LIBXSLT_CFLAGS!$LIBXSLT_CFLAGS$ac_delim +LIBXSLT_LIBS!$LIBXSLT_LIBS$ac_delim +xsltdir!$xsltdir$ac_delim +BCOP_BIN!$BCOP_BIN$ac_delim +LIB@&t@OBJS!$LIB@&t@OBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 16; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_arg=$ac_file +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "libtool":C) + + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +# The names of the tagged configurations supported by this script. +available_tags="CXX " + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that does not interpret backslashes. +ECHO=$lt_ECHO + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain="$ac_aux_dir/ltmain.sh" + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[^=]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$@"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1=\$$1\$2" +} + +_LT_EOF + ;; + esac + + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac ;; + "po/stamp-it":C) + if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" ; then + { { echo "$as_me:$LINENO: error: po/Makefile.in.in was not created by intltoolize." >&5 +echo "$as_me: error: po/Makefile.in.in was not created by intltoolize." >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" + >"po/stamp-it.tmp" + sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" + + sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r po/POTFILES + } + ' "po/Makefile.in" >"po/Makefile" + rm -f "po/Makefile.tmp" + mv "po/stamp-it.tmp" "po/stamp-it" + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + +echo "" +echo "the following optional plugins will be compiled:" +echo " dbus: $use_dbus" +#echo " svg: $use_librsvg" +#echo " inotify: $use_inotify" +#echo " fuse: $use_fuse" +echo "" +echo "" diff --git a/autom4te.cache/requests b/autom4te.cache/requests new file mode 100644 index 0000000..97d726a --- /dev/null +++ b/autom4te.cache/requests @@ -0,0 +1,284 @@ +# This file was generated by Autom4te Wed Jul 23 10:17:38 UTC 2008. +# It contains the lists of macros which have been traced. +# It can be safely removed. + +@request = ( + bless( [ + '0', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + '/usr/share/aclocal/argz.m4', + '/usr/share/aclocal/glib-gettext.m4', + '/usr/share/aclocal/intltool.m4', + '/usr/share/aclocal/libtool.m4', + '/usr/share/aclocal/ltdl.m4', + '/usr/share/aclocal/ltoptions.m4', + '/usr/share/aclocal/ltsugar.m4', + '/usr/share/aclocal/ltversion.m4', + '/usr/share/aclocal/lt~obsolete.m4', + '/usr/share/aclocal/nls.m4', + '/usr/share/aclocal/pkg.m4', + '/usr/share/aclocal-1.10/amversion.m4', + '/usr/share/aclocal-1.10/auxdir.m4', + '/usr/share/aclocal-1.10/cond.m4', + '/usr/share/aclocal-1.10/depend.m4', + '/usr/share/aclocal-1.10/depout.m4', + '/usr/share/aclocal-1.10/init.m4', + '/usr/share/aclocal-1.10/install-sh.m4', + '/usr/share/aclocal-1.10/lead-dot.m4', + '/usr/share/aclocal-1.10/maintainer.m4', + '/usr/share/aclocal-1.10/make.m4', + '/usr/share/aclocal-1.10/missing.m4', + '/usr/share/aclocal-1.10/mkdirp.m4', + '/usr/share/aclocal-1.10/options.m4', + '/usr/share/aclocal-1.10/runlog.m4', + '/usr/share/aclocal-1.10/sanity.m4', + '/usr/share/aclocal-1.10/strip.m4', + '/usr/share/aclocal-1.10/substnot.m4', + '/usr/share/aclocal-1.10/tar.m4', + 'configure.ac' + ], + { + 'AM_ENABLE_STATIC' => 1, + 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, + '_LT_AC_SHELL_INIT' => 1, + 'AC_DEFUN' => 1, + 'AC_PROG_LIBTOOL' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, + 'AM_PROG_MKDIR_P' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AM_MISSING_PROG' => 1, + 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + '_LT_AC_LANG_C_CONFIG' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, + '_m4_warn' => 1, + 'AC_LIBTOOL_OBJDIR' => 1, + 'gl_FUNC_ARGZ' => 1, + 'AM_SANITY_CHECK' => 1, + 'LTOBSOLETE_VERSION' => 1, + 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, + 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, + 'LT_LIB_M' => 1, + '_LT_AC_CHECK_DLFCN' => 1, + 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + 'LTSUGAR_VERSION' => 1, + '_LT_PROG_LTMAIN' => 1, + 'LT_SYS_SYMBOL_USCORE' => 1, + '_AM_PROG_TAR' => 1, + 'AC_LIBTOOL_GCJ' => 1, + 'LT_SYS_DLOPEN_DEPLIBS' => 1, + 'LT_FUNC_DLSYM_USCORE' => 1, + '_LT_AC_LANG_F77' => 1, + 'AC_LIBTOOL_CONFIG' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AC_LTDL_DLLIB' => 1, + '_AM_AUTOCONF_VERSION' => 1, + 'AM_DISABLE_SHARED' => 1, + '_LTDL_SETUP' => 1, + '_LT_AC_LANG_CXX' => 1, + 'AM_PROG_LIBTOOL' => 1, + 'AC_LIB_LTDL' => 1, + '_LT_AC_FILE_LTDLL_C' => 1, + 'AM_PROG_LD' => 1, + 'AU_DEFUN' => 1, + 'AC_PROG_NM' => 1, + 'AC_LIBTOOL_DLOPEN' => 1, + 'AC_PROG_LD' => 1, + 'IT_PROG_INTLTOOL' => 1, + 'AC_PROG_LD_GNU' => 1, + 'AC_ENABLE_FAST_INSTALL' => 1, + 'AC_LIBTOOL_FC' => 1, + 'LTDL_CONVENIENCE' => 1, + '_AM_SET_OPTION' => 1, + 'AC_LTDL_PREOPEN' => 1, + '_LT_LINKER_BOILERPLATE' => 1, + 'GLIB_RUN_PROG' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'AC_LIBTOOL_PROG_CC_C_O' => 1, + 'gl_PREREQ_ARGZ' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'LT_PROG_RC' => 1, + 'LT_SYS_MODULE_EXT' => 1, + 'AC_DEFUN_ONCE' => 1, + '_LT_AC_LANG_GCJ' => 1, + 'AC_LTDL_OBJDIR' => 1, + '_LT_PATH_TOOL_PREFIX' => 1, + 'AC_LIBTOOL_RC' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, + '_LT_AC_PROG_ECHO_BACKSLASH' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, + '_LT_AC_TRY_DLOPEN_SELF' => 1, + 'include' => 1, + 'LT_AC_PROG_SED' => 1, + 'AM_ENABLE_SHARED' => 1, + 'LTDL_INSTALLABLE' => 1, + '_LT_AC_LANG_GCJ_CONFIG' => 1, + 'AC_ENABLE_SHARED' => 1, + 'AC_ENABLE_STATIC' => 1, + 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + '_LT_AC_TAGVAR' => 1, + 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, + 'AM_CONDITIONAL' => 1, + 'LT_LIB_DLLOAD' => 1, + 'LTDL_INIT' => 1, + 'LTVERSION_VERSION' => 1, + 'AM_PROG_INSTALL_SH' => 1, + 'm4_include' => 1, + 'AC_PROG_EGREP' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, + 'AC_PATH_MAGIC' => 1, + 'AC_LTDL_SYSSEARCHPATH' => 1, + 'AM_MAKE_INCLUDE' => 1, + 'LT_CMD_MAX_LEN' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'm4_pattern_forbid' => 1, + '_LT_LINKER_OPTION' => 1, + 'AC_LIBTOOL_COMPILER_OPTION' => 1, + 'AC_DISABLE_SHARED' => 1, + '_LT_COMPILER_BOILERPLATE' => 1, + 'AC_LIBTOOL_WIN32_DLL' => 1, + 'AC_LIBTOOL_SETUP' => 1, + 'AM_GLIB_GNU_GETTEXT' => 1, + 'AC_PROG_LD_RELOAD_FLAG' => 1, + 'AC_LTDL_DLSYM_USCORE' => 1, + 'AM_MISSING_HAS_RUN' => 1, + 'LT_LANG' => 1, + 'LT_SYS_DLSEARCH_PATH' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'IT_PO_SUBDIR' => 1, + 'AC_LIBTOOL_DLOPEN_SELF' => 1, + 'LT_OUTPUT' => 1, + 'AM_NLS' => 1, + 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, + '_PKG_SHORT_ERRORS_SUPPORTED' => 1, + 'AC_WITH_LTDL' => 1, + 'AC_LIBTOOL_LINKER_OPTION' => 1, + 'PKG_CHECK_EXISTS' => 1, + 'LT_AC_PROG_RC' => 1, + 'AC_LIBTOOL_CXX' => 1, + 'LT_INIT' => 1, + 'LT_AC_PROG_GCJ' => 1, + 'LT_SYS_DLOPEN_SELF' => 1, + 'AM_DEP_TRACK' => 1, + 'AM_DISABLE_STATIC' => 1, + '_AC_PROG_LIBTOOL' => 1, + '_AM_IF_OPTION' => 1, + 'AC_PATH_TOOL_PREFIX' => 1, + 'm4_pattern_allow' => 1, + 'AC_LIBTOOL_F77' => 1, + 'AM_SET_LEADING_DOT' => 1, + 'LT_AC_PROG_EGREP' => 1, + '_AM_DEPENDENCIES' => 1, + 'AC_LIBTOOL_LANG_C_CONFIG' => 1, + 'LTOPTIONS_VERSION' => 1, + '_LT_AC_SYS_COMPILER' => 1, + 'AM_PROG_NM' => 1, + 'PKG_CHECK_MODULES' => 1, + 'AC_LIBLTDL_CONVENIENCE' => 1, + 'AC_DEPLIBS_CHECK_METHOD' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + 'jm_MAINTAINER_MODE' => 1, + 'AC_LIBLTDL_INSTALLABLE' => 1, + 'AC_LTDL_ENABLE_INSTALL' => 1, + 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, + 'LT_PROG_GCJ' => 1, + 'AM_GLIB_DEFINE_LOCALEDIR' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_DISABLE_STATIC' => 1, + 'LT_PATH_NM' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AC_LTDL_SHLIBEXT' => 1, + '_LT_AC_LOCK' => 1, + '_LT_AC_LANG_RC_CONFIG' => 1, + 'LT_SYS_MODULE_PATH' => 1, + 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, + 'LT_WITH_LTDL' => 1, + 'AC_PROG_INTLTOOL' => 1, + 'AC_LTDL_SHLIBPATH' => 1, + 'AM_AUX_DIR_EXPAND' => 1, + '_LT_AC_LANG_F77_CONFIG' => 1, + 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, + '_AM_SET_OPTIONS' => 1, + '_LT_COMPILER_OPTION' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AM_RUN_LOG' => 1, + 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, + 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, + 'AC_LIBTOOL_PICMODE' => 1, + 'LT_PATH_LD' => 1, + 'AC_CHECK_LIBM' => 1, + 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, + '_AM_MANGLE_OPTION' => 1, + 'AC_LTDL_SYMBOL_USCORE' => 1, + 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'AM_SET_DEPDIR' => 1, + '_LT_CC_BASENAME' => 1, + '_LT_LIBSOURCES' => 1, + 'PKG_PROG_PKG_CONFIG' => 1, + '_LT_LIBOBJ' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '1', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + 'configure.ac' + ], + { + '_LT_AC_TAGCONFIG' => 1, + 'AM_PROG_F77_C_O' => 1, + 'm4_pattern_forbid' => 1, + 'AC_INIT' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AC_SUBST' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AC_FC_SRCEXT' => 1, + 'AC_CANONICAL_HOST' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CONFIG_LINKS' => 1, + 'm4_sinclude' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + '_m4_warn' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'AM_ENABLE_MULTILIB' => 1, + 'AC_CONFIG_FILES' => 1, + 'LT_INIT' => 1, + 'include' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AC_LIBSOURCE' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AC_CANONICAL_BUILD' => 1, + 'AC_FC_FREEFORM' => 1, + 'AH_OUTPUT' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'sinclude' => 1, + 'm4_pattern_allow' => 1, + 'AM_PROG_CC_C_O' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CONFIG_HEADERS' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'm4_include' => 1, + 'AC_SUBST_TRACE' => 1 + } + ], 'Autom4te::Request' ) + ); + diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0 new file mode 100644 index 0000000..230eebf --- /dev/null +++ b/autom4te.cache/traces.0 @@ -0,0 +1,2862 @@ +m4trace:/usr/share/aclocal/argz.m4:12: -1- AC_DEFUN([gl_FUNC_ARGZ], [gl_PREREQ_ARGZ + +AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_TYPES([error_t], + [], + [AC_DEFINE([error_t], [int], + [Define to a type to use for `error_t' if it is not otherwise available.]) + AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h + does not typedef error_t.])], + [#if defined(HAVE_ARGZ_H) +# include +#endif]) + +ARGZ_H= +AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])]) + +dnl if have system argz functions, allow forced use of +dnl libltdl-supplied implementation (and default to do so +dnl on "known bad" systems). Could use a runtime check, but +dnl (a) detecting malloc issues is notoriously unreliable +dnl (b) only known system that declares argz functions, +dnl provides them, yet they are broken, is cygwin +dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) +dnl So, it's more straightforward simply to special case +dnl this for known bad systems. +AS_IF([test -z "$ARGZ_H"], + [AC_CACHE_CHECK( + [if argz actually works], + [lt_cv_sys_argz_works], + [[case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test "$cross_compiling" != no; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test "$lt_os_major" -gt 1 \ + || { test "$lt_os_major" -eq 1 \ + && { test "$lt_os_minor" -gt 5 \ + || { test "$lt_os_minor" -eq 5 \ + && test "$lt_os_micro" -gt 24; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac]]) + AS_IF([test $lt_cv_sys_argz_works = yes], + [AC_DEFINE([HAVE_WORKING_ARGZ], 1, + [This value is set to 1 to indicate that the system argz facility works])], + [ARGZ_H=argz.h + AC_LIBOBJ([argz])])]) + +AC_SUBST([ARGZ_H]) +]) +m4trace:/usr/share/aclocal/argz.m4:79: -1- AC_DEFUN([gl_PREREQ_ARGZ], [:]) +m4trace:/usr/share/aclocal/glib-gettext.m4:412: -1- AC_DEFUN([AM_GLIB_GNU_GETTEXT], [GLIB_GNU_GETTEXT($@)]) +m4trace:/usr/share/aclocal/glib-gettext.m4:412: -1- AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR], [GLIB_DEFINE_LOCALEDIR($@)]) +m4trace:/usr/share/aclocal/glib-gettext.m4:422: -1- AC_DEFUN([GLIB_RUN_PROG], [cat >conftest.foo <<_ACEOF +$2 +_ACEOF +if AC_RUN_LOG([$1 conftest.foo]); then + m4_ifval([$3], [$3], [:]) +m4_ifvaln([$4], [else $4])dnl +echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD +sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD +fi]) +m4trace:/usr/share/aclocal/intltool.m4:27: -1- AC_DEFUN([IT_PROG_INTLTOOL], [ +AC_PREREQ([2.50])dnl +AC_REQUIRE([AM_NLS])dnl + +case "$am__api_version" in + 1.[01234]) + AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) + ;; + *) + ;; +esac + +if test -n "$1"; then + AC_MSG_CHECKING([for intltool >= $1]) + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` + [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + ] + AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) +fi + +AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) +AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) +AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then + AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + +AC_SUBST(INTLTOOL_DESKTOP_RULE) +AC_SUBST(INTLTOOL_DIRECTORY_RULE) +AC_SUBST(INTLTOOL_KEYS_RULE) +AC_SUBST(INTLTOOL_PROP_RULE) +AC_SUBST(INTLTOOL_OAF_RULE) +AC_SUBST(INTLTOOL_PONG_RULE) +AC_SUBST(INTLTOOL_SERVER_RULE) +AC_SUBST(INTLTOOL_SHEET_RULE) +AC_SUBST(INTLTOOL_SOUNDLIST_RULE) +AC_SUBST(INTLTOOL_UI_RULE) +AC_SUBST(INTLTOOL_XAM_RULE) +AC_SUBST(INTLTOOL_KBD_RULE) +AC_SUBST(INTLTOOL_XML_RULE) +AC_SUBST(INTLTOOL_XML_NOMERGE_RULE) +AC_SUBST(INTLTOOL_CAVES_RULE) +AC_SUBST(INTLTOOL_SCHEMAS_RULE) +AC_SUBST(INTLTOOL_THEME_RULE) +AC_SUBST(INTLTOOL_SERVICE_RULE) +AC_SUBST(INTLTOOL_POLICY_RULE) + +# Check the gettext tools to make sure they are GNU +AC_PATH_PROG(XGETTEXT, xgettext) +AC_PATH_PROG(MSGMERGE, msgmerge) +AC_PATH_PROG(MSGFMT, msgfmt) +AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) +fi +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) +fi + +AC_PATH_PROG(INTLTOOL_PERL, [perl]) +if test -z "$INTLTOOL_PERL"; then + AC_MSG_ERROR([perl not found; required for intltool]) +fi +if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then + AC_MSG_ERROR([perl 5.x required for intltool]) +fi +if test "x$2" != "xno-xml"; then + AC_MSG_CHECKING([for XML::Parser]) + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + AC_MSG_RESULT([ok]) + else + AC_MSG_ERROR([XML::Parser perl module is required for intltool]) + fi +fi + +# Substitute ALL_LINGUAS so we can use it in po/Makefile +AC_SUBST(ALL_LINGUAS) + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[]], + [[extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr]])], + [DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share + dnl in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [DATADIRNAME=share], [DATADIRNAME=lib]) + ;; + *) + [DATADIRNAME=lib] + ;; + esac]) +fi +AC_SUBST(DATADIRNAME) + +IT_PO_SUBDIR([po]) + +]) +m4trace:/usr/share/aclocal/intltool.m4:167: -1- AC_DEFUN([IT_PO_SUBDIR], [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. +dnl +dnl The following CONFIG_COMMANDS should be exetuted at the very end +dnl of config.status. +AC_CONFIG_COMMANDS_PRE([ + AC_CONFIG_COMMANDS([$1/stamp-it], [ + if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" ]; then + AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) + fi + rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" + >"$1/stamp-it.tmp" + [sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" + ] + [sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r $1/POTFILES + } + ' "$1/Makefile.in" >"$1/Makefile"] + rm -f "$1/Makefile.tmp" + mv "$1/stamp-it.tmp" "$1/stamp-it" + ]) +])dnl +]) +m4trace:/usr/share/aclocal/intltool.m4:197: -1- AU_DEFUN([AC_PROG_INTLTOOL], [m4_if($#, 0, [IT_PROG_INTLTOOL], [IT_PROG_INTLTOOL($@)])]) +m4trace:/usr/share/aclocal/intltool.m4:197: -1- AC_DEFUN([AC_PROG_INTLTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_INTLTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [IT_PROG_INTLTOOL], [IT_PROG_INTLTOOL($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:67: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +]) +m4trace:/usr/share/aclocal/libtool.m4:102: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:102: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:103: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:103: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:562: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +cat >"$CONFIG_LT" <<_LTEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate a libtool stub with the current configuration. + +lt_cl_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AS_SHELL_SANITIZE +_AS_PREPARE + +exec AS_MESSAGE_FD>&1 +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +\`$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2008 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test $[#] != 0 +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try \`$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try \`$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +if test "$no_create" != yes; then + lt_cl_success=: + test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" + exec AS_MESSAGE_LOG_FD>/dev/null + $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false + exec AS_MESSAGE_LOG_FD>>config.log + $lt_cl_success || AS_EXIT(1) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:757: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) +m4trace:/usr/share/aclocal/libtool.m4:768: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +]) +m4trace:/usr/share/aclocal/libtool.m4:830: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +m4trace:/usr/share/aclocal/libtool.m4:830: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. +You should run autoupdate.])dnl +LT_LANG(C++)]) +m4trace:/usr/share/aclocal/libtool.m4:831: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +m4trace:/usr/share/aclocal/libtool.m4:831: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Fortran 77)]) +m4trace:/usr/share/aclocal/libtool.m4:832: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +m4trace:/usr/share/aclocal/libtool.m4:832: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Fortran)]) +m4trace:/usr/share/aclocal/libtool.m4:833: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +m4trace:/usr/share/aclocal/libtool.m4:833: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Java)]) +m4trace:/usr/share/aclocal/libtool.m4:1398: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test x"[$]$2" = xyes; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1440: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1440: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1449: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1484: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1484: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1491: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +]) +m4trace:/usr/share/aclocal/libtool.m4:1619: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1619: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1724: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +]) +m4trace:/usr/share/aclocal/libtool.m4:1841: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1841: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:2740: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +]) +m4trace:/usr/share/aclocal/libtool.m4:2802: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:2802: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:2825: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi]) +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) + AC_SUBST([DUMPBIN]) + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +]) +m4trace:/usr/share/aclocal/libtool.m4:3249: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3249: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3250: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3250: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3259: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +AC_SUBST([LIBM]) +]) +m4trace:/usr/share/aclocal/libtool.m4:3278: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3278: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:6947: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) +m4trace:/usr/share/aclocal/libtool.m4:6956: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:6956: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:6963: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) +]) +m4trace:/usr/share/aclocal/libtool.m4:6968: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:6968: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:7067: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:7067: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:16: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) +_$0($*) +]) +m4trace:/usr/share/aclocal/ltdl.m4:68: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +]) +m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) +m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. +You should run autoupdate.])dnl +_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) +m4trace:/usr/share/aclocal/ltdl.m4:124: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +]) +m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) +m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. +You should run autoupdate.])dnl +_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) +m4trace:/usr/share/aclocal/ltdl.m4:213: -1- AC_DEFUN([_LT_LIBOBJ], [ + m4_pattern_allow([^_LT_LIBOBJS$]) + AS_LITERAL_IF([$1], [_LT_LIBSOURCES([$1.c])])dnl + _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" +]) +m4trace:/usr/share/aclocal/ltdl.m4:224: -1- AC_DEFUN([_LT_LIBSOURCES], [ + m4_foreach([_LTNAME], [$1], [ + m4_syscmd([test -r "$lt_libobj_prefix]_LTNAME[" || + test -z "$lt_libobj_prefix" || + test ! -d "$lt_libobj_prefix"])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([missing $lt_libobj_prefix/]_LTNAME)]) + ]) +]) +m4trace:/usr/share/aclocal/ltdl.m4:242: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +dnl We need to keep our own list of libobjs separate from our parent project, +dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while +dnl we look for our own LIBOBJs. Definitions in ltdl-libobj.m4. +m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) +m4_pushdef([AC_LIBSOURCES], m4_defn([_LT_LIBSOURCES])) + +dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: +m4_if(_LTDL_MODE, [], + [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) + m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], + [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) + +AC_ARG_WITH([included_ltdl], + [AS_HELP_STRING([--with-included-ltdl], + [use the GNU ltdl sources included here])]) + +if test "x$with_included_ltdl" != xyes; then + # We are not being forced to use the included libltdl sources, so + # decide whether there is a useful installed version we can use. + AC_CHECK_HEADER([ltdl.h], + [AC_CHECK_DECL([lt_dlinterface_register], + [AC_CHECK_LIB([ltdl], [lt_dlinterface_register], + [with_included_ltdl=no], + [with_included_ltdl=yes])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT + #include ])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT] + ) +fi + +dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE +dnl was called yet, then for old times' sake, we assume libltdl is in an +dnl eponymous directory: +AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) + +AC_ARG_WITH([ltdl_include], + [AS_HELP_STRING([--with-ltdl-include=DIR], + [use the ltdl headers installed in DIR])]) + +if test -n "$with_ltdl_include"; then + if test -f "$with_ltdl_include/ltdl.h"; then : + else + AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include']) + fi +else + with_ltdl_include=no +fi + +AC_ARG_WITH([ltdl_lib], + [AS_HELP_STRING([--with-ltdl-lib=DIR], + [use the libltdl.la installed in DIR])]) + +if test -n "$with_ltdl_lib"; then + if test -f "$with_ltdl_lib/libltdl.la"; then : + else + AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib']) + fi +else + with_ltdl_lib=no +fi + +case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in + ,yes,no,no,) + m4_case(m4_default(_LTDL_TYPE, [convenience]), + [convenience], [_LTDL_CONVENIENCE], + [installable], [_LTDL_INSTALLABLE], + [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) + ;; + ,no,no,no,) + # If the included ltdl is not to be used, then use the + # preinstalled libltdl we found. + AC_DEFINE([HAVE_LTDL], [1], + [Define this if a modern libltdl is already installed]) + LIBLTDL=-lltdl + LTDLDEPS= + LTDLINCL= + ;; + ,no*,no,*) + AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together]) + ;; + *) with_included_ltdl=no + LIBLTDL="-L$with_ltdl_lib -lltdl" + LTDLDEPS= + LTDLINCL="-I$with_ltdl_include" + ;; +esac +INCLTDL="$LTDLINCL" + +# Report our decision... +AC_MSG_CHECKING([where to find libltdl headers]) +AC_MSG_RESULT([$LTDLINCL]) +AC_MSG_CHECKING([where to find libltdl library]) +AC_MSG_RESULT([$LIBLTDL]) + +_LTDL_SETUP + +dnl restore autoconf definition. +m4_popdef([AC_LIBOBJ]) +m4_popdef([AC_LIBSOURCES]) + +AC_CONFIG_COMMANDS_PRE([ + _ltdl_libobjs= + _ltdl_ltlibobjs= + if test -n "$_LT_LIBOBJS"; then + # Remove the extension. + _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do + _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" + _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" + done + fi + AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) + AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) +]) + +# Only expand once: +m4_define([LTDL_INIT]) +]) +m4trace:/usr/share/aclocal/ltdl.m4:368: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:368: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:369: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:369: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:370: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:370: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:383: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl +AC_REQUIRE([LT_SYS_MODULE_PATH])dnl +AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl +AC_REQUIRE([LT_LIB_DLLOAD])dnl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl +AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl +AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl +AC_REQUIRE([gl_FUNC_ARGZ])dnl + +m4_require([_LT_CHECK_OBJDIR])dnl +m4_require([_LT_HEADER_DLFCN])dnl +m4_require([_LT_CHECK_DLPREOPEN])dnl +m4_require([_LT_DECL_SED])dnl + +# lt_cv_dlopen_self gets defined by LT_SYS_DLOPEN_SELF, called by LT_INIT +if test "$lt_cv_dlopen_self" = yes; then + AC_DEFINE([LTDL_DLOPEN_SELF_WORKS], [1], + [Define if dlopen(NULL) is able to resolve symbols from the main program.]) +fi + +dnl Don't require this, or it will be expanded earlier than the code +dnl that sets the variables it relies on: +_LT_ENABLE_INSTALL + +dnl _LTDL_MODE specific code must be called at least once: +_LTDL_MODE_DISPATCH + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). +AC_CONFIG_COMMANDS_PRE([dnl +m4_pattern_allow([^LT_CONFIG_H$])dnl +m4_ifset([AH_HEADER], + [LT_CONFIG_H=AH_HEADER], + [m4_ifset([AC_LIST_HEADERS], + [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`], + [])])]) +AC_SUBST([LT_CONFIG_H]) + +AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], + [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) +AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) + +name=ltdl +LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""` +AC_SUBST([LTDLOPEN]) +]) +m4trace:/usr/share/aclocal/ltdl.m4:457: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_CACHE_CHECK([whether deplibs are loaded by dlopen], + [lt_cv_sys_dlopen_deplibs], + [# PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this `case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[[4-9]]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[[12345]]*|irix6.[[01]]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[[1234]]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say `no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to `yes'. Without it, it would be `no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say `yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + ]) +if test "$lt_cv_sys_dlopen_deplibs" != yes; then + AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], + [Define if the OS needs help to load dependent libraries for dlopen().]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:556: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:556: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:563: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([which extension is used for runtime loadable modules], + [libltdl_cv_shlibext], +[ +module=yes +eval libltdl_cv_shlibext=$shrext_cmds + ]) +if test -n "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_MODULE_EXT])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], + [Define to the extension used for runtime loadable modules, say, ".so".]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:579: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:579: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:586: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([which variable specifies run-time module search path], + [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"]) +if test -n "$lt_cv_module_path_var"; then + m4_pattern_allow([LT_MODULE_PATH_VAR])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], + [Define to the name of the environment variable that determines the run-time module search path.]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:598: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:598: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:605: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([for the default library search path], + [lt_cv_sys_dlsearch_path], + [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"]) +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path="$dir" + else + sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir" + fi + done + m4_pattern_allow([LT_DLSEARCH_PATH])dnl + AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], + [Define to the system default library search path.]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:626: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:626: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:652: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) +LT_DLLOADERS= +AC_SUBST([LT_DLLOADERS]) + +AC_LANG_PUSH([C]) + +LIBADD_DLOPEN= +AC_SEARCH_LIBS([dlopen], [dl], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + if test "$ac_cv_search_dlopen" != "none required" ; then + LIBADD_DLOPEN="-ldl" + fi + libltdl_cv_lib_dl_dlopen="yes" + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H +# include +#endif + ]], [[dlopen(0, 0);]])], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + libltdl_cv_func_dlopen="yes" + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_CHECK_LIB([svld], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes" + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) +if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes +then + lt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DLOPEN" + AC_CHECK_FUNCS([dlerror]) + LIBS="$lt_save_LIBS" +fi +AC_SUBST([LIBADD_DLOPEN]) + +LIBADD_SHL_LOAD= +AC_CHECK_FUNC([shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], + [AC_CHECK_LIB([dld], [shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD="-ldld"])]) +AC_SUBST([LIBADD_SHL_LOAD]) + +case $host_os in +darwin[[1567]].*) +# We only want this for pre-Mac OS X 10.4. + AC_CHECK_FUNC([_dyld_func_lookup], + [AC_DEFINE([HAVE_DYLD], [1], + [Define if you have the _dyld_func_lookup function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | os2* | pw32*) + AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +AC_CHECK_LIB([dld], [dld_link], + [AC_DEFINE([HAVE_DLD], [1], + [Define if you have the GNU dld library.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) +AC_SUBST([LIBADD_DLD_LINK]) + +m4_pattern_allow([^LT_DLPREOPEN$]) +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + AC_DEFINE([HAVE_LIBDLLOADER], [1], + [Define if libdlloader will be built on this platform]) +fi +AC_SUBST([LT_DLPREOPEN]) + +dnl This isn't used anymore, but set it for backwards compatibility +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" +AC_SUBST([LIBADD_DL]) + +AC_LANG_POP +]) +m4trace:/usr/share/aclocal/ltdl.m4:745: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:745: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:753: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +AC_CACHE_CHECK([for _ prefix in compiled symbols], + [lt_cv_sys_symbol_underscore], + [lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.c >&AS_MESSAGE_LOG_FD + fi + rm -rf conftest* + ]) + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + AC_SUBST([sys_symbol_underscore]) +]) +m4trace:/usr/share/aclocal/ltdl.m4:790: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:790: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:797: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl +if test x"$lt_cv_sys_symbol_underscore" = xyes; then + if test x"$libltdl_cv_func_dlopen" = xyes || + test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + save_LIBS="$LIBS" + LIBS="$LIBS $LIBADD_DLOPEN" + _LT_TRY_DLOPEN_SELF( + [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], + [], [libltdl_cv_need_uscore=cross]) + LIBS="$save_LIBS" + ]) + fi +fi + +if test x"$libltdl_cv_need_uscore" = xyes; then + AC_DEFINE([NEED_USCORE], [1], + [Define if dlsym() requires a leading underscore in symbol names.]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:822: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:822: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +m4trace:/usr/share/aclocal/ltoptions.m4:13: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) +m4trace:/usr/share/aclocal/ltoptions.m4:110: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:110: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:145: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:145: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. +You should run autoupdate.])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:194: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:198: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:202: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:202: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. +You should run autoupdate.])dnl +AC_ENABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:203: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:203: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. +You should run autoupdate.])dnl +AC_DISABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:248: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:252: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:256: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:256: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. +You should run autoupdate.])dnl +AC_ENABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:257: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:257: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. +You should run autoupdate.])dnl +AC_DISABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:302: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:302: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:309: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:309: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:342: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:342: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltsugar.m4:13: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) +m4trace:/usr/share/aclocal/ltversion.m4:18: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.4' +macro_revision='1.2976' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:36: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:40: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:44: -1- AC_DEFUN([_LT_AC_TAGVAR]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:45: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_PREOPEN]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:47: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_LOCK]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:49: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:50: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:51: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LTDL_OBJDIR]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:57: -1- AC_DEFUN([AC_PATH_MAGIC]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PROG_LD_GNU]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:60: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:61: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:66: -1- AC_DEFUN([LT_AC_PROG_EGREP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:71: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:72: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:73: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:74: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:75: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:77: -1- AC_DEFUN([_LT_AC_LANG_CXX]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_F77]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:80: -1- AC_DEFUN([AC_LIBTOOL_RC]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) +m4trace:/usr/share/aclocal/nls.m4:22: -1- AC_DEFUN([AM_NLS], [ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) +m4trace:/usr/share/aclocal/pkg.m4:26: -1- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi + +fi[]dnl +]) +m4trace:/usr/share/aclocal/pkg.m4:56: -1- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_ifval([$2], [$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) +m4trace:/usr/share/aclocal/pkg.m4:84: -1- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +]) +m4trace:/usr/share/aclocal/pkg.m4:104: -1- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + ifelse([$4], , [AC_MSG_ERROR(dnl +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT +])], + [AC_MSG_RESULT([no]) + $4]) +elif test $pkg_failed = untried; then + ifelse([$4], , [AC_MSG_FAILURE(dnl +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])], + [$4]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + ifelse([$3], , :, [$3]) +fi[]dnl +]) +m4trace:/usr/share/aclocal-1.10/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.10.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) +m4trace:/usr/share/aclocal-1.10/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) +m4trace:/usr/share/aclocal-1.10/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) +m4trace:/usr/share/aclocal-1.10/cond.m4:15: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) +m4trace:/usr/share/aclocal-1.10/depend.m4:28: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) +m4trace:/usr/share/aclocal-1.10/depend.m4:139: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) +m4trace:/usr/share/aclocal-1.10/depend.m4:147: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +]) +m4trace:/usr/share/aclocal-1.10/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +]) +m4trace:/usr/share/aclocal-1.10/depout.m4:64: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) +m4trace:/usr/share/aclocal-1.10/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +]) +m4trace:/usr/share/aclocal-1.10/init.m4:113: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) +m4trace:/usr/share/aclocal-1.10/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) +m4trace:/usr/share/aclocal-1.10/lead-dot.m4:12: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) +m4trace:/usr/share/aclocal-1.10/maintainer.m4:13: -1- AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl + +]) +m4trace:/usr/share/aclocal-1.10/maintainer.m4:28: -1- AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) +m4trace:/usr/share/aclocal-1.10/maintainer.m4:28: -1- AC_DEFUN([jm_MAINTAINER_MODE], [AC_DIAGNOSE([obsolete], [The macro `jm_MAINTAINER_MODE' is obsolete. +You should run autoupdate.])dnl +AM_MAINTAINER_MODE]) +m4trace:/usr/share/aclocal-1.10/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) +m4trace:/usr/share/aclocal-1.10/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) +m4trace:/usr/share/aclocal-1.10/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) +m4trace:/usr/share/aclocal-1.10/mkdirp.m4:11: -1- AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) +m4trace:/usr/share/aclocal-1.10/options.m4:13: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +m4trace:/usr/share/aclocal-1.10/options.m4:19: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) +m4trace:/usr/share/aclocal-1.10/options.m4:25: -1- AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +m4trace:/usr/share/aclocal-1.10/options.m4:31: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +m4trace:/usr/share/aclocal-1.10/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) +m4trace:/usr/share/aclocal-1.10/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) +m4trace:/usr/share/aclocal-1.10/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) +m4trace:/usr/share/aclocal-1.10/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) +m4trace:/usr/share/aclocal-1.10/tar.m4:24: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:10: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:17: -1- m4_pattern_allow([^ECOMP_VERSION_MAJOR$]) +m4trace:configure.ac:18: -1- m4_pattern_allow([^ECOMP_VERSION_MINOR$]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^ECOMP_VERSION_MICRO$]) +m4trace:configure.ac:21: -1- AM_INIT_AUTOMAKE([1.7]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:21: -1- AM_SET_CURRENT_AUTOMAKE_VERSION +m4trace:configure.ac:21: -1- AM_AUTOMAKE_VERSION([1.10.1]) +m4trace:configure.ac:21: -1- _AM_AUTOCONF_VERSION([2.61]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:21: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:21: -1- _AM_SET_OPTIONS([1.7]) +m4trace:configure.ac:21: -1- _AM_SET_OPTION([1.7]) +m4trace:configure.ac:21: -2- _AM_MANGLE_OPTION([1.7]) +m4trace:configure.ac:21: -1- _m4_warn([obsolete], [The macro `AC_FOREACH' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:196: AC_FOREACH is expanded from... +/usr/share/aclocal-1.10/options.m4:25: _AM_SET_OPTIONS is expanded from... +/usr/share/aclocal-1.10/init.m4:26: AM_INIT_AUTOMAKE is expanded from... +configure.ac:21: the top level]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:21: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) +m4trace:configure.ac:21: -2- _AM_MANGLE_OPTION([no-define]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:21: -1- AM_SANITY_CHECK +m4trace:configure.ac:21: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +m4trace:configure.ac:21: -1- AM_MISSING_HAS_RUN +m4trace:configure.ac:21: -1- AM_AUX_DIR_EXPAND +m4trace:configure.ac:21: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:21: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:21: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:21: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:21: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:21: -1- AM_PROG_INSTALL_SH +m4trace:configure.ac:21: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:21: -1- AM_PROG_INSTALL_STRIP +m4trace:configure.ac:21: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:21: -1- AM_PROG_MKDIR_P +m4trace:configure.ac:21: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:21: -1- AM_SET_LEADING_DOT +m4trace:configure.ac:21: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:21: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +m4trace:configure.ac:21: -2- _AM_MANGLE_OPTION([tar-ustar]) +m4trace:configure.ac:21: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) +m4trace:configure.ac:21: -2- _AM_MANGLE_OPTION([tar-pax]) +m4trace:configure.ac:21: -1- _AM_PROG_TAR([v7]) +m4trace:configure.ac:21: -1- AM_MISSING_PROG([AMTAR], [tar]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:21: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +m4trace:configure.ac:21: -2- _AM_MANGLE_OPTION([no-dependencies]) +m4trace:configure.ac:23: -1- AC_PROG_INTLTOOL([0.23]) +m4trace:configure.ac:23: -1- _m4_warn([obsolete], [The macro `AC_PROG_INTLTOOL' is obsolete. +You should run autoupdate.], [/usr/share/aclocal/intltool.m4:197: AC_PROG_INTLTOOL is expanded from... +configure.ac:23: the top level]) +m4trace:configure.ac:23: -1- IT_PROG_INTLTOOL([0.23]) +m4trace:configure.ac:23: -1- AM_NLS +m4trace:configure.ac:23: -1- m4_pattern_allow([^USE_NLS$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_UPDATE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_MERGE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_EXTRACT$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_DESKTOP_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_DIRECTORY_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_KEYS_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_PROP_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_OAF_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_PONG_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SERVER_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SHEET_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SOUNDLIST_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_UI_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_XAM_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_KBD_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_XML_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_XML_NOMERGE_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_CAVES_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SCHEMAS_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_THEME_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SERVICE_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_POLICY_RULE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^XGETTEXT$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^MSGMERGE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^MSGFMT$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^GMSGFMT$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_PERL$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^ALL_LINGUAS$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:23: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:23: -1- AM_SET_DEPDIR +m4trace:configure.ac:23: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:23: -1- AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:23: -1- AM_MAKE_INCLUDE +m4trace:configure.ac:23: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^am__quote$]) +m4trace:configure.ac:23: -1- AM_DEP_TRACK +m4trace:configure.ac:23: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:23: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^DATADIRNAME$]) +m4trace:configure.ac:23: -1- IT_PO_SUBDIR([po]) +m4trace:configure.ac:24: -1- AM_MAINTAINER_MODE +m4trace:configure.ac:24: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$]) +m4trace:configure.ac:24: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:24: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^MAINT$]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^DECOR_INTERFACE_VERSION$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:30: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:30: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:30: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:30: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:32: -1- _AM_DEPENDENCIES([CXX]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:32: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:33: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:33: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.], [/usr/share/aclocal/libtool.m4:102: AC_PROG_LIBTOOL is expanded from... +configure.ac:33: the top level]) +m4trace:configure.ac:33: -1- LT_INIT +m4trace:configure.ac:33: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) +m4trace:configure.ac:33: -1- LTOPTIONS_VERSION +m4trace:configure.ac:33: -1- LTSUGAR_VERSION +m4trace:configure.ac:33: -1- LTVERSION_VERSION +m4trace:configure.ac:33: -1- LTOBSOLETE_VERSION +m4trace:configure.ac:33: -1- _LT_PROG_LTMAIN +m4trace:configure.ac:33: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:33: -1- LT_PATH_LD +m4trace:configure.ac:33: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:33: -1- AC_PROG_EGREP +m4trace:configure.ac:33: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:33: -1- LT_PATH_NM +m4trace:configure.ac:33: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^NM$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:33: -1- LT_CMD_MAX_LEN +m4trace:configure.ac:33: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([LT_OBJDIR]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LT_OBJDIR$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^lt_ECHO$]) +m4trace:configure.ac:33: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:33: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:33: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:33: -1- LT_SUPPORTED_TAG([CC]) +m4trace:configure.ac:33: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:33: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:33: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:33: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) +m4trace:configure.ac:33: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^DSYMUTIL$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^NMEDIT$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LIPO$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^OTOOL$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^OTOOL64$]) +m4trace:configure.ac:33: -1- LT_SYS_DLOPEN_SELF +m4trace:configure.ac:33: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:33: -1- LT_LANG([CXX]) +m4trace:configure.ac:33: -1- LT_SUPPORTED_TAG([CXX]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:33: -1- _AM_DEPENDENCIES([CXX]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:33: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:33: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:33: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:33: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:33: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:33: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:33: -1- LT_PATH_LD +m4trace:configure.ac:33: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:33: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, CXX) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, CXX)], [$_LT_TAGVAR(lt_prog_compiler_pic, CXX)@&t@m4_if([CXX],[],[ -DPIC],[m4_if([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, CXX) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_TAGVAR(lt_prog_compiler_pic, CXX)" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, CXX)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) +m4trace:configure.ac:33: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, CXX)=]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:38: -1- m4_pattern_allow([^ALL_LINGUAS$]) +m4trace:configure.ac:39: -1- AM_GLIB_GNU_GETTEXT +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +/usr/share/aclocal/glib-gettext.m4:48: GLIB_LC_MESSAGES is expanded from... +/usr/share/aclocal/glib-gettext.m4:312: GLIB_GNU_GETTEXT is expanded from... +/usr/share/aclocal/glib-gettext.m4:412: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^USE_NLS$]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/headers.m4:87: AC_CHECK_HEADER is expanded from... +/usr/share/aclocal/glib-gettext.m4:102: GLIB_WITH_NLS is expanded from... +/usr/share/aclocal/glib-gettext.m4:312: GLIB_GNU_GETTEXT is expanded from... +/usr/share/aclocal/glib-gettext.m4:412: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/headers.m4:87: AC_CHECK_HEADER is expanded from... +/usr/share/aclocal/glib-gettext.m4:102: GLIB_WITH_NLS is expanded from... +/usr/share/aclocal/glib-gettext.m4:312: GLIB_GNU_GETTEXT is expanded from... +/usr/share/aclocal/glib-gettext.m4:412: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^HAVE_GETTEXT$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^MSGFMT$]) +m4trace:configure.ac:39: -1- GLIB_RUN_PROG([$MSGFMT -c -o /dev/null], [ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^MSGFMT_OPTS$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^GMSGFMT$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^XGETTEXT$]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/headers.m4:87: AC_CHECK_HEADER is expanded from... +/usr/share/aclocal/glib-gettext.m4:102: GLIB_WITH_NLS is expanded from... +/usr/share/aclocal/glib-gettext.m4:312: GLIB_GNU_GETTEXT is expanded from... +/usr/share/aclocal/glib-gettext.m4:412: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^ENABLE_NLS$]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete. +You should run autoupdate.], [../../lib/autoconf/status.m4:848: AC_OUTPUT_COMMANDS is expanded from... +/usr/share/aclocal/glib-gettext.m4:102: GLIB_WITH_NLS is expanded from... +/usr/share/aclocal/glib-gettext.m4:312: GLIB_GNU_GETTEXT is expanded from... +/usr/share/aclocal/glib-gettext.m4:412: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^CATALOGS$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^CATOBJEXT$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^DATADIRNAME$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^GMOFILES$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^INSTOBJEXT$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^INTLLIBS$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^PO_IN_DATADIR_TRUE$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^PO_IN_DATADIR_FALSE$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^POFILES$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^POSUB$]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^MKINSTALLDIRS$]) +m4trace:configure.ac:41: -1- m4_pattern_allow([^GETTEXT_PACKAGE$]) +m4trace:configure.ac:42: -1- m4_pattern_allow([^GETTEXT_PACKAGE$]) +m4trace:configure.ac:105: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) +m4trace:configure.ac:108: -1- m4_pattern_allow([^plugindir$]) +m4trace:configure.ac:113: -1- m4_pattern_allow([^default_plugins$]) +m4trace:configure.ac:116: -1- m4_pattern_allow([^imagedir$]) +m4trace:configure.ac:119: -1- m4_pattern_allow([^metadatadir$]) +m4trace:configure.ac:133: -1- PKG_CHECK_MODULES([ECOMP], [$ECOMP_REQUIRES]) +m4trace:configure.ac:133: -1- PKG_PROG_PKG_CONFIG +m4trace:configure.ac:133: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^PKG_CONFIG$]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^PKG_CONFIG$]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^ECOMP_CFLAGS$]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^ECOMP_LIBS$]) +m4trace:configure.ac:133: -1- PKG_CHECK_EXISTS([$ECOMP_REQUIRES], [pkg_cv_[]ECOMP_CFLAGS=`$PKG_CONFIG --[]cflags "$ECOMP_REQUIRES" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:133: -1- PKG_CHECK_EXISTS([$ECOMP_REQUIRES], [pkg_cv_[]ECOMP_LIBS=`$PKG_CONFIG --[]libs "$ECOMP_REQUIRES" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:133: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:134: -1- m4_pattern_allow([^ECOMP_REQUIRES$]) +m4trace:configure.ac:138: -1- PKG_CHECK_MODULES([DECORATION], [$DECORATION_REQUIRES]) +m4trace:configure.ac:138: -1- m4_pattern_allow([^DECORATION_CFLAGS$]) +m4trace:configure.ac:138: -1- m4_pattern_allow([^DECORATION_LIBS$]) +m4trace:configure.ac:138: -1- PKG_CHECK_EXISTS([$DECORATION_REQUIRES], [pkg_cv_[]DECORATION_CFLAGS=`$PKG_CONFIG --[]cflags "$DECORATION_REQUIRES" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:138: -1- PKG_CHECK_EXISTS([$DECORATION_REQUIRES], [pkg_cv_[]DECORATION_LIBS=`$PKG_CONFIG --[]libs "$DECORATION_REQUIRES" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:138: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:139: -1- m4_pattern_allow([^DECORATION_REQUIRES$]) +m4trace:configure.ac:141: -1- PKG_CHECK_EXISTS([xrender >= 0.9.3], [have_xrender_0_9_3=yes], [have_xrender_0_9_3=no]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^HAVE_XRENDER_0_9_3$]) +m4trace:configure.ac:161: -1- m4_pattern_allow([^GL_CFLAGS$]) +m4trace:configure.ac:162: -1- m4_pattern_allow([^GL_LIBS$]) +m4trace:configure.ac:164: -1- m4_pattern_allow([^XSLTPROC$]) +m4trace:configure.ac:169: -1- PKG_CHECK_MODULES([LIBPNG], [libpng]) +m4trace:configure.ac:169: -1- m4_pattern_allow([^LIBPNG_CFLAGS$]) +m4trace:configure.ac:169: -1- m4_pattern_allow([^LIBPNG_LIBS$]) +m4trace:configure.ac:169: -1- PKG_CHECK_EXISTS([libpng], [pkg_cv_[]LIBPNG_CFLAGS=`$PKG_CONFIG --[]cflags "libpng" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:169: -1- PKG_CHECK_EXISTS([libpng], [pkg_cv_[]LIBPNG_LIBS=`$PKG_CONFIG --[]libs "libpng" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:169: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:205: -1- m4_pattern_allow([^stylesheetdir$]) +m4trace:configure.ac:215: -1- AM_CONDITIONAL([PLACE_PLUGIN], [test "x$use_place" = "xyes"]) +m4trace:configure.ac:215: -1- m4_pattern_allow([^PLACE_PLUGIN_TRUE$]) +m4trace:configure.ac:215: -1- m4_pattern_allow([^PLACE_PLUGIN_FALSE$]) +m4trace:configure.ac:215: -1- _AM_SUBST_NOTMAKE([PLACE_PLUGIN_TRUE]) +m4trace:configure.ac:215: -1- _AM_SUBST_NOTMAKE([PLACE_PLUGIN_FALSE]) +m4trace:configure.ac:217: -1- m4_pattern_allow([^USE_PLACE$]) +m4trace:configure.ac:225: -1- PKG_CHECK_MODULES([DBUS], [dbus-1 libxml-2.0], [use_dbus=yes], [use_dbus=no]) +m4trace:configure.ac:225: -1- m4_pattern_allow([^DBUS_CFLAGS$]) +m4trace:configure.ac:225: -1- m4_pattern_allow([^DBUS_LIBS$]) +m4trace:configure.ac:225: -1- PKG_CHECK_EXISTS([dbus-1 libxml-2.0], [pkg_cv_[]DBUS_CFLAGS=`$PKG_CONFIG --[]cflags "dbus-1 libxml-2.0" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:225: -1- PKG_CHECK_EXISTS([dbus-1 libxml-2.0], [pkg_cv_[]DBUS_LIBS=`$PKG_CONFIG --[]libs "dbus-1 libxml-2.0" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:225: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:228: -1- AM_CONDITIONAL([DBUS_PLUGIN], [test "x$use_dbus" = "xyes"]) +m4trace:configure.ac:228: -1- m4_pattern_allow([^DBUS_PLUGIN_TRUE$]) +m4trace:configure.ac:228: -1- m4_pattern_allow([^DBUS_PLUGIN_FALSE$]) +m4trace:configure.ac:228: -1- _AM_SUBST_NOTMAKE([DBUS_PLUGIN_TRUE]) +m4trace:configure.ac:228: -1- _AM_SUBST_NOTMAKE([DBUS_PLUGIN_FALSE]) +m4trace:configure.ac:230: -1- m4_pattern_allow([^USE_DBUS$]) +m4trace:configure.ac:253: -1- AM_CONDITIONAL([INOTIFY_PLUGIN], [test "x$use_inotify" = "xyes"]) +m4trace:configure.ac:253: -1- m4_pattern_allow([^INOTIFY_PLUGIN_TRUE$]) +m4trace:configure.ac:253: -1- m4_pattern_allow([^INOTIFY_PLUGIN_FALSE$]) +m4trace:configure.ac:253: -1- _AM_SUBST_NOTMAKE([INOTIFY_PLUGIN_TRUE]) +m4trace:configure.ac:253: -1- _AM_SUBST_NOTMAKE([INOTIFY_PLUGIN_FALSE]) +m4trace:configure.ac:255: -1- m4_pattern_allow([^USE_INOTIFY$]) +m4trace:configure.ac:263: -1- PKG_CHECK_MODULES([FUSE], [fuse], [use_fuse=yes], [use_fuse=no]) +m4trace:configure.ac:263: -1- m4_pattern_allow([^FUSE_CFLAGS$]) +m4trace:configure.ac:263: -1- m4_pattern_allow([^FUSE_LIBS$]) +m4trace:configure.ac:263: -1- PKG_CHECK_EXISTS([fuse], [pkg_cv_[]FUSE_CFLAGS=`$PKG_CONFIG --[]cflags "fuse" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:263: -1- PKG_CHECK_EXISTS([fuse], [pkg_cv_[]FUSE_LIBS=`$PKG_CONFIG --[]libs "fuse" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:263: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:266: -1- AM_CONDITIONAL([FUSE_PLUGIN], [test "x$use_fuse" = "xyes"]) +m4trace:configure.ac:266: -1- m4_pattern_allow([^FUSE_PLUGIN_TRUE$]) +m4trace:configure.ac:266: -1- m4_pattern_allow([^FUSE_PLUGIN_FALSE$]) +m4trace:configure.ac:266: -1- _AM_SUBST_NOTMAKE([FUSE_PLUGIN_TRUE]) +m4trace:configure.ac:266: -1- _AM_SUBST_NOTMAKE([FUSE_PLUGIN_FALSE]) +m4trace:configure.ac:268: -1- m4_pattern_allow([^USE_FUSE$]) +m4trace:configure.ac:276: -1- PKG_CHECK_MODULES([ANNOTATE], [cairo-xlib-xrender], [use_annotate=yes], [use_annotate=no]) +m4trace:configure.ac:276: -1- m4_pattern_allow([^ANNOTATE_CFLAGS$]) +m4trace:configure.ac:276: -1- m4_pattern_allow([^ANNOTATE_LIBS$]) +m4trace:configure.ac:276: -1- PKG_CHECK_EXISTS([cairo-xlib-xrender], [pkg_cv_[]ANNOTATE_CFLAGS=`$PKG_CONFIG --[]cflags "cairo-xlib-xrender" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:276: -1- PKG_CHECK_EXISTS([cairo-xlib-xrender], [pkg_cv_[]ANNOTATE_LIBS=`$PKG_CONFIG --[]libs "cairo-xlib-xrender" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:276: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:279: -1- AM_CONDITIONAL([ANNOTATE_PLUGIN], [test "x$use_annotate" = "xyes"]) +m4trace:configure.ac:279: -1- m4_pattern_allow([^ANNOTATE_PLUGIN_TRUE$]) +m4trace:configure.ac:279: -1- m4_pattern_allow([^ANNOTATE_PLUGIN_FALSE$]) +m4trace:configure.ac:279: -1- _AM_SUBST_NOTMAKE([ANNOTATE_PLUGIN_TRUE]) +m4trace:configure.ac:279: -1- _AM_SUBST_NOTMAKE([ANNOTATE_PLUGIN_FALSE]) +m4trace:configure.ac:281: -1- m4_pattern_allow([^USE_ANNOTATE$]) +m4trace:configure.ac:289: -1- PKG_CHECK_MODULES([LIBRSVG], [cairo >= 1.0 librsvg-2.0 >= 2.14.0], [use_librsvg=yes], [use_librsvg=no]) +m4trace:configure.ac:289: -1- m4_pattern_allow([^LIBRSVG_CFLAGS$]) +m4trace:configure.ac:289: -1- m4_pattern_allow([^LIBRSVG_LIBS$]) +m4trace:configure.ac:289: -1- PKG_CHECK_EXISTS([cairo >= 1.0 librsvg-2.0 >= 2.14.0], [pkg_cv_[]LIBRSVG_CFLAGS=`$PKG_CONFIG --[]cflags "cairo >= 1.0 librsvg-2.0 >= 2.14.0" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:289: -1- PKG_CHECK_EXISTS([cairo >= 1.0 librsvg-2.0 >= 2.14.0], [pkg_cv_[]LIBRSVG_LIBS=`$PKG_CONFIG --[]libs "cairo >= 1.0 librsvg-2.0 >= 2.14.0" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:289: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:292: -1- AM_CONDITIONAL([USE_LIBRSVG], [test "x$use_librsvg" = "xyes"]) +m4trace:configure.ac:292: -1- m4_pattern_allow([^USE_LIBRSVG_TRUE$]) +m4trace:configure.ac:292: -1- m4_pattern_allow([^USE_LIBRSVG_FALSE$]) +m4trace:configure.ac:292: -1- _AM_SUBST_NOTMAKE([USE_LIBRSVG_TRUE]) +m4trace:configure.ac:292: -1- _AM_SUBST_NOTMAKE([USE_LIBRSVG_FALSE]) +m4trace:configure.ac:294: -1- m4_pattern_allow([^USE_LIBRSVG$]) +m4trace:configure.ac:314: -1- PKG_CHECK_MODULES([CAIRO], [cairo-xlib-xrender cairo >= 1.0], [have_cairo=yes], [have_cairo=no]) +m4trace:configure.ac:314: -1- m4_pattern_allow([^CAIRO_CFLAGS$]) +m4trace:configure.ac:314: -1- m4_pattern_allow([^CAIRO_LIBS$]) +m4trace:configure.ac:314: -1- PKG_CHECK_EXISTS([cairo-xlib-xrender cairo >= 1.0], [pkg_cv_[]CAIRO_CFLAGS=`$PKG_CONFIG --[]cflags "cairo-xlib-xrender cairo >= 1.0" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:314: -1- PKG_CHECK_EXISTS([cairo-xlib-xrender cairo >= 1.0], [pkg_cv_[]CAIRO_LIBS=`$PKG_CONFIG --[]libs "cairo-xlib-xrender cairo >= 1.0" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:314: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:315: -1- PKG_CHECK_MODULES([PANGO], [cairo-xlib-xrender pangocairo cairo >= 1.0], [have_pango=yes], [have_pango=no]) +m4trace:configure.ac:315: -1- m4_pattern_allow([^PANGO_CFLAGS$]) +m4trace:configure.ac:315: -1- m4_pattern_allow([^PANGO_LIBS$]) +m4trace:configure.ac:315: -1- PKG_CHECK_EXISTS([cairo-xlib-xrender pangocairo cairo >= 1.0], [pkg_cv_[]PANGO_CFLAGS=`$PKG_CONFIG --[]cflags "cairo-xlib-xrender pangocairo cairo >= 1.0" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:315: -1- PKG_CHECK_EXISTS([cairo-xlib-xrender pangocairo cairo >= 1.0], [pkg_cv_[]PANGO_LIBS=`$PKG_CONFIG --[]libs "cairo-xlib-xrender pangocairo cairo >= 1.0" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:315: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:317: -1- AM_CONDITIONAL([TEXT_PLUGIN], [test "x$have_pango" = "xyes"]) +m4trace:configure.ac:317: -1- m4_pattern_allow([^TEXT_PLUGIN_TRUE$]) +m4trace:configure.ac:317: -1- m4_pattern_allow([^TEXT_PLUGIN_FALSE$]) +m4trace:configure.ac:317: -1- _AM_SUBST_NOTMAKE([TEXT_PLUGIN_TRUE]) +m4trace:configure.ac:317: -1- _AM_SUBST_NOTMAKE([TEXT_PLUGIN_FALSE]) +m4trace:configure.ac:319: -1- m4_pattern_allow([^USE_TEXT$]) +m4trace:configure.ac:322: -1- AM_CONDITIONAL([WALL_PLUGIN], [test "x$have_cairo" = "xyes"]) +m4trace:configure.ac:322: -1- m4_pattern_allow([^WALL_PLUGIN_TRUE$]) +m4trace:configure.ac:322: -1- m4_pattern_allow([^WALL_PLUGIN_FALSE$]) +m4trace:configure.ac:322: -1- _AM_SUBST_NOTMAKE([WALL_PLUGIN_TRUE]) +m4trace:configure.ac:322: -1- _AM_SUBST_NOTMAKE([WALL_PLUGIN_FALSE]) +m4trace:configure.ac:324: -1- m4_pattern_allow([^USE_WALL$]) +m4trace:configure.ac:338: -1- AM_CONDITIONAL([JPEG_PLUGIN], [test "x$use_jpeg" = "xyes"]) +m4trace:configure.ac:338: -1- m4_pattern_allow([^JPEG_PLUGIN_TRUE$]) +m4trace:configure.ac:338: -1- m4_pattern_allow([^JPEG_PLUGIN_FALSE$]) +m4trace:configure.ac:338: -1- _AM_SUBST_NOTMAKE([JPEG_PLUGIN_TRUE]) +m4trace:configure.ac:338: -1- _AM_SUBST_NOTMAKE([JPEG_PLUGIN_FALSE]) +m4trace:configure.ac:340: -1- m4_pattern_allow([^USE_JPEG$]) +m4trace:configure.ac:349: -1- m4_pattern_allow([^MAX_DESKTOPS$]) +m4trace:configure.ac:353: -1- PKG_CHECK_MODULES([LIBXSLT], [libxslt]) +m4trace:configure.ac:353: -1- m4_pattern_allow([^LIBXSLT_CFLAGS$]) +m4trace:configure.ac:353: -1- m4_pattern_allow([^LIBXSLT_LIBS$]) +m4trace:configure.ac:353: -1- PKG_CHECK_EXISTS([libxslt], [pkg_cv_[]LIBXSLT_CFLAGS=`$PKG_CONFIG --[]cflags "libxslt" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:353: -1- PKG_CHECK_EXISTS([libxslt], [pkg_cv_[]LIBXSLT_LIBS=`$PKG_CONFIG --[]libs "libxslt" 2>/dev/null`], [pkg_failed=yes]) +m4trace:configure.ac:353: -1- _PKG_SHORT_ERRORS_SUPPORTED +m4trace:configure.ac:355: -1- m4_pattern_allow([^xsltdir$]) +m4trace:configure.ac:371: -1- m4_pattern_allow([^BCOP_BIN$]) +m4trace:configure.ac:375: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. +You should run autoupdate.], []) +m4trace:configure.ac:375: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:375: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:375: -1- _AC_AM_CONFIG_HEADER_HOOK([$ac_file]) +m4trace:configure.ac:375: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:375: -1- _LT_PROG_LTMAIN diff --git a/autom4te.cache/traces.1 b/autom4te.cache/traces.1 new file mode 100644 index 0000000..406205c --- /dev/null +++ b/autom4te.cache/traces.1 @@ -0,0 +1,1115 @@ +m4trace:configure.ac:10: -1- AC_INIT([ecomp], [ecomp_version_major().ecomp_version_minor().ecomp_version_micro()], [davidr@novell.com]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:10: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:10: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([SHELL]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:10: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_NAME]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_STRING]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:10: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([exec_prefix]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:10: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([prefix]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:10: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([program_transform_name]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:10: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([bindir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:10: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([sbindir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:10: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([libexecdir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:10: -1- AC_SUBST([datarootdir], ['${prefix}/share']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:10: -1- AC_SUBST([datadir], ['${datarootdir}']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([datadir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:10: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([sysconfdir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:10: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([sharedstatedir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:10: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([localstatedir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:10: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([includedir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:10: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([oldincludedir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:10: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], + ['${datarootdir}/doc/${PACKAGE_TARNAME}'], + ['${datarootdir}/doc/${PACKAGE}'])]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([docdir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:10: -1- AC_SUBST([infodir], ['${datarootdir}/info']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([infodir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:10: -1- AC_SUBST([htmldir], ['${docdir}']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([htmldir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:10: -1- AC_SUBST([dvidir], ['${docdir}']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([dvidir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:10: -1- AC_SUBST([pdfdir], ['${docdir}']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([pdfdir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:10: -1- AC_SUBST([psdir], ['${docdir}']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([psdir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:10: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([libdir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:10: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:10: -1- AC_SUBST([mandir], ['${datarootdir}/man']) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([mandir]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +#undef PACKAGE_NAME]) +m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME]) +m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +#undef PACKAGE_VERSION]) +m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING]) +m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT]) +m4trace:configure.ac:10: -1- AC_SUBST([DEFS]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([DEFS]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:10: -1- AC_SUBST([ECHO_C]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([ECHO_C]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:10: -1- AC_SUBST([ECHO_N]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([ECHO_N]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:10: -1- AC_SUBST([ECHO_T]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([ECHO_T]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:10: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:10: -1- AC_SUBST([build_alias]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([build_alias]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:10: -1- AC_SUBST([host_alias]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([host_alias]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:10: -1- AC_SUBST([target_alias]) +m4trace:configure.ac:10: -1- AC_SUBST_TRACE([target_alias]) +m4trace:configure.ac:10: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:17: -1- AC_SUBST([ECOMP_VERSION_MAJOR]) +m4trace:configure.ac:17: -1- AC_SUBST_TRACE([ECOMP_VERSION_MAJOR]) +m4trace:configure.ac:17: -1- m4_pattern_allow([^ECOMP_VERSION_MAJOR$]) +m4trace:configure.ac:18: -1- AC_SUBST([ECOMP_VERSION_MINOR]) +m4trace:configure.ac:18: -1- AC_SUBST_TRACE([ECOMP_VERSION_MINOR]) +m4trace:configure.ac:18: -1- m4_pattern_allow([^ECOMP_VERSION_MINOR$]) +m4trace:configure.ac:19: -1- AC_SUBST([ECOMP_VERSION_MICRO]) +m4trace:configure.ac:19: -1- AC_SUBST_TRACE([ECOMP_VERSION_MICRO]) +m4trace:configure.ac:19: -1- m4_pattern_allow([^ECOMP_VERSION_MICRO$]) +m4trace:configure.ac:21: -1- AM_INIT_AUTOMAKE([1.7]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:21: -1- AM_AUTOMAKE_VERSION([1.10.1]) +m4trace:configure.ac:21: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:21: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:21: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:21: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([INSTALL_DATA]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:21: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([am__isrc]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:21: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:21: -1- AC_SUBST([CYGPATH_W]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([CYGPATH_W]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:21: -1- _m4_warn([obsolete], [The macro `AC_FOREACH' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:196: AC_FOREACH is expanded from... +aclocal.m4:9416: _AM_SET_OPTIONS is expanded from... +aclocal.m4:9113: AM_INIT_AUTOMAKE is expanded from... +configure.ac:21: the top level]) +m4trace:configure.ac:21: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME']) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([PACKAGE]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:21: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION']) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([VERSION]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:21: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:21: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ +#undef PACKAGE]) +m4trace:configure.ac:21: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:21: -1- AH_OUTPUT([VERSION], [/* Version number of package */ +#undef VERSION]) +m4trace:configure.ac:21: -1- AC_REQUIRE_AUX_FILE([missing]) +m4trace:configure.ac:21: -1- AC_SUBST([ACLOCAL]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([ACLOCAL]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:21: -1- AC_SUBST([AUTOCONF]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([AUTOCONF]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:21: -1- AC_SUBST([AUTOMAKE]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([AUTOMAKE]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:21: -1- AC_SUBST([AUTOHEADER]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([AUTOHEADER]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:21: -1- AC_SUBST([MAKEINFO]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([MAKEINFO]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:21: -1- AC_SUBST([install_sh]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([install_sh]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:21: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:21: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:21: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:21: -1- AC_SUBST([mkdir_p], ["$MKDIR_P"]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([mkdir_p]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:21: -1- AC_SUBST([AWK]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:21: -1- AC_SUBST([SET_MAKE]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([SET_MAKE]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:21: -1- AC_SUBST([am__leading_dot]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([am__leading_dot]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:21: -1- AC_SUBST([AMTAR]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([AMTAR]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:21: -1- AC_SUBST([am__tar]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([am__tar]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:21: -1- AC_SUBST([am__untar]) +m4trace:configure.ac:21: -1- AC_SUBST_TRACE([am__untar]) +m4trace:configure.ac:21: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:22: -1- AC_CONFIG_HEADERS([config.h]) +m4trace:configure.ac:23: -1- _m4_warn([obsolete], [The macro `AC_PROG_INTLTOOL' is obsolete. +You should run autoupdate.], [aclocal.m4:628: AC_PROG_INTLTOOL is expanded from... +configure.ac:23: the top level]) +m4trace:configure.ac:23: -1- AC_SUBST([USE_NLS]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([USE_NLS]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^USE_NLS$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_UPDATE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_UPDATE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_UPDATE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_MERGE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_MERGE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_MERGE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_EXTRACT]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_EXTRACT]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_EXTRACT$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_DESKTOP_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_DESKTOP_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_DESKTOP_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_DIRECTORY_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_DIRECTORY_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_DIRECTORY_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_KEYS_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_KEYS_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_KEYS_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_PROP_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_PROP_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_PROP_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_OAF_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_OAF_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_OAF_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_PONG_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_PONG_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_PONG_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_SERVER_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_SERVER_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SERVER_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_SHEET_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_SHEET_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SHEET_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_SOUNDLIST_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_SOUNDLIST_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SOUNDLIST_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_UI_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_UI_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_UI_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_XAM_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_XAM_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_XAM_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_KBD_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_KBD_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_KBD_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_XML_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_XML_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_XML_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_XML_NOMERGE_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_XML_NOMERGE_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_XML_NOMERGE_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_CAVES_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_CAVES_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_CAVES_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_SCHEMAS_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_SCHEMAS_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SCHEMAS_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_THEME_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_THEME_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_THEME_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_SERVICE_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_SERVICE_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_SERVICE_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_POLICY_RULE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_POLICY_RULE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_POLICY_RULE$]) +m4trace:configure.ac:23: -1- AC_SUBST([XGETTEXT]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([XGETTEXT]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^XGETTEXT$]) +m4trace:configure.ac:23: -1- AC_SUBST([MSGMERGE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([MSGMERGE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^MSGMERGE$]) +m4trace:configure.ac:23: -1- AC_SUBST([MSGFMT]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([MSGFMT]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^MSGFMT$]) +m4trace:configure.ac:23: -1- AC_SUBST([GMSGFMT]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([GMSGFMT]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^GMSGFMT$]) +m4trace:configure.ac:23: -1- AC_SUBST([INTLTOOL_PERL]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([INTLTOOL_PERL]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^INTLTOOL_PERL$]) +m4trace:configure.ac:23: -1- AC_SUBST([ALL_LINGUAS]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([ALL_LINGUAS]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^ALL_LINGUAS$]) +m4trace:configure.ac:23: -1- AC_SUBST([CC]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:23: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:23: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:23: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:23: -1- AC_SUBST([CC]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- AC_SUBST([CC]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- AC_SUBST([CC]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- AC_SUBST([CC]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:23: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:23: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([EXEEXT]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:23: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([OBJEXT]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:23: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([DEPDIR]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:23: -1- AC_SUBST([am__include]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([am__include]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:23: -1- AC_SUBST([am__quote]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([am__quote]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^am__quote$]) +m4trace:configure.ac:23: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:23: -1- AC_SUBST([AMDEP_TRUE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([AMDEP_TRUE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:23: -1- AC_SUBST([AMDEP_FALSE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([AMDEP_FALSE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:23: -1- AC_SUBST([AMDEPBACKSLASH]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:23: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:23: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:23: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:23: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:23: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:23: -1- AC_SUBST([DATADIRNAME]) +m4trace:configure.ac:23: -1- AC_SUBST_TRACE([DATADIRNAME]) +m4trace:configure.ac:23: -1- m4_pattern_allow([^DATADIRNAME$]) +m4trace:configure.ac:24: -1- AM_MAINTAINER_MODE +m4trace:configure.ac:24: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) +m4trace:configure.ac:24: -1- AC_SUBST([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$]) +m4trace:configure.ac:24: -1- AC_SUBST([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$]) +m4trace:configure.ac:24: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_TRUE]) +m4trace:configure.ac:24: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_FALSE]) +m4trace:configure.ac:24: -1- AC_SUBST([MAINT]) +m4trace:configure.ac:24: -1- AC_SUBST_TRACE([MAINT]) +m4trace:configure.ac:24: -1- m4_pattern_allow([^MAINT$]) +m4trace:configure.ac:27: -1- AC_DEFINE_TRACE_LITERAL([DECOR_INTERFACE_VERSION]) +m4trace:configure.ac:27: -1- m4_pattern_allow([^DECOR_INTERFACE_VERSION$]) +m4trace:configure.ac:27: -1- AH_OUTPUT([DECOR_INTERFACE_VERSION], [/* Decorator interface version */ +#undef DECOR_INTERFACE_VERSION]) +m4trace:configure.ac:30: -1- AC_SUBST([CC]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:30: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:30: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:30: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:30: -1- AC_SUBST([CC]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- AC_SUBST([CC]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- AC_SUBST([CC]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- AC_SUBST([CC]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:30: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:30: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:30: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:30: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:30: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:30: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:30: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:30: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:31: -1- AC_SUBST([CPP]) +m4trace:configure.ac:31: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:31: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:31: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:31: -1- AC_SUBST([CPP]) +m4trace:configure.ac:31: -1- AC_SUBST_TRACE([CPP]) +m4trace:configure.ac:31: -1- m4_pattern_allow([^CPP$]) +m4trace:configure.ac:32: -1- AC_SUBST([CXX]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:32: -1- AC_SUBST([CXXFLAGS]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CXXFLAGS]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:32: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:32: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:32: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:32: -1- AC_SUBST([CXX]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:32: -1- AC_SUBST([ac_ct_CXX]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([ac_ct_CXX]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:32: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([CXXDEPMODE]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:32: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:32: -1- AC_SUBST([am__fastdepCXX_TRUE]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:32: -1- AC_SUBST([am__fastdepCXX_FALSE]) +m4trace:configure.ac:32: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:32: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:32: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:33: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:33: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.], [aclocal.m4:734: AC_PROG_LIBTOOL is expanded from... +configure.ac:33: the top level]) +m4trace:configure.ac:33: -1- LT_INIT +m4trace:configure.ac:33: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) +m4trace:configure.ac:33: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) +m4trace:configure.ac:33: -1- AC_SUBST([LIBTOOL]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([LIBTOOL]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:33: -1- AC_CANONICAL_HOST +m4trace:configure.ac:33: -1- AC_CANONICAL_BUILD +m4trace:configure.ac:33: -1- AC_REQUIRE_AUX_FILE([config.sub]) +m4trace:configure.ac:33: -1- AC_REQUIRE_AUX_FILE([config.guess]) +m4trace:configure.ac:33: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([build]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:33: -1- AC_SUBST([build_cpu], [$[1]]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([build_cpu]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:33: -1- AC_SUBST([build_vendor], [$[2]]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([build_vendor]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:33: -1- AC_SUBST([build_os]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([build_os]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:33: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([host]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:33: -1- AC_SUBST([host_cpu], [$[1]]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:33: -1- AC_SUBST([host_vendor], [$[2]]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:33: -1- AC_SUBST([host_os]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:33: -1- AC_SUBST([SED]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:33: -1- AC_SUBST([SED]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:33: -1- AC_SUBST([GREP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:33: -1- AC_SUBST([GREP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:33: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:33: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:33: -1- AC_SUBST([FGREP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([FGREP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:33: -1- AC_SUBST([FGREP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([FGREP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:33: -1- AC_SUBST([GREP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:33: -1- AC_SUBST([LD]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([LD]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:33: -1- AC_SUBST([DUMPBIN]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([DUMPBIN]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:33: -1- AC_SUBST([ac_ct_DUMPBIN]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) +m4trace:configure.ac:33: -1- AC_SUBST([DUMPBIN]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([DUMPBIN]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:33: -1- AC_SUBST([NM]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([NM]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^NM$]) +m4trace:configure.ac:33: -1- AC_SUBST([LN_S], [$as_ln_s]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([LN_S]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:33: -1- AC_SUBST([AR]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:33: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:33: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:33: -1- m4_pattern_allow([LT_OBJDIR]) +m4trace:configure.ac:33: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LT_OBJDIR$]) +m4trace:configure.ac:33: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR]) +m4trace:configure.ac:33: -1- AC_SUBST([lt_ECHO]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([lt_ECHO]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^lt_ECHO$]) +m4trace:configure.ac:33: -1- LT_SUPPORTED_TAG([CC]) +m4trace:configure.ac:33: -1- AC_SUBST([DSYMUTIL]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([DSYMUTIL]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^DSYMUTIL$]) +m4trace:configure.ac:33: -1- AC_SUBST([NMEDIT]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([NMEDIT]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^NMEDIT$]) +m4trace:configure.ac:33: -1- AC_SUBST([LIPO]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([LIPO]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LIPO$]) +m4trace:configure.ac:33: -1- AC_SUBST([OTOOL]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([OTOOL]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^OTOOL$]) +m4trace:configure.ac:33: -1- AC_SUBST([OTOOL64]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([OTOOL64]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^OTOOL64$]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H]) +m4trace:configure.ac:33: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:33: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H]) +m4trace:configure.ac:33: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H]) +m4trace:configure.ac:33: -1- LT_SUPPORTED_TAG([CXX]) +m4trace:configure.ac:33: -1- AC_SUBST([CXX]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:33: -1- AC_SUBST([CXXFLAGS]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([CXXFLAGS]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:33: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:33: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:33: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:33: -1- AC_SUBST([CXX]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:33: -1- AC_SUBST([ac_ct_CXX]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([ac_ct_CXX]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:33: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([CXXDEPMODE]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:33: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:33: -1- AC_SUBST([am__fastdepCXX_TRUE]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:33: -1- AC_SUBST([am__fastdepCXX_FALSE]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:33: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:33: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:33: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:33: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:33: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:33: -1- AC_SUBST([LD]) +m4trace:configure.ac:33: -1- AC_SUBST_TRACE([LD]) +m4trace:configure.ac:33: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:34: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.ac:34: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:34: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS]) +m4trace:configure.ac:35: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H]) +m4trace:configure.ac:35: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TIME_H]) +m4trace:configure.ac:35: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H]) +m4trace:configure.ac:38: -1- AC_SUBST([ALL_LINGUAS]) +m4trace:configure.ac:38: -1- AC_SUBST_TRACE([ALL_LINGUAS]) +m4trace:configure.ac:38: -1- m4_pattern_allow([^ALL_LINGUAS$]) +m4trace:configure.ac:39: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +aclocal.m4:69: GLIB_LC_MESSAGES is expanded from... +aclocal.m4:333: GLIB_GNU_GETTEXT is expanded from... +aclocal.m4:433: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$]) +m4trace:configure.ac:39: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your file defines LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES]) +m4trace:configure.ac:39: -1- AC_SUBST([USE_NLS]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([USE_NLS]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^USE_NLS$]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/headers.m4:87: AC_CHECK_HEADER is expanded from... +aclocal.m4:123: GLIB_WITH_NLS is expanded from... +aclocal.m4:333: GLIB_GNU_GETTEXT is expanded from... +aclocal.m4:433: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/headers.m4:87: AC_CHECK_HEADER is expanded from... +aclocal.m4:123: GLIB_WITH_NLS is expanded from... +aclocal.m4:333: GLIB_GNU_GETTEXT is expanded from... +aclocal.m4:433: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- AH_OUTPUT([HAVE_BIND_TEXTDOMAIN_CODESET], [/* Define to 1 if you have the `bind_textdomain_codeset\' function. */ +#undef HAVE_BIND_TEXTDOMAIN_CODESET]) +m4trace:configure.ac:39: -1- AH_OUTPUT([HAVE_BIND_TEXTDOMAIN_CODESET], [/* Define to 1 if you have the `bind_textdomain_codeset\' function. */ +#undef HAVE_BIND_TEXTDOMAIN_CODESET]) +m4trace:configure.ac:39: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^HAVE_GETTEXT$]) +m4trace:configure.ac:39: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT]) +m4trace:configure.ac:39: -1- AC_SUBST([MSGFMT]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([MSGFMT]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^MSGFMT$]) +m4trace:configure.ac:39: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */ +#undef HAVE_DCGETTEXT]) +m4trace:configure.ac:39: -1- AC_SUBST([MSGFMT_OPTS]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([MSGFMT_OPTS]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^MSGFMT_OPTS$]) +m4trace:configure.ac:39: -1- AC_SUBST([GMSGFMT]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([GMSGFMT]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^GMSGFMT$]) +m4trace:configure.ac:39: -1- AC_SUBST([XGETTEXT]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([XGETTEXT]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^XGETTEXT$]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... +../../lib/autoconf/headers.m4:87: AC_CHECK_HEADER is expanded from... +aclocal.m4:123: GLIB_WITH_NLS is expanded from... +aclocal.m4:333: GLIB_GNU_GETTEXT is expanded from... +aclocal.m4:433: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^ENABLE_NLS$]) +m4trace:configure.ac:39: -1- AH_OUTPUT([ENABLE_NLS], [/* always defined to indicate that i18n is enabled */ +#undef ENABLE_NLS]) +m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete. +You should run autoupdate.], [../../lib/autoconf/status.m4:848: AC_OUTPUT_COMMANDS is expanded from... +aclocal.m4:123: GLIB_WITH_NLS is expanded from... +aclocal.m4:333: GLIB_GNU_GETTEXT is expanded from... +aclocal.m4:433: AM_GLIB_GNU_GETTEXT is expanded from... +configure.ac:39: the top level]) +m4trace:configure.ac:39: -1- AC_SUBST([CATALOGS]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([CATALOGS]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^CATALOGS$]) +m4trace:configure.ac:39: -1- AC_SUBST([CATOBJEXT]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([CATOBJEXT]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^CATOBJEXT$]) +m4trace:configure.ac:39: -1- AC_SUBST([DATADIRNAME]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([DATADIRNAME]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^DATADIRNAME$]) +m4trace:configure.ac:39: -1- AC_SUBST([GMOFILES]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([GMOFILES]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^GMOFILES$]) +m4trace:configure.ac:39: -1- AC_SUBST([INSTOBJEXT]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([INSTOBJEXT]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^INSTOBJEXT$]) +m4trace:configure.ac:39: -1- AC_SUBST([INTLLIBS]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([INTLLIBS]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^INTLLIBS$]) +m4trace:configure.ac:39: -1- AC_SUBST([PO_IN_DATADIR_TRUE]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([PO_IN_DATADIR_TRUE]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^PO_IN_DATADIR_TRUE$]) +m4trace:configure.ac:39: -1- AC_SUBST([PO_IN_DATADIR_FALSE]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([PO_IN_DATADIR_FALSE]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^PO_IN_DATADIR_FALSE$]) +m4trace:configure.ac:39: -1- AC_SUBST([POFILES]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([POFILES]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^POFILES$]) +m4trace:configure.ac:39: -1- AC_SUBST([POSUB]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([POSUB]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^POSUB$]) +m4trace:configure.ac:39: -1- AC_SUBST([MKINSTALLDIRS]) +m4trace:configure.ac:39: -1- AC_SUBST_TRACE([MKINSTALLDIRS]) +m4trace:configure.ac:39: -1- m4_pattern_allow([^MKINSTALLDIRS$]) +m4trace:configure.ac:41: -1- AC_DEFINE_TRACE_LITERAL([GETTEXT_PACKAGE]) +m4trace:configure.ac:41: -1- m4_pattern_allow([^GETTEXT_PACKAGE$]) +m4trace:configure.ac:41: -1- AH_OUTPUT([GETTEXT_PACKAGE], [/* Gettext package. */ +#undef GETTEXT_PACKAGE]) +m4trace:configure.ac:42: -1- AC_SUBST([GETTEXT_PACKAGE]) +m4trace:configure.ac:42: -1- AC_SUBST_TRACE([GETTEXT_PACKAGE]) +m4trace:configure.ac:42: -1- m4_pattern_allow([^GETTEXT_PACKAGE$]) +m4trace:configure.ac:105: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN]) +m4trace:configure.ac:105: -1- m4_pattern_allow([^WORDS_BIGENDIAN$]) +m4trace:configure.ac:105: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN]) +m4trace:configure.ac:108: -1- AC_SUBST([plugindir]) +m4trace:configure.ac:108: -1- AC_SUBST_TRACE([plugindir]) +m4trace:configure.ac:108: -1- m4_pattern_allow([^plugindir$]) +m4trace:configure.ac:113: -1- AC_SUBST([default_plugins]) +m4trace:configure.ac:113: -1- AC_SUBST_TRACE([default_plugins]) +m4trace:configure.ac:113: -1- m4_pattern_allow([^default_plugins$]) +m4trace:configure.ac:116: -1- AC_SUBST([imagedir]) +m4trace:configure.ac:116: -1- AC_SUBST_TRACE([imagedir]) +m4trace:configure.ac:116: -1- m4_pattern_allow([^imagedir$]) +m4trace:configure.ac:119: -1- AC_SUBST([metadatadir]) +m4trace:configure.ac:119: -1- AC_SUBST_TRACE([metadatadir]) +m4trace:configure.ac:119: -1- m4_pattern_allow([^metadatadir$]) +m4trace:configure.ac:133: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +m4trace:configure.ac:133: -1- AC_SUBST([PKG_CONFIG]) +m4trace:configure.ac:133: -1- AC_SUBST_TRACE([PKG_CONFIG]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^PKG_CONFIG$]) +m4trace:configure.ac:133: -1- AC_SUBST([PKG_CONFIG]) +m4trace:configure.ac:133: -1- AC_SUBST_TRACE([PKG_CONFIG]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^PKG_CONFIG$]) +m4trace:configure.ac:133: -1- AC_SUBST([ECOMP_CFLAGS]) +m4trace:configure.ac:133: -1- AC_SUBST_TRACE([ECOMP_CFLAGS]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^ECOMP_CFLAGS$]) +m4trace:configure.ac:133: -1- AC_SUBST([ECOMP_LIBS]) +m4trace:configure.ac:133: -1- AC_SUBST_TRACE([ECOMP_LIBS]) +m4trace:configure.ac:133: -1- m4_pattern_allow([^ECOMP_LIBS$]) +m4trace:configure.ac:134: -1- AC_SUBST([ECOMP_REQUIRES]) +m4trace:configure.ac:134: -1- AC_SUBST_TRACE([ECOMP_REQUIRES]) +m4trace:configure.ac:134: -1- m4_pattern_allow([^ECOMP_REQUIRES$]) +m4trace:configure.ac:138: -1- AC_SUBST([DECORATION_CFLAGS]) +m4trace:configure.ac:138: -1- AC_SUBST_TRACE([DECORATION_CFLAGS]) +m4trace:configure.ac:138: -1- m4_pattern_allow([^DECORATION_CFLAGS$]) +m4trace:configure.ac:138: -1- AC_SUBST([DECORATION_LIBS]) +m4trace:configure.ac:138: -1- AC_SUBST_TRACE([DECORATION_LIBS]) +m4trace:configure.ac:138: -1- m4_pattern_allow([^DECORATION_LIBS$]) +m4trace:configure.ac:139: -1- AC_SUBST([DECORATION_REQUIRES]) +m4trace:configure.ac:139: -1- AC_SUBST_TRACE([DECORATION_REQUIRES]) +m4trace:configure.ac:139: -1- m4_pattern_allow([^DECORATION_REQUIRES$]) +m4trace:configure.ac:145: -1- AC_DEFINE_TRACE_LITERAL([HAVE_XRENDER_0_9_3]) +m4trace:configure.ac:145: -1- m4_pattern_allow([^HAVE_XRENDER_0_9_3$]) +m4trace:configure.ac:145: -1- AH_OUTPUT([HAVE_XRENDER_0_9_3], [/* Define to 1 if xrender version >= 0.9.3 */ +#undef HAVE_XRENDER_0_9_3]) +m4trace:configure.ac:161: -1- AC_SUBST([GL_CFLAGS]) +m4trace:configure.ac:161: -1- AC_SUBST_TRACE([GL_CFLAGS]) +m4trace:configure.ac:161: -1- m4_pattern_allow([^GL_CFLAGS$]) +m4trace:configure.ac:162: -1- AC_SUBST([GL_LIBS]) +m4trace:configure.ac:162: -1- AC_SUBST_TRACE([GL_LIBS]) +m4trace:configure.ac:162: -1- m4_pattern_allow([^GL_LIBS$]) +m4trace:configure.ac:164: -1- AC_SUBST([XSLTPROC]) +m4trace:configure.ac:164: -1- AC_SUBST_TRACE([XSLTPROC]) +m4trace:configure.ac:164: -1- m4_pattern_allow([^XSLTPROC$]) +m4trace:configure.ac:169: -1- AC_SUBST([LIBPNG_CFLAGS]) +m4trace:configure.ac:169: -1- AC_SUBST_TRACE([LIBPNG_CFLAGS]) +m4trace:configure.ac:169: -1- m4_pattern_allow([^LIBPNG_CFLAGS$]) +m4trace:configure.ac:169: -1- AC_SUBST([LIBPNG_LIBS]) +m4trace:configure.ac:169: -1- AC_SUBST_TRACE([LIBPNG_LIBS]) +m4trace:configure.ac:169: -1- m4_pattern_allow([^LIBPNG_LIBS$]) +m4trace:configure.ac:205: -1- AC_SUBST([stylesheetdir]) +m4trace:configure.ac:205: -1- AC_SUBST_TRACE([stylesheetdir]) +m4trace:configure.ac:205: -1- m4_pattern_allow([^stylesheetdir$]) +m4trace:configure.ac:215: -1- AM_CONDITIONAL([PLACE_PLUGIN], [test "x$use_place" = "xyes"]) +m4trace:configure.ac:215: -1- AC_SUBST([PLACE_PLUGIN_TRUE]) +m4trace:configure.ac:215: -1- AC_SUBST_TRACE([PLACE_PLUGIN_TRUE]) +m4trace:configure.ac:215: -1- m4_pattern_allow([^PLACE_PLUGIN_TRUE$]) +m4trace:configure.ac:215: -1- AC_SUBST([PLACE_PLUGIN_FALSE]) +m4trace:configure.ac:215: -1- AC_SUBST_TRACE([PLACE_PLUGIN_FALSE]) +m4trace:configure.ac:215: -1- m4_pattern_allow([^PLACE_PLUGIN_FALSE$]) +m4trace:configure.ac:215: -1- _AM_SUBST_NOTMAKE([PLACE_PLUGIN_TRUE]) +m4trace:configure.ac:215: -1- _AM_SUBST_NOTMAKE([PLACE_PLUGIN_FALSE]) +m4trace:configure.ac:217: -1- AC_DEFINE_TRACE_LITERAL([USE_PLACE]) +m4trace:configure.ac:217: -1- m4_pattern_allow([^USE_PLACE$]) +m4trace:configure.ac:217: -1- AH_OUTPUT([USE_PLACE], [/* Build placement plugin */ +#undef USE_PLACE]) +m4trace:configure.ac:225: -1- AC_SUBST([DBUS_CFLAGS]) +m4trace:configure.ac:225: -1- AC_SUBST_TRACE([DBUS_CFLAGS]) +m4trace:configure.ac:225: -1- m4_pattern_allow([^DBUS_CFLAGS$]) +m4trace:configure.ac:225: -1- AC_SUBST([DBUS_LIBS]) +m4trace:configure.ac:225: -1- AC_SUBST_TRACE([DBUS_LIBS]) +m4trace:configure.ac:225: -1- m4_pattern_allow([^DBUS_LIBS$]) +m4trace:configure.ac:228: -1- AM_CONDITIONAL([DBUS_PLUGIN], [test "x$use_dbus" = "xyes"]) +m4trace:configure.ac:228: -1- AC_SUBST([DBUS_PLUGIN_TRUE]) +m4trace:configure.ac:228: -1- AC_SUBST_TRACE([DBUS_PLUGIN_TRUE]) +m4trace:configure.ac:228: -1- m4_pattern_allow([^DBUS_PLUGIN_TRUE$]) +m4trace:configure.ac:228: -1- AC_SUBST([DBUS_PLUGIN_FALSE]) +m4trace:configure.ac:228: -1- AC_SUBST_TRACE([DBUS_PLUGIN_FALSE]) +m4trace:configure.ac:228: -1- m4_pattern_allow([^DBUS_PLUGIN_FALSE$]) +m4trace:configure.ac:228: -1- _AM_SUBST_NOTMAKE([DBUS_PLUGIN_TRUE]) +m4trace:configure.ac:228: -1- _AM_SUBST_NOTMAKE([DBUS_PLUGIN_FALSE]) +m4trace:configure.ac:230: -1- AC_DEFINE_TRACE_LITERAL([USE_DBUS]) +m4trace:configure.ac:230: -1- m4_pattern_allow([^USE_DBUS$]) +m4trace:configure.ac:230: -1- AH_OUTPUT([USE_DBUS], [/* Build dbus plugin */ +#undef USE_DBUS]) +m4trace:configure.ac:250: -1- AH_OUTPUT([HAVE_SYS_INOTIFY_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_INOTIFY_H]) +m4trace:configure.ac:253: -1- AM_CONDITIONAL([INOTIFY_PLUGIN], [test "x$use_inotify" = "xyes"]) +m4trace:configure.ac:253: -1- AC_SUBST([INOTIFY_PLUGIN_TRUE]) +m4trace:configure.ac:253: -1- AC_SUBST_TRACE([INOTIFY_PLUGIN_TRUE]) +m4trace:configure.ac:253: -1- m4_pattern_allow([^INOTIFY_PLUGIN_TRUE$]) +m4trace:configure.ac:253: -1- AC_SUBST([INOTIFY_PLUGIN_FALSE]) +m4trace:configure.ac:253: -1- AC_SUBST_TRACE([INOTIFY_PLUGIN_FALSE]) +m4trace:configure.ac:253: -1- m4_pattern_allow([^INOTIFY_PLUGIN_FALSE$]) +m4trace:configure.ac:253: -1- _AM_SUBST_NOTMAKE([INOTIFY_PLUGIN_TRUE]) +m4trace:configure.ac:253: -1- _AM_SUBST_NOTMAKE([INOTIFY_PLUGIN_FALSE]) +m4trace:configure.ac:255: -1- AC_DEFINE_TRACE_LITERAL([USE_INOTIFY]) +m4trace:configure.ac:255: -1- m4_pattern_allow([^USE_INOTIFY$]) +m4trace:configure.ac:255: -1- AH_OUTPUT([USE_INOTIFY], [/* Build inotify plugin */ +#undef USE_INOTIFY]) +m4trace:configure.ac:263: -1- AC_SUBST([FUSE_CFLAGS]) +m4trace:configure.ac:263: -1- AC_SUBST_TRACE([FUSE_CFLAGS]) +m4trace:configure.ac:263: -1- m4_pattern_allow([^FUSE_CFLAGS$]) +m4trace:configure.ac:263: -1- AC_SUBST([FUSE_LIBS]) +m4trace:configure.ac:263: -1- AC_SUBST_TRACE([FUSE_LIBS]) +m4trace:configure.ac:263: -1- m4_pattern_allow([^FUSE_LIBS$]) +m4trace:configure.ac:266: -1- AM_CONDITIONAL([FUSE_PLUGIN], [test "x$use_fuse" = "xyes"]) +m4trace:configure.ac:266: -1- AC_SUBST([FUSE_PLUGIN_TRUE]) +m4trace:configure.ac:266: -1- AC_SUBST_TRACE([FUSE_PLUGIN_TRUE]) +m4trace:configure.ac:266: -1- m4_pattern_allow([^FUSE_PLUGIN_TRUE$]) +m4trace:configure.ac:266: -1- AC_SUBST([FUSE_PLUGIN_FALSE]) +m4trace:configure.ac:266: -1- AC_SUBST_TRACE([FUSE_PLUGIN_FALSE]) +m4trace:configure.ac:266: -1- m4_pattern_allow([^FUSE_PLUGIN_FALSE$]) +m4trace:configure.ac:266: -1- _AM_SUBST_NOTMAKE([FUSE_PLUGIN_TRUE]) +m4trace:configure.ac:266: -1- _AM_SUBST_NOTMAKE([FUSE_PLUGIN_FALSE]) +m4trace:configure.ac:268: -1- AC_DEFINE_TRACE_LITERAL([USE_FUSE]) +m4trace:configure.ac:268: -1- m4_pattern_allow([^USE_FUSE$]) +m4trace:configure.ac:268: -1- AH_OUTPUT([USE_FUSE], [/* Build fuse plugin */ +#undef USE_FUSE]) +m4trace:configure.ac:276: -1- AC_SUBST([ANNOTATE_CFLAGS]) +m4trace:configure.ac:276: -1- AC_SUBST_TRACE([ANNOTATE_CFLAGS]) +m4trace:configure.ac:276: -1- m4_pattern_allow([^ANNOTATE_CFLAGS$]) +m4trace:configure.ac:276: -1- AC_SUBST([ANNOTATE_LIBS]) +m4trace:configure.ac:276: -1- AC_SUBST_TRACE([ANNOTATE_LIBS]) +m4trace:configure.ac:276: -1- m4_pattern_allow([^ANNOTATE_LIBS$]) +m4trace:configure.ac:279: -1- AM_CONDITIONAL([ANNOTATE_PLUGIN], [test "x$use_annotate" = "xyes"]) +m4trace:configure.ac:279: -1- AC_SUBST([ANNOTATE_PLUGIN_TRUE]) +m4trace:configure.ac:279: -1- AC_SUBST_TRACE([ANNOTATE_PLUGIN_TRUE]) +m4trace:configure.ac:279: -1- m4_pattern_allow([^ANNOTATE_PLUGIN_TRUE$]) +m4trace:configure.ac:279: -1- AC_SUBST([ANNOTATE_PLUGIN_FALSE]) +m4trace:configure.ac:279: -1- AC_SUBST_TRACE([ANNOTATE_PLUGIN_FALSE]) +m4trace:configure.ac:279: -1- m4_pattern_allow([^ANNOTATE_PLUGIN_FALSE$]) +m4trace:configure.ac:279: -1- _AM_SUBST_NOTMAKE([ANNOTATE_PLUGIN_TRUE]) +m4trace:configure.ac:279: -1- _AM_SUBST_NOTMAKE([ANNOTATE_PLUGIN_FALSE]) +m4trace:configure.ac:281: -1- AC_DEFINE_TRACE_LITERAL([USE_ANNOTATE]) +m4trace:configure.ac:281: -1- m4_pattern_allow([^USE_ANNOTATE$]) +m4trace:configure.ac:281: -1- AH_OUTPUT([USE_ANNOTATE], [/* Build annotate plugin */ +#undef USE_ANNOTATE]) +m4trace:configure.ac:289: -1- AC_SUBST([LIBRSVG_CFLAGS]) +m4trace:configure.ac:289: -1- AC_SUBST_TRACE([LIBRSVG_CFLAGS]) +m4trace:configure.ac:289: -1- m4_pattern_allow([^LIBRSVG_CFLAGS$]) +m4trace:configure.ac:289: -1- AC_SUBST([LIBRSVG_LIBS]) +m4trace:configure.ac:289: -1- AC_SUBST_TRACE([LIBRSVG_LIBS]) +m4trace:configure.ac:289: -1- m4_pattern_allow([^LIBRSVG_LIBS$]) +m4trace:configure.ac:292: -1- AM_CONDITIONAL([USE_LIBRSVG], [test "x$use_librsvg" = "xyes"]) +m4trace:configure.ac:292: -1- AC_SUBST([USE_LIBRSVG_TRUE]) +m4trace:configure.ac:292: -1- AC_SUBST_TRACE([USE_LIBRSVG_TRUE]) +m4trace:configure.ac:292: -1- m4_pattern_allow([^USE_LIBRSVG_TRUE$]) +m4trace:configure.ac:292: -1- AC_SUBST([USE_LIBRSVG_FALSE]) +m4trace:configure.ac:292: -1- AC_SUBST_TRACE([USE_LIBRSVG_FALSE]) +m4trace:configure.ac:292: -1- m4_pattern_allow([^USE_LIBRSVG_FALSE$]) +m4trace:configure.ac:292: -1- _AM_SUBST_NOTMAKE([USE_LIBRSVG_TRUE]) +m4trace:configure.ac:292: -1- _AM_SUBST_NOTMAKE([USE_LIBRSVG_FALSE]) +m4trace:configure.ac:294: -1- AC_DEFINE_TRACE_LITERAL([USE_LIBRSVG]) +m4trace:configure.ac:294: -1- m4_pattern_allow([^USE_LIBRSVG$]) +m4trace:configure.ac:294: -1- AH_OUTPUT([USE_LIBRSVG], [/* librsvg for SVG support */ +#undef USE_LIBRSVG]) +m4trace:configure.ac:314: -1- AC_SUBST([CAIRO_CFLAGS]) +m4trace:configure.ac:314: -1- AC_SUBST_TRACE([CAIRO_CFLAGS]) +m4trace:configure.ac:314: -1- m4_pattern_allow([^CAIRO_CFLAGS$]) +m4trace:configure.ac:314: -1- AC_SUBST([CAIRO_LIBS]) +m4trace:configure.ac:314: -1- AC_SUBST_TRACE([CAIRO_LIBS]) +m4trace:configure.ac:314: -1- m4_pattern_allow([^CAIRO_LIBS$]) +m4trace:configure.ac:315: -1- AC_SUBST([PANGO_CFLAGS]) +m4trace:configure.ac:315: -1- AC_SUBST_TRACE([PANGO_CFLAGS]) +m4trace:configure.ac:315: -1- m4_pattern_allow([^PANGO_CFLAGS$]) +m4trace:configure.ac:315: -1- AC_SUBST([PANGO_LIBS]) +m4trace:configure.ac:315: -1- AC_SUBST_TRACE([PANGO_LIBS]) +m4trace:configure.ac:315: -1- m4_pattern_allow([^PANGO_LIBS$]) +m4trace:configure.ac:317: -1- AM_CONDITIONAL([TEXT_PLUGIN], [test "x$have_pango" = "xyes"]) +m4trace:configure.ac:317: -1- AC_SUBST([TEXT_PLUGIN_TRUE]) +m4trace:configure.ac:317: -1- AC_SUBST_TRACE([TEXT_PLUGIN_TRUE]) +m4trace:configure.ac:317: -1- m4_pattern_allow([^TEXT_PLUGIN_TRUE$]) +m4trace:configure.ac:317: -1- AC_SUBST([TEXT_PLUGIN_FALSE]) +m4trace:configure.ac:317: -1- AC_SUBST_TRACE([TEXT_PLUGIN_FALSE]) +m4trace:configure.ac:317: -1- m4_pattern_allow([^TEXT_PLUGIN_FALSE$]) +m4trace:configure.ac:317: -1- _AM_SUBST_NOTMAKE([TEXT_PLUGIN_TRUE]) +m4trace:configure.ac:317: -1- _AM_SUBST_NOTMAKE([TEXT_PLUGIN_FALSE]) +m4trace:configure.ac:319: -1- AC_DEFINE_TRACE_LITERAL([USE_TEXT]) +m4trace:configure.ac:319: -1- m4_pattern_allow([^USE_TEXT$]) +m4trace:configure.ac:319: -1- AH_OUTPUT([USE_TEXT], [/* Build text plugin */ +#undef USE_TEXT]) +m4trace:configure.ac:322: -1- AM_CONDITIONAL([WALL_PLUGIN], [test "x$have_cairo" = "xyes"]) +m4trace:configure.ac:322: -1- AC_SUBST([WALL_PLUGIN_TRUE]) +m4trace:configure.ac:322: -1- AC_SUBST_TRACE([WALL_PLUGIN_TRUE]) +m4trace:configure.ac:322: -1- m4_pattern_allow([^WALL_PLUGIN_TRUE$]) +m4trace:configure.ac:322: -1- AC_SUBST([WALL_PLUGIN_FALSE]) +m4trace:configure.ac:322: -1- AC_SUBST_TRACE([WALL_PLUGIN_FALSE]) +m4trace:configure.ac:322: -1- m4_pattern_allow([^WALL_PLUGIN_FALSE$]) +m4trace:configure.ac:322: -1- _AM_SUBST_NOTMAKE([WALL_PLUGIN_TRUE]) +m4trace:configure.ac:322: -1- _AM_SUBST_NOTMAKE([WALL_PLUGIN_FALSE]) +m4trace:configure.ac:324: -1- AC_DEFINE_TRACE_LITERAL([USE_WALL]) +m4trace:configure.ac:324: -1- m4_pattern_allow([^USE_WALL$]) +m4trace:configure.ac:324: -1- AH_OUTPUT([USE_WALL], [/* Build wall plugin */ +#undef USE_WALL]) +m4trace:configure.ac:338: -1- AM_CONDITIONAL([JPEG_PLUGIN], [test "x$use_jpeg" = "xyes"]) +m4trace:configure.ac:338: -1- AC_SUBST([JPEG_PLUGIN_TRUE]) +m4trace:configure.ac:338: -1- AC_SUBST_TRACE([JPEG_PLUGIN_TRUE]) +m4trace:configure.ac:338: -1- m4_pattern_allow([^JPEG_PLUGIN_TRUE$]) +m4trace:configure.ac:338: -1- AC_SUBST([JPEG_PLUGIN_FALSE]) +m4trace:configure.ac:338: -1- AC_SUBST_TRACE([JPEG_PLUGIN_FALSE]) +m4trace:configure.ac:338: -1- m4_pattern_allow([^JPEG_PLUGIN_FALSE$]) +m4trace:configure.ac:338: -1- _AM_SUBST_NOTMAKE([JPEG_PLUGIN_TRUE]) +m4trace:configure.ac:338: -1- _AM_SUBST_NOTMAKE([JPEG_PLUGIN_FALSE]) +m4trace:configure.ac:340: -1- AC_DEFINE_TRACE_LITERAL([USE_JPEG]) +m4trace:configure.ac:340: -1- m4_pattern_allow([^USE_JPEG$]) +m4trace:configure.ac:340: -1- AH_OUTPUT([USE_JPEG], [/* Build jpeg plugin */ +#undef USE_JPEG]) +m4trace:configure.ac:349: -1- AC_DEFINE_TRACE_LITERAL([MAX_DESKTOPS]) +m4trace:configure.ac:349: -1- m4_pattern_allow([^MAX_DESKTOPS$]) +m4trace:configure.ac:349: -1- AH_OUTPUT([MAX_DESKTOPS], [/* Max reasonable desktops */ +#undef MAX_DESKTOPS]) +m4trace:configure.ac:353: -1- AC_SUBST([LIBXSLT_CFLAGS]) +m4trace:configure.ac:353: -1- AC_SUBST_TRACE([LIBXSLT_CFLAGS]) +m4trace:configure.ac:353: -1- m4_pattern_allow([^LIBXSLT_CFLAGS$]) +m4trace:configure.ac:353: -1- AC_SUBST([LIBXSLT_LIBS]) +m4trace:configure.ac:353: -1- AC_SUBST_TRACE([LIBXSLT_LIBS]) +m4trace:configure.ac:353: -1- m4_pattern_allow([^LIBXSLT_LIBS$]) +m4trace:configure.ac:355: -1- AC_SUBST([xsltdir]) +m4trace:configure.ac:355: -1- AC_SUBST_TRACE([xsltdir]) +m4trace:configure.ac:355: -1- m4_pattern_allow([^xsltdir$]) +m4trace:configure.ac:371: -1- AC_SUBST([BCOP_BIN]) +m4trace:configure.ac:371: -1- AC_SUBST_TRACE([BCOP_BIN]) +m4trace:configure.ac:371: -1- m4_pattern_allow([^BCOP_BIN$]) +m4trace:configure.ac:375: -1- AC_CONFIG_FILES([ +ecomp.pc +ecomp-cube.pc +ecomp-scale.pc +Makefile +src/Makefile +libdecoration/Makefile +libdecoration/libdecoration.pc +include/Makefile +plugins/Makefile +text/Makefile +expo/Makefile +jpeg/Makefile +ring/Makefile +shift/Makefile +thumbnail/Makefile +wall/Makefile +animation/Makefile +mblur/Makefile +cubereflex/Makefile +scalefilter/Makefile +scaleaddon/Makefile +images/Makefile +po/Makefile.in +metadata/Makefile +bcop/bcop.pc +bcop/Makefile +bcop/src/Makefile +bcop/src/bcop +]) +m4trace:configure.ac:375: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. +You should run autoupdate.], []) +m4trace:configure.ac:375: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:375: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:375: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:375: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.ac:375: -1- AC_SUBST_TRACE([MKDIR_P]) +m4trace:configure.ac:375: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) diff --git a/bcop/AUTHORS b/bcop/AUTHORS new file mode 100644 index 0000000..5689d64 --- /dev/null +++ b/bcop/AUTHORS @@ -0,0 +1 @@ +Dennis Kasprzyk \ No newline at end of file diff --git a/bcop/COPYING b/bcop/COPYING new file mode 100644 index 0000000..623b625 --- /dev/null +++ b/bcop/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/bcop/ChangeLog b/bcop/ChangeLog new file mode 100644 index 0000000..e69de29 diff --git a/bcop/INSTALL b/bcop/INSTALL new file mode 100644 index 0000000..23e5f25 --- /dev/null +++ b/bcop/INSTALL @@ -0,0 +1,236 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/bcop/Makefile b/bcop/Makefile new file mode 100644 index 0000000..9457502 --- /dev/null +++ b/bcop/Makefile @@ -0,0 +1,603 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# bcop/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = bcop +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/bcop.pc.in AUTHORS COPYING ChangeLog INSTALL NEWS \ + install-sh missing +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = bcop.pc +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(pkgconfigdir)" +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgconfig_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/bcop +abs_srcdir = /media/disk-3/src/compiz/bcop +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +SUBDIRS = src +EXTRA_DIST = VERSION +pkgconfigdir = $(datadir)/pkgconfig +pkgconfig_DATA = bcop.pc +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bcop/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu bcop/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +bcop.pc: $(top_builddir)/config.status $(srcdir)/bcop.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-pkgconfigDATA + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-pkgconfigDATA + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-pkgconfigDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-pkgconfigDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/bcop/Makefile.am b/bcop/Makefile.am new file mode 100644 index 0000000..d543d44 --- /dev/null +++ b/bcop/Makefile.am @@ -0,0 +1,7 @@ +## Process this file with automake to produce Makefile.in +SUBDIRS = src + +EXTRA_DIST = VERSION + +pkgconfigdir = $(datadir)/pkgconfig +pkgconfig_DATA = bcop.pc diff --git a/bcop/Makefile.in b/bcop/Makefile.in new file mode 100644 index 0000000..260b323 --- /dev/null +++ b/bcop/Makefile.in @@ -0,0 +1,603 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = bcop +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/bcop.pc.in AUTHORS COPYING ChangeLog INSTALL NEWS \ + install-sh missing +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = bcop.pc +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(pkgconfigdir)" +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgconfig_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +SUBDIRS = src +EXTRA_DIST = VERSION +pkgconfigdir = $(datadir)/pkgconfig +pkgconfig_DATA = bcop.pc +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bcop/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu bcop/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +bcop.pc: $(top_builddir)/config.status $(srcdir)/bcop.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-pkgconfigDATA + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-pkgconfigDATA + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-pkgconfigDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-pkgconfigDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/bcop/NEWS b/bcop/NEWS new file mode 100644 index 0000000..94941cc --- /dev/null +++ b/bcop/NEWS @@ -0,0 +1 @@ +There is nothing here yet. diff --git a/bcop/README b/bcop/README new file mode 100644 index 0000000..e69de29 diff --git a/bcop/VERSION b/bcop/VERSION new file mode 100644 index 0000000..161c807 --- /dev/null +++ b/bcop/VERSION @@ -0,0 +1 @@ +VERSION=0.6.1 diff --git a/bcop/aclocal.m4 b/bcop/aclocal.m4 new file mode 100644 index 0000000..36c3b3a --- /dev/null +++ b/bcop/aclocal.m4 @@ -0,0 +1,1037 @@ +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi + +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# +# Similar to PKG_CHECK_MODULES, make sure that the first instance of +# this or PKG_CHECK_MODULES is called, or make sure to call +# PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_ifval([$2], [$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$PKG_CONFIG"; then + if test -n "$$1"; then + pkg_cv_[]$1="$$1" + else + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + fi +else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + ifelse([$4], , [AC_MSG_ERROR(dnl +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT +])], + [AC_MSG_RESULT([no]) + $4]) +elif test $pkg_failed = untried; then + ifelse([$4], , [AC_MSG_FAILURE(dnl +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])], + [$4]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + ifelse([$3], , :, [$3]) +fi[]dnl +])# PKG_CHECK_MODULES + +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.6])]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 7 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. +# +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/bcop/autogen.sh b/bcop/autogen.sh new file mode 100755 index 0000000..80ae530 --- /dev/null +++ b/bcop/autogen.sh @@ -0,0 +1,13 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure "$@" + diff --git a/bcop/bcop.pc b/bcop/bcop.pc new file mode 100644 index 0000000..dd24fb6 --- /dev/null +++ b/bcop/bcop.pc @@ -0,0 +1,13 @@ +prefix=/usr/local +exec_prefix=${prefix} +datarootdir=${prefix}/share +datadir=${datarootdir} +includedir=${prefix}/include +bin=${prefix}/bin/bcop +xsltpath=/usr/local/share/bcop + +Name: bcop +Description: Ecomp option code generator +Version: 0.6.2 +Requires: + diff --git a/bcop/bcop.pc.in b/bcop/bcop.pc.in new file mode 100644 index 0000000..ec039cb --- /dev/null +++ b/bcop/bcop.pc.in @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +datarootdir=@datarootdir@ +datadir=@datadir@ +includedir=@includedir@ +bin=@exec_prefix@/bin/bcop +xsltpath=@prefix@/share/bcop + +Name: bcop +Description: Ecomp option code generator +Version: @VERSION@ +Requires: + diff --git a/bcop/bcopconvert/bcopconvert.xslt b/bcop/bcopconvert/bcopconvert.xslt new file mode 100644 index 0000000..30f5bdf --- /dev/null +++ b/bcop/bcopconvert/bcopconvert.xslt @@ -0,0 +1,323 @@ + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < + + > + + + + + + + + + + diff --git a/bcop/config.h.in b/bcop/config.h.in new file mode 100644 index 0000000..f5d9c64 --- /dev/null +++ b/bcop/config.h.in @@ -0,0 +1,56 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN diff --git a/bcop/configure b/bcop/configure new file mode 100755 index 0000000..2089777 --- /dev/null +++ b/bcop/configure @@ -0,0 +1,6648 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for ecomp-bcop 0.6.1. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='ecomp-bcop' +PACKAGE_TARNAME='ecomp-bcop' +PACKAGE_VERSION='0.6.1' +PACKAGE_STRING='ecomp-bcop 0.6.1' +PACKAGE_BUGREPORT='onestone@beryl-project.org' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +CPP +GREP +EGREP +PKG_CONFIG +LIBXSLT_CFLAGS +LIBXSLT_LIBS +xsltdir +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +PKG_CONFIG +LIBXSLT_CFLAGS +LIBXSLT_LIBS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures ecomp-bcop 0.6.1 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/ecomp-bcop] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of ecomp-bcop 0.6.1:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + PKG_CONFIG path to pkg-config utility + LIBXSLT_CFLAGS + C compiler flags for LIBXSLT, overriding pkg-config + LIBXSLT_LIBS + linker flags for LIBXSLT, overriding pkg-config + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +ecomp-bcop configure 0.6.1 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by ecomp-bcop $as_me 0.6.1, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + + +am__api_version="1.9" +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='ecomp-bcop' + VERSION='0.6.1' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h" + +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking for library containing strerror" >&5 +echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; } +if test "${ac_cv_search_strerror+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (); +int +main () +{ +return strerror (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cposix; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_strerror=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_strerror+set}" = set; then + break +fi +done +if test "${ac_cv_search_strerror+set}" = set; then + : +else + ac_cv_search_strerror=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +echo "${ECHO_T}$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # See if sys/param.h defines the BYTE_ORDER macro. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) + bogus endian macros +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + # It does; now see whether it defined to BIG_ENDIAN or not. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_bigendian=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_bigendian=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # It does not; compile a test program. +if test "$cross_compiling" = yes; then + # try to guess the endianness by grepping values into an object file + ac_cv_c_bigendian=unknown + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; +void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +int +main () +{ + _ascii (); _ebcdic (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then + ac_cv_c_bigendian=yes +fi +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_bigendian=no +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } +case $ac_cv_c_bigendian in + yes) + +cat >>confdefs.h <<\_ACEOF +#define WORDS_BIGENDIAN 1 +_ACEOF + ;; + no) + ;; + *) + { { echo "$as_me:$LINENO: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +echo "$as_me: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + { (exit 1); exit 1; }; } ;; +esac + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 +echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 +echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + PKG_CONFIG="" + fi + +fi + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBXSLT" >&5 +echo $ECHO_N "checking for LIBXSLT... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBXSLT_CFLAGS"; then + pkg_cv_LIBXSLT_CFLAGS="$LIBXSLT_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxslt\"") >&5 + ($PKG_CONFIG --exists --print-errors "libxslt") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBXSLT_CFLAGS=`$PKG_CONFIG --cflags "libxslt" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBXSLT_LIBS"; then + pkg_cv_LIBXSLT_LIBS="$LIBXSLT_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxslt\"") >&5 + ($PKG_CONFIG --exists --print-errors "libxslt") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBXSLT_LIBS=`$PKG_CONFIG --libs "libxslt" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBXSLT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxslt"` + else + LIBXSLT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxslt"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBXSLT_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (libxslt) were not met: + +$LIBXSLT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (libxslt) were not met: + +$LIBXSLT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + LIBXSLT_CFLAGS=$pkg_cv_LIBXSLT_CFLAGS + LIBXSLT_LIBS=$pkg_cv_LIBXSLT_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + +xsltdir=$datadir/bcop + + +ac_config_files="$ac_config_files bcop.pc Makefile src/Makefile src/bcop" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by ecomp-bcop $as_me 0.6.1, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +ecomp-bcop config.status 0.6.1 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "bcop.pc") CONFIG_FILES="$CONFIG_FILES bcop.pc" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "src/bcop") CONFIG_FILES="$CONFIG_FILES src/bcop" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +CPP!$CPP$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +PKG_CONFIG!$PKG_CONFIG$ac_delim +LIBXSLT_CFLAGS!$LIBXSLT_CFLAGS$ac_delim +LIBXSLT_LIBS!$LIBXSLT_LIBS$ac_delim +xsltdir!$xsltdir$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 86; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/bcop/configure.ac b/bcop/configure.ac new file mode 100644 index 0000000..a3242ff --- /dev/null +++ b/bcop/configure.ac @@ -0,0 +1,27 @@ +AC_PREREQ(2.57) + +AC_INIT([ecomp-bcop],esyscmd(. ./VERSION;echo -n $VERSION), [onestone@beryl-project.org]) + +AC_DEFINE_UNQUOTED(VERSION,"$VERSION",[Version]) + +AM_INIT_AUTOMAKE([1.9 dist-bzip2]) +AC_CONFIG_HEADER([config.h]) +AM_MAINTAINER_MODE + +AC_ISC_POSIX +AC_PROG_CC +AC_HEADER_STDC + +AC_C_BIGENDIAN + +PKG_CHECK_MODULES(LIBXSLT, libxslt) + +xsltdir=$datadir/bcop +AC_SUBST(xsltdir) + +AC_OUTPUT([ +bcop.pc +Makefile +src/Makefile +src/bcop +]) diff --git a/bcop/install-sh b/bcop/install-sh new file mode 100755 index 0000000..4d4a951 --- /dev/null +++ b/bcop/install-sh @@ -0,0 +1,323 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2005-05-14.22 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= +dstarg= +no_target_directory= + +usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: +-c (ignored) +-d create directories instead of installing files. +-g GROUP $chgrpprog installed files to GROUP. +-m MODE $chmodprog installed files to MODE. +-o USER $chownprog installed files to USER. +-s $stripprog installed files. +-t DIRECTORY install into DIRECTORY. +-T report an error if DSTFILE is a directory. +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -c) shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit $?;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t) dstarg=$2 + shift + shift + continue;; + + -T) no_target_directory=true + shift + continue;; + + --version) echo "$0 $scriptversion"; exit $?;; + + *) # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + test -n "$dir_arg$dstarg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + mkdircmd=: + chmodcmd= + else + mkdircmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dstarg: Is a directory" >&2 + exit 1 + fi + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + shift + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test -d "$pathcomp" || exit + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $mkdircmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Copy the file name to the temp name. + $doit $cpprog "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit 1 + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit 1; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit 0 +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/bcop/missing b/bcop/missing new file mode 100755 index 0000000..894e786 --- /dev/null +++ b/bcop/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2005-06-08.21 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + +esac + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). +case "$1" in + lex|yacc) + # Not GNU programs, they don't have --version. + ;; + + tar) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + aclocal*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + tar) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/bcop/src/Makefile b/bcop/src/Makefile new file mode 100644 index 0000000..504f0b5 --- /dev/null +++ b/bcop/src/Makefile @@ -0,0 +1,472 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# bcop/src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = bcop/src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/bcop.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = bcop +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(xmldir)" +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +xmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(xml_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/bcop/src +abs_srcdir = /media/disk-3/src/compiz/bcop/src +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = ../.. +top_srcdir = ../.. +xsltdir = ${datarootdir}/bcop +xmldir = $(xsltdir) +xml_files = bcop.xslt +xml_DATA = $(xml_files) +bin_SCRIPTS = bcop +DISTCLEANFILES = $(bin_SCRIPTS) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bcop/src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu bcop/src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +bcop: $(top_builddir)/config.status $(srcdir)/bcop.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-xmlDATA: $(xml_DATA) + @$(NORMAL_INSTALL) + test -z "$(xmldir)" || $(MKDIR_P) "$(DESTDIR)$(xmldir)" + @list='$(xml_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(xmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xmldir)/$$f'"; \ + $(xmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xmldir)/$$f"; \ + done + +uninstall-xmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(xml_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(xmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(xmldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(SCRIPTS) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(xmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-xmlDATA + +install-dvi: install-dvi-am + +install-exec-am: install-binSCRIPTS + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binSCRIPTS uninstall-xmlDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binSCRIPTS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip install-xmlDATA installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-binSCRIPTS \ + uninstall-xmlDATA + + +#EXTRA_DIST=bcop.in \ +# $(xml_files) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/bcop/src/Makefile.am b/bcop/src/Makefile.am new file mode 100644 index 0000000..96122a7 --- /dev/null +++ b/bcop/src/Makefile.am @@ -0,0 +1,10 @@ +xmldir = $(xsltdir) +xml_files = bcop.xslt +xml_DATA = $(xml_files) + +bin_SCRIPTS = bcop + +DISTCLEANFILES=$(bin_SCRIPTS) + +#EXTRA_DIST=bcop.in \ +# $(xml_files) diff --git a/bcop/src/Makefile.in b/bcop/src/Makefile.in new file mode 100644 index 0000000..f3dfa49 --- /dev/null +++ b/bcop/src/Makefile.in @@ -0,0 +1,472 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = bcop/src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/bcop.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = bcop +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(xmldir)" +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +xmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(xml_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +xmldir = $(xsltdir) +xml_files = bcop.xslt +xml_DATA = $(xml_files) +bin_SCRIPTS = bcop +DISTCLEANFILES = $(bin_SCRIPTS) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bcop/src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu bcop/src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +bcop: $(top_builddir)/config.status $(srcdir)/bcop.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-xmlDATA: $(xml_DATA) + @$(NORMAL_INSTALL) + test -z "$(xmldir)" || $(MKDIR_P) "$(DESTDIR)$(xmldir)" + @list='$(xml_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(xmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xmldir)/$$f'"; \ + $(xmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xmldir)/$$f"; \ + done + +uninstall-xmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(xml_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(xmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(xmldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(SCRIPTS) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(xmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-xmlDATA + +install-dvi: install-dvi-am + +install-exec-am: install-binSCRIPTS + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binSCRIPTS uninstall-xmlDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binSCRIPTS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip install-xmlDATA installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-binSCRIPTS \ + uninstall-xmlDATA + + +#EXTRA_DIST=bcop.in \ +# $(xml_files) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/bcop/src/bcop b/bcop/src/bcop new file mode 100644 index 0000000..fc6180c --- /dev/null +++ b/bcop/src/bcop @@ -0,0 +1,75 @@ +#!/bin/bash +# +# +# Ecomp option code generator +# +# Copyright : (C) 2007 by Dennis Kasprzyk +# E-mail : onestone@beryl-project.org +# +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +xsltdir=`pkg-config --variable xsltpath bcop` + +function usage +{ + echo "Usage: $0 [options] " + echo "Options:" + echo " -h, --help display this help message" + echo " -v, --version print version information" + echo " --source= source file name" + echo " --header= header file name" + exit 1 +} + +srcfile= +hdrfile= + +set -- `getopt -quo "hv" -l "help,version,source:,header:" -- "$@"` +[ $# -lt 2 ] && usage + +while [ $# -gt 0 ] +do + case "$1" in + -h) usage;; + --help) usage;; + -v) echo "ecomp 0.6.2"; exit 0;; + --version) echo "ecomp 0.6.2"; exit 0;; + --source) srcfile="$2"; shift;; + --header) hdrfile="$2"; shift;; + --) shift; break;; + -*) usage;; + *) break;; # terminate while loop + esac + shift +done + +xmlfile="$1" + +if [ -e $xmlfile ]; then + if [ -n "$hdrfile" ]; then + xsltproc --stringparam "header" "true" ../bcop/src/bcop.xslt $xmlfile > "$hdrfile" + RETVAL=$? + if [ $RETVAL -ne 0 ]; then + rm -f $hdrfile + exit $RETVAL + fi + fi + if [ -n "$srcfile" ]; then + xsltproc --stringparam "source" "true" ../bcop/src/bcop.xslt $xmlfile > "$srcfile" + RETVAL=$? + if [ $RETVAL -ne 0 ]; then + rm -f $srcfile + exit $RETVAL + fi + fi +fi diff --git a/bcop/src/bcop.in b/bcop/src/bcop.in new file mode 100755 index 0000000..d3bc054 --- /dev/null +++ b/bcop/src/bcop.in @@ -0,0 +1,75 @@ +#!/bin/bash +# +# +# Ecomp option code generator +# +# Copyright : (C) 2007 by Dennis Kasprzyk +# E-mail : onestone@beryl-project.org +# +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +xsltdir=`pkg-config --variable xsltpath bcop` + +function usage +{ + echo "Usage: $0 [options] " + echo "Options:" + echo " -h, --help display this help message" + echo " -v, --version print version information" + echo " --source= source file name" + echo " --header= header file name" + exit 1 +} + +srcfile= +hdrfile= + +set -- `getopt -quo "hv" -l "help,version,source:,header:" -- "$@"` +[ $# -lt 2 ] && usage + +while [ $# -gt 0 ] +do + case "$1" in + -h) usage;; + --help) usage;; + -v) echo "@PACKAGE_STRING@"; exit 0;; + --version) echo "@PACKAGE_STRING@"; exit 0;; + --source) srcfile="$2"; shift;; + --header) hdrfile="$2"; shift;; + --) shift; break;; + -*) usage;; + *) break;; # terminate while loop + esac + shift +done + +xmlfile="$1" + +if [ -e $xmlfile ]; then + if [ -n "$hdrfile" ]; then + xsltproc --stringparam "header" "true" ../bcop/src/bcop.xslt $xmlfile > "$hdrfile" + RETVAL=$? + if [ $RETVAL -ne 0 ]; then + rm -f $hdrfile + exit $RETVAL + fi + fi + if [ -n "$srcfile" ]; then + xsltproc --stringparam "source" "true" ../bcop/src/bcop.xslt $xmlfile > "$srcfile" + RETVAL=$? + if [ $RETVAL -ne 0 ]; then + rm -f $srcfile + exit $RETVAL + fi + fi +fi diff --git a/bcop/src/bcop.xslt b/bcop/src/bcop.xslt new file mode 100644 index 0000000..994cddb --- /dev/null +++ b/bcop/src/bcop.xslt @@ -0,0 +1,1619 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + false + _options.h + + + + + + +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + + + + + + + + Option + + + + + + + + + + + + + + + + + + Display + + + Screen + + + + + + CompDisplay *d + + + CompScreen *s + + + + + + + + + + + + + + + + + + + + + #include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include <ecomp.h> + +#define _ + + _OPTIONS_INTERNAL +#include " + + " + +static int displayPrivateIndex; + +static CompMetadata + + OptionsMetadata; + +static CompPluginVTable * + + PluginVTable = NULL; +CompPluginVTable + + OptionsVTable; + +#define GET_ + + _OPTIONS_DISPLAY(d) \ + (( + + OptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define + + _OPTIONS_DISPLAY(d) \ + + + OptionsDisplay *od = GET_ + + _OPTIONS_DISPLAY (d) + +#define GET_ + + _OPTIONS_SCREEN(s, od) \ + (( + + OptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define + + _OPTIONS_SCREEN(s) \ + + + OptionsScreen *os = GET_ + + _OPTIONS_SCREEN (s, GET_ + + _OPTIONS_DISPLAY (s->display)) + +typedef struct _ + + OptionsDisplay +{ + int screenPrivateIndex; + + + + CompOption opt[ + + DisplayOptionNum]; + + + DisplayOptionChangeNotifyProc notify[ + + DisplayOptionNum]; + + + unsigned int + + ; + + + + } + + OptionsDisplay; + +typedef struct _ + + OptionsScreen +{ + + + CompOption opt[ + + ScreenOptionNum]; + + + ScreenOptionChangeNotifyProc notify[ + + ScreenOptionNum]; + + + unsigned int + + ; + + + + } + + OptionsScreen; + + + + + + + + + + + + + + + + + + + + + + + + _OPTIONS_ + + DISPLAY(d); + + + + SCREEN(s); + + + + + + + od + + + os + + + + + + + + + + int + + +{ + + + return + + ->opt[ + + ].value.i; +} + + + + + float + + +{ + + + return + + ->opt[ + + ].value.f; +} + + + + + Bool + + +{ + + + return + + ->opt[ + + ].value.b; +} + + + + + char * + + +{ + + + return + + ->opt[ + + ].value.s; +} + + + + + CompMatch * + + +{ + + + return & + + ->opt[ + + ].value.match; +} + + + + + unsigned short * + + +{ + + + return + + ->opt[ + + ].value.c; +} + +unsigned short + + Get + + Red ( + + ) +{ + + + return + + ->opt[ + + ].value.c[0]; +} + +unsigned short + + Get + + Green ( + + ) +{ + + + return + + ->opt[ + + ].value.c[1]; +} + +unsigned short + + Get + + Blue ( + + ) +{ + + + return + + ->opt[ + + ].value.c[2]; +} + +unsigned short + + Get + + Alpha ( + + ) +{ + + + return + + ->opt[ + + ].value.c[3]; +} + + + + + CompAction * + + +{ + + + return & + + ->opt[ + + ].value.action; +} + +void + + Set + + Initiate ( + + , CompActionCallBackProc init) +{ + + + + + ->opt[ + + ].value.action.initiate = init; +} + +void + + Set + + Terminate ( + + , CompActionCallBackProc term) +{ + + + + + ->opt[ + + ].value.action.terminate = term; +} + + + + + CompListValue * + + +{ + + + return & + + ->opt[ + + ].value.list; +} + + + + unsigned int + + Get + + Mask ( + + ) +{ + + + return + + -> + + ; +} + + + + + + CompOption * + + Get + + Option ( + + ) +{ + + + return & + + ->opt[ + + ]; +} + +void + + Set + + Notify ( + + , + + + OptionChangeNotifyProc notify) +{ + + + + + ->notify[ + + ] = notify; +} + + + + + CompOption * + + GetDisplayOption (CompDisplay *d, + + DisplayOptions num) +{ + + + _OPTIONS_DISPLAY(d); + return &od->opt[num]; +} + + + + + CompOption * + + GetScreenOption (CompScreen *s, + + ScreenOptions num) +{ + + + _OPTIONS_SCREEN(s); + return &os->opt[num]; +} + + + + + + + + + static const CompMetadataOptionInfo + + OptionsDisplayOptionInfo[] = { + + + + + }; + + + + + + static const CompMetadataOptionInfo + + OptionsScreenOptionInfo[] = { + + + + + }; + + + + + { " + + ", " + + ", + + + "<min> + + </min><max> + + </max>", + + + "<type> + + </type>", + + + 0, + + + 0, 0 }, + + + + + + + static CompOption * + + OptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) +{ + + + _OPTIONS_DISPLAY(d); + *count = + + DisplayOptionNum; + return od->opt; +} + + + + + + static CompOption * + + OptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + + + _OPTIONS_SCREEN(s); + *count = + + ScreenOptionNum; + return os->opt; +} + + + + + + + + static Bool + + OptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) +{ + + + _OPTIONS_DISPLAY(d); + CompOption *o; + int index; + + o = compFindOption (od->opt, + + DisplayOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + + + + + default: + break; + } + return FALSE; +} + + + + + + static Bool + + OptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + + + _OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, + + ScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + + + + + default: + break; + } + return FALSE; +} + + + + + + case + + : + if ( + + + compSetDisplayOption (d, o, value)) + + + compSetScreenOption (s, o, value)) + + + compSetOption (o, value)) + + + + { + + + int i; + + + -> + + = 0; + for (i = 0; i < o->value.list.nValue; i++) + + + -> + + |= (1 << o->value.list.value[i].i); + + + if ( + + ->notify[ + + ]) + (* + + ->notify[ + + ]) ( + + d + + + s + + , o, + + ); + return TRUE; + } + break; + + + + + + + + static Bool + + OptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + + + OptionsScreen *os; + + + CompOption *o; + int i; + + + + + + _OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof( + + OptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + + + if (!compInitScreenOptionsFromMetadata (s, & + + OptionsMetadata, + + OptionsScreenOptionInfo, os->opt, + + ScreenOptionNum)) + { + free (os); + return FALSE; + } + + + + + o = &os->opt[ + + ]; + + + -> + + = 0; + for (i = 0; i < o->value.list.nValue; i++) + + + -> + + |= (1 << o->value.list.value[i].i); + + + + + + + if ( + + PluginVTable && + + PluginVTable->initScreen) + return + + PluginVTable->initScreen (p, s); + return TRUE; +} + +static void + + OptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if ( + + PluginVTable && + + PluginVTable->finiScreen) + return + + PluginVTable->finiScreen (p, s); + + + + _OPTIONS_SCREEN (s); + + + + + compFiniScreenOptions (s, os->opt, + + ScreenOptionNum); + + + + free (os); +} + + + + + + + + static Bool + + OptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + + + OptionsDisplay *od; + + + CompOption *o; + int i; + + + + + + od = calloc (1, sizeof( + + OptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + + + if (!compInitDisplayOptionsFromMetadata (d, & + + OptionsMetadata, + + OptionsDisplayOptionInfo, od->opt, + + DisplayOptionNum)) + { + free (od); + return FALSE; + } + + + + + o = &od->opt[ + + ]; + + + -> + + = 0; + for (i = 0; i < o->value.list.nValue; i++) + + + -> + + |= (1 << o->value.list.value[i].i); + + + + + + if ( + + PluginVTable && + + PluginVTable->initDisplay) + return + + PluginVTable->initDisplay (p, d); + return TRUE; +} + +static void + + OptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if ( + + PluginVTable && + + PluginVTable->finiDisplay) + return + + PluginVTable->finiDisplay (p, d); + + + + _OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + + + + compFiniDisplayOptions (d, od->opt, + + DisplayOptionNum); + + + + free (od); +} + + + + + + + + static Bool + + OptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (& + + OptionsMetadata, " + + ", + + + + OptionsDisplayOptionInfo, + + DisplayOptionNum, + + + 0, 0, + + + + + + OptionsScreenOptionInfo, + + ScreenOptionNum + + + 0, 0 + + +)) + return FALSE; + + compAddMetadataFromFile (& + + OptionsMetadata, " + + "); + if ( + + PluginVTable && + + PluginVTable->init) + return + + PluginVTable->init (p); + return TRUE; +} + +static void + + OptionsFini (CompPlugin *p) +{ + if ( + + PluginVTable && + + PluginVTable->fini) + return + + PluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (& + + OptionsMetadata); +} + + + + + + + + static CompMetadata * + + + OptionsGetMetadata (CompPlugin *plugin) +{ + return & + + OptionsMetadata; +} + + + CompPluginVTable *getCompPluginInfo (void) +{ + if (! + + PluginVTable) + { + + + PluginVTable = + + OptionsGetCompPluginInfo (); + memcpy(& + + OptionsVTable, + + PluginVTable, sizeof(CompPluginVTable)); + + + + OptionsVTable.getMetadata = + + OptionsGetMetadata; + + + + OptionsVTable.init = + + OptionsInit; + + + + OptionsVTable.fini = + + OptionsFini; + + + + OptionsVTable.initDisplay = + + OptionsInitDisplay; + + + OptionsVTable.finiDisplay = + + OptionsFiniDisplay; + + + + OptionsVTable.initScreen = + + OptionsInitScreen; + + + OptionsVTable.finiScreen = + + OptionsFiniScreen; + + + + + OptionsVTable.getDisplayOptions = + + OptionsGetDisplayOptions; + + + OptionsVTable.setDisplayOption = + + OptionsSetDisplayOption; + + + + + OptionsVTable.getScreenOptions = + + OptionsGetScreenOptions; + + + OptionsVTable.setScreenOption = + + OptionsSetScreenOption; + + + + + } + return & + + OptionsVTable; +} + + + + + + + + + + #ifndef _ + + _OPTIONS_H +#define _ + + _OPTIONS_H + +#ifndef _ + + _OPTIONS_INTERNAL +#define getCompPluginInfo + + OptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable * + + OptionsGetCompPluginInfo (void); + + + + + + + + #ifdef __cplusplus +} +#endif + +#endif + + + + + + +typedef enum +{ + + + + + , + + + + + DisplayOptionNum + +} + +DisplayOptions; + +typedef void (* + + DisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, + + DisplayOptions num); + +CompOption * + + GetDisplayOption (CompDisplay *d, + + DisplayOptions num); + + + + + +typedef enum +{ + + + + + , + + + + + ScreenOptionNum + +} + +ScreenOptions; + +typedef void (* + + ScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, + + ScreenOptions num); + +CompOption * + + GetScreenOption (CompScreen *s, + + ScreenOptions num); + + + + + + + + + typedef enum +{ + + + + + + + + + + + + + + = + + , + + + } + + + Enum; + + + + + + + + + #define + + + + + + + + + + + Mask (1 << + + ) + + + + + + + + + + + + + + + int + + ; + + + + float + + ; + + + + Bool + + ; + + + + char * + + ; + + + + CompMatch * + + ; + + + + unsigned short * + + ; +unsigned short + + Get + + Red ( + + ); +unsigned short + + Get + + Green ( + + ); +unsigned short + + Get + + Blue ( + + ); +unsigned short + + Get + + Alpha ( + + ); + + + + CompAction * + + ; +void + + Set + + Initiate ( + + , CompActionCallBackProc init); +void + + Set + + Terminate ( + + , CompActionCallBackProc term); + + + + CompListValue * + + ; + + + unsigned int + + Get + + Mask ( + + ); + + + + + CompOption * + + Get + + Option ( + + ); +void + + Set + + Notify ( + + , + + + OptionChangeNotifyProc notify); + + + + + + + + Get + + ( + + ) + + + diff --git a/config.guess b/config.guess new file mode 100755 index 0000000..f32079a --- /dev/null +++ b/config.guess @@ -0,0 +1,1526 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. + +timestamp='2008-01-23' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[456]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config.h b/config.h new file mode 100644 index 0000000..22f493f --- /dev/null +++ b/config.h @@ -0,0 +1,127 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Decorator interface version */ +#define DECOR_INTERFACE_VERSION 20070319 + +/* always defined to indicate that i18n is enabled */ +#define ENABLE_NLS 1 + +/* Gettext package. */ +#define GETTEXT_PACKAGE "ecomp" + +/* Define to 1 if you have the `bind_textdomain_codeset' function. */ +#define HAVE_BIND_TEXTDOMAIN_CODESET 1 + +/* Define to 1 if you have the `dcgettext' function. */ +#define HAVE_DCGETTEXT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#define HAVE_GETTEXT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if your file defines LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_INOTIFY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if xrender version >= 0.9.3 */ +#define HAVE_XRENDER_0_9_3 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Max reasonable desktops */ +#define MAX_DESKTOPS 36 + +/* Name of package */ +#define PACKAGE "ecomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "davidr@novell.com" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "ecomp" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "ecomp 0.6.2" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "ecomp" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.6.2" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Build annotate plugin */ +#define USE_ANNOTATE 1 + +/* Build dbus plugin */ +#define USE_DBUS 1 + +/* Build fuse plugin */ +/* #undef USE_FUSE */ + +/* Build inotify plugin */ +#define USE_INOTIFY 1 + +/* Build jpeg plugin */ +#define USE_JPEG 1 + +/* librsvg for SVG support */ +/* #undef USE_LIBRSVG */ + +/* Build placement plugin */ +/* #undef USE_PLACE */ + +/* Build text plugin */ +#define USE_TEXT 1 + +/* Build wall plugin */ +#define USE_WALL 1 + +/* Version number of package */ +#define VERSION "0.6.2" + +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..0303cb6 --- /dev/null +++ b/config.h.in @@ -0,0 +1,126 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Decorator interface version */ +#undef DECOR_INTERFACE_VERSION + +/* always defined to indicate that i18n is enabled */ +#undef ENABLE_NLS + +/* Gettext package. */ +#undef GETTEXT_PACKAGE + +/* Define to 1 if you have the `bind_textdomain_codeset' function. */ +#undef HAVE_BIND_TEXTDOMAIN_CODESET + +/* Define to 1 if you have the `dcgettext' function. */ +#undef HAVE_DCGETTEXT + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define if your file defines LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES + +/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_INOTIFY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TIME_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if xrender version >= 0.9.3 */ +#undef HAVE_XRENDER_0_9_3 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + +/* Max reasonable desktops */ +#undef MAX_DESKTOPS + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Build annotate plugin */ +#undef USE_ANNOTATE + +/* Build dbus plugin */ +#undef USE_DBUS + +/* Build fuse plugin */ +#undef USE_FUSE + +/* Build inotify plugin */ +#undef USE_INOTIFY + +/* Build jpeg plugin */ +#undef USE_JPEG + +/* librsvg for SVG support */ +#undef USE_LIBRSVG + +/* Build placement plugin */ +#undef USE_PLACE + +/* Build text plugin */ +#undef USE_TEXT + +/* Build wall plugin */ +#undef USE_WALL + +/* Version number of package */ +#undef VERSION + +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN diff --git a/config.log b/config.log new file mode 100644 index 0000000..a55c122 --- /dev/null +++ b/config.log @@ -0,0 +1,1216 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by ecomp configure 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ ./configure --enable-maintainer-mode + +## --------- ## +## Platform. ## +## --------- ## + +hostname = x40 +uname -m = i686 +uname -r = 2.6.27-10-generic +uname -s = Linux +uname -v = #1 SMP Fri Nov 21 12:00:22 UTC 2008 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = unknown +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +/usr/bin/hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /usr/local/sbin +PATH: /usr/local/bin +PATH: /usr/sbin +PATH: /usr/bin +PATH: /sbin +PATH: /bin +PATH: /usr/games + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:2149: checking for a BSD-compatible install +configure:2205: result: /usr/bin/install -c +configure:2216: checking whether build environment is sane +configure:2259: result: yes +configure:2287: checking for a thread-safe mkdir -p +configure:2326: result: /bin/mkdir -p +configure:2339: checking for gawk +configure:2369: result: no +configure:2339: checking for mawk +configure:2355: found /usr/bin/mawk +configure:2366: result: mawk +configure:2377: checking whether make sets $(MAKE) +configure:2398: result: yes +configure:2589: checking whether NLS is requested +configure:2598: result: yes +configure:2614: checking for style of include used by make +configure:2642: result: GNU +configure:2712: checking for gcc +configure:2728: found /usr/bin/gcc +configure:2739: result: gcc +configure:2977: checking for C compiler version +configure:2984: gcc --version >&5 +gcc (Ubuntu 4.3.2-1ubuntu11) 4.3.2 +Copyright (C) 2008 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2987: $? = 0 +configure:2994: gcc -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu11' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu +Thread model: posix +gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu11) +configure:2997: $? = 0 +configure:3004: gcc -V >&5 +gcc: '-V' option must have argument +configure:3007: $? = 1 +configure:3030: checking for C compiler default output file name +configure:3057: gcc conftest.c >&5 +configure:3060: $? = 0 +configure:3098: result: a.out +configure:3115: checking whether the C compiler works +configure:3125: ./a.out +configure:3128: $? = 0 +configure:3145: result: yes +configure:3152: checking whether we are cross compiling +configure:3154: result: no +configure:3157: checking for suffix of executables +configure:3164: gcc -o conftest conftest.c >&5 +configure:3167: $? = 0 +configure:3191: result: +configure:3197: checking for suffix of object files +configure:3223: gcc -c conftest.c >&5 +configure:3226: $? = 0 +configure:3249: result: o +configure:3253: checking whether we are using the GNU C compiler +configure:3282: gcc -c conftest.c >&5 +configure:3288: $? = 0 +configure:3305: result: yes +configure:3310: checking whether gcc accepts -g +configure:3340: gcc -c -g conftest.c >&5 +configure:3346: $? = 0 +configure:3445: result: yes +configure:3462: checking for gcc option to accept ISO C89 +configure:3536: gcc -c -g -O2 conftest.c >&5 +configure:3542: $? = 0 +configure:3565: result: none needed +configure:3585: checking dependency style of gcc +configure:3676: result: gcc3 +configure:3705: checking for intltool >= 0.23 +configure:3712: result: 0.40.5 found +configure:3722: checking for intltool-update +configure:3740: found /usr/bin/intltool-update +configure:3752: result: /usr/bin/intltool-update +configure:3762: checking for intltool-merge +configure:3780: found /usr/bin/intltool-merge +configure:3792: result: /usr/bin/intltool-merge +configure:3802: checking for intltool-extract +configure:3820: found /usr/bin/intltool-extract +configure:3832: result: /usr/bin/intltool-extract +configure:3889: checking for xgettext +configure:3907: found /usr/bin/xgettext +configure:3919: result: /usr/bin/xgettext +configure:3929: checking for msgmerge +configure:3947: found /usr/bin/msgmerge +configure:3959: result: /usr/bin/msgmerge +configure:3969: checking for msgfmt +configure:3987: found /usr/bin/msgfmt +configure:3999: result: /usr/bin/msgfmt +configure:4009: checking for gmsgfmt +configure:4040: result: /usr/bin/msgfmt +configure:4064: checking for perl +configure:4082: found /usr/bin/perl +configure:4094: result: /usr/bin/perl +configure:4113: checking for XML::Parser +configure:4116: result: ok +configure:4153: gcc -o conftest -g -O2 conftest.c >&5 +configure:4159: $? = 0 +configure:4274: checking whether to enable maintainer-specific portions of Makefiles +configure:4283: result: yes +configure:4303: checking for library containing strerror +configure:4344: gcc -o conftest -g -O2 conftest.c >&5 +configure:4350: $? = 0 +configure:4378: result: none required +configure:4434: checking for gcc +configure:4461: result: gcc +configure:4699: checking for C compiler version +configure:4706: gcc --version >&5 +gcc (Ubuntu 4.3.2-1ubuntu11) 4.3.2 +Copyright (C) 2008 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:4709: $? = 0 +configure:4716: gcc -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu11' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu +Thread model: posix +gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu11) +configure:4719: $? = 0 +configure:4726: gcc -V >&5 +gcc: '-V' option must have argument +configure:4729: $? = 1 +configure:4732: checking whether we are using the GNU C compiler +configure:4784: result: yes +configure:4789: checking whether gcc accepts -g +configure:4924: result: yes +configure:4941: checking for gcc option to accept ISO C89 +configure:5044: result: none needed +configure:5064: checking dependency style of gcc +configure:5155: result: gcc3 +configure:5175: checking how to run the C preprocessor +configure:5215: gcc -E conftest.c +configure:5221: $? = 0 +configure:5252: gcc -E conftest.c +conftest.c:11:28: error: ac_nonexistent.h: No such file or directory +configure:5258: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "ecomp" +| #define PACKAGE_TARNAME "ecomp" +| #define PACKAGE_VERSION "0.6.2" +| #define PACKAGE_STRING "ecomp 0.6.2" +| #define PACKAGE_BUGREPORT "davidr@novell.com" +| #define PACKAGE "ecomp" +| #define VERSION "0.6.2" +| #define DECOR_INTERFACE_VERSION 20070319 +| /* end confdefs.h. */ +| #include +configure:5291: result: gcc -E +configure:5320: gcc -E conftest.c +configure:5326: $? = 0 +configure:5357: gcc -E conftest.c +conftest.c:11:28: error: ac_nonexistent.h: No such file or directory +configure:5363: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "ecomp" +| #define PACKAGE_TARNAME "ecomp" +| #define PACKAGE_VERSION "0.6.2" +| #define PACKAGE_STRING "ecomp 0.6.2" +| #define PACKAGE_BUGREPORT "davidr@novell.com" +| #define PACKAGE "ecomp" +| #define VERSION "0.6.2" +| #define DECOR_INTERFACE_VERSION 20070319 +| /* end confdefs.h. */ +| #include +configure:5458: checking for g++ +configure:5474: found /usr/bin/g++ +configure:5485: result: g++ +configure:5516: checking for C++ compiler version +configure:5523: g++ --version >&5 +g++ (Ubuntu 4.3.2-1ubuntu11) 4.3.2 +Copyright (C) 2008 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:5526: $? = 0 +configure:5533: g++ -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu11' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu +Thread model: posix +gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu11) +configure:5536: $? = 0 +configure:5543: g++ -V >&5 +g++: '-V' option must have argument +configure:5546: $? = 1 +configure:5549: checking whether we are using the GNU C++ compiler +configure:5578: g++ -c conftest.cpp >&5 +configure:5584: $? = 0 +configure:5601: result: yes +configure:5606: checking whether g++ accepts -g +configure:5636: g++ -c -g conftest.cpp >&5 +configure:5642: $? = 0 +configure:5741: result: yes +configure:5766: checking dependency style of g++ +configure:5857: result: gcc3 +configure:5903: checking build system type +configure:5921: result: i686-pc-linux-gnu +configure:5943: checking host system type +configure:5958: result: i686-pc-linux-gnu +configure:5980: checking for a sed that does not truncate output +configure:6059: result: /bin/sed +configure:6077: checking for grep that handles long lines and -e +configure:6151: result: /bin/grep +configure:6156: checking for egrep +configure:6234: result: /bin/grep -E +configure:6239: checking for fgrep +configure:6317: result: /bin/grep -F +configure:6352: checking for ld used by gcc +configure:6419: result: /usr/bin/ld +configure:6428: checking if the linker (/usr/bin/ld) is GNU ld +configure:6443: result: yes +configure:6455: checking for BSD- or MS-compatible name lister (nm) +configure:6504: result: /usr/bin/nm -B +configure:6626: checking the name lister (/usr/bin/nm -B) interface +configure:6633: gcc -c -g -O2 conftest.c >&5 +configure:6636: /usr/bin/nm -B "conftest.o" +configure:6639: output +00000000 B some_variable +configure:6646: result: BSD nm +configure:6649: checking whether ln -s works +configure:6653: result: yes +configure:6661: checking the maximum length of command line arguments +configure:6781: result: 1572864 +configure:6798: checking whether the shell understands some XSI constructs +configure:6808: result: yes +configure:6812: checking whether the shell understands "+=" +configure:6818: result: yes +configure:6853: checking for /usr/bin/ld option to reload object files +configure:6860: result: -r +configure:6887: checking how to recognize dependent libraries +configure:7077: result: pass_all +configure:7137: checking for ar +configure:7153: found /usr/bin/ar +configure:7164: result: ar +configure:7246: checking for strip +configure:7262: found /usr/bin/strip +configure:7273: result: strip +configure:7349: checking for ranlib +configure:7365: found /usr/bin/ranlib +configure:7376: result: ranlib +configure:7470: checking command to parse /usr/bin/nm -B output from gcc object +configure:7588: gcc -c -g -O2 conftest.c >&5 +configure:7591: $? = 0 +configure:7595: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm +configure:7598: $? = 0 +configure:7652: gcc -o conftest -g -O2 conftest.c conftstm.o >&5 +configure:7655: $? = 0 +configure:7693: result: ok +configure:8567: checking for ANSI C header files +configure:8597: gcc -c -g -O2 conftest.c >&5 +configure:8603: $? = 0 +configure:8702: gcc -o conftest -g -O2 conftest.c >&5 +configure:8705: $? = 0 +configure:8711: ./conftest +configure:8714: $? = 0 +configure:8731: result: yes +configure:8755: checking for sys/types.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8755: checking for sys/stat.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8755: checking for stdlib.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8755: checking for string.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8755: checking for memory.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8755: checking for strings.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8755: checking for inttypes.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8755: checking for stdint.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8755: checking for unistd.h +configure:8776: gcc -c -g -O2 conftest.c >&5 +configure:8782: $? = 0 +configure:8798: result: yes +configure:8814: checking for dlfcn.h +configure:8835: gcc -c -g -O2 conftest.c >&5 +configure:8841: $? = 0 +configure:8857: result: yes +configure:8986: checking for C++ compiler version +configure:8993: g++ --version >&5 +g++ (Ubuntu 4.3.2-1ubuntu11) 4.3.2 +Copyright (C) 2008 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:8996: $? = 0 +configure:9003: g++ -v >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu11' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu +Thread model: posix +gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu11) +configure:9006: $? = 0 +configure:9013: g++ -V >&5 +g++: '-V' option must have argument +configure:9016: $? = 1 +configure:9019: checking whether we are using the GNU C++ compiler +configure:9071: result: yes +configure:9076: checking whether g++ accepts -g +configure:9211: result: yes +configure:9236: checking dependency style of g++ +configure:9327: result: gcc3 +configure:9350: checking how to run the C++ preprocessor +configure:9386: g++ -E conftest.cpp +configure:9392: $? = 0 +configure:9423: g++ -E conftest.cpp +conftest.cpp:22:28: error: ac_nonexistent.h: No such file or directory +configure:9429: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "ecomp" +| #define PACKAGE_TARNAME "ecomp" +| #define PACKAGE_VERSION "0.6.2" +| #define PACKAGE_STRING "ecomp 0.6.2" +| #define PACKAGE_BUGREPORT "davidr@novell.com" +| #define PACKAGE "ecomp" +| #define VERSION "0.6.2" +| #define DECOR_INTERFACE_VERSION 20070319 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:9462: result: g++ -E +configure:9491: g++ -E conftest.cpp +configure:9497: $? = 0 +configure:9528: g++ -E conftest.cpp +conftest.cpp:22:28: error: ac_nonexistent.h: No such file or directory +configure:9534: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "ecomp" +| #define PACKAGE_TARNAME "ecomp" +| #define PACKAGE_VERSION "0.6.2" +| #define PACKAGE_STRING "ecomp 0.6.2" +| #define PACKAGE_BUGREPORT "davidr@novell.com" +| #define PACKAGE "ecomp" +| #define VERSION "0.6.2" +| #define DECOR_INTERFACE_VERSION 20070319 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:9746: checking for objdir +configure:9761: result: .libs +configure:10053: checking if gcc supports -fno-rtti -fno-exceptions +configure:10071: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 +cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C +configure:10075: $? = 0 +configure:10088: result: no +configure:10108: checking for gcc option to produce PIC +configure:10365: result: -fPIC -DPIC +configure:10377: checking if gcc PIC flag -fPIC -DPIC works +configure:10395: gcc -c -g -O2 -fPIC -DPIC -DPIC conftest.c >&5 +configure:10399: $? = 0 +configure:10412: result: yes +configure:10436: checking if gcc static flag -static works +configure:10464: result: yes +configure:10479: checking if gcc supports -c -o file.o +configure:10500: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5 +configure:10504: $? = 0 +configure:10526: result: yes +configure:10534: checking if gcc supports -c -o file.o +configure:10581: result: yes +configure:10614: checking whether the gcc linker (/usr/bin/ld) supports shared libraries +configure:11669: result: yes +configure:11706: checking whether -lc should be explicitly linked in +configure:11711: gcc -c -g -O2 conftest.c >&5 +configure:11714: $? = 0 +configure:11729: gcc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep -lc \>/dev/null 2\>\&1 +configure:11732: $? = 0 +configure:11744: result: no +configure:11908: checking dynamic linker characteristics +configure:12351: gcc -o conftest -g -O2 -Wl,-rpath -Wl,/foo conftest.c >&5 +configure:12357: $? = 0 +configure:12599: result: GNU/Linux ld.so +configure:12701: checking how to hardcode library paths into programs +configure:12726: result: immediate +configure:13539: checking whether stripping libraries is possible +configure:13544: result: yes +configure:13579: checking if libtool supports shared libraries +configure:13581: result: yes +configure:13584: checking whether to build shared libraries +configure:13605: result: yes +configure:13608: checking whether to build static libraries +configure:13612: result: yes +configure:13762: checking for ld used by g++ +configure:13829: result: /usr/bin/ld +configure:13838: checking if the linker (/usr/bin/ld) is GNU ld +configure:13853: result: yes +configure:13908: checking whether the g++ linker (/usr/bin/ld) supports shared libraries +configure:14870: result: yes +configure:14898: g++ -c -g -O2 conftest.cpp >&5 +configure:14901: $? = 0 +configure:15083: checking for g++ option to produce PIC +configure:15392: result: -fPIC -DPIC +configure:15401: checking if g++ PIC flag -fPIC -DPIC works +configure:15419: g++ -c -g -O2 -fPIC -DPIC -DPIC conftest.cpp >&5 +configure:15423: $? = 0 +configure:15436: result: yes +configure:15457: checking if g++ static flag -static works +configure:15485: result: yes +configure:15497: checking if g++ supports -c -o file.o +configure:15518: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5 +configure:15522: $? = 0 +configure:15544: result: yes +configure:15549: checking if g++ supports -c -o file.o +configure:15596: result: yes +configure:15626: checking whether the g++ linker (/usr/bin/ld) supports shared libraries +configure:15655: result: yes +configure:15792: checking dynamic linker characteristics +configure:16183: g++ -o conftest -g -O2 -Wl,-rpath -Wl,/foo conftest.cpp >&5 +configure:16189: $? = 0 +configure:16431: result: GNU/Linux ld.so +configure:16482: checking how to hardcode library paths into programs +configure:16507: result: immediate +configure:16565: checking for ANSI C header files +configure:16729: result: yes +configure:16746: checking for stdlib.h +configure:16752: result: yes +configure:16756: checking sys/time.h usability +configure:16773: gcc -c -g -O2 conftest.c >&5 +configure:16779: $? = 0 +configure:16793: result: yes +configure:16797: checking sys/time.h presence +configure:16812: gcc -E conftest.c +configure:16818: $? = 0 +configure:16832: result: yes +configure:16865: checking for sys/time.h +configure:16873: result: yes +configure:16746: checking for unistd.h +configure:16752: result: yes +configure:16905: checking locale.h usability +configure:16922: gcc -c -g -O2 conftest.c >&5 +configure:16928: $? = 0 +configure:16942: result: yes +configure:16946: checking locale.h presence +configure:16961: gcc -E conftest.c +configure:16967: $? = 0 +configure:16981: result: yes +configure:17014: checking for locale.h +configure:17022: result: yes +configure:17036: checking for LC_MESSAGES +configure:17062: gcc -o conftest -g -O2 conftest.c >&5 +configure:17068: $? = 0 +configure:17085: result: yes +configure:17114: checking libintl.h usability +configure:17131: gcc -c -g -O2 conftest.c >&5 +configure:17137: $? = 0 +configure:17151: result: yes +configure:17155: checking libintl.h presence +configure:17170: gcc -E conftest.c +configure:17176: $? = 0 +configure:17190: result: yes +configure:17223: checking for libintl.h +configure:17230: result: yes +configure:17241: checking for ngettext in libc +configure:17269: gcc -o conftest -g -O2 conftest.c >&5 +configure:17275: $? = 0 +configure:17293: result: yes +configure:17297: checking for dgettext in libc +configure:17325: gcc -o conftest -g -O2 conftest.c >&5 +configure:17331: $? = 0 +configure:17349: result: yes +configure:17358: checking for bind_textdomain_codeset +configure:17414: gcc -o conftest -g -O2 conftest.c >&5 +configure:17420: $? = 0 +configure:17438: result: yes +configure:17925: checking for msgfmt +configure:17952: result: /usr/bin/msgfmt +configure:17965: checking for dcgettext +configure:18021: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:54: warning: conflicting types for built-in function 'dcgettext' +configure:18027: $? = 0 +configure:18045: result: yes +configure:18056: checking if msgfmt accepts -c +configure:18071: $MSGFMT -c -o /dev/null conftest.foo +configure:18074: $? = 0 +configure:18076: result: yes +configure:18086: checking for gmsgfmt +configure:18117: result: /usr/bin/msgfmt +configure:18127: checking for xgettext +configure:18154: result: /usr/bin/xgettext +configure:18183: gcc -o conftest -g -O2 conftest.c >&5 +configure:18189: $? = 0 +configure:18358: checking for catalogs to be installed +configure:18383: result: cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +configure:18484: checking whether byte ordering is bigendian +configure:18517: gcc -c -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 conftest.c >&5 +conftest.c:39: warning: function declaration isn't a prototype +configure:18523: $? = 0 +configure:18555: gcc -c -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 conftest.c >&5 +conftest.c:39: warning: function declaration isn't a prototype +conftest.c: In function 'main': +conftest.c:41: error: 'not' undeclared (first use in this function) +conftest.c:41: error: (Each undeclared identifier is reported only once +conftest.c:41: error: for each function it appears in.) +conftest.c:41: error: expected ';' before 'big' +configure:18561: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "ecomp" +| #define PACKAGE_TARNAME "ecomp" +| #define PACKAGE_VERSION "0.6.2" +| #define PACKAGE_STRING "ecomp 0.6.2" +| #define PACKAGE_BUGREPORT "davidr@novell.com" +| #define PACKAGE "ecomp" +| #define VERSION "0.6.2" +| #define DECOR_INTERFACE_VERSION 20070319 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define LT_OBJDIR ".libs/" +| #define STDC_HEADERS 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_LOCALE_H 1 +| #define HAVE_LC_MESSAGES 1 +| #define HAVE_BIND_TEXTDOMAIN_CODESET 1 +| #define HAVE_GETTEXT 1 +| #define HAVE_DCGETTEXT 1 +| #define ENABLE_NLS 1 +| #define GETTEXT_PACKAGE "ecomp" +| /* end confdefs.h. */ +| #include +| #include +| +| int +| main () +| { +| #if BYTE_ORDER != BIG_ENDIAN +| not big endian +| #endif +| +| ; +| return 0; +| } +configure:18701: result: no +configure:18801: checking for pkg-config +configure:18819: found /usr/bin/pkg-config +configure:18831: result: /usr/bin/pkg-config +configure:18860: checking pkg-config is at least version 0.9.0 +configure:18863: result: yes +configure:18874: checking for ECOMP +configure:18882: $PKG_CONFIG --exists --print-errors "$ECOMP_REQUIRES" +configure:18885: $? = 0 +configure:18900: $PKG_CONFIG --exists --print-errors "$ECOMP_REQUIRES" +configure:18903: $? = 0 +configure:18979: result: yes +configure:18989: checking for DECORATION +configure:18997: $PKG_CONFIG --exists --print-errors "$DECORATION_REQUIRES" +configure:19000: $? = 0 +configure:19015: $PKG_CONFIG --exists --print-errors "$DECORATION_REQUIRES" +configure:19018: $? = 0 +configure:19094: result: yes +configure:19101: $PKG_CONFIG --exists --print-errors "xrender >= 0.9.3" +configure:19104: $? = 0 +configure:19119: checking for GL_CFLAGS +configure:19130: result: +configure:19132: checking for GL_LIBS +configure:19142: result: -lGL +configure:19152: checking for xsltproc +configure:19168: found /usr/bin/xsltproc +configure:19179: result: xsltproc +configure:19198: checking for LIBPNG +configure:19206: $PKG_CONFIG --exists --print-errors "libpng" +configure:19209: $? = 0 +configure:19224: $PKG_CONFIG --exists --print-errors "libpng" +configure:19227: $? = 0 +configure:19303: result: yes +configure:19348: checking for DBUS +configure:19356: $PKG_CONFIG --exists --print-errors "dbus-1 libxml-2.0" +configure:19359: $? = 0 +configure:19374: $PKG_CONFIG --exists --print-errors "dbus-1 libxml-2.0" +configure:19377: $? = 0 +configure:19413: result: yes +configure:19462: checking sys/inotify.h usability +configure:19479: gcc -c -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 conftest.c >&5 +configure:19485: $? = 0 +configure:19499: result: yes +configure:19503: checking sys/inotify.h presence +configure:19518: gcc -E conftest.c +configure:19524: $? = 0 +configure:19538: result: yes +configure:19571: checking for sys/inotify.h +configure:19579: result: yes +configure:19623: checking for FUSE +configure:19631: $PKG_CONFIG --exists --print-errors "fuse" +Package fuse was not found in the pkg-config search path. +Perhaps you should add the directory containing `fuse.pc' +to the PKG_CONFIG_PATH environment variable +No package 'fuse' found +configure:19634: $? = 1 +configure:19649: $PKG_CONFIG --exists --print-errors "fuse" +Package fuse was not found in the pkg-config search path. +Perhaps you should add the directory containing `fuse.pc' +to the PKG_CONFIG_PATH environment variable +No package 'fuse' found +configure:19652: $? = 1 +No package 'fuse' found +configure:19680: result: no +configure:19721: checking for ANNOTATE +configure:19729: $PKG_CONFIG --exists --print-errors "cairo-xlib-xrender" +configure:19732: $? = 0 +configure:19747: $PKG_CONFIG --exists --print-errors "cairo-xlib-xrender" +configure:19750: $? = 0 +configure:19786: result: yes +configure:19819: checking for LIBRSVG +configure:19827: $PKG_CONFIG --exists --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0" +Package librsvg-2.0 was not found in the pkg-config search path. +Perhaps you should add the directory containing `librsvg-2.0.pc' +to the PKG_CONFIG_PATH environment variable +No package 'librsvg-2.0' found +configure:19830: $? = 1 +configure:19845: $PKG_CONFIG --exists --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0" +Package librsvg-2.0 was not found in the pkg-config search path. +Perhaps you should add the directory containing `librsvg-2.0.pc' +to the PKG_CONFIG_PATH environment variable +No package 'librsvg-2.0' found +configure:19848: $? = 1 +No package 'librsvg-2.0' found +configure:19876: result: no +configure:19916: checking for CAIRO +configure:19924: $PKG_CONFIG --exists --print-errors "cairo-xlib-xrender cairo >= 1.0" +configure:19927: $? = 0 +configure:19942: $PKG_CONFIG --exists --print-errors "cairo-xlib-xrender cairo >= 1.0" +configure:19945: $? = 0 +configure:19981: result: yes +configure:19987: checking for PANGO +configure:19995: $PKG_CONFIG --exists --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0" +configure:19998: $? = 0 +configure:20013: $PKG_CONFIG --exists --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0" +configure:20016: $? = 0 +configure:20052: result: yes +configure:20140: checking for LIBXSLT +configure:20148: $PKG_CONFIG --exists --print-errors "libxslt" +configure:20151: $? = 0 +configure:20166: $PKG_CONFIG --exists --print-errors "libxslt" +configure:20169: $? = 0 +configure:20245: result: yes +configure:20471: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by ecomp config.status 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on x40 + +config.status:1040: creating ecomp.pc +config.status:1040: creating ecomp-cube.pc +config.status:1040: creating ecomp-scale.pc +config.status:1040: creating Makefile +config.status:1040: creating src/Makefile +config.status:1040: creating libdecoration/Makefile +config.status:1040: creating libdecoration/libdecoration.pc +config.status:1040: creating include/Makefile +config.status:1040: creating plugins/Makefile +config.status:1040: creating text/Makefile +config.status:1040: creating expo/Makefile +config.status:1040: creating jpeg/Makefile +config.status:1040: creating ring/Makefile +config.status:1040: creating shift/Makefile +config.status:1040: creating thumbnail/Makefile +config.status:1040: creating wall/Makefile +config.status:1040: creating animation/Makefile +config.status:1040: creating mblur/Makefile +config.status:1040: creating cubereflex/Makefile +config.status:1040: creating scalefilter/Makefile +config.status:1040: creating scaleaddon/Makefile +config.status:1040: creating images/Makefile +config.status:1040: creating po/Makefile.in +config.status:1040: creating metadata/Makefile +config.status:1040: creating bcop/bcop.pc +config.status:1040: creating bcop/Makefile +config.status:1040: creating bcop/src/Makefile +config.status:1040: creating bcop/src/bcop +config.status:1040: creating config.h +config.status:1289: config.h is unchanged +config.status:1336: executing depfiles commands +config.status:1336: executing libtool commands +config.status:1336: executing default-1 commands +config.status:1336: executing po/stamp-it commands +config.status:2271: error: po/Makefile.in.in was not created by intltoolize. + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=i686-pc-linux-gnu +ac_cv_c_bigendian=no +ac_cv_c_compiler_gnu=yes +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_ANNOTATE_CFLAGS_set= +ac_cv_env_ANNOTATE_CFLAGS_value= +ac_cv_env_ANNOTATE_LIBS_set= +ac_cv_env_ANNOTATE_LIBS_value= +ac_cv_env_CAIRO_CFLAGS_set= +ac_cv_env_CAIRO_CFLAGS_value= +ac_cv_env_CAIRO_LIBS_set= +ac_cv_env_CAIRO_LIBS_value= +ac_cv_env_CCC_set= +ac_cv_env_CCC_value= +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_DBUS_CFLAGS_set= +ac_cv_env_DBUS_CFLAGS_value= +ac_cv_env_DBUS_LIBS_set= +ac_cv_env_DBUS_LIBS_value= +ac_cv_env_DECORATION_CFLAGS_set= +ac_cv_env_DECORATION_CFLAGS_value= +ac_cv_env_DECORATION_LIBS_set= +ac_cv_env_DECORATION_LIBS_value= +ac_cv_env_ECOMP_CFLAGS_set= +ac_cv_env_ECOMP_CFLAGS_value= +ac_cv_env_ECOMP_LIBS_set= +ac_cv_env_ECOMP_LIBS_value= +ac_cv_env_FUSE_CFLAGS_set= +ac_cv_env_FUSE_CFLAGS_value= +ac_cv_env_FUSE_LIBS_set= +ac_cv_env_FUSE_LIBS_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_LIBPNG_CFLAGS_set= +ac_cv_env_LIBPNG_CFLAGS_value= +ac_cv_env_LIBPNG_LIBS_set= +ac_cv_env_LIBPNG_LIBS_value= +ac_cv_env_LIBRSVG_CFLAGS_set= +ac_cv_env_LIBRSVG_CFLAGS_value= +ac_cv_env_LIBRSVG_LIBS_set= +ac_cv_env_LIBRSVG_LIBS_value= +ac_cv_env_LIBS_set= +ac_cv_env_LIBS_value= +ac_cv_env_LIBXSLT_CFLAGS_set= +ac_cv_env_LIBXSLT_CFLAGS_value= +ac_cv_env_LIBXSLT_LIBS_set= +ac_cv_env_LIBXSLT_LIBS_value= +ac_cv_env_PANGO_CFLAGS_set= +ac_cv_env_PANGO_CFLAGS_value= +ac_cv_env_PANGO_LIBS_set= +ac_cv_env_PANGO_LIBS_value= +ac_cv_env_PKG_CONFIG_set= +ac_cv_env_PKG_CONFIG_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_func_bind_textdomain_codeset=yes +ac_cv_func_dcgettext=yes +ac_cv_header_dlfcn_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_libintl_h=yes +ac_cv_header_locale_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_inotify_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_time_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=i686-pc-linux-gnu +ac_cv_objext=o +ac_cv_path_EGREP='/bin/grep -E' +ac_cv_path_FGREP='/bin/grep -F' +ac_cv_path_GMSGFMT=/usr/bin/msgfmt +ac_cv_path_GREP=/bin/grep +ac_cv_path_INTLTOOL_EXTRACT=/usr/bin/intltool-extract +ac_cv_path_INTLTOOL_MERGE=/usr/bin/intltool-merge +ac_cv_path_INTLTOOL_PERL=/usr/bin/perl +ac_cv_path_INTLTOOL_UPDATE=/usr/bin/intltool-update +ac_cv_path_MSGFMT=/usr/bin/msgfmt +ac_cv_path_MSGMERGE=/usr/bin/msgmerge +ac_cv_path_SED=/bin/sed +ac_cv_path_XGETTEXT=/usr/bin/xgettext +ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config +ac_cv_path_install='/usr/bin/install -c' +ac_cv_path_mkdir=/bin/mkdir +ac_cv_prog_AWK=mawk +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_CXXCPP='g++ -E' +ac_cv_prog_XSLTPROC=xsltproc +ac_cv_prog_ac_ct_AR=ar +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_ac_ct_STRIP=strip +ac_cv_prog_cc_c89= +ac_cv_prog_cc_g=yes +ac_cv_prog_cxx_g=yes +ac_cv_prog_make_make_set=yes +ac_cv_search_strerror='none required' +am_cv_CC_dependencies_compiler_type=gcc3 +am_cv_CXX_dependencies_compiler_type=gcc3 +am_cv_val_LC_MESSAGES=yes +gt_cv_func_dgettext_libc=yes +gt_cv_func_dgettext_libintl=no +gt_cv_func_ngettext_libc=yes +gt_cv_have_gettext=yes +lt_cv_deplibs_check_method=pass_all +lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_ld_reload_flag=-r +lt_cv_nm_interface='BSD nm' +lt_cv_objdir=.libs +lt_cv_path_LD=/usr/bin/ld +lt_cv_path_LDCXX=/usr/bin/ld +lt_cv_path_NM='/usr/bin/nm -B' +lt_cv_prog_compiler_c_o=yes +lt_cv_prog_compiler_c_o_CXX=yes +lt_cv_prog_compiler_pic_works=yes +lt_cv_prog_compiler_pic_works_CXX=yes +lt_cv_prog_compiler_rtti_exceptions=no +lt_cv_prog_compiler_static_works=yes +lt_cv_prog_compiler_static_works_CXX=yes +lt_cv_prog_gnu_ld=yes +lt_cv_prog_gnu_ldcxx=yes +lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' +lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"\2", (void *) \&\2},/p'\''' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\''' +lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' +lt_cv_sys_max_cmd_len=1572864 +pkg_cv_ANNOTATE_CFLAGS='-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 ' +pkg_cv_ANNOTATE_LIBS='-lXrender -lcairo -lX11 ' +pkg_cv_CAIRO_CFLAGS='-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 ' +pkg_cv_CAIRO_LIBS='-lXrender -lX11 -lcairo ' +pkg_cv_DBUS_CFLAGS='-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 ' +pkg_cv_DBUS_LIBS='-L//lib -ldbus-1 -lxml2 ' +pkg_cv_DECORATION_CFLAGS=' ' +pkg_cv_DECORATION_LIBS='-lXrender -lX11 ' +pkg_cv_ECOMP_CFLAGS='-I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ' +pkg_cv_ECOMP_LIBS='-lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 ' +pkg_cv_LIBPNG_CFLAGS='-I/usr/include/libpng12 ' +pkg_cv_LIBPNG_LIBS='-lpng12 ' +pkg_cv_LIBXSLT_CFLAGS='-I/usr/include/libxml2 ' +pkg_cv_LIBXSLT_LIBS='-lxslt -lxml2 ' +pkg_cv_PANGO_CFLAGS='-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ' +pkg_cv_PANGO_LIBS='-lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo ' + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10' +ALL_LINGUAS='cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /media/disk-3/src/compiz/missing --run tar' +ANNOTATE_CFLAGS='-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 ' +ANNOTATE_LIBS='-lXrender -lcairo -lX11 ' +ANNOTATE_PLUGIN_FALSE='#' +ANNOTATE_PLUGIN_TRUE='' +AR='ar' +AUTOCONF='${SHELL} /media/disk-3/src/compiz/missing --run autoconf' +AUTOHEADER='${SHELL} /media/disk-3/src/compiz/missing --run autoheader' +AUTOMAKE='${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10' +AWK='mawk' +BCOP_BIN='../bcop/src/bcop.in' +CAIRO_CFLAGS='-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 ' +CAIRO_LIBS='-lXrender -lX11 -lcairo ' +CATALOGS=' cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo' +CATOBJEXT='.gmo' +CC='gcc' +CCDEPMODE='depmode=gcc3' +CFLAGS='-g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2' +CPP='gcc -E' +CPPFLAGS='' +CXX='g++' +CXXCPP='g++ -E' +CXXDEPMODE='depmode=gcc3' +CXXFLAGS='-g -O2 -Wall -D_FORTIFY_SOURCE=2' +CYGPATH_W='echo' +DATADIRNAME='share' +DBUS_CFLAGS='-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 ' +DBUS_LIBS='-L//lib -ldbus-1 -lxml2 ' +DBUS_PLUGIN_FALSE='#' +DBUS_PLUGIN_TRUE='' +DECORATION_CFLAGS=' ' +DECORATION_LIBS='-lXrender -lX11 ' +DECORATION_REQUIRES='xrender' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +DSYMUTIL='' +DUMPBIN='' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +ECOMP_CFLAGS='-I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ' +ECOMP_LIBS='-lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 ' +ECOMP_REQUIRES='xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango' +ECOMP_VERSION_MAJOR='0' +ECOMP_VERSION_MICRO='2' +ECOMP_VERSION_MINOR='6' +EGREP='/bin/grep -E' +EXEEXT='' +FGREP='/bin/grep -F' +FUSE_CFLAGS='' +FUSE_LIBS='' +FUSE_PLUGIN_FALSE='' +FUSE_PLUGIN_TRUE='#' +GETTEXT_PACKAGE='ecomp' +GL_CFLAGS='' +GL_LIBS='-lGL' +GMOFILES=' cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo' +GMSGFMT='/usr/bin/msgfmt' +GREP='/bin/grep' +INOTIFY_PLUGIN_FALSE='#' +INOTIFY_PLUGIN_TRUE='' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' +INSTOBJEXT='.mo' +INTLLIBS='' +INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_EXTRACT='/usr/bin/intltool-extract' +INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_MERGE='/usr/bin/intltool-merge' +INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@' +INTLTOOL_PERL='/usr/bin/perl' +INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_UPDATE='/usr/bin/intltool-update' +INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@' +INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +JPEG_PLUGIN_FALSE='#' +JPEG_PLUGIN_TRUE='' +LD='/usr/bin/ld' +LDFLAGS='' +LIBOBJS='' +LIBPNG_CFLAGS='-I/usr/include/libpng12 ' +LIBPNG_LIBS='-lpng12 ' +LIBRSVG_CFLAGS='' +LIBRSVG_LIBS='' +LIBS='' +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +LIBXSLT_CFLAGS='-I/usr/include/libxml2 ' +LIBXSLT_LIBS='-lxslt -lxml2 ' +LIPO='' +LN_S='ln -s' +LTLIBOBJS='' +MAINT='' +MAINTAINER_MODE_FALSE='#' +MAINTAINER_MODE_TRUE='' +MAKEINFO='${SHELL} /media/disk-3/src/compiz/missing --run makeinfo' +MKINSTALLDIRS='./mkinstalldirs' +MSGFMT='/usr/bin/msgfmt' +MSGFMT_OPTS='-c' +MSGMERGE='/usr/bin/msgmerge' +NM='/usr/bin/nm -B' +NMEDIT='' +OBJEXT='o' +OTOOL64='' +OTOOL='' +PACKAGE='ecomp' +PACKAGE_BUGREPORT='davidr@novell.com' +PACKAGE_NAME='ecomp' +PACKAGE_STRING='ecomp 0.6.2' +PACKAGE_TARNAME='ecomp' +PACKAGE_VERSION='0.6.2' +PANGO_CFLAGS='-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ' +PANGO_LIBS='-lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo ' +PATH_SEPARATOR=':' +PKG_CONFIG='/usr/bin/pkg-config' +PLACE_PLUGIN_FALSE='' +PLACE_PLUGIN_TRUE='#' +POFILES=' cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po' +POSUB='po' +PO_IN_DATADIR_FALSE='' +PO_IN_DATADIR_TRUE='' +RANLIB='ranlib' +SED='/bin/sed' +SET_MAKE='' +SHELL='/bin/bash' +STRIP='strip' +TEXT_PLUGIN_FALSE='#' +TEXT_PLUGIN_TRUE='' +USE_LIBRSVG_FALSE='' +USE_LIBRSVG_TRUE='#' +USE_NLS='yes' +VERSION='0.6.2' +WALL_PLUGIN_FALSE='#' +WALL_PLUGIN_TRUE='' +XGETTEXT='/usr/bin/xgettext' +XSLTPROC='xsltproc' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +ac_ct_DUMPBIN='' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__fastdepCXX_FALSE='#' +am__fastdepCXX_TRUE='' +am__include='include' +am__isrc='' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${exec_prefix}/bin' +build='i686-pc-linux-gnu' +build_alias='' +build_cpu='i686' +build_os='linux-gnu' +build_vendor='pc' +datadir='${datarootdir}' +datarootdir='${prefix}/share' +default_plugins='' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +dvidir='${docdir}' +exec_prefix='${prefix}' +host='i686-pc-linux-gnu' +host_alias='' +host_cpu='i686' +host_os='linux-gnu' +host_vendor='pc' +htmldir='${docdir}' +imagedir='${datarootdir}/ecomp' +includedir='${prefix}/include' +infodir='${datarootdir}/info' +install_sh='$(SHELL) /media/disk-3/src/compiz/install-sh' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localedir='${datarootdir}/locale' +localstatedir='${prefix}/var' +lt_ECHO='echo' +mandir='${datarootdir}/man' +metadatadir='${datarootdir}/ecomp' +mkdir_p='/bin/mkdir -p' +oldincludedir='/usr/include' +pdfdir='${docdir}' +plugindir='${exec_prefix}/lib/ecomp' +prefix='/usr/local' +program_transform_name='s,x,x,' +psdir='${docdir}' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +stylesheetdir='${datarootdir}/ecomp' +sysconfdir='${prefix}/etc' +target_alias='' +xsltdir='${datarootdir}/bcop' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define PACKAGE_NAME "ecomp" +#define PACKAGE_TARNAME "ecomp" +#define PACKAGE_VERSION "0.6.2" +#define PACKAGE_STRING "ecomp 0.6.2" +#define PACKAGE_BUGREPORT "davidr@novell.com" +#define PACKAGE "ecomp" +#define VERSION "0.6.2" +#define DECOR_INTERFACE_VERSION 20070319 +#define STDC_HEADERS 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_DLFCN_H 1 +#define LT_OBJDIR ".libs/" +#define STDC_HEADERS 1 +#define HAVE_STDLIB_H 1 +#define HAVE_SYS_TIME_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_LOCALE_H 1 +#define HAVE_LC_MESSAGES 1 +#define HAVE_BIND_TEXTDOMAIN_CODESET 1 +#define HAVE_GETTEXT 1 +#define HAVE_DCGETTEXT 1 +#define ENABLE_NLS 1 +#define GETTEXT_PACKAGE "ecomp" +#define HAVE_XRENDER_0_9_3 1 +#define USE_DBUS 1 +#define HAVE_SYS_INOTIFY_H 1 +#define USE_INOTIFY 1 +#define USE_ANNOTATE 1 +#define USE_TEXT 1 +#define USE_WALL 1 +#define USE_JPEG 1 +#define MAX_DESKTOPS 36 + +configure: exit 1 diff --git a/config.status b/config.status new file mode 100755 index 0000000..4ef3a75 --- /dev/null +++ b/config.status @@ -0,0 +1,2296 @@ +#! /bin/bash +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=${CONFIG_SHELL-/bin/bash} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by ecomp $as_me 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +# Files that config.status was made for. +config_files=" ecomp.pc ecomp-cube.pc ecomp-scale.pc Makefile src/Makefile libdecoration/Makefile libdecoration/libdecoration.pc include/Makefile plugins/Makefile text/Makefile expo/Makefile jpeg/Makefile ring/Makefile shift/Makefile thumbnail/Makefile wall/Makefile animation/Makefile mblur/Makefile cubereflex/Makefile scalefilter/Makefile scaleaddon/Makefile images/Makefile po/Makefile.in metadata/Makefile bcop/bcop.pc bcop/Makefile bcop/src/Makefile bcop/src/bcop" +config_headers=" config.h" +config_commands=" depfiles libtool default-1 po/stamp-it" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +ac_cs_version="\ +ecomp config.status 0.6.2 +configured by ./configure, generated by GNU Autoconf 2.61, + with options \"'--enable-maintainer-mode'\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='/media/disk-3/src/compiz' +srcdir='.' +INSTALL='/usr/bin/install -c' +MKDIR_P='/bin/mkdir -p' +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running CONFIG_SHELL=/bin/bash /bin/bash ./configure " '--enable-maintainer-mode' $ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=/bin/bash + export CONFIG_SHELL + exec /bin/bash "./configure" '--enable-maintainer-mode' $ac_configure_extra_args --no-create --no-recursion +fi + +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +# +# INIT-COMMANDS +# +AMDEP_TRUE="" ac_aux_dir="." + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +double_quote_subst='s/\(["`\\]\)/\\\1/g' +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' +macro_version='2.2.4' +macro_revision='1.2976' +enable_shared='yes' +enable_static='yes' +pic_mode='default' +enable_fast_install='yes' +host_alias='' +host='i686-pc-linux-gnu' +host_os='linux-gnu' +build_alias='' +build='i686-pc-linux-gnu' +build_os='linux-gnu' +SED='/bin/sed' +Xsed='/bin/sed -e 1s/^X//' +GREP='/bin/grep' +EGREP='/bin/grep -E' +FGREP='/bin/grep -F' +LD='/usr/bin/ld' +NM='/usr/bin/nm -B' +LN_S='ln -s' +max_cmd_len='1572864' +ac_objext='o' +exeext='' +lt_unset='unset' +lt_SP2NL='tr \040 \012' +lt_NL2SP='tr \015\012 \040\040' +reload_flag=' -r' +reload_cmds='$LD$reload_flag -o $output$reload_objs' +deplibs_check_method='pass_all' +file_magic_cmd='$MAGIC_CMD' +AR='ar' +AR_FLAGS='cru' +STRIP='strip' +RANLIB='ranlib' +old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $oldlib' +old_postuninstall_cmds='' +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $oldlib' +CC='gcc' +CFLAGS='-g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2' +compiler='g++' +GCC='yes' +lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' +lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' +lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"\2", (void *) \&\2},/p'\''' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\''' +objdir='.libs' +SHELL='/bin/bash' +ECHO='echo' +MAGIC_CMD='file' +lt_prog_compiler_no_builtin_flag=' -fno-builtin' +lt_prog_compiler_wl='-Wl,' +lt_prog_compiler_pic=' -fPIC -DPIC' +lt_prog_compiler_static='-static' +lt_cv_prog_compiler_c_o='yes' +need_locks='no' +DSYMUTIL='' +NMEDIT='' +LIPO='' +OTOOL='' +OTOOL64='' +libext='a' +shrext_cmds='.so' +extract_expsyms_cmds='' +archive_cmds_need_lc='no' +enable_shared_with_static_runtimes='no' +export_dynamic_flag_spec='${wl}--export-dynamic' +whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' +compiler_needs_object='no' +old_archive_from_new_cmds='' +old_archive_from_expsyms_cmds='' +archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' +module_cmds='' +module_expsym_cmds='' +with_gnu_ld='yes' +allow_undefined_flag='' +no_undefined_flag='' +hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +hardcode_libdir_flag_spec_ld='' +hardcode_libdir_separator='' +hardcode_direct='no' +hardcode_direct_absolute='no' +hardcode_minus_L='no' +hardcode_shlibpath_var='unsupported' +hardcode_automatic='no' +inherit_rpath='no' +link_all_deplibs='unknown' +fix_srcfile_path='' +always_export_symbols='no' +export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' +include_expsyms='' +prelink_cmds='' +file_list_spec='' +variables_saved_for_relink='PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH' +need_lib_prefix='no' +need_version='no' +version_type='linux' +runpath_var='LD_RUN_PATH' +shlibpath_var='LD_LIBRARY_PATH' +shlibpath_overrides_runpath='no' +libname_spec='lib$name' +library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +soname_spec='${libname}${release}${shared_ext}$major' +postinstall_cmds='' +postuninstall_cmds='' +finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' +finish_eval='' +hardcode_into_libs='yes' +sys_lib_search_path_spec='/usr/lib/gcc/i486-linux-gnu/4.3.2 /usr/lib /lib' +sys_lib_dlsearch_path_spec='/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/alsa-lib /usr/local/lib ' +hardcode_action='immediate' +enable_dlopen='unknown' +enable_dlopen_self='unknown' +enable_dlopen_self_static='unknown' +old_striplib='strip --strip-debug' +striplib='strip --strip-unneeded' +compiler_lib_search_dirs='' +predep_objects='' +postdep_objects='' +predeps='' +postdeps='' +compiler_lib_search_path='' +LD_CXX='/usr/bin/ld' +old_archive_cmds_CXX='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $oldlib' +compiler_CXX='g++' +GCC_CXX='yes' +lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +lt_prog_compiler_wl_CXX='-Wl,' +lt_prog_compiler_pic_CXX=' -fPIC -DPIC' +lt_prog_compiler_static_CXX='-static' +lt_cv_prog_compiler_c_o_CXX='yes' +archive_cmds_need_lc_CXX='no' +enable_shared_with_static_runtimes_CXX='no' +export_dynamic_flag_spec_CXX='${wl}--export-dynamic' +whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' +compiler_needs_object_CXX='no' +old_archive_from_new_cmds_CXX='' +old_archive_from_expsyms_cmds_CXX='' +archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' +archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +module_cmds_CXX='' +module_expsym_cmds_CXX='' +with_gnu_ld_CXX='yes' +allow_undefined_flag_CXX='' +no_undefined_flag_CXX='' +hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' +hardcode_libdir_flag_spec_ld_CXX='' +hardcode_libdir_separator_CXX='' +hardcode_direct_CXX='no' +hardcode_direct_absolute_CXX='no' +hardcode_minus_L_CXX='no' +hardcode_shlibpath_var_CXX='unsupported' +hardcode_automatic_CXX='no' +inherit_rpath_CXX='no' +link_all_deplibs_CXX='no' +fix_srcfile_path_CXX='' +always_export_symbols_CXX='no' +export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' +include_expsyms_CXX='' +prelink_cmds_CXX='' +file_list_spec_CXX='' +hardcode_action_CXX='immediate' +compiler_lib_search_dirs_CXX='/usr/lib/gcc/i486-linux-gnu/4.3.2 /usr/lib/gcc/i486-linux-gnu/4.3.2 /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib /lib/../lib /usr/lib/../lib /usr/lib/gcc/i486-linux-gnu/4.3.2/../../..' +predep_objects_CXX='/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.3.2/crtbeginS.o' +postdep_objects_CXX='/usr/lib/gcc/i486-linux-gnu/4.3.2/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crtn.o' +predeps_CXX='' +postdeps_CXX='-lstdc++ -lm -lgcc_s -lc -lgcc_s' +compiler_lib_search_path_CXX='-L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.3.2/../../..' + +LTCC='gcc' +LTCFLAGS='-g -O2' +compiler='gcc' + +# Quote evaled strings. +for var in SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag deplibs_check_method file_magic_cmd AR AR_FLAGS STRIP RANLIB CC CFLAGS compiler lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl lt_cv_sys_global_symbol_to_c_name_address lt_cv_sys_global_symbol_to_c_name_address_lib_prefix SHELL ECHO lt_prog_compiler_no_builtin_flag lt_prog_compiler_wl lt_prog_compiler_pic lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks DSYMUTIL NMEDIT LIPO OTOOL OTOOL64 shrext_cmds export_dynamic_flag_spec whole_archive_flag_spec compiler_needs_object with_gnu_ld allow_undefined_flag no_undefined_flag hardcode_libdir_flag_spec hardcode_libdir_flag_spec_ld hardcode_libdir_separator fix_srcfile_path exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec finish_eval old_striplib striplib compiler_lib_search_dirs predep_objects postdep_objects predeps postdeps compiler_lib_search_path LD_CXX compiler_CXX lt_prog_compiler_no_builtin_flag_CXX lt_prog_compiler_wl_CXX lt_prog_compiler_pic_CXX lt_prog_compiler_static_CXX lt_cv_prog_compiler_c_o_CXX export_dynamic_flag_spec_CXX whole_archive_flag_spec_CXX compiler_needs_object_CXX with_gnu_ld_CXX allow_undefined_flag_CXX no_undefined_flag_CXX hardcode_libdir_flag_spec_CXX hardcode_libdir_flag_spec_ld_CXX hardcode_libdir_separator_CXX fix_srcfile_path_CXX exclude_expsyms_CXX include_expsyms_CXX file_list_spec_CXX compiler_lib_search_dirs_CXX predep_objects_CXX postdep_objects_CXX predeps_CXX postdeps_CXX compiler_lib_search_path_CXX; do + case `eval \\$ECHO "X\\$$var"` in + *[\\\`\"\$]*) + eval "lt_$var=\\\"\`\$ECHO \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\$$var\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds old_postinstall_cmds old_postuninstall_cmds old_archive_cmds extract_expsyms_cmds old_archive_from_new_cmds old_archive_from_expsyms_cmds archive_cmds archive_expsym_cmds module_cmds module_expsym_cmds export_symbols_cmds prelink_cmds postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec sys_lib_dlsearch_path_spec old_archive_cmds_CXX old_archive_from_new_cmds_CXX old_archive_from_expsyms_cmds_CXX archive_cmds_CXX archive_expsym_cmds_CXX module_cmds_CXX module_expsym_cmds_CXX export_symbols_cmds_CXX prelink_cmds_CXX; do + case `eval \\$ECHO "X\\$$var"` in + *[\\\`\"\$]*) + eval "lt_$var=\\\"\`\$ECHO \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\$$var\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case $lt_ECHO in +*'\$0 --fallback-echo"') lt_ECHO=`$ECHO "X$lt_ECHO" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; +esac + +ac_aux_dir='.' +xsi_shell='yes' +lt_shell_append='yes' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='ecomp' + VERSION='0.6.2' + TIMESTAMP='' + RM='rm -f' + ofile='libtool' + + + + + + + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "ecomp.pc") CONFIG_FILES="$CONFIG_FILES ecomp.pc" ;; + "ecomp-cube.pc") CONFIG_FILES="$CONFIG_FILES ecomp-cube.pc" ;; + "ecomp-scale.pc") CONFIG_FILES="$CONFIG_FILES ecomp-scale.pc" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "libdecoration/Makefile") CONFIG_FILES="$CONFIG_FILES libdecoration/Makefile" ;; + "libdecoration/libdecoration.pc") CONFIG_FILES="$CONFIG_FILES libdecoration/libdecoration.pc" ;; + "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; + "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;; + "text/Makefile") CONFIG_FILES="$CONFIG_FILES text/Makefile" ;; + "expo/Makefile") CONFIG_FILES="$CONFIG_FILES expo/Makefile" ;; + "jpeg/Makefile") CONFIG_FILES="$CONFIG_FILES jpeg/Makefile" ;; + "ring/Makefile") CONFIG_FILES="$CONFIG_FILES ring/Makefile" ;; + "shift/Makefile") CONFIG_FILES="$CONFIG_FILES shift/Makefile" ;; + "thumbnail/Makefile") CONFIG_FILES="$CONFIG_FILES thumbnail/Makefile" ;; + "wall/Makefile") CONFIG_FILES="$CONFIG_FILES wall/Makefile" ;; + "animation/Makefile") CONFIG_FILES="$CONFIG_FILES animation/Makefile" ;; + "mblur/Makefile") CONFIG_FILES="$CONFIG_FILES mblur/Makefile" ;; + "cubereflex/Makefile") CONFIG_FILES="$CONFIG_FILES cubereflex/Makefile" ;; + "scalefilter/Makefile") CONFIG_FILES="$CONFIG_FILES scalefilter/Makefile" ;; + "scaleaddon/Makefile") CONFIG_FILES="$CONFIG_FILES scaleaddon/Makefile" ;; + "images/Makefile") CONFIG_FILES="$CONFIG_FILES images/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "metadata/Makefile") CONFIG_FILES="$CONFIG_FILES metadata/Makefile" ;; + "bcop/bcop.pc") CONFIG_FILES="$CONFIG_FILES bcop/bcop.pc" ;; + "bcop/Makefile") CONFIG_FILES="$CONFIG_FILES bcop/Makefile" ;; + "bcop/src/Makefile") CONFIG_FILES="$CONFIG_FILES bcop/src/Makefile" ;; + "bcop/src/bcop") CONFIG_FILES="$CONFIG_FILES bcop/src/bcop" ;; + "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +cat >"$tmp/subs-1.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@SHELL@,|#_!!_#|/bin/bash,g +s,@PATH_SEPARATOR@,|#_!!_#|:,g +s,@PACKAGE_NAME@,|#_!!_#|ecomp,g +s,@PACKAGE_TARNAME@,|#_!!_#|ecomp,g +s,@PACKAGE_VERSION@,|#_!!_#|0.6.2,g +s,@PACKAGE_STRING@,|#_!!_#|ecomp 0.6.2,g +s,@PACKAGE_BUGREPORT@,|#_!!_#|davidr@|#_!!_#|novell.com,g +s,@exec_prefix@,|#_!!_#|${prefix},g +s,@prefix@,|#_!!_#|/usr/local,g +s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g +s,@bindir@,|#_!!_#|${exec_prefix}/bin,g +s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g +s,@libexecdir@,|#_!!_#|${exec_prefix}/libexec,g +s,@datarootdir@,|#_!!_#|${prefix}/share,g +s,@datadir@,|#_!!_#|${datarootdir},g +s,@sysconfdir@,|#_!!_#|${prefix}/etc,g +s,@sharedstatedir@,|#_!!_#|${prefix}/com,g +s,@localstatedir@,|#_!!_#|${prefix}/var,g +s,@includedir@,|#_!!_#|${prefix}/include,g +s,@oldincludedir@,|#_!!_#|/usr/include,g +s,@docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE_TARNAME},g +s,@infodir@,|#_!!_#|${datarootdir}/info,g +s,@htmldir@,|#_!!_#|${docdir},g +s,@dvidir@,|#_!!_#|${docdir},g +s,@pdfdir@,|#_!!_#|${docdir},g +s,@psdir@,|#_!!_#|${docdir},g +s,@libdir@,|#_!!_#|${exec_prefix}/lib,g +s,@localedir@,|#_!!_#|${datarootdir}/locale,g +s,@mandir@,|#_!!_#|${datarootdir}/man,g +s,@DEFS@,|#_!!_#|-DHAVE_CONFIG_H,g +s,@ECHO_C@,|#_!!_#|,g +s,@ECHO_N@,|#_!!_#|-n,g +s,@ECHO_T@,|#_!!_#|,g +s,@LIBS@,|#_!!_#|,g +s,@build_alias@,|#_!!_#|,g +s,@host_alias@,|#_!!_#|,g +s,@target_alias@,|#_!!_#|,g +s,@ECOMP_VERSION_MAJOR@,|#_!!_#|0,g +s,@ECOMP_VERSION_MINOR@,|#_!!_#|6,g +s,@ECOMP_VERSION_MICRO@,|#_!!_#|2,g +s,@INSTALL_PROGRAM@,|#_!!_#|${INSTALL},g +s,@INSTALL_SCRIPT@,|#_!!_#|${INSTALL},g +s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g +s,@am__isrc@,|#_!!_#|,g +s,@CYGPATH_W@,|#_!!_#|echo,g +s,@PACKAGE@,|#_!!_#|ecomp,g +s,@VERSION@,|#_!!_#|0.6.2,g +s,@ACLOCAL@,|#_!!_#|${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10,g +s,@AUTOCONF@,|#_!!_#|${SHELL} /media/disk-3/src/compiz/missing --run autoconf,g +s,@AUTOMAKE@,|#_!!_#|${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10,g +s,@AUTOHEADER@,|#_!!_#|${SHELL} /media/disk-3/src/compiz/missing --run autoheader,g +s,@MAKEINFO@,|#_!!_#|${SHELL} /media/disk-3/src/compiz/missing --run makeinfo,g +s,@install_sh@,|#_!!_#|$(SHELL) /media/disk-3/src/compiz/install-sh,g +s,@STRIP@,|#_!!_#|strip,g +s,@INSTALL_STRIP_PROGRAM@,|#_!!_#|$(install_sh) -c -s,g +s,@mkdir_p@,|#_!!_#|/bin/mkdir -p,g +s,@AWK@,|#_!!_#|mawk,g +s,@SET_MAKE@,|#_!!_#|,g +s,@am__leading_dot@,|#_!!_#|.,g +s,@AMTAR@,|#_!!_#|${SHELL} /media/disk-3/src/compiz/missing --run tar,g +s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g +s,@am__untar@,|#_!!_#|${AMTAR} xf -,g +s,@USE_NLS@,|#_!!_#|yes,g +s,@INTLTOOL_UPDATE@,|#_!!_#|/usr/bin/intltool-update,g +s,@INTLTOOL_MERGE@,|#_!!_#|/usr/bin/intltool-merge,g +s,@INTLTOOL_EXTRACT@,|#_!!_#|/usr/bin/intltool-extract,g +s,@INTLTOOL_DESKTOP_RULE@,|#_!!_#|%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_DIRECTORY_RULE@,|#_!!_#|%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_KEYS_RULE@,|#_!!_#|%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_PROP_RULE@,|#_!!_#|%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_OAF_RULE@,|#_!!_#|%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_PONG_RULE@,|#_!!_#|%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_SERVER_RULE@,|#_!!_#|%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_SHEET_RULE@,|#_!!_#|%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_SOUNDLIST_RULE@,|#_!!_#|%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_UI_RULE@,|#_!!_#|%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_XAM_RULE@,|#_!!_#|%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_KBD_RULE@,|#_!!_#|%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_XML_RULE@,|#_!!_#|%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_XML_NOMERGE_RULE@,|#_!!_#|%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@|#_!!_#|,g +s,@INTLTOOL_CAVES_RULE@,|#_!!_#|%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_SCHEMAS_RULE@,|#_!!_#|%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_THEME_RULE@,|#_!!_#|%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_SERVICE_RULE@,|#_!!_#|%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@INTLTOOL_POLICY_RULE@,|#_!!_#|%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@|#_!!_#|,g +s,@XGETTEXT@,|#_!!_#|/usr/bin/xgettext,g +s,@MSGMERGE@,|#_!!_#|/usr/bin/msgmerge,g +s,@MSGFMT@,|#_!!_#|/usr/bin/msgfmt,g +s,@GMSGFMT@,|#_!!_#|/usr/bin/msgfmt,g +s,@INTLTOOL_PERL@,|#_!!_#|/usr/bin/perl,g +s,@ALL_LINGUAS@,|#_!!_#|cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu,g +s,@CC@,|#_!!_#|gcc,g +s,@CFLAGS@,|#_!!_#|-g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2,g +s,@LDFLAGS@,|#_!!_#|,g +s,@CPPFLAGS@,|#_!!_#|,g +s,@ac_ct_CC@,|#_!!_#|gcc,g +s,@EXEEXT@,|#_!!_#|,g +CEOF +cat >"$tmp/subs-2.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@OBJEXT@,|#_!!_#|o,g +s,@DEPDIR@,|#_!!_#|.deps,g +s,@am__include@,|#_!!_#|include,g +s,@am__quote@,|#_!!_#|,g +s,@AMDEP_TRUE@,|#_!!_#|,g +s,@AMDEP_FALSE@,|#_!!_#|#,g +s,@AMDEPBACKSLASH@,|#_!!_#|\\,g +s,@CCDEPMODE@,|#_!!_#|depmode=gcc3,g +s,@am__fastdepCC_TRUE@,|#_!!_#|,g +s,@am__fastdepCC_FALSE@,|#_!!_#|#,g +s,@DATADIRNAME@,|#_!!_#|share,g +s,@MAINTAINER_MODE_TRUE@,|#_!!_#|,g +s,@MAINTAINER_MODE_FALSE@,|#_!!_#|#,g +s,@MAINT@,|#_!!_#|,g +s,@CPP@,|#_!!_#|gcc -E,g +s,@CXX@,|#_!!_#|g++,g +s,@CXXFLAGS@,|#_!!_#|-g -O2 -Wall -D_FORTIFY_SOURCE=2,g +s,@ac_ct_CXX@,|#_!!_#|g++,g +s,@CXXDEPMODE@,|#_!!_#|depmode=gcc3,g +s,@am__fastdepCXX_TRUE@,|#_!!_#|,g +s,@am__fastdepCXX_FALSE@,|#_!!_#|#,g +s,@LIBTOOL@,|#_!!_#|$(SHELL) $(top_builddir)/libtool,g +s,@build@,|#_!!_#|i686-pc-linux-gnu,g +s,@build_cpu@,|#_!!_#|i686,g +s,@build_vendor@,|#_!!_#|pc,g +s,@build_os@,|#_!!_#|linux-gnu,g +s,@host@,|#_!!_#|i686-pc-linux-gnu,g +s,@host_cpu@,|#_!!_#|i686,g +s,@host_vendor@,|#_!!_#|pc,g +s,@host_os@,|#_!!_#|linux-gnu,g +s,@SED@,|#_!!_#|/bin/sed,g +s,@GREP@,|#_!!_#|/bin/grep,g +s,@EGREP@,|#_!!_#|/bin/grep -E,g +s,@FGREP@,|#_!!_#|/bin/grep -F,g +s,@LD@,|#_!!_#|/usr/bin/ld,g +s,@DUMPBIN@,|#_!!_#|,g +s,@ac_ct_DUMPBIN@,|#_!!_#|,g +s,@NM@,|#_!!_#|/usr/bin/nm -B,g +s,@LN_S@,|#_!!_#|ln -s,g +s,@AR@,|#_!!_#|ar,g +s,@RANLIB@,|#_!!_#|ranlib,g +s,@lt_ECHO@,|#_!!_#|echo,g +s,@DSYMUTIL@,|#_!!_#|,g +s,@NMEDIT@,|#_!!_#|,g +s,@LIPO@,|#_!!_#|,g +s,@OTOOL@,|#_!!_#|,g +s,@OTOOL64@,|#_!!_#|,g +s,@CXXCPP@,|#_!!_#|g++ -E,g +s,@MSGFMT_OPTS@,|#_!!_#|-c,g +s,@CATALOGS@,|#_!!_#| cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo,g +s,@CATOBJEXT@,|#_!!_#|.gmo,g +s,@GMOFILES@,|#_!!_#| cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo,g +s,@INSTOBJEXT@,|#_!!_#|.mo,g +s,@INTLLIBS@,|#_!!_#|,g +s,@PO_IN_DATADIR_TRUE@,|#_!!_#|,g +s,@PO_IN_DATADIR_FALSE@,|#_!!_#|,g +s,@POFILES@,|#_!!_#| cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po,g +s,@POSUB@,|#_!!_#|po,g +s,@MKINSTALLDIRS@,|#_!!_#|./mkinstalldirs,g +s,@GETTEXT_PACKAGE@,|#_!!_#|ecomp,g +s,@plugindir@,|#_!!_#|${exec_prefix}/lib/ecomp,g +s,@default_plugins@,|#_!!_#|,g +s,@imagedir@,|#_!!_#|${datarootdir}/ecomp,g +s,@metadatadir@,|#_!!_#|${datarootdir}/ecomp,g +s,@PKG_CONFIG@,|#_!!_#|/usr/bin/pkg-config,g +s,@ECOMP_CFLAGS@,|#_!!_#|-I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ,g +s,@ECOMP_LIBS@,|#_!!_#|-lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 ,g +s,@ECOMP_REQUIRES@,|#_!!_#|xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango,g +s,@DECORATION_CFLAGS@,|#_!!_#| ,g +s,@DECORATION_LIBS@,|#_!!_#|-lXrender -lX11 ,g +s,@DECORATION_REQUIRES@,|#_!!_#|xrender,g +s,@GL_CFLAGS@,|#_!!_#|,g +s,@GL_LIBS@,|#_!!_#|-lGL,g +s,@XSLTPROC@,|#_!!_#|xsltproc,g +s,@LIBPNG_CFLAGS@,|#_!!_#|-I/usr/include/libpng12 ,g +s,@LIBPNG_LIBS@,|#_!!_#|-lpng12 ,g +s,@stylesheetdir@,|#_!!_#|${datarootdir}/ecomp,g +s,@PLACE_PLUGIN_TRUE@,|#_!!_#|#,g +s,@PLACE_PLUGIN_FALSE@,|#_!!_#|,g +s,@DBUS_CFLAGS@,|#_!!_#|-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 ,g +s,@DBUS_LIBS@,|#_!!_#|-L//lib -ldbus-1 -lxml2 ,g +s,@DBUS_PLUGIN_TRUE@,|#_!!_#|,g +s,@DBUS_PLUGIN_FALSE@,|#_!!_#|#,g +s,@INOTIFY_PLUGIN_TRUE@,|#_!!_#|,g +s,@INOTIFY_PLUGIN_FALSE@,|#_!!_#|#,g +s,@FUSE_CFLAGS@,|#_!!_#|,g +s,@FUSE_LIBS@,|#_!!_#|,g +s,@FUSE_PLUGIN_TRUE@,|#_!!_#|#,g +s,@FUSE_PLUGIN_FALSE@,|#_!!_#|,g +s,@ANNOTATE_CFLAGS@,|#_!!_#|-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 ,g +s,@ANNOTATE_LIBS@,|#_!!_#|-lXrender -lcairo -lX11 ,g +s,@ANNOTATE_PLUGIN_TRUE@,|#_!!_#|,g +s,@ANNOTATE_PLUGIN_FALSE@,|#_!!_#|#,g +s,@LIBRSVG_CFLAGS@,|#_!!_#|,g +s,@LIBRSVG_LIBS@,|#_!!_#|,g +s,@USE_LIBRSVG_TRUE@,|#_!!_#|#,g +s,@USE_LIBRSVG_FALSE@,|#_!!_#|,g +CEOF +cat >"$tmp/subs-3.sed" <<\CEOF +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +s,@CAIRO_CFLAGS@,|#_!!_#|-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 ,g +s,@CAIRO_LIBS@,|#_!!_#|-lXrender -lX11 -lcairo ,g +s,@PANGO_CFLAGS@,|#_!!_#|-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ,g +s,@PANGO_LIBS@,|#_!!_#|-lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo ,g +s,@TEXT_PLUGIN_TRUE@,|#_!!_#|,g +s,@TEXT_PLUGIN_FALSE@,|#_!!_#|#,g +s,@WALL_PLUGIN_TRUE@,|#_!!_#|,g +s,@WALL_PLUGIN_FALSE@,|#_!!_#|#,g +s,@JPEG_PLUGIN_TRUE@,|#_!!_#|,g +s,@JPEG_PLUGIN_FALSE@,|#_!!_#|#,g +s,@LIBXSLT_CFLAGS@,|#_!!_#|-I/usr/include/libxml2 ,g +s,@LIBXSLT_LIBS@,|#_!!_#|-lxslt -lxml2 ,g +s,@xsltdir@,|#_!!_#|${datarootdir}/bcop,g +s,@BCOP_BIN@,|#_!!_#|../bcop/src/bcop.in,g +s,@LIBOBJS@,|#_!!_#|,g +s,@LTLIBOBJS@,|#_!!_#|,g +:end +s/|#_!!_#|//g +CEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + ac_datarootdir_hack=' + s&@datadir@&${datarootdir}&g + s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g + s&@infodir@&${datarootdir}/info&g + s&@localedir@&${datarootdir}/locale&g + s&@mandir@&${datarootdir}/man&g + s&\${datarootdir}&${prefix}/share&g' ;; +esac + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # + # First, check the format of the line: + cat >"$tmp/defines.sed" <<\CEOF +/^[ ]*#[ ]*undef[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ ]*$/b def +/^[ ]*#[ ]*define[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[( ]/b def +b +:def +s/$/ / +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_NAME\)[ (].*,\1define\2 "ecomp" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_TARNAME\)[ (].*,\1define\2 "ecomp" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "0.6.2" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "ecomp 0.6.2" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_BUGREPORT\)[ (].*,\1define\2 "davidr@novell.com" , +s,^\([ #]*\)[^ ]*\([ ]*PACKAGE\)[ (].*,\1define\2 "ecomp" , +s,^\([ #]*\)[^ ]*\([ ]*VERSION\)[ (].*,\1define\2 "0.6.2" , +s,^\([ #]*\)[^ ]*\([ ]*DECOR_INTERFACE_VERSION\)[ (].*,\1define\2 20070319 , +s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_TYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_STAT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMORY_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRINGS_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_INTTYPES_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDINT_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_DLFCN_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*LT_OBJDIR\)[ (].*,\1define\2 ".libs/" , +s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_TIME_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LOCALE_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_LC_MESSAGES\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_BIND_TEXTDOMAIN_CODESET\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_GETTEXT\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_DCGETTEXT\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*ENABLE_NLS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*GETTEXT_PACKAGE\)[ (].*,\1define\2 "ecomp" , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_XRENDER_0_9_3\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*USE_DBUS\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_INOTIFY_H\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*USE_INOTIFY\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*USE_ANNOTATE\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*USE_TEXT\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*USE_WALL\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*USE_JPEG\)[ (].*,\1define\2 1 , +s,^\([ #]*\)[^ ]*\([ ]*MAX_DESKTOPS\)[ (].*,\1define\2 36 , +s/ $// +s,^[ #]*u.*,/* & */, +CEOF + sed -f "$tmp/defines.sed" $ac_file_inputs >"$tmp/out1" +ac_result="$tmp/out1" + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_arg=$ac_file +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "libtool":C) + + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +# The names of the tagged configurations supported by this script. +available_tags="CXX " + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that does not interpret backslashes. +ECHO=$lt_ECHO + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain="$ac_aux_dir/ltmain.sh" + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[^=]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$@"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1=\$$1\$2" +} + +_LT_EOF + ;; + esac + + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac ;; + "po/stamp-it":C) + if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" ; then + { { echo "$as_me:$LINENO: error: po/Makefile.in.in was not created by intltoolize." >&5 +echo "$as_me: error: po/Makefile.in.in was not created by intltoolize." >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" + >"po/stamp-it.tmp" + sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" + + sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r po/POTFILES + } + ' "po/Makefile.in" >"po/Makefile" + rm -f "po/Makefile.tmp" + mv "po/stamp-it.tmp" "po/stamp-it" + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } diff --git a/config.sub b/config.sub new file mode 100755 index 0000000..6759825 --- /dev/null +++ b/config.sub @@ -0,0 +1,1658 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. + +timestamp='2008-01-16' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/configure b/configure new file mode 100755 index 0000000..b7fc29c --- /dev/null +++ b/configure @@ -0,0 +1,23104 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for ecomp 0.6.2. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +ECHO=${lt_ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +$* +_LT_EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi + + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi + fi + fi + fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='ecomp' +PACKAGE_TARNAME='ecomp' +PACKAGE_VERSION='0.6.2' +PACKAGE_STRING='ecomp 0.6.2' +PACKAGE_BUGREPORT='davidr@novell.com' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +ECOMP_VERSION_MAJOR +ECOMP_VERSION_MINOR +ECOMP_VERSION_MICRO +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +am__isrc +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +AMTAR +am__tar +am__untar +USE_NLS +INTLTOOL_UPDATE +INTLTOOL_MERGE +INTLTOOL_EXTRACT +INTLTOOL_DESKTOP_RULE +INTLTOOL_DIRECTORY_RULE +INTLTOOL_KEYS_RULE +INTLTOOL_PROP_RULE +INTLTOOL_OAF_RULE +INTLTOOL_PONG_RULE +INTLTOOL_SERVER_RULE +INTLTOOL_SHEET_RULE +INTLTOOL_SOUNDLIST_RULE +INTLTOOL_UI_RULE +INTLTOOL_XAM_RULE +INTLTOOL_KBD_RULE +INTLTOOL_XML_RULE +INTLTOOL_XML_NOMERGE_RULE +INTLTOOL_CAVES_RULE +INTLTOOL_SCHEMAS_RULE +INTLTOOL_THEME_RULE +INTLTOOL_SERVICE_RULE +INTLTOOL_POLICY_RULE +XGETTEXT +MSGMERGE +MSGFMT +GMSGFMT +INTLTOOL_PERL +ALL_LINGUAS +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +DATADIRNAME +MAINTAINER_MODE_TRUE +MAINTAINER_MODE_FALSE +MAINT +CPP +CXX +CXXFLAGS +ac_ct_CXX +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +LIBTOOL +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +SED +GREP +EGREP +FGREP +LD +DUMPBIN +ac_ct_DUMPBIN +NM +LN_S +AR +RANLIB +lt_ECHO +DSYMUTIL +NMEDIT +LIPO +OTOOL +OTOOL64 +CXXCPP +MSGFMT_OPTS +CATALOGS +CATOBJEXT +GMOFILES +INSTOBJEXT +INTLLIBS +PO_IN_DATADIR_TRUE +PO_IN_DATADIR_FALSE +POFILES +POSUB +MKINSTALLDIRS +GETTEXT_PACKAGE +plugindir +default_plugins +imagedir +metadatadir +PKG_CONFIG +ECOMP_CFLAGS +ECOMP_LIBS +ECOMP_REQUIRES +DECORATION_CFLAGS +DECORATION_LIBS +DECORATION_REQUIRES +GL_CFLAGS +GL_LIBS +XSLTPROC +LIBPNG_CFLAGS +LIBPNG_LIBS +stylesheetdir +PLACE_PLUGIN_TRUE +PLACE_PLUGIN_FALSE +DBUS_CFLAGS +DBUS_LIBS +DBUS_PLUGIN_TRUE +DBUS_PLUGIN_FALSE +INOTIFY_PLUGIN_TRUE +INOTIFY_PLUGIN_FALSE +FUSE_CFLAGS +FUSE_LIBS +FUSE_PLUGIN_TRUE +FUSE_PLUGIN_FALSE +ANNOTATE_CFLAGS +ANNOTATE_LIBS +ANNOTATE_PLUGIN_TRUE +ANNOTATE_PLUGIN_FALSE +LIBRSVG_CFLAGS +LIBRSVG_LIBS +USE_LIBRSVG_TRUE +USE_LIBRSVG_FALSE +CAIRO_CFLAGS +CAIRO_LIBS +PANGO_CFLAGS +PANGO_LIBS +TEXT_PLUGIN_TRUE +TEXT_PLUGIN_FALSE +WALL_PLUGIN_TRUE +WALL_PLUGIN_FALSE +JPEG_PLUGIN_TRUE +JPEG_PLUGIN_FALSE +LIBXSLT_CFLAGS +LIBXSLT_LIBS +xsltdir +BCOP_BIN +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CXX +CXXFLAGS +CCC +CXXCPP +PKG_CONFIG +ECOMP_CFLAGS +ECOMP_LIBS +DECORATION_CFLAGS +DECORATION_LIBS +LIBPNG_CFLAGS +LIBPNG_LIBS +DBUS_CFLAGS +DBUS_LIBS +FUSE_CFLAGS +FUSE_LIBS +ANNOTATE_CFLAGS +ANNOTATE_LIBS +LIBRSVG_CFLAGS +LIBRSVG_LIBS +CAIRO_CFLAGS +CAIRO_LIBS +PANGO_CFLAGS +PANGO_LIBS +LIBXSLT_CFLAGS +LIBXSLT_LIBS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures ecomp 0.6.2 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/ecomp] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of ecomp 0.6.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-nls do not use Native Language Support + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --disable-dbus Disable dbus plugin + --disable-inotify Disable inotify plugin + --disable-fuse Disable fuse plugin + --disable-annotate Disable annotate plugin + --disable-librsvg Disable svg support + --disable-jpeg Disable jpeg plugin + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-default-plugins=PLUGINS + --with-gl-cflags=CFLAGS + --with-gl-libs=LIBS + --with-max-desktops Max reasonable desktops + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + PKG_CONFIG path to pkg-config utility + ECOMP_CFLAGS + C compiler flags for ECOMP, overriding pkg-config + ECOMP_LIBS linker flags for ECOMP, overriding pkg-config + DECORATION_CFLAGS + C compiler flags for DECORATION, overriding pkg-config + DECORATION_LIBS + linker flags for DECORATION, overriding pkg-config + LIBPNG_CFLAGS + C compiler flags for LIBPNG, overriding pkg-config + LIBPNG_LIBS linker flags for LIBPNG, overriding pkg-config + DBUS_CFLAGS C compiler flags for DBUS, overriding pkg-config + DBUS_LIBS linker flags for DBUS, overriding pkg-config + FUSE_CFLAGS C compiler flags for FUSE, overriding pkg-config + FUSE_LIBS linker flags for FUSE, overriding pkg-config + ANNOTATE_CFLAGS + C compiler flags for ANNOTATE, overriding pkg-config + ANNOTATE_LIBS + linker flags for ANNOTATE, overriding pkg-config + LIBRSVG_CFLAGS + C compiler flags for LIBRSVG, overriding pkg-config + LIBRSVG_LIBS + linker flags for LIBRSVG, overriding pkg-config + CAIRO_CFLAGS + C compiler flags for CAIRO, overriding pkg-config + CAIRO_LIBS linker flags for CAIRO, overriding pkg-config + PANGO_CFLAGS + C compiler flags for PANGO, overriding pkg-config + PANGO_LIBS linker flags for PANGO, overriding pkg-config + LIBXSLT_CFLAGS + C compiler flags for LIBXSLT, overriding pkg-config + LIBXSLT_LIBS + linker flags for LIBXSLT, overriding pkg-config + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +ecomp configure 0.6.2 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by ecomp $as_me 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ECOMP_VERSION_MAJOR=0 +ECOMP_VERSION_MINOR=6 +ECOMP_VERSION_MICRO=2 + + + + +am__api_version='1.10' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS + +fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +echo "${ECHO_T}$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='ecomp' + VERSION='0.6.2' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h" + + + { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 +echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { echo "$as_me:$LINENO: result: $USE_NLS" >&5 +echo "${ECHO_T}$USE_NLS" >&6; } + + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + + +case "$am__api_version" in + 1.01234) + { { echo "$as_me:$LINENO: error: Automake 1.5 or newer is required to use intltool" >&5 +echo "$as_me: error: Automake 1.5 or newer is required to use intltool" >&2;} + { (exit 1); exit 1; }; } + ;; + *) + ;; +esac + +if test -n "0.23"; then + { echo "$as_me:$LINENO: checking for intltool >= 0.23" >&5 +echo $ECHO_N "checking for intltool >= 0.23... $ECHO_C" >&6; } + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.23 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` + INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + + { echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found" >&5 +echo "${ECHO_T}$INTLTOOL_APPLIED_VERSION found" >&6; } + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + { { echo "$as_me:$LINENO: error: Your intltool is too old. You need intltool 0.23 or later." >&5 +echo "$as_me: error: Your intltool is too old. You need intltool 0.23 or later." >&2;} + { (exit 1); exit 1; }; } +fi + +# Extract the first word of "intltool-update", so it can be a program name with args. +set dummy intltool-update; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_UPDATE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_UPDATE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE +if test -n "$INTLTOOL_UPDATE"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_UPDATE" >&5 +echo "${ECHO_T}$INTLTOOL_UPDATE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "intltool-merge", so it can be a program name with args. +set dummy intltool-merge; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_MERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_MERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE +if test -n "$INTLTOOL_MERGE"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_MERGE" >&5 +echo "${ECHO_T}$INTLTOOL_MERGE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "intltool-extract", so it can be a program name with args. +set dummy intltool-extract; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_EXTRACT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_EXTRACT in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT +if test -n "$INTLTOOL_EXTRACT"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_EXTRACT" >&5 +echo "${ECHO_T}$INTLTOOL_EXTRACT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then + { { echo "$as_me:$LINENO: error: The intltool scripts were not found. Please install intltool." >&5 +echo "$as_me: error: The intltool scripts were not found. Please install intltool." >&2;} + { (exit 1); exit 1; }; } +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + + + + + + + + + + + + + + + + + + + + + +# Check the gettext tools to make sure they are GNU +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $XGETTEXT in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +XGETTEXT=$ac_cv_path_XGETTEXT +if test -n "$XGETTEXT"; then + { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGMERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MSGMERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +MSGMERGE=$ac_cv_path_MSGMERGE +if test -n "$MSGMERGE"; then + { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 +echo "${ECHO_T}$MSGMERGE" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +MSGFMT=$ac_cv_path_MSGFMT +if test -n "$MSGFMT"; then + { echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +# Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then + { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5 +echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then + { { echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5 +echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi + +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $INTLTOOL_PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL +if test -n "$INTLTOOL_PERL"; then + { echo "$as_me:$LINENO: result: $INTLTOOL_PERL" >&5 +echo "${ECHO_T}$INTLTOOL_PERL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +if test -z "$INTLTOOL_PERL"; then + { { echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5 +echo "$as_me: error: perl not found; required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then + { { echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5 +echo "$as_me: error: perl 5.x required for intltool" >&2;} + { (exit 1); exit 1; }; } +fi +if test "x" != "xno-xml"; then + { echo "$as_me:$LINENO: checking for XML::Parser" >&5 +echo $ECHO_N "checking for XML::Parser... $ECHO_C" >&6; } + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + { { echo "$as_me:$LINENO: error: XML::Parser perl module is required for intltool" >&5 +echo "$as_me: error: XML::Parser perl module is required for intltool" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# Substitute ALL_LINGUAS so we can use it in po/Makefile + + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + DATADIRNAME=share +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + case $host in + *-*-solaris*) + { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 +echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } +if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. + For example, HP-UX 11i declares gettimeofday. */ +#define bind_textdomain_codeset innocuous_bind_textdomain_codeset + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bind_textdomain_codeset (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef bind_textdomain_codeset + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bind_textdomain_codeset (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset +choke me +#endif + +int +main () +{ +return bind_textdomain_codeset (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_bind_textdomain_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_bind_textdomain_codeset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 +echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } +if test $ac_cv_func_bind_textdomain_codeset = yes; then + DATADIRNAME=share +else + DATADIRNAME=lib +fi + + ;; + *) + DATADIRNAME=lib + ;; + esac +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi + + + + + +{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + +cat >>confdefs.h <<\_ACEOF +#define DECOR_INTERFACE_VERSION 20070319 +_ACEOF + + +{ echo "$as_me:$LINENO: checking for library containing strerror" >&5 +echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; } +if test "${ac_cv_search_strerror+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (); +int +main () +{ +return strerror (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cposix; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_strerror=$ac_res +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_strerror+set}" = set; then + break +fi +done +if test "${ac_cv_search_strerror+set}" = set; then + : +else + ac_cv_search_strerror=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +echo "${ECHO_T}$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +case `pwd` in + *\ * | *\ *) + { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.2.4' +macro_revision='1.2976' + + + + + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${ac_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" | sed 99q >conftest.sed + $as_unset ac_script || ac_script= + # Extract the first word of "sed gsed" to use in msg output +if test -z "$SED"; then +set dummy sed gsed; ac_prog_name=$2 +if test "${ac_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_SED_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue + # Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_SED_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +SED="$ac_cv_path_SED" +if test -z "$SED"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in \$PATH" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_SED=$SED +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 +echo "${ECHO_T}$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for fgrep" >&5 +echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; } +if test "${ac_cv_path_FGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + # Extract the first word of "fgrep" to use in msg output +if test -z "$FGREP"; then +set dummy fgrep; ac_prog_name=$2 +if test "${ac_cv_path_FGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_FGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue + # Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_FGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +FGREP="$ac_cv_path_FGREP" +if test -z "$FGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_FGREP=$FGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 +echo "${ECHO_T}$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 +echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$ac_tool_prefix"; then + for ac_prog in "dumpbin -symbols" "link -dump -symbols" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DUMPBIN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { echo "$as_me:$LINENO: result: $DUMPBIN" >&5 +echo "${ECHO_T}$DUMPBIN" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in "dumpbin -symbols" "link -dump -symbols" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 +echo "${ECHO_T}$ac_ct_DUMPBIN" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 +echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6; } +if test "${lt_cv_nm_interface+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:6633: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:6636: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:6639: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 +echo "${ECHO_T}$lt_cv_nm_interface" >&6; } + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +{ echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 +echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ echo "$as_me:$LINENO: result: $xsi_shell" >&5 +echo "${ECHO_T}$xsi_shell" >&6; } + + +{ echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 +echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ echo "$as_me:$LINENO: result: $lt_shell_append" >&5 +echo "${ECHO_T}$lt_shell_append" >&6; } + + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + + + + + + + + + + + + + + + + + + + + + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 7749 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_DSYMUTIL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 +echo "${ECHO_T}$DSYMUTIL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 +echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_NMEDIT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { echo "$as_me:$LINENO: result: $NMEDIT" >&5 +echo "${ECHO_T}$NMEDIT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 +echo "${ECHO_T}$ac_ct_NMEDIT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_LIPO+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { echo "$as_me:$LINENO: result: $LIPO" >&5 +echo "${ECHO_T}$LIPO" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_LIPO="lipo" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 +echo "${ECHO_T}$ac_ct_LIPO" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { echo "$as_me:$LINENO: result: $OTOOL" >&5 +echo "${ECHO_T}$OTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OTOOL="otool" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 +echo "${ECHO_T}$ac_ct_OTOOL" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_OTOOL64+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { echo "$as_me:$LINENO: result: $OTOOL64" >&5 +echo "${ECHO_T}$OTOOL64" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 +echo "${ECHO_T}$ac_ct_OTOOL64" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 +echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; } +if test "${lt_cv_apple_cc_single_mod+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 +echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; } + { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 +echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; } +if test "${lt_cv_ld_exported_symbols_list+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_ld_exported_symbols_list=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_ld_exported_symbols_list=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 +echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + _lt_caught_CXX_error=yes +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + + +test -z "$pic_mode" && pic_mode=default + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + + + + + + + + + + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:10071: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:10075: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl*) + # IBM XL C 8.0/Fortran 10.1 on PPC + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + + + + + + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:10395: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:10399: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; } + +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:10500: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:10504: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:10555: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:10559: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag= + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld='-rpath $libdir' + archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + allow_undefined_flag="$_lt_dar_allow_undefined" + if test "$GCC" = "yes"; then + output_verbose_link_cmd=echo + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat >conftest.$ac_ext <<_ACEOF +int foo(void) {} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then + shlibpath_overrides_runpath=yes +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line 13316 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +_LT_EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line 13416 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +_LT_EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report which library types will actually be built + { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + + { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + + { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + compiler=$CC + compiler_CXX=$CC + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + if test "$GCC" = "yes"; then + output_verbose_link_cmd=echo + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + gnu*) + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5]* | *pgcpp\ [1-5]*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=echo + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no + + GCC_CXX="$GXX" + LD_CXX="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc* ) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC*) + # IBM XL 8.0 on PPC + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + + + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15419: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:15423: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15518: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:15522: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15570: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:15574: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then + shlibpath_overrides_runpath=yes +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + + + +for ac_header in stdlib.h sys/time.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------- ## +## Report this to davidr@novell.com ## +## -------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +ALL_LINGUAS="cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu" + + + +for ac_header in locale.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------- ## +## Report this to davidr@novell.com ## +## -------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + if test $ac_cv_header_locale_h = yes; then + { echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 +echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6; } +if test "${am_cv_val_LC_MESSAGES+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +return LC_MESSAGES + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + am_cv_val_LC_MESSAGES=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + am_cv_val_LC_MESSAGES=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 +echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6; } + if test $am_cv_val_LC_MESSAGES = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LC_MESSAGES 1 +_ACEOF + + fi + fi + USE_NLS=yes + + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + if test "${ac_cv_header_libintl_h+set}" = set; then + { echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking libintl.h usability" >&5 +echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking libintl.h presence" >&5 +echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------- ## +## Report this to davidr@novell.com ## +## -------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for libintl.h" >&5 +echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6; } +if test "${ac_cv_header_libintl_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_libintl_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5 +echo "${ECHO_T}$ac_cv_header_libintl_h" >&6; } + +fi +if test $ac_cv_header_libintl_h = yes; then + gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + # + # First check in libc + # + { echo "$as_me:$LINENO: checking for ngettext in libc" >&5 +echo $ECHO_N "checking for ngettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_ngettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include + +int +main () +{ +return !ngettext ("","", 1) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + gt_cv_func_ngettext_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_ngettext_libc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $gt_cv_func_ngettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_ngettext_libc" >&6; } + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + { echo "$as_me:$LINENO: checking for dgettext in libc" >&5 +echo $ECHO_N "checking for dgettext in libc... $ECHO_C" >&6; } +if test "${gt_cv_func_dgettext_libc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#include + +int +main () +{ +return !dgettext ("","") + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + gt_cv_func_dgettext_libc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + gt_cv_func_dgettext_libc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5 +echo "${ECHO_T}$gt_cv_func_dgettext_libc" >&6; } + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + +for ac_func in bind_textdomain_codeset +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + { echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5 +echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bindtextdomain (); +int +main () +{ +return bindtextdomain (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_bindtextdomain=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_bindtextdomain=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6; } +if test $ac_cv_lib_intl_bindtextdomain = yes; then + { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 +echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_ngettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); +int +main () +{ +return ngettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_ngettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_ngettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } +if test $ac_cv_lib_intl_ngettext = yes; then + { echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5 +echo $ECHO_N "checking for dgettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_dgettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dgettext (); +int +main () +{ +return dgettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_dgettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_dgettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_dgettext" >&6; } +if test $ac_cv_lib_intl_dgettext = yes; then + gt_cv_func_dgettext_libintl=yes +fi + +fi + +fi + + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + { echo "$as_me:$LINENO: checking if -liconv is needed to use gettext" >&5 +echo $ECHO_N "checking if -liconv is needed to use gettext... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: " >&5 +echo "${ECHO_T}" >&6; } + { echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5 +echo $ECHO_N "checking for ngettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_ngettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); +int +main () +{ +return ngettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_ngettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_ngettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_ngettext" >&6; } +if test $ac_cv_lib_intl_ngettext = yes; then + { echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5 +echo $ECHO_N "checking for dcgettext in -lintl... $ECHO_C" >&6; } +if test "${ac_cv_lib_intl_dcgettext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dcgettext (); +int +main () +{ +return dcgettext (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_intl_dcgettext=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_intl_dcgettext=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_dcgettext" >&6; } +if test $ac_cv_lib_intl_dcgettext = yes; then + gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv +else + : +fi + +else + : +fi + + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + +for ac_func in bind_textdomain_codeset +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETTEXT 1 +_ACEOF + + # Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$MSGFMT" in + /*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then + ac_cv_path_MSGFMT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != "no"; then + { echo "$as_me:$LINENO: result: $MSGFMT" >&5 +echo "${ECHO_T}$MSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + +for ac_func in dcgettext +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + MSGFMT_OPTS= + { echo "$as_me:$LINENO: checking if msgfmt accepts -c" >&5 +echo $ECHO_N "checking if msgfmt accepts -c... $ECHO_C" >&6; } + cat >conftest.foo <<_ACEOF + +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +_ACEOF +if { (echo "$as_me:$LINENO: \$MSGFMT -c -o /dev/null conftest.foo") >&5 + ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + MSGFMT_OPTS=-c; { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +echo "$as_me: failed input was:" >&5 +sed 's/^/| /' conftest.foo >&5 +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { echo "$as_me:$LINENO: result: $GMSGFMT" >&5 +echo "${ECHO_T}$GMSGFMT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + # Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case "$XGETTEXT" in + /*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { echo "$as_me:$LINENO: result: $XGETTEXT" >&5 +echo "${ECHO_T}$XGETTEXT" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + CATOBJEXT=.gmo + DATADIRNAME=share +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + case $host in + *-*-solaris*) + { echo "$as_me:$LINENO: checking for bind_textdomain_codeset" >&5 +echo $ECHO_N "checking for bind_textdomain_codeset... $ECHO_C" >&6; } +if test "${ac_cv_func_bind_textdomain_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define bind_textdomain_codeset to an innocuous variant, in case declares bind_textdomain_codeset. + For example, HP-UX 11i declares gettimeofday. */ +#define bind_textdomain_codeset innocuous_bind_textdomain_codeset + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bind_textdomain_codeset (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef bind_textdomain_codeset + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bind_textdomain_codeset (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_bind_textdomain_codeset || defined __stub___bind_textdomain_codeset +choke me +#endif + +int +main () +{ +return bind_textdomain_codeset (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_bind_textdomain_codeset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_bind_textdomain_codeset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5 +echo "${ECHO_T}$ac_cv_func_bind_textdomain_codeset" >&6; } +if test $ac_cv_func_bind_textdomain_codeset = yes; then + CATOBJEXT=.gmo + DATADIRNAME=share +else + CATOBJEXT=.mo + DATADIRNAME=lib +fi + + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + +fi + + + + if test "$gt_cv_have_gettext" = "yes" ; then + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_NLS 1 +_ACEOF + + fi + + if test "$XGETTEXT" != ":"; then + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + { echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 +echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6; } + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + + ac_config_commands="$ac_config_commands default-1" + + + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + + + + + + + + + + + + + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + { echo "$as_me:$LINENO: checking for catalogs to be installed" >&5 +echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6; } + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + { echo "$as_me:$LINENO: result: $LINGUAS" >&5 +echo "${ECHO_T}$LINGUAS" >&6; } + fi + + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + + + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + +GETTEXT_PACKAGE=ecomp + +cat >>confdefs.h <<_ACEOF +#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" +_ACEOF + + + +if test "x$GCC" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wall" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wpointer-arith[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wpointer-arith" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wstrict-prototypes[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wstrict-prototypes" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wmissing-prototypes[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wmissing-prototypes" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wmissing-declarations[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wmissing-declarations" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-Wnested-externs[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -Wnested-externs" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-D_FORTIFY_SOURCE=2[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" ;; + esac + + if test "x$enable_ansi" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-ansi[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -ansi" ;; + esac + + case " $CFLAGS " in + *[\ \ ]-pedantic[\ \ ]*) ;; + *) CFLAGS="$CFLAGS -pedantic" ;; + esac + fi +fi + +if test "x$GCC" = "xyes"; then + case " $CXXFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) CXXFLAGS="$CXXFLAGS -Wall" ;; + esac + + case " $CXXFLAGS " in + *[\ \ ]-D_FORTIFY_SOURCE=2[\ \ ]*) ;; + *) CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2" ;; + esac +fi + +{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # See if sys/param.h defines the BYTE_ORDER macro. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) + bogus endian macros +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + # It does; now see whether it defined to BIG_ENDIAN or not. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_c_bigendian=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_bigendian=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # It does not; compile a test program. +if test "$cross_compiling" = yes; then + # try to guess the endianness by grepping values into an object file + ac_cv_c_bigendian=unknown + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; +void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +int +main () +{ + _ascii (); _ebcdic (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then + ac_cv_c_bigendian=yes +fi +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_bigendian=no +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } +case $ac_cv_c_bigendian in + yes) + +cat >>confdefs.h <<\_ACEOF +#define WORDS_BIGENDIAN 1 +_ACEOF + ;; + no) + ;; + *) + { { echo "$as_me:$LINENO: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +echo "$as_me: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + { (exit 1); exit 1; }; } ;; +esac + + +plugindir=$libdir/ecomp + + + +# Check whether --with-default-plugins was given. +if test "${with_default_plugins+set}" = set; then + withval=$with_default_plugins; default_plugins="$withval" +else + default_plugins="" +fi + + + +imagedir=$datadir/ecomp + + +metadatadir=$datadir/ecomp + + +ECOMP_REQUIRES="xcomposite \ + xfixes \ + xdamage \ + xrandr \ + xinerama \ + ice \ + sm \ + libxml-2.0 \ + libxslt \ + pango" + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 +echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 +echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + PKG_CONFIG="" + fi + +fi + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for ECOMP" >&5 +echo $ECHO_N "checking for ECOMP... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$ECOMP_CFLAGS"; then + pkg_cv_ECOMP_CFLAGS="$ECOMP_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$ECOMP_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$ECOMP_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ECOMP_CFLAGS=`$PKG_CONFIG --cflags "$ECOMP_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$ECOMP_LIBS"; then + pkg_cv_ECOMP_LIBS="$ECOMP_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$ECOMP_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$ECOMP_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ECOMP_LIBS=`$PKG_CONFIG --libs "$ECOMP_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + ECOMP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$ECOMP_REQUIRES"` + else + ECOMP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$ECOMP_REQUIRES"` + fi + # Put the nasty error message in config.log where it belongs + echo "$ECOMP_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements ($ECOMP_REQUIRES) were not met: + +$ECOMP_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements ($ECOMP_REQUIRES) were not met: + +$ECOMP_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables ECOMP_CFLAGS +and ECOMP_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + ECOMP_CFLAGS=$pkg_cv_ECOMP_CFLAGS + ECOMP_LIBS=$pkg_cv_ECOMP_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + +DECORATION_REQUIRES="xrender" + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for DECORATION" >&5 +echo $ECHO_N "checking for DECORATION... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$DECORATION_CFLAGS"; then + pkg_cv_DECORATION_CFLAGS="$DECORATION_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$DECORATION_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$DECORATION_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DECORATION_CFLAGS=`$PKG_CONFIG --cflags "$DECORATION_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$DECORATION_LIBS"; then + pkg_cv_DECORATION_LIBS="$DECORATION_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$DECORATION_REQUIRES\"") >&5 + ($PKG_CONFIG --exists --print-errors "$DECORATION_REQUIRES") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DECORATION_LIBS=`$PKG_CONFIG --libs "$DECORATION_REQUIRES" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DECORATION_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$DECORATION_REQUIRES"` + else + DECORATION_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$DECORATION_REQUIRES"` + fi + # Put the nasty error message in config.log where it belongs + echo "$DECORATION_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements ($DECORATION_REQUIRES) were not met: + +$DECORATION_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements ($DECORATION_REQUIRES) were not met: + +$DECORATION_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables DECORATION_CFLAGS +and DECORATION_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + DECORATION_CFLAGS=$pkg_cv_DECORATION_CFLAGS + DECORATION_LIBS=$pkg_cv_DECORATION_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + +if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xrender >= 0.9.3\"") >&5 + ($PKG_CONFIG --exists --print-errors "xrender >= 0.9.3") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + have_xrender_0_9_3=yes +else + have_xrender_0_9_3=no +fi + +if test "$have_xrender_0_9_3" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_XRENDER_0_9_3 1 +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for GL_CFLAGS" >&5 +echo $ECHO_N "checking for GL_CFLAGS... $ECHO_C" >&6; } + +# Check whether --with-gl-cflags was given. +if test "${with_gl_cflags+set}" = set; then + withval=$with_gl_cflags; GL_CFLAGS="$withval" +else + GL_CFLAGS="" +fi + + +{ echo "$as_me:$LINENO: result: $GL_CFLAGS" >&5 +echo "${ECHO_T}$GL_CFLAGS" >&6; } +{ echo "$as_me:$LINENO: checking for GL_LIBS" >&5 +echo $ECHO_N "checking for GL_LIBS... $ECHO_C" >&6; } + +# Check whether --with-gl-libs was given. +if test "${with_gl_libs+set}" = set; then + withval=$with_gl_libs; GL_LIBS="$withval" +else + GL_LIBS="-lGL" +fi + +{ echo "$as_me:$LINENO: result: $GL_LIBS" >&5 +echo "${ECHO_T}$GL_LIBS" >&6; } + + + + +for ac_prog in xsltproc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_XSLTPROC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$XSLTPROC"; then + ac_cv_prog_XSLTPROC="$XSLTPROC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_XSLTPROC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +XSLTPROC=$ac_cv_prog_XSLTPROC +if test -n "$XSLTPROC"; then + { echo "$as_me:$LINENO: result: $XSLTPROC" >&5 +echo "${ECHO_T}$XSLTPROC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$XSLTPROC" && break +done + +if test -z "$XSLTPROC"; then + { { echo "$as_me:$LINENO: error: Couldn't find xsltproc" >&5 +echo "$as_me: error: Couldn't find xsltproc" >&2;} + { (exit 1); exit 1; }; } +fi + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBPNG" >&5 +echo $ECHO_N "checking for LIBPNG... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBPNG_CFLAGS"; then + pkg_cv_LIBPNG_CFLAGS="$LIBPNG_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpng\"") >&5 + ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBPNG_CFLAGS=`$PKG_CONFIG --cflags "libpng" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBPNG_LIBS"; then + pkg_cv_LIBPNG_LIBS="$LIBPNG_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libpng\"") >&5 + ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBPNG_LIBS=`$PKG_CONFIG --libs "libpng" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBPNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libpng"` + else + LIBPNG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libpng"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBPNG_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (libpng) were not met: + +$LIBPNG_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (libpng) were not met: + +$LIBPNG_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBPNG_CFLAGS +and LIBPNG_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + LIBPNG_CFLAGS=$pkg_cv_LIBPNG_CFLAGS + LIBPNG_LIBS=$pkg_cv_LIBPNG_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi + + + + + + + + + +stylesheetdir=$datadir/ecomp + + + + + if test "x$use_place" = "xyes"; then + PLACE_PLUGIN_TRUE= + PLACE_PLUGIN_FALSE='#' +else + PLACE_PLUGIN_TRUE='#' + PLACE_PLUGIN_FALSE= +fi + +if test "$use_place" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_PLACE 1 +_ACEOF + +fi + +# Check whether --enable-dbus was given. +if test "${enable_dbus+set}" = set; then + enableval=$enable_dbus; use_dbus=$enableval +else + use_dbus=yes +fi + + +if test "x$use_dbus" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for DBUS" >&5 +echo $ECHO_N "checking for DBUS... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$DBUS_CFLAGS"; then + pkg_cv_DBUS_CFLAGS="$DBUS_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-1 libxml-2.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "dbus-1 libxml-2.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-1 libxml-2.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$DBUS_LIBS"; then + pkg_cv_DBUS_LIBS="$DBUS_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-1 libxml-2.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "dbus-1 libxml-2.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_DBUS_LIBS=`$PKG_CONFIG --libs "dbus-1 libxml-2.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "dbus-1 libxml-2.0"` + else + DBUS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "dbus-1 libxml-2.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$DBUS_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_dbus=no +elif test $pkg_failed = untried; then + use_dbus=no +else + DBUS_CFLAGS=$pkg_cv_DBUS_CFLAGS + DBUS_LIBS=$pkg_cv_DBUS_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_dbus=yes +fi +fi + + if test "x$use_dbus" = "xyes"; then + DBUS_PLUGIN_TRUE= + DBUS_PLUGIN_FALSE='#' +else + DBUS_PLUGIN_TRUE='#' + DBUS_PLUGIN_FALSE= +fi + +if test "$use_dbus" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_DBUS 1 +_ACEOF + +fi + + + + +# Check whether --enable-inotify was given. +if test "${enable_inotify+set}" = set; then + enableval=$enable_inotify; use_inotify=$enableval +else + use_inotify=yes +fi + + +if test "x$use_inotify" = "xyes"; then + +for ac_header in sys/inotify.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------- ## +## Report this to davidr@novell.com ## +## -------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + use_inotify=yes +else + use_inotify=no +fi + +done + +fi + + if test "x$use_inotify" = "xyes"; then + INOTIFY_PLUGIN_TRUE= + INOTIFY_PLUGIN_FALSE='#' +else + INOTIFY_PLUGIN_TRUE='#' + INOTIFY_PLUGIN_FALSE= +fi + +if test "$use_inotify" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_INOTIFY 1 +_ACEOF + +fi + +# Check whether --enable-fuse was given. +if test "${enable_fuse+set}" = set; then + enableval=$enable_fuse; use_fuse=$enableval +else + use_fuse=yes +fi + + +if test "x$use_fuse" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for FUSE" >&5 +echo $ECHO_N "checking for FUSE... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$FUSE_CFLAGS"; then + pkg_cv_FUSE_CFLAGS="$FUSE_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fuse\"") >&5 + ($PKG_CONFIG --exists --print-errors "fuse") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_FUSE_CFLAGS=`$PKG_CONFIG --cflags "fuse" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$FUSE_LIBS"; then + pkg_cv_FUSE_LIBS="$FUSE_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fuse\"") >&5 + ($PKG_CONFIG --exists --print-errors "fuse") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_FUSE_LIBS=`$PKG_CONFIG --libs "fuse" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FUSE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fuse"` + else + FUSE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fuse"` + fi + # Put the nasty error message in config.log where it belongs + echo "$FUSE_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_fuse=no +elif test $pkg_failed = untried; then + use_fuse=no +else + FUSE_CFLAGS=$pkg_cv_FUSE_CFLAGS + FUSE_LIBS=$pkg_cv_FUSE_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_fuse=yes +fi +fi + + if test "x$use_fuse" = "xyes"; then + FUSE_PLUGIN_TRUE= + FUSE_PLUGIN_FALSE='#' +else + FUSE_PLUGIN_TRUE='#' + FUSE_PLUGIN_FALSE= +fi + +if test "$use_fuse" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_FUSE 1 +_ACEOF + +fi + +# Check whether --enable-annotate was given. +if test "${enable_annotate+set}" = set; then + enableval=$enable_annotate; use_annotate=$enableval +else + use_annotate=yes +fi + + +if test "x$use_annotate" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for ANNOTATE" >&5 +echo $ECHO_N "checking for ANNOTATE... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$ANNOTATE_CFLAGS"; then + pkg_cv_ANNOTATE_CFLAGS="$ANNOTATE_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ANNOTATE_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$ANNOTATE_LIBS"; then + pkg_cv_ANNOTATE_LIBS="$ANNOTATE_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_ANNOTATE_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + ANNOTATE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender"` + else + ANNOTATE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender"` + fi + # Put the nasty error message in config.log where it belongs + echo "$ANNOTATE_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_annotate=no +elif test $pkg_failed = untried; then + use_annotate=no +else + ANNOTATE_CFLAGS=$pkg_cv_ANNOTATE_CFLAGS + ANNOTATE_LIBS=$pkg_cv_ANNOTATE_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_annotate=yes +fi +fi + + if test "x$use_annotate" = "xyes"; then + ANNOTATE_PLUGIN_TRUE= + ANNOTATE_PLUGIN_FALSE='#' +else + ANNOTATE_PLUGIN_TRUE='#' + ANNOTATE_PLUGIN_FALSE= +fi + +if test "$use_annotate" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_ANNOTATE 1 +_ACEOF + +fi + +# Check whether --enable-librsvg was given. +if test "${enable_librsvg+set}" = set; then + enableval=$enable_librsvg; use_librsvg=$enableval +else + use_librsvg=yes +fi + + +if test "x$use_librsvg" = "xyes"; then + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBRSVG" >&5 +echo $ECHO_N "checking for LIBRSVG... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBRSVG_CFLAGS"; then + pkg_cv_LIBRSVG_CFLAGS="$LIBRSVG_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.0 librsvg-2.0 >= 2.14.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBRSVG_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.0 librsvg-2.0 >= 2.14.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBRSVG_LIBS"; then + pkg_cv_LIBRSVG_LIBS="$LIBRSVG_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo >= 1.0 librsvg-2.0 >= 2.14.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBRSVG_LIBS=`$PKG_CONFIG --libs "cairo >= 1.0 librsvg-2.0 >= 2.14.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0"` + else + LIBRSVG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.0 librsvg-2.0 >= 2.14.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBRSVG_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + use_librsvg=no +elif test $pkg_failed = untried; then + use_librsvg=no +else + LIBRSVG_CFLAGS=$pkg_cv_LIBRSVG_CFLAGS + LIBRSVG_LIBS=$pkg_cv_LIBRSVG_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + use_librsvg=yes +fi +fi + + if test "x$use_librsvg" = "xyes"; then + USE_LIBRSVG_TRUE= + USE_LIBRSVG_FALSE='#' +else + USE_LIBRSVG_TRUE='#' + USE_LIBRSVG_FALSE= +fi + +if test "$use_librsvg" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_LIBRSVG 1 +_ACEOF + +fi + + + + + +#AC_SUBST(windowsettingsdatadir) +#AC_SUBST(windowsettingslibdir) +#AC_SUBST(keybindingsdir) + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for CAIRO" >&5 +echo $ECHO_N "checking for CAIRO... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$CAIRO_CFLAGS"; then + pkg_cv_CAIRO_CFLAGS="$CAIRO_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$CAIRO_LIBS"; then + pkg_cv_CAIRO_LIBS="$CAIRO_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_CAIRO_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender cairo >= 1.0"` + else + CAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender cairo >= 1.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$CAIRO_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + have_cairo=no +elif test $pkg_failed = untried; then + have_cairo=no +else + CAIRO_CFLAGS=$pkg_cv_CAIRO_CFLAGS + CAIRO_LIBS=$pkg_cv_CAIRO_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + have_cairo=yes +fi + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for PANGO" >&5 +echo $ECHO_N "checking for PANGO... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$PANGO_CFLAGS"; then + pkg_cv_PANGO_CFLAGS="$PANGO_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender pangocairo cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_PANGO_CFLAGS=`$PKG_CONFIG --cflags "cairo-xlib-xrender pangocairo cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$PANGO_LIBS"; then + pkg_cv_PANGO_LIBS="$PANGO_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"cairo-xlib-xrender pangocairo cairo >= 1.0\"") >&5 + ($PKG_CONFIG --exists --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_PANGO_LIBS=`$PKG_CONFIG --libs "cairo-xlib-xrender pangocairo cairo >= 1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PANGO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0"` + else + PANGO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo-xlib-xrender pangocairo cairo >= 1.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$PANGO_PKG_ERRORS" >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + have_pango=no +elif test $pkg_failed = untried; then + have_pango=no +else + PANGO_CFLAGS=$pkg_cv_PANGO_CFLAGS + PANGO_LIBS=$pkg_cv_PANGO_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + have_pango=yes +fi + + if test "x$have_pango" = "xyes"; then + TEXT_PLUGIN_TRUE= + TEXT_PLUGIN_FALSE='#' +else + TEXT_PLUGIN_TRUE='#' + TEXT_PLUGIN_FALSE= +fi + +if test "x$have_pango" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define USE_TEXT 1 +_ACEOF + +fi + + if test "x$have_cairo" = "xyes"; then + WALL_PLUGIN_TRUE= + WALL_PLUGIN_FALSE='#' +else + WALL_PLUGIN_TRUE='#' + WALL_PLUGIN_FALSE= +fi + +if test "x$have_cairo" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define USE_WALL 1 +_ACEOF + +fi + +# PKG_CHECK_MODULES(GROUP, compiz-text cairo >= 1.0, [use_group=yes], [use_group=no]) +# AM_CONDITIONAL(GROUP_PLUGIN, test "x$use_group" = "xyes") +# if test "$use_group" = yes; then +# AC_DEFINE(USE_GROUP, 1, [Build group plugin]) +# fi + + +# Check whether --enable-jpeg was given. +if test "${enable_jpeg+set}" = set; then + enableval=$enable_jpeg; use_jpeg=$enableval +else + use_jpeg=yes +fi + + + if test "x$use_jpeg" = "xyes"; then + JPEG_PLUGIN_TRUE= + JPEG_PLUGIN_FALSE='#' +else + JPEG_PLUGIN_TRUE='#' + JPEG_PLUGIN_FALSE= +fi + +if test "$use_jpeg" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_JPEG 1 +_ACEOF + +fi + + +# Check whether --with-max-desktops was given. +if test "${with_max_desktops+set}" = set; then + withval=$with_max_desktops; MAX_DESKTOPS=$withval +else + MAX_DESKTOPS=36 +fi + + +if test -n "$MAX_DESKTOPS"; then + +cat >>confdefs.h <<_ACEOF +#define MAX_DESKTOPS $MAX_DESKTOPS +_ACEOF + +fi + + + +pkg_failed=no +{ echo "$as_me:$LINENO: checking for LIBXSLT" >&5 +echo $ECHO_N "checking for LIBXSLT... $ECHO_C" >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBXSLT_CFLAGS"; then + pkg_cv_LIBXSLT_CFLAGS="$LIBXSLT_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxslt\"") >&5 + ($PKG_CONFIG --exists --print-errors "libxslt") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBXSLT_CFLAGS=`$PKG_CONFIG --cflags "libxslt" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBXSLT_LIBS"; then + pkg_cv_LIBXSLT_LIBS="$LIBXSLT_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxslt\"") >&5 + ($PKG_CONFIG --exists --print-errors "libxslt") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_LIBXSLT_LIBS=`$PKG_CONFIG --libs "libxslt" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBXSLT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxslt"` + else + LIBXSLT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxslt"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBXSLT_PKG_ERRORS" >&5 + + { { echo "$as_me:$LINENO: error: Package requirements (libxslt) were not met: + +$LIBXSLT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +echo "$as_me: error: Package requirements (libxslt) were not met: + +$LIBXSLT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBXSLT_CFLAGS +and LIBXSLT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +else + LIBXSLT_CFLAGS=$pkg_cv_LIBXSLT_CFLAGS + LIBXSLT_LIBS=$pkg_cv_LIBXSLT_LIBS + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + : +fi +xsltdir=$datadir/bcop + + + +## hmmm + +BCOP_BIN=../bcop/src/bcop.in + + + + +ac_config_files="$ac_config_files ecomp.pc ecomp-cube.pc ecomp-scale.pc Makefile src/Makefile libdecoration/Makefile libdecoration/libdecoration.pc include/Makefile plugins/Makefile text/Makefile expo/Makefile jpeg/Makefile ring/Makefile shift/Makefile thumbnail/Makefile wall/Makefile animation/Makefile mblur/Makefile cubereflex/Makefile scalefilter/Makefile scaleaddon/Makefile images/Makefile po/Makefile.in metadata/Makefile bcop/bcop.pc bcop/Makefile bcop/src/Makefile bcop/src/bcop" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + + ac_config_commands="$ac_config_commands po/stamp-it" + + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${PLACE_PLUGIN_TRUE}" && test -z "${PLACE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"PLACE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"PLACE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${DBUS_PLUGIN_TRUE}" && test -z "${DBUS_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"DBUS_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"DBUS_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INOTIFY_PLUGIN_TRUE}" && test -z "${INOTIFY_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INOTIFY_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INOTIFY_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${FUSE_PLUGIN_TRUE}" && test -z "${FUSE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FUSE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FUSE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${ANNOTATE_PLUGIN_TRUE}" && test -z "${ANNOTATE_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"ANNOTATE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"ANNOTATE_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${USE_LIBRSVG_TRUE}" && test -z "${USE_LIBRSVG_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"USE_LIBRSVG\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"USE_LIBRSVG\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${TEXT_PLUGIN_TRUE}" && test -z "${TEXT_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"TEXT_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"TEXT_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${WALL_PLUGIN_TRUE}" && test -z "${WALL_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"WALL_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"WALL_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${JPEG_PLUGIN_TRUE}" && test -z "${JPEG_PLUGIN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"JPEG_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"JPEG_PLUGIN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by ecomp $as_me 0.6.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +ecomp config.status 0.6.2 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' +macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' +enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' +pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' +host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' +host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' +host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' +build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' +build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' +build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' +SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' +Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' +GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' +EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' +FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' +LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' +NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' +LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' +ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' +exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' +lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' +reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' +AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' +STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' +RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' +compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' +GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' +SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' +ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' +need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' +LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' +libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' +version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' +runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' +libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' +soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' +old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' +striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' +predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' +postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +deplibs_check_method \ +file_magic_cmd \ +AR \ +AR_FLAGS \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +SHELL \ +ECHO \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_wl \ +lt_prog_compiler_pic \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_flag_spec_ld \ +hardcode_libdir_separator \ +fix_srcfile_path \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_flag_spec_ld_CXX \ +hardcode_libdir_separator_CXX \ +fix_srcfile_path_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` + ;; +esac + +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile' + + + + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "ecomp.pc") CONFIG_FILES="$CONFIG_FILES ecomp.pc" ;; + "ecomp-cube.pc") CONFIG_FILES="$CONFIG_FILES ecomp-cube.pc" ;; + "ecomp-scale.pc") CONFIG_FILES="$CONFIG_FILES ecomp-scale.pc" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "libdecoration/Makefile") CONFIG_FILES="$CONFIG_FILES libdecoration/Makefile" ;; + "libdecoration/libdecoration.pc") CONFIG_FILES="$CONFIG_FILES libdecoration/libdecoration.pc" ;; + "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; + "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;; + "text/Makefile") CONFIG_FILES="$CONFIG_FILES text/Makefile" ;; + "expo/Makefile") CONFIG_FILES="$CONFIG_FILES expo/Makefile" ;; + "jpeg/Makefile") CONFIG_FILES="$CONFIG_FILES jpeg/Makefile" ;; + "ring/Makefile") CONFIG_FILES="$CONFIG_FILES ring/Makefile" ;; + "shift/Makefile") CONFIG_FILES="$CONFIG_FILES shift/Makefile" ;; + "thumbnail/Makefile") CONFIG_FILES="$CONFIG_FILES thumbnail/Makefile" ;; + "wall/Makefile") CONFIG_FILES="$CONFIG_FILES wall/Makefile" ;; + "animation/Makefile") CONFIG_FILES="$CONFIG_FILES animation/Makefile" ;; + "mblur/Makefile") CONFIG_FILES="$CONFIG_FILES mblur/Makefile" ;; + "cubereflex/Makefile") CONFIG_FILES="$CONFIG_FILES cubereflex/Makefile" ;; + "scalefilter/Makefile") CONFIG_FILES="$CONFIG_FILES scalefilter/Makefile" ;; + "scaleaddon/Makefile") CONFIG_FILES="$CONFIG_FILES scaleaddon/Makefile" ;; + "images/Makefile") CONFIG_FILES="$CONFIG_FILES images/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "metadata/Makefile") CONFIG_FILES="$CONFIG_FILES metadata/Makefile" ;; + "bcop/bcop.pc") CONFIG_FILES="$CONFIG_FILES bcop/bcop.pc" ;; + "bcop/Makefile") CONFIG_FILES="$CONFIG_FILES bcop/Makefile" ;; + "bcop/src/Makefile") CONFIG_FILES="$CONFIG_FILES bcop/src/Makefile" ;; + "bcop/src/bcop") CONFIG_FILES="$CONFIG_FILES bcop/src/bcop" ;; + "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +ECOMP_VERSION_MAJOR!$ECOMP_VERSION_MAJOR$ac_delim +ECOMP_VERSION_MINOR!$ECOMP_VERSION_MINOR$ac_delim +ECOMP_VERSION_MICRO!$ECOMP_VERSION_MICRO$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +am__isrc!$am__isrc$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +AMTAR!$AMTAR$ac_delim +am__tar!$am__tar$ac_delim +am__untar!$am__untar$ac_delim +USE_NLS!$USE_NLS$ac_delim +INTLTOOL_UPDATE!$INTLTOOL_UPDATE$ac_delim +INTLTOOL_MERGE!$INTLTOOL_MERGE$ac_delim +INTLTOOL_EXTRACT!$INTLTOOL_EXTRACT$ac_delim +INTLTOOL_DESKTOP_RULE!$INTLTOOL_DESKTOP_RULE$ac_delim +INTLTOOL_DIRECTORY_RULE!$INTLTOOL_DIRECTORY_RULE$ac_delim +INTLTOOL_KEYS_RULE!$INTLTOOL_KEYS_RULE$ac_delim +INTLTOOL_PROP_RULE!$INTLTOOL_PROP_RULE$ac_delim +INTLTOOL_OAF_RULE!$INTLTOOL_OAF_RULE$ac_delim +INTLTOOL_PONG_RULE!$INTLTOOL_PONG_RULE$ac_delim +INTLTOOL_SERVER_RULE!$INTLTOOL_SERVER_RULE$ac_delim +INTLTOOL_SHEET_RULE!$INTLTOOL_SHEET_RULE$ac_delim +INTLTOOL_SOUNDLIST_RULE!$INTLTOOL_SOUNDLIST_RULE$ac_delim +INTLTOOL_UI_RULE!$INTLTOOL_UI_RULE$ac_delim +INTLTOOL_XAM_RULE!$INTLTOOL_XAM_RULE$ac_delim +INTLTOOL_KBD_RULE!$INTLTOOL_KBD_RULE$ac_delim +INTLTOOL_XML_RULE!$INTLTOOL_XML_RULE$ac_delim +INTLTOOL_XML_NOMERGE_RULE!$INTLTOOL_XML_NOMERGE_RULE$ac_delim +INTLTOOL_CAVES_RULE!$INTLTOOL_CAVES_RULE$ac_delim +INTLTOOL_SCHEMAS_RULE!$INTLTOOL_SCHEMAS_RULE$ac_delim +INTLTOOL_THEME_RULE!$INTLTOOL_THEME_RULE$ac_delim +INTLTOOL_SERVICE_RULE!$INTLTOOL_SERVICE_RULE$ac_delim +INTLTOOL_POLICY_RULE!$INTLTOOL_POLICY_RULE$ac_delim +XGETTEXT!$XGETTEXT$ac_delim +MSGMERGE!$MSGMERGE$ac_delim +MSGFMT!$MSGFMT$ac_delim +GMSGFMT!$GMSGFMT$ac_delim +INTLTOOL_PERL!$INTLTOOL_PERL$ac_delim +ALL_LINGUAS!$ALL_LINGUAS$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +DATADIRNAME!$DATADIRNAME$ac_delim +MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim +MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim +MAINT!$MAINT$ac_delim +CPP!$CPP$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +SED!$SED$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +FGREP!$FGREP$ac_delim +LD!$LD$ac_delim +DUMPBIN!$DUMPBIN$ac_delim +ac_ct_DUMPBIN!$ac_ct_DUMPBIN$ac_delim +NM!$NM$ac_delim +LN_S!$LN_S$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +lt_ECHO!$lt_ECHO$ac_delim +DSYMUTIL!$DSYMUTIL$ac_delim +NMEDIT!$NMEDIT$ac_delim +LIPO!$LIPO$ac_delim +OTOOL!$OTOOL$ac_delim +OTOOL64!$OTOOL64$ac_delim +CXXCPP!$CXXCPP$ac_delim +MSGFMT_OPTS!$MSGFMT_OPTS$ac_delim +CATALOGS!$CATALOGS$ac_delim +CATOBJEXT!$CATOBJEXT$ac_delim +GMOFILES!$GMOFILES$ac_delim +INSTOBJEXT!$INSTOBJEXT$ac_delim +INTLLIBS!$INTLLIBS$ac_delim +PO_IN_DATADIR_TRUE!$PO_IN_DATADIR_TRUE$ac_delim +PO_IN_DATADIR_FALSE!$PO_IN_DATADIR_FALSE$ac_delim +POFILES!$POFILES$ac_delim +POSUB!$POSUB$ac_delim +MKINSTALLDIRS!$MKINSTALLDIRS$ac_delim +GETTEXT_PACKAGE!$GETTEXT_PACKAGE$ac_delim +plugindir!$plugindir$ac_delim +default_plugins!$default_plugins$ac_delim +imagedir!$imagedir$ac_delim +metadatadir!$metadatadir$ac_delim +PKG_CONFIG!$PKG_CONFIG$ac_delim +ECOMP_CFLAGS!$ECOMP_CFLAGS$ac_delim +ECOMP_LIBS!$ECOMP_LIBS$ac_delim +ECOMP_REQUIRES!$ECOMP_REQUIRES$ac_delim +DECORATION_CFLAGS!$DECORATION_CFLAGS$ac_delim +DECORATION_LIBS!$DECORATION_LIBS$ac_delim +DECORATION_REQUIRES!$DECORATION_REQUIRES$ac_delim +GL_CFLAGS!$GL_CFLAGS$ac_delim +GL_LIBS!$GL_LIBS$ac_delim +XSLTPROC!$XSLTPROC$ac_delim +LIBPNG_CFLAGS!$LIBPNG_CFLAGS$ac_delim +LIBPNG_LIBS!$LIBPNG_LIBS$ac_delim +stylesheetdir!$stylesheetdir$ac_delim +PLACE_PLUGIN_TRUE!$PLACE_PLUGIN_TRUE$ac_delim +PLACE_PLUGIN_FALSE!$PLACE_PLUGIN_FALSE$ac_delim +DBUS_CFLAGS!$DBUS_CFLAGS$ac_delim +DBUS_LIBS!$DBUS_LIBS$ac_delim +DBUS_PLUGIN_TRUE!$DBUS_PLUGIN_TRUE$ac_delim +DBUS_PLUGIN_FALSE!$DBUS_PLUGIN_FALSE$ac_delim +INOTIFY_PLUGIN_TRUE!$INOTIFY_PLUGIN_TRUE$ac_delim +INOTIFY_PLUGIN_FALSE!$INOTIFY_PLUGIN_FALSE$ac_delim +FUSE_CFLAGS!$FUSE_CFLAGS$ac_delim +FUSE_LIBS!$FUSE_LIBS$ac_delim +FUSE_PLUGIN_TRUE!$FUSE_PLUGIN_TRUE$ac_delim +FUSE_PLUGIN_FALSE!$FUSE_PLUGIN_FALSE$ac_delim +ANNOTATE_CFLAGS!$ANNOTATE_CFLAGS$ac_delim +ANNOTATE_LIBS!$ANNOTATE_LIBS$ac_delim +ANNOTATE_PLUGIN_TRUE!$ANNOTATE_PLUGIN_TRUE$ac_delim +ANNOTATE_PLUGIN_FALSE!$ANNOTATE_PLUGIN_FALSE$ac_delim +LIBRSVG_CFLAGS!$LIBRSVG_CFLAGS$ac_delim +LIBRSVG_LIBS!$LIBRSVG_LIBS$ac_delim +USE_LIBRSVG_TRUE!$USE_LIBRSVG_TRUE$ac_delim +USE_LIBRSVG_FALSE!$USE_LIBRSVG_FALSE$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +CAIRO_CFLAGS!$CAIRO_CFLAGS$ac_delim +CAIRO_LIBS!$CAIRO_LIBS$ac_delim +PANGO_CFLAGS!$PANGO_CFLAGS$ac_delim +PANGO_LIBS!$PANGO_LIBS$ac_delim +TEXT_PLUGIN_TRUE!$TEXT_PLUGIN_TRUE$ac_delim +TEXT_PLUGIN_FALSE!$TEXT_PLUGIN_FALSE$ac_delim +WALL_PLUGIN_TRUE!$WALL_PLUGIN_TRUE$ac_delim +WALL_PLUGIN_FALSE!$WALL_PLUGIN_FALSE$ac_delim +JPEG_PLUGIN_TRUE!$JPEG_PLUGIN_TRUE$ac_delim +JPEG_PLUGIN_FALSE!$JPEG_PLUGIN_FALSE$ac_delim +LIBXSLT_CFLAGS!$LIBXSLT_CFLAGS$ac_delim +LIBXSLT_LIBS!$LIBXSLT_LIBS$ac_delim +xsltdir!$xsltdir$ac_delim +BCOP_BIN!$BCOP_BIN$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 16; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_arg=$ac_file +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "libtool":C) + + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +# The names of the tagged configurations supported by this script. +available_tags="CXX " + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that does not interpret backslashes. +ECHO=$lt_ECHO + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain="$ac_aux_dir/ltmain.sh" + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[^=]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$@"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1=\$$1\$2" +} + +_LT_EOF + ;; + esac + + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac ;; + "po/stamp-it":C) + if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" ; then + { { echo "$as_me:$LINENO: error: po/Makefile.in.in was not created by intltoolize." >&5 +echo "$as_me: error: po/Makefile.in.in was not created by intltoolize." >&2;} + { (exit 1); exit 1; }; } + fi + rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" + >"po/stamp-it.tmp" + sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" + + sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r po/POTFILES + } + ' "po/Makefile.in" >"po/Makefile" + rm -f "po/Makefile.tmp" + mv "po/stamp-it.tmp" "po/stamp-it" + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + +echo "" +echo "the following optional plugins will be compiled:" +echo " dbus: $use_dbus" +#echo " svg: $use_librsvg" +#echo " inotify: $use_inotify" +#echo " fuse: $use_fuse" +echo "" +echo "" diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..6bdc5cc --- /dev/null +++ b/configure.ac @@ -0,0 +1,413 @@ +AC_PREREQ(2.57) + +dnl ecomp package version number +dnl An odd micro number indicates in-progress development. +dnl An even micro number indicates a released version. +m4_define(ecomp_version_major, 0) +m4_define(ecomp_version_minor, 6) +m4_define(ecomp_version_micro, 2) + +AC_INIT([ecomp], + [ecomp_version_major().ecomp_version_minor().ecomp_version_micro()], + [davidr@novell.com]) + +ECOMP_VERSION_MAJOR=ecomp_version_major() +ECOMP_VERSION_MINOR=ecomp_version_minor() +ECOMP_VERSION_MICRO=ecomp_version_micro() +AC_SUBST(ECOMP_VERSION_MAJOR) +AC_SUBST(ECOMP_VERSION_MINOR) +AC_SUBST(ECOMP_VERSION_MICRO) + +AM_INIT_AUTOMAKE([1.7]) +AC_CONFIG_HEADER([config.h]) +AC_PROG_INTLTOOL([0.23]) +AM_MAINTAINER_MODE + +dnl decorator interface version +AC_DEFINE(DECOR_INTERFACE_VERSION, 20070319, [Decorator interface version]) + +AC_ISC_POSIX +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CXX +AC_PROG_LIBTOOL +AC_HEADER_STDC +AC_CHECK_HEADERS([stdlib.h sys/time.h unistd.h]) + +ALL_LINGUAS="cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu" +AC_SUBST(ALL_LINGUAS) +AM_GLIB_GNU_GETTEXT +GETTEXT_PACKAGE=ecomp +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.]) +AC_SUBST(GETTEXT_PACKAGE) + +if test "x$GCC" = "xyes"; then + case " $CFLAGS " in + *[[\ \ ]]-Wall[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -Wall" ;; + esac + + case " $CFLAGS " in + *[[\ \ ]]-Wpointer-arith[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -Wpointer-arith" ;; + esac + + case " $CFLAGS " in + *[[\ \ ]]-Wstrict-prototypes[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -Wstrict-prototypes" ;; + esac + + case " $CFLAGS " in + *[[\ \ ]]-Wmissing-prototypes[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -Wmissing-prototypes" ;; + esac + + case " $CFLAGS " in + *[[\ \ ]]-Wmissing-declarations[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -Wmissing-declarations" ;; + esac + + case " $CFLAGS " in + *[[\ \ ]]-Wnested-externs[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -Wnested-externs" ;; + esac + + case " $CFLAGS " in + *[[\ \ ]]-D_FORTIFY_SOURCE=2[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2" ;; + esac + + if test "x$enable_ansi" = "xyes"; then + case " $CFLAGS " in + *[[\ \ ]]-ansi[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -ansi" ;; + esac + + case " $CFLAGS " in + *[[\ \ ]]-pedantic[[\ \ ]]*) ;; + *) CFLAGS="$CFLAGS -pedantic" ;; + esac + fi +fi + +if test "x$GCC" = "xyes"; then + case " $CXXFLAGS " in + *[[\ \ ]]-Wall[[\ \ ]]*) ;; + *) CXXFLAGS="$CXXFLAGS -Wall" ;; + esac + + case " $CXXFLAGS " in + *[[\ \ ]]-D_FORTIFY_SOURCE=2[[\ \ ]]*) ;; + *) CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2" ;; + esac +fi + +AC_C_BIGENDIAN + +plugindir=$libdir/ecomp +AC_SUBST(plugindir) + +AC_ARG_WITH(default-plugins, [ --with-default-plugins=PLUGINS ], + [default_plugins="$withval"], + [default_plugins=""]) +AC_SUBST(default_plugins) + +imagedir=$datadir/ecomp +AC_SUBST(imagedir) + +metadatadir=$datadir/ecomp +AC_SUBST(metadatadir) + +ECOMP_REQUIRES="xcomposite \ + xfixes \ + xdamage \ + xrandr \ + xinerama \ + ice \ + sm \ + libxml-2.0 \ + libxslt \ + pango" + + +PKG_CHECK_MODULES(ECOMP, $ECOMP_REQUIRES) +AC_SUBST(ECOMP_REQUIRES) + +DECORATION_REQUIRES="xrender" + +PKG_CHECK_MODULES(DECORATION, $DECORATION_REQUIRES) +AC_SUBST(DECORATION_REQUIRES) + +PKG_CHECK_EXISTS(xrender >= 0.9.3, + [have_xrender_0_9_3=yes], [have_xrender_0_9_3=no]) + +if test "$have_xrender_0_9_3" = yes; then + AC_DEFINE(HAVE_XRENDER_0_9_3, 1, + [Define to 1 if xrender version >= 0.9.3]) +fi + +AC_MSG_CHECKING(for GL_CFLAGS) +AC_ARG_WITH(gl-cflags, [ --with-gl-cflags=CFLAGS ], + [GL_CFLAGS="$withval"], + [GL_CFLAGS=""]) + +AC_MSG_RESULT($GL_CFLAGS) +AC_MSG_CHECKING(for GL_LIBS) +AC_ARG_WITH(gl-libs, [ --with-gl-libs=LIBS ], + [GL_LIBS="$withval"], + [GL_LIBS="-lGL"]) +AC_MSG_RESULT($GL_LIBS) + +AC_SUBST(GL_CFLAGS) +AC_SUBST(GL_LIBS) + +AC_CHECK_PROGS(XSLTPROC, xsltproc) +if test -z "$XSLTPROC"; then + AC_MSG_ERROR([Couldn't find xsltproc]) +fi + +PKG_CHECK_MODULES(LIBPNG, libpng) + +dnl AC_ARG_ENABLE(glib, +dnl [ --disable-glib Disable glib plugin], +dnl [use_glib=$enableval], [use_glib=yes]) + +dnl if test "x$use_glib" = "xyes"; then +dnl PKG_CHECK_MODULES(GLIB, glib-2.0) +dnl fi + +dnl AM_CONDITIONAL(USE_GLIB, test "x$use_glib" = "xyes") +dnl if test "$use_glib" = yes; then +dnl AC_DEFINE(USE_GLIB, 1, [Build glib plugin]) +dnl fi + +dnl AC_ARG_ENABLE(gconf, +dnl [ --disable-gconf Disable gconf plugin], +dnl [use_gconf=$enableval], [use_gconf=yes]) + +dnl if test "x$use_gconf" = "xyes"; then +dnl PKG_CHECK_MODULES(GCONF, gconf-2.0) + +dnl AC_PATH_PROG(GCONFTOOL, gconftool-2, no) +dnl if test x"$GCONFTOOL" = xno; then +dnl AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) +dnl fi +dnl fi + +dnl AM_GCONF_SOURCE_2 + +dnl AM_CONDITIONAL(USE_GCONF, test "x$use_gconf" = "xyes") +dnl if test "$use_gconf" = yes; then +dnl AC_DEFINE(USE_GCONF, 1, [Build gconf plugin]) +dnl fi + +stylesheetdir=$datadir/ecomp +AC_SUBST(stylesheetdir) + +dnl AC_ARG_ENABLE(place, +dnl [ --disable-place Disable window placement plugin], +dnl [use_place=$enableval], [use_place=yes]) + +dnl if test "x$use_place" = "xyes"; then +dnl PKG_CHECK_MODULES(PLACE, glib-2.0, [use_place=yes], [use_place=no]) +dnl fi + +AM_CONDITIONAL(PLACE_PLUGIN, test "x$use_place" = "xyes") +if test "$use_place" = yes; then + AC_DEFINE(USE_PLACE, 1, [Build placement plugin]) +fi + +AC_ARG_ENABLE(dbus, + [ --disable-dbus Disable dbus plugin], + [use_dbus=$enableval], [use_dbus=yes]) + +if test "x$use_dbus" = "xyes"; then + PKG_CHECK_MODULES(DBUS, dbus-1 libxml-2.0, [use_dbus=yes], [use_dbus=no]) +fi + +AM_CONDITIONAL(DBUS_PLUGIN, test "x$use_dbus" = "xyes") +if test "$use_dbus" = yes; then + AC_DEFINE(USE_DBUS, 1, [Build dbus plugin]) +fi + +dnl AC_ARG_ENABLE(dbus-glib, +dnl [ --disable-dbus-glib Disable dbus-glib support], +dnl [use_dbus_glib=$enableval], [use_dbus_glib=yes]) + +dnl if test "x$use_dbus_glib" = "xyes"; then +dnl PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1, [use_dbus_glib=yes], [use_dbus_glib=no]) +dnl fi + +dnl if test "$use_dbus" = yes; then +dnl AC_DEFINE(USE_DBUS_GLIB, 1, [Build dbus glib support]) +dnl fi + +AC_ARG_ENABLE(inotify, + [ --disable-inotify Disable inotify plugin], + [use_inotify=$enableval], [use_inotify=yes]) + +if test "x$use_inotify" = "xyes"; then + AC_CHECK_HEADERS([sys/inotify.h], [use_inotify=yes], [use_inotify=no]) +fi + +AM_CONDITIONAL(INOTIFY_PLUGIN, test "x$use_inotify" = "xyes") +if test "$use_inotify" = yes; then + AC_DEFINE(USE_INOTIFY, 1, [Build inotify plugin]) +fi + +AC_ARG_ENABLE(fuse, + [ --disable-fuse Disable fuse plugin], + [use_fuse=$enableval], [use_fuse=yes]) + +if test "x$use_fuse" = "xyes"; then + PKG_CHECK_MODULES(FUSE, fuse, [use_fuse=yes], [use_fuse=no]) +fi + +AM_CONDITIONAL(FUSE_PLUGIN, test "x$use_fuse" = "xyes") +if test "$use_fuse" = yes; then + AC_DEFINE(USE_FUSE, 1, [Build fuse plugin]) +fi + +AC_ARG_ENABLE(annotate, + [ --disable-annotate Disable annotate plugin], + [use_annotate=$enableval], [use_annotate=yes]) + +if test "x$use_annotate" = "xyes"; then + PKG_CHECK_MODULES(ANNOTATE, cairo-xlib-xrender, [use_annotate=yes], [use_annotate=no]) +fi + +AM_CONDITIONAL(ANNOTATE_PLUGIN, test "x$use_annotate" = "xyes") +if test "$use_annotate" = yes; then + AC_DEFINE(USE_ANNOTATE, 1, [Build annotate plugin]) +fi + +AC_ARG_ENABLE(librsvg, + [ --disable-librsvg Disable svg support], + [use_librsvg=$enableval], [use_librsvg=yes]) + +if test "x$use_librsvg" = "xyes"; then + PKG_CHECK_MODULES(LIBRSVG, [cairo >= 1.0 librsvg-2.0 >= 2.14.0], [use_librsvg=yes], [use_librsvg=no]) +fi + +AM_CONDITIONAL(USE_LIBRSVG, test "x$use_librsvg" = "xyes") +if test "$use_librsvg" = yes; then + AC_DEFINE(USE_LIBRSVG, 1, [librsvg for SVG support]) +fi + +dnl AC_ARG_ENABLE(gtk, +dnl [ --disable-gtk Disable gtk window decorator], +dnl [use_gtk=$enableval], [use_gtk=yes]) + +dnl AC_ARG_ENABLE(metacity, +dnl [ --disable-metacity Disable metacity theme support], +dnl [use_metacity=$enableval], [use_metacity=yes]) + +dnl AC_ARG_ENABLE(gnome, +dnl [ --disable-gnome Disable gnome settings module], +dnl [use_gnome=$enableval], [use_gnome=yes]) + + +#AC_SUBST(windowsettingsdatadir) +#AC_SUBST(windowsettingslibdir) +#AC_SUBST(keybindingsdir) + +PKG_CHECK_MODULES(CAIRO, cairo-xlib-xrender cairo >= 1.0, [have_cairo=yes], [have_cairo=no]) +PKG_CHECK_MODULES(PANGO, cairo-xlib-xrender pangocairo cairo >= 1.0, [have_pango=yes], [have_pango=no]) + +AM_CONDITIONAL(TEXT_PLUGIN, test "x$have_pango" = "xyes") +if test "x$have_pango" = "xyes"; then + AC_DEFINE(USE_TEXT, 1, [Build text plugin]) +fi + +AM_CONDITIONAL(WALL_PLUGIN, test "x$have_cairo" = "xyes") +if test "x$have_cairo" = "xyes"; then + AC_DEFINE(USE_WALL, 1, [Build wall plugin]) +fi + +# PKG_CHECK_MODULES(GROUP, compiz-text cairo >= 1.0, [use_group=yes], [use_group=no]) +# AM_CONDITIONAL(GROUP_PLUGIN, test "x$use_group" = "xyes") +# if test "$use_group" = yes; then +# AC_DEFINE(USE_GROUP, 1, [Build group plugin]) +# fi + + +AC_ARG_ENABLE(jpeg, + [ --disable-jpeg Disable jpeg plugin], + [use_jpeg=$enableval], [use_jpeg=yes]) + +AM_CONDITIONAL(JPEG_PLUGIN, test "x$use_jpeg" = "xyes") +if test "$use_jpeg" = yes; then + AC_DEFINE(USE_JPEG, 1, [Build jpeg plugin]) +fi + +AC_ARG_WITH(max-desktops, + [ --with-max-desktops Max reasonable desktops], + [MAX_DESKTOPS=$withval], + [MAX_DESKTOPS=36]) + +if test -n "$MAX_DESKTOPS"; then + AC_DEFINE_UNQUOTED(MAX_DESKTOPS, $MAX_DESKTOPS, [Max reasonable desktops]) +fi + + +PKG_CHECK_MODULES(LIBXSLT, libxslt) +xsltdir=$datadir/bcop +AC_SUBST(xsltdir) + + +dnl PKG_CHECK_MODULES(BCOP, bcop >= 0.5.2, [bcop_found=yes]) +dnl if test "$bcop_found" = yes; then +dnl if test -z "$PKG_CONFIG"; then +dnl AC_PATH_PROG(PKG_CONFIG, pkg-config, no) +dnl fi +dnl if test "$PKG_CONFIG" != "no" ; then +dnl BCOP_BIN=`$PKG_CONFIG --variable=bin bcop` +dnl AC_SUBST(BCOP_BIN) +dnl fi +dnl fi +## hmmm + +BCOP_BIN=../bcop/src/bcop.in +AC_SUBST(BCOP_BIN) + + + +AC_OUTPUT([ +ecomp.pc +ecomp-cube.pc +ecomp-scale.pc +Makefile +src/Makefile +libdecoration/Makefile +libdecoration/libdecoration.pc +include/Makefile +plugins/Makefile +text/Makefile +expo/Makefile +jpeg/Makefile +ring/Makefile +shift/Makefile +thumbnail/Makefile +wall/Makefile +animation/Makefile +mblur/Makefile +cubereflex/Makefile +scalefilter/Makefile +scaleaddon/Makefile +images/Makefile +po/Makefile.in +metadata/Makefile +bcop/bcop.pc +bcop/Makefile +bcop/src/Makefile +bcop/src/bcop +]) + +echo "" +echo "the following optional plugins will be compiled:" +echo " dbus: $use_dbus" +#echo " svg: $use_librsvg" +#echo " inotify: $use_inotify" +#echo " fuse: $use_fuse" +echo "" +echo "" diff --git a/cubereflex/Makefile b/cubereflex/Makefile new file mode 100644 index 0000000..d31ddb3 --- /dev/null +++ b/cubereflex/Makefile @@ -0,0 +1,576 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# cubereflex/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = cubereflex +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libcubereflex_la_DEPENDENCIES = +am_libcubereflex_la_OBJECTS = cubereflex_options.lo cubereflex.lo +libcubereflex_la_OBJECTS = $(am_libcubereflex_la_OBJECTS) +libcubereflex_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libcubereflex_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libcubereflex_la_SOURCES) +DIST_SOURCES = $(libcubereflex_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/cubereflex +abs_srcdir = /media/disk-3/src/compiz/cubereflex +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined + +#if CUBEREFLEX_PLUGIN +libcubereflex_la_LDFLAGS = $(PFLAGS) +libcubereflex_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +libcubereflex_la_SOURCES = cubereflex_options.c cubereflex_options.h cubereflex.c +#endif +INCLUDES = \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) + +#if CUBEREFLEX_PLUGIN +module_LTLIBRARIES = libcubereflex.la +#endif +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu cubereflex/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu cubereflex/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libcubereflex.la: $(libcubereflex_la_OBJECTS) $(libcubereflex_la_DEPENDENCIES) + $(libcubereflex_la_LINK) -rpath $(moduledir) $(libcubereflex_la_OBJECTS) $(libcubereflex_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/cubereflex.Plo +include ./$(DEPDIR)/cubereflex_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +cubereflex_options.h: ../metadata/cubereflex.xml + $(BCOP_BIN) --header $@ $< + +cubereflex_options.c: ../metadata/cubereflex.xml cubereflex_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/cubereflex/Makefile.am b/cubereflex/Makefile.am new file mode 100644 index 0000000..84566a0 --- /dev/null +++ b/cubereflex/Makefile.am @@ -0,0 +1,30 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +#if CUBEREFLEX_PLUGIN +libcubereflex_la_LDFLAGS = $(PFLAGS) +libcubereflex_la_LIBADD = @ECOMP_LIBS@ +libcubereflex_la_SOURCES = cubereflex_options.c cubereflex_options.h cubereflex.c +#endif + +INCLUDES = \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) + +#if CUBEREFLEX_PLUGIN +module_LTLIBRARIES = libcubereflex.la +#endif + +CLEANFILES = *_options.c *_options.h + +cubereflex_options.h: ../metadata/cubereflex.xml + $(BCOP_BIN) --header $@ $< + +cubereflex_options.c: ../metadata/cubereflex.xml cubereflex_options.h + $(BCOP_BIN) --source $@ $< diff --git a/cubereflex/Makefile.in b/cubereflex/Makefile.in new file mode 100644 index 0000000..f985344 --- /dev/null +++ b/cubereflex/Makefile.in @@ -0,0 +1,576 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = cubereflex +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libcubereflex_la_DEPENDENCIES = +am_libcubereflex_la_OBJECTS = cubereflex_options.lo cubereflex.lo +libcubereflex_la_OBJECTS = $(am_libcubereflex_la_OBJECTS) +libcubereflex_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libcubereflex_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libcubereflex_la_SOURCES) +DIST_SOURCES = $(libcubereflex_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined + +#if CUBEREFLEX_PLUGIN +libcubereflex_la_LDFLAGS = $(PFLAGS) +libcubereflex_la_LIBADD = @ECOMP_LIBS@ +libcubereflex_la_SOURCES = cubereflex_options.c cubereflex_options.h cubereflex.c +#endif +INCLUDES = \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) + +#if CUBEREFLEX_PLUGIN +module_LTLIBRARIES = libcubereflex.la +#endif +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu cubereflex/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu cubereflex/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libcubereflex.la: $(libcubereflex_la_OBJECTS) $(libcubereflex_la_DEPENDENCIES) + $(libcubereflex_la_LINK) -rpath $(moduledir) $(libcubereflex_la_OBJECTS) $(libcubereflex_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cubereflex.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cubereflex_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +cubereflex_options.h: ../metadata/cubereflex.xml + $(BCOP_BIN) --header $@ $< + +cubereflex_options.c: ../metadata/cubereflex.xml cubereflex_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/cubereflex/cubereflex.c b/cubereflex/cubereflex.c new file mode 100644 index 0000000..dface85 --- /dev/null +++ b/cubereflex/cubereflex.c @@ -0,0 +1,629 @@ +/* + * Ecomp cube reflection plugin + * + * cubereflex.c + * + * Copyright : (C) 2007 by Dennis Kasprzyk + * E-mail : onestone@opencompositing.org + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "cubereflex_options.h" + +#define DEG2RAD (M_PI / 180.0f) + +static const CompTransform identity = +{ + { + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0 + } +}; + +#define MULTMV(m, v) { \ + float v0 = m[0]*v[0] + m[4]*v[1] + m[8]*v[2] + m[12]*v[3]; \ + float v1 = m[1]*v[0] + m[5]*v[1] + m[9]*v[2] + m[13]*v[3]; \ + float v2 = m[2]*v[0] + m[6]*v[1] + m[10]*v[2] + m[14]*v[3]; \ + float v3 = m[3]*v[0] + m[7]*v[1] + m[11]*v[2] + m[15]*v[3]; \ + v[0] = v0; v[1] = v1; v[2] = v2; v[3] = v3; } + +static int displayPrivateIndex; + +static int cubeDisplayPrivateIndex; + +typedef struct _CubereflexDisplay +{ + int screenPrivateIndex; + +} +CubereflexDisplay; + +typedef struct _CubereflexScreen +{ + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintScreenProc paintScreen; + PreparePaintScreenProc preparePaintScreen; + PaintTransformedOutputProc paintTransformedOutput; + + CubeClearTargetOutputProc clearTargetOutput; + CubeGetRotationProc getRotation; + CubeCheckOrientationProc checkOrientation; + + Bool reflection; + Bool first; + + CompOutput *last; + + float yTrans; + float zTrans; + + float backVRotate; + float vRot; + +} +CubereflexScreen; + +#define GET_CUBEREFLEX_DISPLAY(d) \ + ((CubereflexDisplay *) (d)->privates[displayPrivateIndex].ptr) +#define CUBEREFLEX_DISPLAY(d) \ + CubereflexDisplay *rd = GET_CUBEREFLEX_DISPLAY(d); + +#define GET_CUBEREFLEX_SCREEN(s, rd) \ + ((CubereflexScreen *) (s)->privates[(rd)->screenPrivateIndex].ptr) +#define CUBEREFLEX_SCREEN(s) \ + CubereflexScreen *rs = GET_CUBEREFLEX_SCREEN(s, GET_CUBEREFLEX_DISPLAY(s->display)) + +static void +drawBasicGround (CompScreen *s) +{ + float i; + + glPushMatrix(); + + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glLoadIdentity(); + glTranslatef (0.0, 0.0, -DEFAULT_Z_CAMERA); + + i = cubereflexGetIntensity (s) * 2; + + glBegin (GL_QUADS); + glColor4f (0.0, 0.0, 0.0, MAX (0.0, 1.0 - i) ); + glVertex2f (0.5, 0.0); + glVertex2f (-0.5, 0.0); + glColor4f (0.0, 0.0, 0.0, MIN (1.0, 1.0 - (i - 1.0) ) ); + glVertex2f (-0.5, -0.5); + glVertex2f (0.5, -0.5); + glEnd(); + + if (cubereflexGetGroundSize (s) > 0.0) + { + glBegin (GL_QUADS); + glColor4usv (cubereflexGetGroundColor1 (s) ); + glVertex2f (-0.5, -0.5); + glVertex2f (0.5, -0.5); + glColor4usv (cubereflexGetGroundColor2 (s) ); + glVertex2f (0.5, -0.5 + cubereflexGetGroundSize (s) ); + glVertex2f (-0.5, -0.5 + cubereflexGetGroundSize (s) ); + glEnd(); + } + + glColor4usv (defaultColor); + + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + glDisable (GL_BLEND); + glPopMatrix(); +} + +static Bool +cubereflexCheckOrientation (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *outputPtr, + float points[3][3]) +{ + CUBEREFLEX_SCREEN (s); + CUBE_SCREEN (s); + + Bool status; + + UNWRAP (rs, cs, checkOrientation); + status = (*cs->checkOrientation) (s, sAttrib, transform, + outputPtr, points); + WRAP (rs, cs, checkOrientation, cubereflexCheckOrientation); + + if (rs->reflection) + return !status; + + return status; +} + +static void +cubereflexGetRotation (CompScreen *s, + float *x, + float *v) +{ + CUBE_SCREEN (s); + CUBEREFLEX_SCREEN (s); + + UNWRAP (rs, cs, getRotation); + (*cs->getRotation) (s, x, v); + WRAP (rs, cs, getRotation, cubereflexGetRotation); + + if (cubereflexGetMode (s) == ModeAbove && *v > 0.0 && rs->reflection) + { + rs->vRot = *v; + *v = 0.0; + } + else + rs->vRot = 0.0; +} + +static void +cubereflexClearTargetOutput (CompScreen *s, + float xRotate, + float vRotate) +{ + CUBEREFLEX_SCREEN (s); + CUBE_SCREEN (s); + + if (rs->reflection) + glCullFace (GL_BACK); + + UNWRAP (rs, cs, clearTargetOutput); + (*cs->clearTargetOutput) (s, xRotate, rs->backVRotate); + WRAP (rs, cs, clearTargetOutput, cubereflexClearTargetOutput); + + if (rs->reflection) + glCullFace (GL_FRONT); +} + +static void +cubereflexPaintTransformedOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + static GLfloat light0Position[] = { -0.5f, 0.5f, -9.0f, 1.0f }; + + CUBEREFLEX_SCREEN (s); + CUBE_SCREEN (s); + + CompTransform sTransform = *transform; + + if (cs->invert == 1 && rs->first) + { + rs->first = FALSE; + rs->reflection = TRUE; + + if (cs->grabIndex) + { + CompTransform rTransform = *transform; + matrixTranslate (&rTransform, 0.0, -1.0, 0.0); + matrixScale (&rTransform, 1.0, -1.0, 1.0); + + glCullFace (GL_FRONT); + UNWRAP (rs, s, paintTransformedOutput); + (*s->paintTransformedOutput) (s, sAttrib, &rTransform, region, output, mask); + WRAP (rs, s, paintTransformedOutput, cubereflexPaintTransformedOutput); + glCullFace (GL_BACK); + drawBasicGround (s); + } + else + { + CompTransform rTransform = *transform; + CompTransform pTransform = identity; + float angle = 360.0 / ( (float) s->hsize * cs->nOutput); + float xRot, vRot, xRotate, xRotate2, vRotate; + float rYTrans; + double point[4] = { -0.5, -0.5, cs->distance, 1.0}; + double point2[4] = { -0.5, 0.5, cs->distance, 1.0}; + + (*cs->getRotation) (s, &xRot, &vRot); + + rs->backVRotate = 0.0; + + xRotate = xRot; + xRotate2 = xRot; + vRotate = vRot; + + if (vRotate < 0.0) + xRotate += 180; + + vRotate = fmod (fabs (vRotate), 180.0); + xRotate = fmod (fabs (xRotate), angle); + xRotate2 = fmod (fabs (xRotate2), angle); + + if (vRotate >= 90.0) + vRotate = 180.0 - vRotate; + + if (xRotate >= angle / 2.0) + xRotate = angle - xRotate; + + if (xRotate2 >= angle / 2.0) + xRotate2 = angle - xRotate2; + + matrixRotate (&pTransform, xRotate, 0.0f, 1.0f, 0.0f); + matrixRotate (&pTransform, vRotate, cosf (xRotate * DEG2RAD), + 0.0f, sinf (xRotate * DEG2RAD) ); + + MULTMV (pTransform.m, point); + + pTransform = identity; + + matrixRotate (&pTransform, xRotate2, 0.0f, 1.0f, 0.0f); + matrixRotate (&pTransform, vRotate, cosf (xRotate2 * DEG2RAD), + 0.0f, sinf (xRotate2 * DEG2RAD) ); + + MULTMV (pTransform.m, point2); + + switch (cubereflexGetMode (s) ) + { + + case ModeJumpyReflection: + rs->yTrans = 0.0; + rYTrans = (point[1] * 2.0); + break; + + case ModeDistance: + rs->yTrans = 0.0; + rYTrans = sqrt (0.5 + (cs->distance * cs->distance) ) + * -2.0; + break; + + default: + rs->yTrans = -point[1] - 0.5; + rYTrans = point[1] - 0.5; + break; + + } + + if (!cubereflexGetAutoZoom (s) || + ((cs->rotationState != RotationManual) && + cubereflexGetZoomManualOnly (s))) + rs->zTrans = 0.0; + else + rs->zTrans = -point2[2] + cs->distance; + + if (cubereflexGetMode (s) == ModeAbove) + rs->zTrans = 0.0; + + if (cubereflexGetMode (s) == ModeAbove && rs->vRot > 0.0) + { + rs->backVRotate = rs->vRot; + rs->yTrans = 0.0; + rYTrans = 0.0; + pTransform = identity; + (*s->applyScreenTransform) (s, sAttrib, output, &pTransform); + point[0] = point[1] = 0.0; + point[2] = -cs->distance; + point[3] = 1.0; + MULTMV (pTransform.m, point); + + matrixTranslate (&rTransform, 0.0, 0.0, point[2]); + matrixRotate (&rTransform, rs->vRot, 1.0, 0.0, 0.0); + matrixScale (&rTransform, 1.0, -1.0, 1.0); + matrixTranslate (&rTransform, 0.0, 1.0, 0.0); + matrixTranslate (&rTransform, 0.0, 0.0, -point[2]); + } + else + { + matrixTranslate (&rTransform, 0.0, rYTrans, rs->zTrans); + matrixScale (&rTransform, 1.0, -1.0, 1.0); + } + + glPushMatrix(); + + glLoadIdentity(); + glScalef (1.0, -1.0, 1.0); + glLightfv (GL_LIGHT0, GL_POSITION, light0Position); + glPopMatrix(); + + glCullFace (GL_FRONT); + UNWRAP (rs, s, paintTransformedOutput); + (*s->paintTransformedOutput) (s, sAttrib, &rTransform, region, output, mask); + WRAP (rs, s, paintTransformedOutput, cubereflexPaintTransformedOutput); + glCullFace (GL_BACK); + + glPushMatrix(); + glLoadIdentity(); + glLightfv (GL_LIGHT0, GL_POSITION, light0Position); + glPopMatrix(); + + if (cubereflexGetMode (s) == ModeAbove && rs->vRot > 0.0) + { + int j; + float i, c; + float v = MIN (1.0, rs->vRot / 30.0); + float col1[4], col2[4]; + + glPushMatrix(); + + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glLoadIdentity(); + glTranslatef (0.0, 0.0, -DEFAULT_Z_CAMERA); + + i = cubereflexGetIntensity (s) * 2; + c = cubereflexGetIntensity (s); + + glBegin (GL_QUADS); + glColor4f (0.0, 0.0, 0.0, + ((1 - v) * MAX (0.0, 1.0 - i)) + (v * c)); + glVertex2f (0.5, v / 2.0); + glVertex2f (-0.5, v / 2.0); + glColor4f (0.0, 0.0, 0.0, + ((1 - v) * MIN (1.0, 1.0 - (i - 1.0))) + (v * c)); + glVertex2f (-0.5, -0.5); + glVertex2f (0.5, -0.5); + glEnd(); + + for (j = 0; j < 4; j++) + { + col1[j] = (1.0 - v) * cubereflexGetGroundColor1 (s) [j] + + (v * (cubereflexGetGroundColor1 (s) [j] + + cubereflexGetGroundColor2 (s) [j]) * 0.5); + col1[j] /= 0xffff; + col2[j] = (1.0 - v) * cubereflexGetGroundColor2 (s) [j] + + (v * (cubereflexGetGroundColor1 (s) [j] + + cubereflexGetGroundColor2 (s) [j]) * 0.5); + col2[j] /= 0xffff; + } + + if (cubereflexGetGroundSize (s) > 0.0) + { + glBegin (GL_QUADS); + glColor4fv (col1); + glVertex2f (-0.5, -0.5); + glVertex2f (0.5, -0.5); + glColor4fv (col2); + glVertex2f (0.5, -0.5 + + ((1 - v) * cubereflexGetGroundSize (s)) + v); + glVertex2f (-0.5, -0.5 + + ((1 - v) * cubereflexGetGroundSize (s)) + v); + glEnd(); + } + + glColor4usv (defaultColor); + + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + glDisable (GL_BLEND); + glPopMatrix(); + } + else + drawBasicGround (s); + } + + memset (cs->capsPainted, 0, sizeof (Bool) * s->nOutputDev); + rs->reflection = FALSE; + } + + + matrixTranslate (&sTransform, 0.0, rs->yTrans, rs->zTrans); + + UNWRAP (rs, s, paintTransformedOutput); + (*s->paintTransformedOutput) (s, sAttrib, &sTransform, region, output, mask); + WRAP (rs, s, paintTransformedOutput, cubereflexPaintTransformedOutput); +} + +static Bool +cubereflexPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + CUBEREFLEX_SCREEN (s); + + if (rs->last != output) + rs->first = TRUE; + + rs->last = output; + + UNWRAP (rs, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (rs, s, paintOutput, cubereflexPaintOutput); + + return status; +} + +static void +cubereflexDonePaintScreen (CompScreen * s) +{ + CUBEREFLEX_SCREEN (s); + + rs->first = TRUE; + rs->yTrans = 0.0; + rs->zTrans = 0.0; + + UNWRAP (rs, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (rs, s, donePaintScreen, cubereflexDonePaintScreen); +} + + +static Bool +cubereflexInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + CubereflexDisplay *rd; + CompPlugin *cube = findActivePlugin ("cube"); + + CompOption *option; + int nOption; + + if (!cube || !cube->vTable->getDisplayOptions) + return FALSE; + + option = (*cube->vTable->getDisplayOptions) (cube, d, &nOption); + + if (getIntOptionNamed (option, nOption, "abi", 0) != CUBE_ABIVERSION) + { + compLogMessage (d, "cubereflex", CompLogLevelError, + "cube ABI version mismatch"); + return FALSE; + } + + cubeDisplayPrivateIndex = getIntOptionNamed (option, nOption, "index", -1); + + if (cubeDisplayPrivateIndex < 0) + return FALSE; + + rd = malloc (sizeof (CubereflexDisplay) ); + + if (!rd) + return FALSE; + + rd->screenPrivateIndex = allocateScreenPrivateIndex (d); + + if (rd->screenPrivateIndex < 0) + { + free (rd); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = rd; + + return TRUE; +} + +static void +cubereflexFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + CUBEREFLEX_DISPLAY (d); + + freeScreenPrivateIndex (d, rd->screenPrivateIndex); + free (rd); +} + +static Bool +cubereflexInitScreen (CompPlugin *p, + CompScreen *s) +{ + CubereflexScreen *rs; + + CUBEREFLEX_DISPLAY (s->display); + CUBE_SCREEN (s); + + rs = malloc (sizeof (CubereflexScreen) ); + + if (!rs) + return FALSE; + + s->privates[rd->screenPrivateIndex].ptr = rs; + + rs->reflection = FALSE; + rs->first = TRUE; + rs->last = NULL; + rs->yTrans = 0.0; + rs->zTrans = 0.0; + + WRAP (rs, s, paintTransformedOutput, cubereflexPaintTransformedOutput); + WRAP (rs, s, paintOutput, cubereflexPaintOutput); + WRAP (rs, s, donePaintScreen, cubereflexDonePaintScreen); + WRAP (rs, cs, clearTargetOutput, cubereflexClearTargetOutput); + WRAP (rs, cs, getRotation, cubereflexGetRotation); + WRAP (rs, cs, checkOrientation, cubereflexCheckOrientation); + + return TRUE; +} + +static void +cubereflexFiniScreen (CompPlugin *p, + CompScreen *s) +{ + CUBEREFLEX_SCREEN (s); + CUBE_SCREEN (s); + + UNWRAP (rs, s, paintTransformedOutput); + UNWRAP (rs, s, paintOutput); + UNWRAP (rs, s, donePaintScreen); + + UNWRAP (rs, cs, clearTargetOutput); + UNWRAP (rs, cs, getRotation); + UNWRAP (rs, cs, checkOrientation); + + free (rs); +} + +static Bool +cubereflexInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +cubereflexFini (CompPlugin *p) +{ + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +cubereflexGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable cubereflexVTable = { + + "cubereflex", + cubereflexGetVersion, + 0, + cubereflexInit, + cubereflexFini, + cubereflexInitDisplay, + cubereflexFiniDisplay, + cubereflexInitScreen, + cubereflexFiniScreen, + 0, + 0, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &cubereflexVTable; +} diff --git a/cubereflex/cubereflex_options.c b/cubereflex/cubereflex_options.c new file mode 100644 index 0000000..438aea9 --- /dev/null +++ b/cubereflex/cubereflex_options.c @@ -0,0 +1,444 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _CUBEREFLEX_OPTIONS_INTERNAL +#include "cubereflex_options.h" + +static int displayPrivateIndex; + +static CompMetadata cubereflexOptionsMetadata; + +static CompPluginVTable *cubereflexPluginVTable = NULL; +CompPluginVTable cubereflexOptionsVTable; + +#define GET_CUBEREFLEX_OPTIONS_DISPLAY(d) \ + ((CubereflexOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define CUBEREFLEX_OPTIONS_DISPLAY(d) \ + CubereflexOptionsDisplay *od = GET_CUBEREFLEX_OPTIONS_DISPLAY (d) + +#define GET_CUBEREFLEX_OPTIONS_SCREEN(s, od) \ + ((CubereflexOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define CUBEREFLEX_OPTIONS_SCREEN(s) \ + CubereflexOptionsScreen *os = GET_CUBEREFLEX_OPTIONS_SCREEN (s, GET_CUBEREFLEX_OPTIONS_DISPLAY (s->display)) + +typedef struct _CubereflexOptionsDisplay +{ + int screenPrivateIndex; + +} CubereflexOptionsDisplay; + +typedef struct _CubereflexOptionsScreen +{ + CompOption opt[CubereflexScreenOptionNum]; + cubereflexScreenOptionChangeNotifyProc notify[CubereflexScreenOptionNum]; +} CubereflexOptionsScreen; + +unsigned short * cubereflexGetGroundColor1 (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor1].value.c; +} + +unsigned short cubereflexGetGroundColor1Red (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor1].value.c[0]; +} + +unsigned short cubereflexGetGroundColor1Green (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor1].value.c[1]; +} + +unsigned short cubereflexGetGroundColor1Blue (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor1].value.c[2]; +} + +unsigned short cubereflexGetGroundColor1Alpha (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor1].value.c[3]; +} + +CompOption * cubereflexGetGroundColor1Option (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return &os->opt[CubereflexScreenOptionGroundColor1]; +} + +void cubereflexSetGroundColor1Notify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + os->notify[CubereflexScreenOptionGroundColor1] = notify; +} + +unsigned short * cubereflexGetGroundColor2 (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor2].value.c; +} + +unsigned short cubereflexGetGroundColor2Red (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor2].value.c[0]; +} + +unsigned short cubereflexGetGroundColor2Green (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor2].value.c[1]; +} + +unsigned short cubereflexGetGroundColor2Blue (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor2].value.c[2]; +} + +unsigned short cubereflexGetGroundColor2Alpha (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundColor2].value.c[3]; +} + +CompOption * cubereflexGetGroundColor2Option (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return &os->opt[CubereflexScreenOptionGroundColor2]; +} + +void cubereflexSetGroundColor2Notify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + os->notify[CubereflexScreenOptionGroundColor2] = notify; +} + +float cubereflexGetGroundSize (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionGroundSize].value.f; +} + +CompOption * cubereflexGetGroundSizeOption (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return &os->opt[CubereflexScreenOptionGroundSize]; +} + +void cubereflexSetGroundSizeNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + os->notify[CubereflexScreenOptionGroundSize] = notify; +} + +float cubereflexGetIntensity (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionIntensity].value.f; +} + +CompOption * cubereflexGetIntensityOption (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return &os->opt[CubereflexScreenOptionIntensity]; +} + +void cubereflexSetIntensityNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + os->notify[CubereflexScreenOptionIntensity] = notify; +} + +Bool cubereflexGetAutoZoom (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionAutoZoom].value.b; +} + +CompOption * cubereflexGetAutoZoomOption (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return &os->opt[CubereflexScreenOptionAutoZoom]; +} + +void cubereflexSetAutoZoomNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + os->notify[CubereflexScreenOptionAutoZoom] = notify; +} + +Bool cubereflexGetZoomManualOnly (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionZoomManualOnly].value.b; +} + +CompOption * cubereflexGetZoomManualOnlyOption (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return &os->opt[CubereflexScreenOptionZoomManualOnly]; +} + +void cubereflexSetZoomManualOnlyNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + os->notify[CubereflexScreenOptionZoomManualOnly] = notify; +} + +int cubereflexGetMode (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return os->opt[CubereflexScreenOptionMode].value.i; +} + +CompOption * cubereflexGetModeOption (CompScreen *s) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return &os->opt[CubereflexScreenOptionMode]; +} + +void cubereflexSetModeNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + os->notify[CubereflexScreenOptionMode] = notify; +} + +CompOption * cubereflexGetScreenOption (CompScreen *s, CubereflexScreenOptions num) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + return &os->opt[num]; +} + +static const CompMetadataOptionInfo cubereflexOptionsScreenOptionInfo[] = { + { "ground_color1", "color", 0, 0, 0 }, + { "ground_color2", "color", 0, 0, 0 }, + { "ground_size", "float", "0.01.0", 0, 0 }, + { "intensity", "float", "0.01.0", 0, 0 }, + { "auto_zoom", "bool", 0, 0, 0 }, + { "zoom_manual_only", "bool", 0, 0, 0 }, + { "mode", "int", "03", 0, 0 }, +}; + +static Bool cubereflexOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, CubereflexScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case CubereflexScreenOptionGroundColor1: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[CubereflexScreenOptionGroundColor1]) + (*os->notify[CubereflexScreenOptionGroundColor1]) (s, o, CubereflexScreenOptionGroundColor1); + return TRUE; + } + break; + case CubereflexScreenOptionGroundColor2: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[CubereflexScreenOptionGroundColor2]) + (*os->notify[CubereflexScreenOptionGroundColor2]) (s, o, CubereflexScreenOptionGroundColor2); + return TRUE; + } + break; + case CubereflexScreenOptionGroundSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[CubereflexScreenOptionGroundSize]) + (*os->notify[CubereflexScreenOptionGroundSize]) (s, o, CubereflexScreenOptionGroundSize); + return TRUE; + } + break; + case CubereflexScreenOptionIntensity: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[CubereflexScreenOptionIntensity]) + (*os->notify[CubereflexScreenOptionIntensity]) (s, o, CubereflexScreenOptionIntensity); + return TRUE; + } + break; + case CubereflexScreenOptionAutoZoom: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[CubereflexScreenOptionAutoZoom]) + (*os->notify[CubereflexScreenOptionAutoZoom]) (s, o, CubereflexScreenOptionAutoZoom); + return TRUE; + } + break; + case CubereflexScreenOptionZoomManualOnly: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[CubereflexScreenOptionZoomManualOnly]) + (*os->notify[CubereflexScreenOptionZoomManualOnly]) (s, o, CubereflexScreenOptionZoomManualOnly); + return TRUE; + } + break; + case CubereflexScreenOptionMode: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[CubereflexScreenOptionMode]) + (*os->notify[CubereflexScreenOptionMode]) (s, o, CubereflexScreenOptionMode); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * cubereflexOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + CUBEREFLEX_OPTIONS_SCREEN(s); + *count = CubereflexScreenOptionNum; + return os->opt; +} + +static Bool cubereflexOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + CubereflexOptionsScreen *os; + + CUBEREFLEX_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(CubereflexOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (!compInitScreenOptionsFromMetadata (s, &cubereflexOptionsMetadata, cubereflexOptionsScreenOptionInfo, os->opt, CubereflexScreenOptionNum)) + { + free (os); + return FALSE; + } + if (cubereflexPluginVTable && cubereflexPluginVTable->initScreen) + return cubereflexPluginVTable->initScreen (p, s); + return TRUE; +} + +static void cubereflexOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (cubereflexPluginVTable && cubereflexPluginVTable->finiScreen) + return cubereflexPluginVTable->finiScreen (p, s); + + CUBEREFLEX_OPTIONS_SCREEN (s); + + + compFiniScreenOptions (s, os->opt, CubereflexScreenOptionNum); + + free (os); +} + +static Bool cubereflexOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + CubereflexOptionsDisplay *od; + + + od = calloc (1, sizeof(CubereflexOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (cubereflexPluginVTable && cubereflexPluginVTable->initDisplay) + return cubereflexPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void cubereflexOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (cubereflexPluginVTable && cubereflexPluginVTable->finiDisplay) + return cubereflexPluginVTable->finiDisplay (p, d); + + CUBEREFLEX_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + free (od); +} + +static Bool cubereflexOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&cubereflexOptionsMetadata, "cubereflex",0, 0, cubereflexOptionsScreenOptionInfo, CubereflexScreenOptionNum)) + return FALSE; + + compAddMetadataFromFile (&cubereflexOptionsMetadata, "cubereflex"); + if (cubereflexPluginVTable && cubereflexPluginVTable->init) + return cubereflexPluginVTable->init (p); + return TRUE; +} + +static void cubereflexOptionsFini (CompPlugin *p) +{ + if (cubereflexPluginVTable && cubereflexPluginVTable->fini) + return cubereflexPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&cubereflexOptionsMetadata); +} + +static CompMetadata * +cubereflexOptionsGetMetadata (CompPlugin *plugin) +{ + return &cubereflexOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!cubereflexPluginVTable) + { + cubereflexPluginVTable = cubereflexOptionsGetCompPluginInfo (); + memcpy(&cubereflexOptionsVTable, cubereflexPluginVTable, sizeof(CompPluginVTable)); + cubereflexOptionsVTable.getMetadata = cubereflexOptionsGetMetadata; + cubereflexOptionsVTable.init = cubereflexOptionsInit; + cubereflexOptionsVTable.fini = cubereflexOptionsFini; + cubereflexOptionsVTable.initDisplay = cubereflexOptionsInitDisplay; + cubereflexOptionsVTable.finiDisplay = cubereflexOptionsFiniDisplay; + cubereflexOptionsVTable.initScreen = cubereflexOptionsInitScreen; + cubereflexOptionsVTable.finiScreen = cubereflexOptionsFiniScreen; + cubereflexOptionsVTable.getScreenOptions = cubereflexOptionsGetScreenOptions; + cubereflexOptionsVTable.setScreenOption = cubereflexOptionsSetScreenOption; + + } + return &cubereflexOptionsVTable; +} + diff --git a/cubereflex/cubereflex_options.h b/cubereflex/cubereflex_options.h new file mode 100644 index 0000000..e167c6e --- /dev/null +++ b/cubereflex/cubereflex_options.h @@ -0,0 +1,98 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _CUBEREFLEX_OPTIONS_H +#define _CUBEREFLEX_OPTIONS_H + +#ifndef _CUBEREFLEX_OPTIONS_INTERNAL +#define getCompPluginInfo cubereflexOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *cubereflexOptionsGetCompPluginInfo (void); + +typedef enum +{ + CubereflexDisplayOptionNum +} CubereflexDisplayOptions; + +typedef void (*cubereflexDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, CubereflexDisplayOptions num); + +CompOption *cubereflexGetDisplayOption (CompDisplay *d, CubereflexDisplayOptions num); + +typedef enum +{ + CubereflexScreenOptionGroundColor1, + CubereflexScreenOptionGroundColor2, + CubereflexScreenOptionGroundSize, + CubereflexScreenOptionIntensity, + CubereflexScreenOptionAutoZoom, + CubereflexScreenOptionZoomManualOnly, + CubereflexScreenOptionMode, + CubereflexScreenOptionNum +} CubereflexScreenOptions; + +typedef void (*cubereflexScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, CubereflexScreenOptions num); + +CompOption *cubereflexGetScreenOption (CompScreen *s, CubereflexScreenOptions num); + +typedef enum +{ + ModeJumpy = 0, + ModeJumpyReflection = 1, + ModeDistance = 2, + ModeAbove = 3, +} CubereflexModeEnum; + +unsigned short * cubereflexGetGroundColor1 (CompScreen *s); +unsigned short cubereflexGetGroundColor1Red (CompScreen *s); +unsigned short cubereflexGetGroundColor1Green (CompScreen *s); +unsigned short cubereflexGetGroundColor1Blue (CompScreen *s); +unsigned short cubereflexGetGroundColor1Alpha (CompScreen *s); +CompOption * cubereflexGetGroundColor1Option (CompScreen *s); +void cubereflexSetGroundColor1Notify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify); + +unsigned short * cubereflexGetGroundColor2 (CompScreen *s); +unsigned short cubereflexGetGroundColor2Red (CompScreen *s); +unsigned short cubereflexGetGroundColor2Green (CompScreen *s); +unsigned short cubereflexGetGroundColor2Blue (CompScreen *s); +unsigned short cubereflexGetGroundColor2Alpha (CompScreen *s); +CompOption * cubereflexGetGroundColor2Option (CompScreen *s); +void cubereflexSetGroundColor2Notify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify); + +float cubereflexGetGroundSize (CompScreen *s); +CompOption * cubereflexGetGroundSizeOption (CompScreen *s); +void cubereflexSetGroundSizeNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify); + +float cubereflexGetIntensity (CompScreen *s); +CompOption * cubereflexGetIntensityOption (CompScreen *s); +void cubereflexSetIntensityNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify); + +Bool cubereflexGetAutoZoom (CompScreen *s); +CompOption * cubereflexGetAutoZoomOption (CompScreen *s); +void cubereflexSetAutoZoomNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify); + +Bool cubereflexGetZoomManualOnly (CompScreen *s); +CompOption * cubereflexGetZoomManualOnlyOption (CompScreen *s); +void cubereflexSetZoomManualOnlyNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify); + +int cubereflexGetMode (CompScreen *s); +CompOption * cubereflexGetModeOption (CompScreen *s); +void cubereflexSetModeNotify (CompScreen *s, cubereflexScreenOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/depcomp b/depcomp new file mode 100755 index 0000000..e5f9736 --- /dev/null +++ b/depcomp @@ -0,0 +1,589 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2007-03-29.01 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software +# Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/ecomorph.sh b/ecomorph.sh new file mode 100755 index 0000000..2c0e44c --- /dev/null +++ b/ecomorph.sh @@ -0,0 +1,350 @@ +#!/bin/sh +# Ecomp Manager wrapper script +# +# Copyright (c) 2007 Kristian Lyngstøl +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# Contributions by: Treviño (3v1n0) , Ubuntu Packages +# +# Much of this code is based on Beryl code, also licensed under the GPL. +# This script will detect what options we need to pass to ecomp to get it +# started, and start a default plugin and possibly window decorator. +# + + +ECOMP_BIN_PATH="/usr/local/bin/" # For window decorators and ecomp +PLUGIN_PATH="/usr/local/lib/ecomp/" +GLXINFO="/usr/bin/glxinfo" +#KWIN="/usr/bin/kwin" +#METACITY="/usr/bin/metacity" +ECOMP_NAME="ecomorph" # Final name for ecomp (ecomp.real) + +# For Xgl LD_PRELOAD +LIBGL_NVIDIA="/usr/lib/nvidia/libGL.so.1.2.xlibmesa" +LIBGL_FGLRX="/usr/lib/fglrx/libGL.so.1.2.xlibmesa" + +# Minimum amount of memory (in kilo bytes) that nVidia cards need +# to be allowed to start +# Set to 262144 to require 256MB +NVIDIA_MEMORY="65536" # 64MB +NVIDIA_SETTINGS="nvidia-settings" # Assume it's in the path by default + +# For detecting what driver is in use, the + is for one or more /'s +XORG_DRIVER_PATH="/usr/lib/xorg/modules/drivers/+" + +#FALLBACKWM="${METACITY}" +#FALLBACKWM_OPTIONS="--replace $@" + +# Driver whitelist +WHITELIST="nvidia intel ati radeon i810" + +# blacklist based on the pci ids +# See http://wiki.ecomp-fusion.org/Hardware/Blacklist for details +T=" 1002:5954 1002:5854 1002:5955" # ati rs480 +T="$T 1002:4153" # ATI Rv350 +T="$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12" # intel 965 +T="$T 8086:2972" # i965 (x3000) +T="$T 1002:3152 1002:3150 1002:5462 1002:5653 " # ati X300 X600,X600 X700 +BLACKLIST_PCIIDS="$T" +unset T + +ECOMP_OPTIONS="--ignore-desktop-hints --replace" +ECOMP_PLUGINS="" +ENV="" + +# Use emerald by default if it exist +#USE_EMERALD="yes" + +# No indirect by default +INDIRECT="no" + +# Set to yes to enable verbose +VERBOSE="yes" + +# Echos the arguments if verbose +verbose() +{ + if [ "x$VERBOSE" = "xyes" ]; then + printf "$*" + fi +} + + +# Check for non power of two texture support +check_npot_texture() +{ + verbose "Checking for non power of two support: " + if glxinfo 2> /dev/null | egrep -q '(GL_ARB_texture_non_power_of_two|GL_NV_texture_rectangle|GL_EXT_texture_rectangle|GL_ARB_texture_rectangle)' ; then + verbose "present. \n"; + return 0; + else + verbose "Not present. \n" + return 1; + fi + +} + +# Check for presence of FBConfig +check_fbconfig() +{ + verbose "Checking for FBConfig: " + if [ "$INDIRECT" = "yes" ]; then + $GLXINFO -i | grep -q GLX.*fbconfig + FB=$? + else + $GLXINFO | grep -q GLX.*fbconfig + FB=$? + fi + + if [ $FB = "0" ]; then + unset FB + verbose "present. \n" + return 0; + else + unset FB + verbose "not present. \n" + return 1; + fi +} + + +# Check for TFP +check_tfp() +{ + verbose "Checking for texture_from_pixmap: " + if [ $($GLXINFO 2>/dev/null | grep GLX_EXT_texture_from_pixmap -c) -gt 2 ] ; then + verbose "present. \n" + return 0; + else + verbose "not present. \n" + if [ "$INDIRECT" = "yes" ]; then + unset LIBGL_ALWAYS_INDIRECT + INDIRECT="no" + return 1; + else + verbose "Trying again with indirect rendering:\n"; + INDIRECT="yes" + export LIBGL_ALWAYS_INDIRECT=1 + check_tfp; + return $? + fi + fi +} + +# Check wether the composite extension is present +check_composite() +{ + verbose "Checking for Composite extension: " + if xdpyinfo -queryExtensions | grep -q Composite ; then + verbose "present. \n"; + return 0; + else + verbose "not present. \n"; + return 1; + fi +} + +# Detects if Xgl is running +check_xgl() +{ + verbose "Checking for Xgl: " + if xvinfo | grep -q Xgl ; then + verbose "present. \n" + return 0; + else + verbose "not present. \n" + return 1; + fi +} + +# Check if the nVidia card has enough video ram to make sense +check_nvidia_memory() +{ + MEM=$(${NVIDIA_SETTINGS} -q VideoRam | egrep Attribute\ \'VideoRam\'\ .*: | cut -d: -f3 | sed 's/[^0-9]//g') + if [ $MEM -lt $NVIDIA_MEMORY ]; then + verbose "Less than ${NVIDIA_MEMORY}kb of memory and nVidia"; + return 1; + fi + return 0; +} + +# Check for existence if NV-GLX +check_nvidia() +{ + if [ ! -z $NVIDIA_INTERNAL_TEST ]; then + return $NVIDIA_INTERNAL_TEST; + fi + verbose "Checking for nVidia: " + if xdpyinfo | grep -q NV-GLX ; then + verbose "present. \n" + NVIDIA_INTERNAL_TEST=0 + return 0; + else + verbose "not present. \n" + NVIDIA_INTERNAL_TEST=1 + return 1; + fi +} + +# Check if the max texture size is large enough compared to the resolution +check_texture_size() +{ + TEXTURE_LIMIT=$(glxinfo -l | grep GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g') + RESOLUTION=$(xdpyinfo | grep -i dimensions: | sed 's/[^0-9]*pixels.*(.*).*//' | sed 's/[^0-9x]*//') + VRES=$(echo $RESOLUTION | sed 's/.*x//') + HRES=$(echo $RESOLUTION | sed 's/x.*//') + verbose "Comparing resolution ($RESOLUTION) to maximum 3D texture size ($TEXTURE_LIMIT): "; + if [ $VRES -gt $TEXTURE_LIMIT ] || [ $HRES -gt $TEXTURE_LIMIT ]; then + verbose "Failed.\n" + return 1; + fi + verbose "Passed.\n" + return 0 +} + +# check driver whitelist +running_under_whitelisted_driver() +{ + LOG=$(xset q|grep "Log file"|awk '{print $3}') + if [ -z "$LOG" ];then + verbose "AIEEEEH, no Log file found \n" + verbose "$(xset q) \n" + return 0 + fi + for DRV in ${WHITELIST}; do + if egrep -q "Loading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG && + ! egrep -q "Unloading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG; + then + return 0 + fi + done + verbose "No whitelisted driver found\n" + return 1 +} + +# check pciid blacklist +have_blacklisted_pciid() +{ + OUTPUT=$(lspci -n) + for ID in ${BLACKLIST_PCIIDS}; do + if echo "$OUTPUT" | egrep -q "$ID"; then + verbose "Blacklisted PCIID '$ID' found \n" + return 0 + fi + done + OUTPUT=$(lspci -vn | grep -i VGA) + verbose "Detected PCI ID for VGA: $OUTPUT\n" + return 1 +} + +build_env() +{ + if check_nvidia; then + ENV="__GL_YIELD=NOTHING " + fi + if [ "$INDIRECT" = "yes" ]; then + ENV="$ENV LIBGL_ALWAYS_INDIRECT=1 " + fi + if check_xgl; then + if [ -f ${LIBGL_NVIDIA} ]; then + ENV="$ENV LD_PRELOAD=${LIBGL_NVIDIA}" + verbose "Enabling Xgl with nVidia drivers...\n" + fi + if [ -f ${LIBGL_FGLRX} ]; then + ENV="$ENV LD_PRELOAD=${LIBGL_FGLRX}" + verbose "Enabling Xgl with fglrx ATi drivers...\n" + fi + fi + + ENV="$ENV FROM_WRAPPER=yes" + + if [ -n "$ENV" ]; then + export $ENV + fi +} + +build_args() +{ + if [ $INDIRECT = "yes" ]; then + ECOMP_OPTIONS="$ECOMP_OPTIONS --indirect-rendering " + fi + if check_nvidia; then + ECOMP_OPTIONS="$ECOMP_OPTIONS --loose-binding" + fi +} + +#################### +# Execution begins here. + +# Read configuration from XDG paths +if [ -z "$XDG_CONFIG_DIRS" ]; then + test -f /etc/xdg/ecomp/ecomp-manager && . /etc/xdg/ecomp/ecomp-manager +else + test -f $XDG_CONFIG_DIRS/ecomp/ecomp-manager && . $XDG_CONFIG_DIRS/ecomp/ecomp-manager +fi + +if [ -z "$XDG_CONFIG_HOME" ]; then + test -f $HOME/.config/ecomp/ecomp-manager && . $HOME/.config/ecomp/ecomp-manager +else + test -f $XDG_CONFIG_HOME/ecomp/ecomp-manager && . $XDG_CONFIG_HOME/ecomp/ecomp-manager +fi + + +if [ "x$LIBGL_ALWAYS_INDIRECT" = "x1" ]; then + INDIRECT="yes"; +fi + +# if we run under Xgl, we can skip some tests here +if ! check_xgl; then + # if vesa or vga are in use, do not even try glxinfo (LP#119341) + if ! running_under_whitelisted_driver || have_blacklisted_pciid; then + abort_with_fallback_wm + fi + # check if we have the required bits to run ecomp and if not, + # fallback + if ! check_tfp || ! check_npot_texture || ! check_composite || ! check_texture_size; then + abort_with_fallback_wm + fi + + if check_nvidia && ! check_nvidia_memory; then + abort_with_fallback_wm + fi + + if ! check_fbconfig; then + abort_with_fallback_wm + fi +fi + +# load the ccp plugin if present and fallback to plain gconf if not +#if [ -f ${PLUGIN_PATH}libccp.so ]; then +# ECOMP_PLUGINS="$ECOMP_PLUGINS ccp" +#elif [ -f ${PLUGIN_PATH}libgconf.so ]; then +# ECOMP_PLUGINS="$ECOMP_PLUGINS glib gconf" +#fi +ECOMP_PLUGINS="ccp" +#ECOMP_PLUGINS="cube rotate scale decoration expo" +# get environment +build_env +build_args + + +#/usr/local/bin/ecomorph $ECOMP_OPTIONS "$@" $ECOMP_PLUGINS +#/home/jeff/src/compiz/src/ +ecomorph $ECOMP_OPTIONS "$@" $ECOMP_PLUGINS +#> /dev/null + diff --git a/ecomp-cube.pc b/ecomp-cube.pc new file mode 100644 index 0000000..152f2db --- /dev/null +++ b/ecomp-cube.pc @@ -0,0 +1,13 @@ +prefix=/usr/local +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: ecomp-cube +Description: Cube plugin for ecomp +Version: 0.6.2 + +Requires: ecomp +Libs: +Cflags: -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I${includedir}/ecomp + diff --git a/ecomp-cube.pc.in b/ecomp-cube.pc.in new file mode 100644 index 0000000..729199a --- /dev/null +++ b/ecomp-cube.pc.in @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: ecomp-cube +Description: Cube plugin for ecomp +Version: @VERSION@ + +Requires: ecomp +Libs: +Cflags: @ECOMP_CFLAGS@ @GL_CFLAGS@ -I${includedir}/ecomp + diff --git a/ecomp-gconf.pc.in b/ecomp-gconf.pc.in new file mode 100644 index 0000000..af4184b --- /dev/null +++ b/ecomp-gconf.pc.in @@ -0,0 +1,6 @@ +prefix=@prefix@ +xsltdir=@datarootdir@/ecomp + +Name: ecomp-gconf +Description: GConf plugin for ecomp +Version: @VERSION@ diff --git a/ecomp-scale.pc b/ecomp-scale.pc new file mode 100644 index 0000000..369b8df --- /dev/null +++ b/ecomp-scale.pc @@ -0,0 +1,12 @@ +prefix=/usr/local +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: ecomp-scale +Description: Scale plugin for ecomp +Version: 0.6.2 + +Requires: ecomp +Libs: +Cflags: -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I${includedir}/ecomp \ No newline at end of file diff --git a/ecomp-scale.pc.in b/ecomp-scale.pc.in new file mode 100644 index 0000000..66da373 --- /dev/null +++ b/ecomp-scale.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: ecomp-scale +Description: Scale plugin for ecomp +Version: @VERSION@ + +Requires: ecomp +Libs: +Cflags: @ECOMP_CFLAGS@ @GL_CFLAGS@ -I${includedir}/ecomp \ No newline at end of file diff --git a/ecomp.pc b/ecomp.pc new file mode 100644 index 0000000..249ecba --- /dev/null +++ b/ecomp.pc @@ -0,0 +1,12 @@ +prefix=/usr/local +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: ecomp +Description: OpenGL compositing manager +Version: 0.6.2 + +Requires: xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +Libs: +Cflags: -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I${includedir}/ecomp diff --git a/ecomp.pc.in b/ecomp.pc.in new file mode 100644 index 0000000..a8ab9bc --- /dev/null +++ b/ecomp.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: ecomp +Description: OpenGL compositing manager +Version: @VERSION@ + +Requires: @ECOMP_REQUIRES@ +Libs: +Cflags: @ECOMP_CFLAGS@ @GL_CFLAGS@ -I${includedir}/ecomp diff --git a/ecomp/ecompconfig/Default.ini b/ecomp/ecompconfig/Default.ini new file mode 100644 index 0000000..3d76470 --- /dev/null +++ b/ecomp/ecompconfig/Default.ini @@ -0,0 +1,92 @@ +[core] +as_active_plugins = ccp;regex;decoration;mblur;water;expo;zoom;shift;thumbnail;fade;text;video;png;ring;minimize;plane;switcher;scale +s0_vsize = 3 +s0_sync_to_vblank = false +as_texture_filter = 2 +s0_refresh_rate = 60 +s0_detect_outputs = false +s0_outputs = 1920x1200+0+0 + +[scale] +as_initiate = Up,Button0,BottomRight,0,false +as_initiate_all = ,Button0,TopLeft,0,false +s0_speed = 1.820690 +s0_timestep = 0.100000 +s0_spacing = 19 +s0_window_match = Toolbar | Utility | Dialog | Normal | Unknown | Fullscreen + +[expo] +as_expo = e,Button0,TopRight,0,false +as_mipmaps = true +as_zoom_time = 0.253125 +as_reflection = false +as_expo_animation = 1 + +[mblur] +s0_on_transformed_screen = true +s0_strength = 0.010000 + +[shift] +s0_speed = 6.000000 +s0_shift_speed = 2.740000 +s0_timestep = 1.600000 +s0_mode = 1 +s0_size = 57 +s0_background_intensity = 0.180000 +s0_minimized = false +s0_overlay_icon = 0 +s0_cover_offset = -0.070000 +as_initiate_all = ,Button0,BottomLeft,0,false + +[animation] +s0_focus_effects = 3 +s0_focus_durations = 358 +s0_wave_width = 1.120000 +s0_wave_amp = 0.010000 +s0_glide1_away_position = 0.150000 + +[switcher] +s0_zoom = 1.900000 +s0_brightness = 100 +s0_opacity = 51 + +[ring] +s0_thumb_width = 392 +s0_ring_height = 37 +s0_thumb_height = 443 +s0_ring_width = 79 +s0_timestep = 0.600000 +s0_speed = 2.000000 +s0_min_scale = 0.290000 +s0_min_brightness = 0.310000 +s0_overlay_icon = 0 +s0_inactive_opacity = 77 +s0_select_with_mouse = true + +[rotate] +as_rotate_flip_left = ,Button0,,0,false +as_rotate_flip_right = ,Button0,,0,false + +[cube] +s0_active_opacity = 41.000000 +s0_color = #ffffffff + +[blur] +s0_mipmap_lod = 0.400000 +s0_gaussian_radius = 15 +s0_saturation = 4 +s0_blur_speed = 8.000000 +s0_focus_blur_match = class=_e_border +s0_filter = 2 +s0_gaussian_strength = 0.200000 +s0_focus_blur = true + +[reflex] +s0_threshold = 8 +s0_file = /home/jeff/2008-01-18-221446.png + +[thumbnail] +s0_thumb_size = 227 +s0_fade_speed = 0.100000 +s0_show_delay = 254 + diff --git a/ecomp/ecompconfig/config b/ecomp/ecompconfig/config new file mode 100644 index 0000000..d97b008 --- /dev/null +++ b/ecomp/ecompconfig/config @@ -0,0 +1,10 @@ +[gnome_session] +profile = +plugin_list_autosort = true +backend = ini + +[general] +profile = +plugin_list_autosort = true +integration = true + diff --git a/expo/Makefile b/expo/Makefile new file mode 100644 index 0000000..29c4abe --- /dev/null +++ b/expo/Makefile @@ -0,0 +1,571 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# expo/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = expo +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libexpo_la_DEPENDENCIES = +am_libexpo_la_OBJECTS = expo_options.lo expo.lo +libexpo_la_OBJECTS = $(am_libexpo_la_OBJECTS) +libexpo_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libexpo_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libexpo_la_SOURCES) +DIST_SOURCES = $(libexpo_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/expo +abs_srcdir = /media/disk-3/src/compiz/expo +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libexpo_la_LDFLAGS = $(PFLAGS) +libexpo_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lGLU +libexpo_la_SOURCES = expo_options.c expo_options.h expo.c +INCLUDES = \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -DMETADATADIR=\"$(metadatadir)\" + +moduledir = $(plugindir) +module_LTLIBRARIES = libexpo.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu expo/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu expo/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libexpo.la: $(libexpo_la_OBJECTS) $(libexpo_la_DEPENDENCIES) + $(libexpo_la_LINK) -rpath $(moduledir) $(libexpo_la_OBJECTS) $(libexpo_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/expo.Plo +include ./$(DEPDIR)/expo_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +expo_options.h: ../metadata/expo.xml + $(BCOP_BIN) --header $@ $< + +expo_options.c: ../metadata/expo.xml expo_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/expo/Makefile.am b/expo/Makefile.am new file mode 100644 index 0000000..8ec55c2 --- /dev/null +++ b/expo/Makefile.am @@ -0,0 +1,28 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +libexpo_la_LDFLAGS = $(PFLAGS) +libexpo_la_LIBADD = @ECOMP_LIBS@ -lGLU +libexpo_la_SOURCES = expo_options.c expo_options.h expo.c + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -DMETADATADIR=\"$(metadatadir)\" + +moduledir = $(plugindir) + + +module_LTLIBRARIES = libexpo.la + +CLEANFILES = *_options.c *_options.h + +expo_options.h: ../metadata/expo.xml + $(BCOP_BIN) --header $@ $< + +expo_options.c: ../metadata/expo.xml expo_options.h + $(BCOP_BIN) --source $@ $< diff --git a/expo/Makefile.in b/expo/Makefile.in new file mode 100644 index 0000000..4fc524c --- /dev/null +++ b/expo/Makefile.in @@ -0,0 +1,571 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = expo +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libexpo_la_DEPENDENCIES = +am_libexpo_la_OBJECTS = expo_options.lo expo.lo +libexpo_la_OBJECTS = $(am_libexpo_la_OBJECTS) +libexpo_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libexpo_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libexpo_la_SOURCES) +DIST_SOURCES = $(libexpo_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +libexpo_la_LDFLAGS = $(PFLAGS) +libexpo_la_LIBADD = @ECOMP_LIBS@ -lGLU +libexpo_la_SOURCES = expo_options.c expo_options.h expo.c +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -DMETADATADIR=\"$(metadatadir)\" + +moduledir = $(plugindir) +module_LTLIBRARIES = libexpo.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu expo/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu expo/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libexpo.la: $(libexpo_la_OBJECTS) $(libexpo_la_DEPENDENCIES) + $(libexpo_la_LINK) -rpath $(moduledir) $(libexpo_la_OBJECTS) $(libexpo_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expo.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expo_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +expo_options.h: ../metadata/expo.xml + $(BCOP_BIN) --header $@ $< + +expo_options.c: ../metadata/expo.xml expo_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/expo/expo.c b/expo/expo.c new file mode 100644 index 0000000..77b2a12 --- /dev/null +++ b/expo/expo.c @@ -0,0 +1,1564 @@ +/** + * + * Ecomp expo plugin + * + * expo.c + * + * Copyright (c) 2006 Robert Carr + * + * Authors: + * Robert Carr + * Dennis Kasprzyk + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + **/ + +#include +#include +#include +#include +#include + +#include +#include "expo_options.h" + +#include + +#define PI 3.14159265359f + +#define WIN_X(w) ((w)->attrib.x - (w)->input.left) +#define WIN_Y(w) ((w)->attrib.y - (w)->input.top) +#define WIN_W(w) ((w)->width + (w)->input.left + (w)->input.right) +#define WIN_H(w) ((w)->height + (w)->input.top + (w)->input.bottom) + +static int displayPrivateIndex; + +typedef enum + { + DnDNone = 0, + DnDDuring, + DnDStart + } DnDState; + +typedef enum + { + VPUpdateNone = 0, + VPUpdateMouseOver, + VPUpdatePrevious + } VPUpdateMode; + +typedef struct _ExpoDisplay +{ + int screenPrivateIndex; + + HandleEventProc handleEvent; + + KeyCode leftKey; + KeyCode rightKey; + KeyCode upKey; + KeyCode downKey; +} ExpoDisplay; + +typedef struct _ExpoScreen +{ + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintScreenProc paintScreen; + PreparePaintScreenProc preparePaintScreen; + PaintTransformedOutputProc paintTransformedOutput; + PaintWindowProc paintWindow; + DrawWindowProc drawWindow; + DamageWindowRectProc damageWindowRect; + + /* Used for expo zoom animation */ + float expoCam; + Bool expoActive; + /* In expo mode? */ + Bool expoMode; + + /* For expo grab */ + int grabIndex; + + GLint viewport[4]; + + /* Window being dragged in expo mode */ + DnDState dndState; + CompWindow *dndWindow; + + int prevCursorX, prevCursorY; + int newCursorX, newCursorY; + + int origVX; + int origVY; + int selectedVX; + int selectedVY; + + VPUpdateMode vpUpdateMode; + + Bool anyClick; + + unsigned int clickTime; + Bool doubleClick; + Bool moveToDesk; + +} ExpoScreen; + +typedef struct _xyz_tuple +{ + float x, y, z; +} + Point3d; + +/* Helpers */ +#define GET_EXPO_DISPLAY(d) \ + ((ExpoDisplay *) (d)->privates[displayPrivateIndex].ptr) +#define EXPO_DISPLAY(d) \ + ExpoDisplay *ed = GET_EXPO_DISPLAY(d); + +#define GET_EXPO_SCREEN(s, ed) \ + ((ExpoScreen *) (s)->privates[(ed)->screenPrivateIndex].ptr) +#define EXPO_SCREEN(s) \ + ExpoScreen *es = GET_EXPO_SCREEN(s, GET_EXPO_DISPLAY(s->display)) + +#define sigmoid(x) (1.0f / (1.0f + exp (-5.5f * 2 * ((x) - 0.5)))) +#define sigmoidProgress(x) ((sigmoid (x) - sigmoid (0)) / \ + (sigmoid (1) - sigmoid (0))) + + +static void +expoMoveFocusViewport (CompScreen *s, + int dx, + int dy) +{ + EXPO_SCREEN (s); + + es->selectedVX += dx; + es->selectedVY += dy; + + es->selectedVX = MIN (s->hsize - 1, es->selectedVX); + es->selectedVX = MAX (0, es->selectedVX); + es->selectedVY = MIN (s->vsize - 1, es->selectedVY); + es->selectedVY = MAX (0, es->selectedVY); + + //damageScreen (s); +} + +static Bool +expoTermExpo (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + + for (s = d->screens; s; s = s->next) + { + EXPO_SCREEN (s); + + if (!es->expoMode) + continue; + + es->expoMode = FALSE; + + if (es->dndWindow) + syncWindowPosition (es->dndWindow); + + if (state & CompActionStateCancel) + es->vpUpdateMode = VPUpdatePrevious; + else + { + moveScreenViewport (s, s->x - es->selectedVX, + s->y - es->selectedVY, TRUE); + focusDefaultWindow (s->display); + es->vpUpdateMode = VPUpdateNone; + } + + es->dndState = DnDNone; + es->dndWindow = 0; + + damageScreen (s); + focusDefaultWindow (s->display); + } + + if (state & CompActionStateTermButton) + action->state &= ~CompActionStateTermButton; + + if (state & CompActionStateTermKey) + action->state &= ~CompActionStateTermKey; + + if (state & CompActionStateTermEdge) + action->state &= ~CompActionStateTermEdge; + + return TRUE; +} + +static Bool +expoExpo (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + s = findScreenAtDisplay (d, xid); + + if (s) + { + EXPO_SCREEN (s); + + if (otherScreenGrabExist (s, "expo", 0)) + return FALSE; + + if (!es->expoMode) + { + if (!es->grabIndex) + es->grabIndex = pushScreenGrab (s, None, "expo"); + + es->expoMode = TRUE; + es->anyClick = FALSE; + es->dndState = DnDNone; + es->dndWindow = None; + + es->selectedVX = es->origVX = s->x; + es->selectedVY = es->origVY = s->y; + + damageScreen (s); + } + else + { + expoTermExpo (d, action, state, option, nOption); + } + + return TRUE; + } + + return FALSE; +} + + +static Bool +expoNext (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + Bool ret = FALSE; + + xid = getIntOptionNamed (option, nOption, "root", 0); + s = findScreenAtDisplay (d, xid); + + if (s) + { + EXPO_SCREEN (s); + + if (!es->expoMode) + { + ret = expoExpo (d, action, state, option, nOption); + } + + if (es->expoMode) + { + if (es->selectedVX == s->hsize - 1) + { + if (es->selectedVY == s->vsize - 1) + { + expoMoveFocusViewport (s, - (s->hsize - 1), - (s->vsize - 1)); + } + else + { + expoMoveFocusViewport (s, - (s->hsize - 1), 1); + } + } + else + { + expoMoveFocusViewport (s, 1, 0); + } + ret = TRUE; + } + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + } + + return ret; +} + +static Bool +expoPrev (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + Bool ret = FALSE; + + xid = getIntOptionNamed (option, nOption, "root", 0); + s = findScreenAtDisplay (d, xid); + + if (s) + { + EXPO_SCREEN (s); + + if (!es->expoMode) + { + ret = expoExpo (d, action, state, option, nOption); + } + + if (es->expoMode) + { + if (es->selectedVX == 0) + { + if (es->selectedVY == 0) + { + expoMoveFocusViewport (s, (s->hsize - 1), (s->vsize - 1)); + } + else + { + expoMoveFocusViewport (s, (s->hsize - 1), -1); + } + } + else + { + expoMoveFocusViewport (s, -1, 0); + } + ret = TRUE; + } + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + } + + return ret; +} + +static void +sendMoveResizeWindowMessage (CompWindow *w, int x, int y, int width, int height) +{ + XEvent xev; + + xev.xclient.type = ClientMessage; + xev.xclient.display = w->screen->display->display; + xev.xclient.format = 32; + + xev.xclient.message_type = w->screen->display->moveResizeWindowAtom; + xev.xclient.window = w->id; + + xev.xclient.data.l[0] = 0; + xev.xclient.data.l[1] = (w->attrib.x + x) + (w->screen->x * w->screen->width); + xev.xclient.data.l[2] = (w->attrib.y + y) + (w->screen->y * w->screen->height); + + if(width || height) + { + xev.xclient.data.l[3] = w->attrib.width + width; + xev.xclient.data.l[4] = w->attrib.height + height; + } + else + { + xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = 0; + } + + XSendEvent (w->screen->display->display, + w->screen->root, + FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); +} + + + +static void +expoFinishWindowMovement (CompWindow *w) +{ + CompScreen *s = w->screen; + + EXPO_SCREEN (s); + + syncWindowPosition (w); + (*s->windowUngrabNotify) (w); + + moveScreenViewport (s, s->x - es->selectedVX, + s->y - es->selectedVY, TRUE); + + /* update saved window attributes in case we moved the + window to a new viewport */ + if (w->saveMask & CWX) + { + w->saveWc.x = w->saveWc.x % s->width; + if (w->saveWc.x < 0) + w->saveWc.x += s->width; + } + if (w->saveMask & CWY) + { + w->saveWc.y = w->saveWc.y % s->height; + if (w->saveWc.y < 0) + w->saveWc.y += s->height; + } + + /* update window attibutes to make sure a + moved maximized window is properly snapped + to the work area */ + // if (w->state & MAXIMIZE_STATE) + // { + // printf("expoFinishWindowMovement: maximize state\n"); + // + // int lastOutput; + // int centerX, centerY; + // + // /* make sure we snap to the correct output */ + // lastOutput = s->currentOutputDev; + // centerX = (WIN_X (w) + WIN_W (w) / 2) % s->width; + // if (centerX < 0) + // centerX += s->width; + // centerY = (WIN_Y (w) + WIN_H (w) / 2) % s->height; + // if (centerY < 0) + // centerY += s->height; + // + // s->currentOutputDev = outputDeviceForPoint (s, centerX, centerY); + // + // updateWindowAttributes (w, CompStackingUpdateModeNone); + // + // s->currentOutputDev = lastOutput; + // } + sendMoveResizeWindowMessage(es->dndWindow, 0, 0, 0, 0); +} + +static void +expoHandleEvent (CompDisplay *d, + XEvent *event) +{ + EXPO_DISPLAY (d); + CompScreen *s; + + switch (event->type) + { + case KeyPress: + s = findScreenAtDisplay (d, event->xkey.root); + + if (s) + { + EXPO_SCREEN (s); + + if (es->expoMode) + { + if (event->xkey.keycode == ed->leftKey) + expoMoveFocusViewport (s, -1, 0); + else if (event->xkey.keycode == ed->rightKey) + expoMoveFocusViewport (s, 1, 0); + else if (event->xkey.keycode == ed->upKey) + expoMoveFocusViewport (s, 0, -1); + else if (event->xkey.keycode == ed->downKey) + expoMoveFocusViewport (s, 0, 1); + + // a, s + else if (event->xkey.keycode == 38) + { + if (es->selectedVX == 0) + { + if (es->selectedVY > 0) + expoMoveFocusViewport (s, s->hsize - 1, -1); + else + expoMoveFocusViewport (s, s->hsize - 1, s->vsize - 1); + } + else expoMoveFocusViewport (s, -1, 0); + } + else if (event->xkey.keycode == 39) + { + if (es->selectedVX == s->hsize - 1) + { + if (es->selectedVY == s->vsize - 1) + expoMoveFocusViewport (s, - (s->hsize - 1), - (s->vsize - 1)); + else + expoMoveFocusViewport (s, - (s->hsize - 1), 1); + } + else expoMoveFocusViewport (s, 1, 0); + } + + // j,l,i,k + else if (event->xkey.keycode == 44) + { + if(es->selectedVX == 0) + expoMoveFocusViewport (s, s->hsize - 1, 0); + else + expoMoveFocusViewport (s, -1, 0); + } + else if (event->xkey.keycode == 46) + { + if(es->selectedVX == s->hsize - 1) + expoMoveFocusViewport (s, - (s->hsize - 1), 0); + else + expoMoveFocusViewport (s, 1, 0); + } + else if (event->xkey.keycode == 31) + { + if(es->selectedVY == 0) + expoMoveFocusViewport (s, 0, s->vsize - 1); + else + expoMoveFocusViewport (s, 0, -1); + } + else if (event->xkey.keycode == 45) + { + if(es->selectedVY == s->vsize -1) + expoMoveFocusViewport (s, 0, - (s->vsize - 1)); + else + expoMoveFocusViewport (s, 0, 1); + } + // d + else if (event->xkey.keycode == 40) + { + expoTermExpo(d, NULL, 0, NULL, 0); + } + + } + } + + break; + + case ButtonPress: + s = findScreenAtDisplay (d, event->xbutton.root); + + if (s) + { + EXPO_SCREEN (s); + + if (es->expoMode) + { + switch (event->xbutton.button) { + case Button1: + es->dndState = DnDStart; + if (es->clickTime == 0) + { + es->clickTime = event->xbutton.time; + } + else if (event->xbutton.time - es->clickTime <= + expoGetDoubleClickTime (d)) + { + es->doubleClick = TRUE; + } + else + { + es->clickTime = event->xbutton.time; + es->doubleClick = FALSE; + } + break; + case Button3: + { + es->dndState = DnDStart; + es->moveToDesk = TRUE; + } + break; + case Button4: + { + int newX = es->selectedVX - 1; + int newY = es->selectedVY; + + if (newX < 0) + { + newX = s->hsize - 1; + newY = newY - 1; + if (newY < 0) + newY = s->vsize - 1; + } + + expoMoveFocusViewport (s, newX - es->selectedVX, + newY - es->selectedVY); + } + break; + case Button5: + { + int newX = es->selectedVX + 1; + int newY = es->selectedVY; + + if (newX >= s->hsize) + { + newX = 0; + newY = newY + 1; + if (newY >= s->vsize) + newY = 0; + } + + expoMoveFocusViewport (s, newX - es->selectedVX, + newY - es->selectedVY); + } + break; + case Button2: + es->doubleClick = TRUE; + break; + + default: + es->anyClick = TRUE; + break; + } + damageScreen (s); + } + } + break; + + case ButtonRelease: + s = findScreenAtDisplay (d, event->xbutton.root); + + if (s) + { + EXPO_SCREEN (s); + + es->moveToDesk = FALSE; + + if (es->dndState == DnDDuring || es->dndState == DnDStart) + { + if (es->dndWindow) + expoFinishWindowMovement (es->dndWindow); + + es->dndState = DnDNone; + es->dndWindow = NULL; + } + + if (es->expoMode) + { + if (event->xbutton.button == Button1) + { + if (event->xbutton.time - es->clickTime > + expoGetDoubleClickTime (d)) + { + //es->clickTime = 0; + es->doubleClick = FALSE; + } + else if (es->doubleClick) + { + damageScreen(s); + + /* CompAction *action; + + es->clickTime = 0; + es->doubleClick = FALSE; + + action = expoGetExpo (d); + + expoTermExpo (d, action, 0, NULL, 0); + es->anyClick = TRUE;*/ + } + break; + } + } + } + break; + + /* case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + { + EXPO_SCREEN (s); + //printf("motion notify %d, %d\n", pointerX, pointerY); + + if(es->dndState == DnDDuring) + damageScreen(s); + } + */ + break; + } + + UNWRAP (ed, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (ed, d, handleEvent, expoHandleEvent); +} + +static void +invertTransformedVertex (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *output, + int vertex[2]) +{ + CompTransform sTransform = *transform; + GLdouble p1[3], p2[3], v[3], alpha; + GLdouble mvm[16], pm[16]; + int i; + + EXPO_SCREEN (s); + + (*s->applyScreenTransform) (s, sAttrib, output, &sTransform); + transformToScreenSpace (s, output, -sAttrib->zTranslate, &sTransform); + + glGetIntegerv (GL_VIEWPORT, es->viewport); + + for (i = 0; i < 16; i++) + { + mvm[i] = sTransform.m[i]; + pm[i] = s->projection[i]; + } + + gluUnProject (vertex[0], s->height - vertex[1], 0, mvm, pm, + es->viewport, &p1[0], &p1[1], &p1[2]); + gluUnProject (vertex[0], s->height - vertex[1], -1.0, mvm, pm, + es->viewport, &p2[0], &p2[1], &p2[2]); + + for (i = 0; i < 3; i++) + v[i] = p1[i] - p2[i]; + + alpha = -p1[2] / v[2]; + + vertex[0] = ceil (p1[0] + (alpha * v[0])); + vertex[1] = ceil (p1[1] + (alpha * v[1])); +} + +static Bool +expoDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status; + EXPO_SCREEN (w->screen); + + UNWRAP (es, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (es, w->screen, damageWindowRect, expoDamageWindowRect); + + if (es->expoCam > 0.0f) + damageScreen (w->screen); + + return status; +} + +static void +expoPaintScreen (CompScreen *s, + CompOutput *outputs, + int numOutputs, + unsigned int mask) +{ + EXPO_SCREEN (s); + + if (es->expoCam > 0.0 && numOutputs > 1 && + expoGetMultioutputMode (s->display) == MultioutputModeOneBigWall) + { + outputs = &s->fullscreenOutput; + numOutputs = 1; + } + + UNWRAP (es, s, paintScreen); + (*s->paintScreen) (s, outputs, numOutputs, mask); + WRAP (es, s, paintScreen, expoPaintScreen); +} + +static Bool +expoPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + EXPO_SCREEN (s); + + if (es->expoCam > 0.0) + mask |= PAINT_SCREEN_TRANSFORMED_MASK | PAINT_SCREEN_CLEAR_MASK; + + UNWRAP (es, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (es, s, paintOutput, expoPaintOutput); + + return status; +} + +static void +expoPreparePaintScreen (CompScreen *s, + int ms) +{ + EXPO_SCREEN (s); + + float val = ((float) ms / 1000.0) / (expoGetZoomTime (s->display) / 10.0); + + if (es->expoMode) + es->expoCam = MIN (1.0, es->expoCam + val); + else + es->expoCam = MAX (0.0, es->expoCam - val); + + UNWRAP (es, s, preparePaintScreen); + (*s->preparePaintScreen) (s, ms); + WRAP (es, s, preparePaintScreen, expoPreparePaintScreen); +} + +static void +expoPaintWall (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask, + Bool reflection) +{ + EXPO_SCREEN (s); + + CompTransform sTransformW, sTransform = *transform; + int i, j; + int oldFilter = s->display->textureFilter; + + int origVX = s->x; + int origVY = s->y; + + float sx = (float)s->width / output->width; + float sy = (float)s->height / output->height; + float biasZ; + float oScale, rotation = 0.0f, progress; + float aspectX = 1.0f, aspectY = 1.0f; + float camX, camY, camZ; + + /* amount of gap between viewports */ + const float gapY = 0.01f * es->expoCam; + const float gapX = 0.01f * s->height / s->width * es->expoCam; + + /* Zoom animation stuff */ + /* camera position for the selected viewport */ + Point3d vpCamPos = { 0, 0, 0 }; + + /* camera position during expo mode */ + Point3d expoCamPos = { 0, 0, 0 }; + + vpCamPos.x = ((s->x * sx) + 0.5 + + (output->region.extents.x1 / output->width)) - + (s->hsize * 0.5 * sx) + gapX * (s->x); + vpCamPos.y = -((s->y * sy) + 0.5 + + ( output->region.extents.y1 / output->height)) + + (s->vsize * 0.5 * sy) - gapY * (s->y); + vpCamPos.z = 0; + + if (expoGetRotate (s->display) || expoGetReflection (s->display)) + biasZ = MAX (s->hsize * sx, s->vsize * sy) * + (0.15 + expoGetDistance (s->display)); + else + biasZ = MAX (s->hsize * sx, s->vsize * sy) * + expoGetDistance (s->display); + + expoCamPos.x = gapX * (s->hsize - 1) * 0.5; + expoCamPos.y = -gapY * (s->vsize - 1) * 0.5; + expoCamPos.z = -DEFAULT_Z_CAMERA + DEFAULT_Z_CAMERA * + (MAX (s->hsize + (s->hsize - 1) * gapX, + s->vsize + (s->vsize - 1) * gapY) + biasZ); + + progress = sigmoidProgress (es->expoCam); + + /* interpolate between vpCamPos and expoCamPos */ + camX = vpCamPos.x * (1 - progress) + expoCamPos.x * progress; + camY = vpCamPos.y * (1 - progress) + expoCamPos.y * progress; + camZ = vpCamPos.z * (1 - progress) + expoCamPos.z * progress; + + if (s->hsize > s->vsize) + { + aspectY = (float) s->hsize / (float) s->vsize; + aspectY -= 1.0; + aspectY *= -expoGetAspectRatio (s->display) + 1.0; + aspectY *= progress; + aspectY += 1.0; + } + else + { + aspectX = (float) s->vsize / (float) s->hsize; + aspectX -= 1.0; + aspectX *= -expoGetAspectRatio (s->display) + 1.0; + aspectX *= progress; + aspectX += 1.0; + } + + /* End of Zoom animation stuff */ + + moveScreenViewport (s, s->x, s->y, FALSE); + + if (expoGetRotate (s->display)) + { + if (expoGetExpoAnimation (s->display) == ExpoAnimationZoom) + rotation = 10.0 * sigmoidProgress (es->expoCam); + else + rotation = 10.0 * es->expoCam; + } + + if (expoGetMipmaps (s->display)) + s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; + + /* ALL TRANSFORMATION ARE EXECUTED FROM BOTTOM TO TOP */ + + oScale = 1 / (1 + ((MAX (sx,sy) - 1) * progress)); + + matrixScale (&sTransform, oScale, oScale, 1.0); + + if (reflection) + { + float scaleFactor = expoGetScaleFactor (s->display); + + matrixTranslate (&sTransform, 0.0, -s->vsize * sy * aspectY, 0.0); + matrixScale (&sTransform, 1.0, -1.0, 1.0); + matrixTranslate (&sTransform, 0.0, + - (1 - scaleFactor) / 2 * s->vsize * sy * aspectY, + 0.0); + matrixScale (&sTransform, 1.0, scaleFactor, 1.0); + glCullFace (GL_FRONT); + } + + /* zoom out */ + matrixTranslate (&sTransform, -camX, -camY, -camZ - DEFAULT_Z_CAMERA); + + /* rotate */ + matrixRotate (&sTransform, rotation, 0.0f, 1.0f, 0.0f); + matrixScale (&sTransform, aspectX, aspectY, 1.0); + + /* translate expo to center */ + matrixTranslate (&sTransform, s->hsize * sx * -0.5, + s->vsize * sy * 0.5, 0.0f); + sTransformW = sTransform; + + /* revert prepareXCoords region shift. Now all screens display the same */ + matrixTranslate (&sTransform, 0.5f, -0.5f, DEFAULT_Z_CAMERA); + + es->expoActive = TRUE; + + for (j = 0; j < s->vsize; j++) + { + + CompTransform sTransform2 = sTransform; + CompTransform sTransform3; + + for (i = 0; i < s->hsize; i++) + { + if (expoGetExpoAnimation (s->display) == ExpoAnimationVortex) + matrixRotate (&sTransform2, 360 * es->expoCam, 0.0f, 1.0f, + 2.0f * es->expoCam); + + sTransform3 = sTransform2; + matrixTranslate (&sTransform3, + output->region.extents.x1 / output->width, + -output->region.extents.y1 / output->height, 0.0); + + paintTransformedOutput (s, sAttrib, &sTransform3, &s->region, + output, mask); + + if (!reflection) + { + int cursor[2] = { pointerX, pointerY }; + + invertTransformedVertex (s, sAttrib, &sTransform3, + output, cursor); + + if ((cursor[0] > 0) && (cursor[0] < s->width) && + (cursor[1] > 0) && (cursor[1] < s->height)) + { + es->newCursorX = i * s->width + cursor[0]; + es->newCursorY = j * s->height + cursor[1]; + + if (es->doubleClick || es->anyClick || es->dndState != DnDNone) + { + /* Used to save last viewport interaction was in */ + es->selectedVX = i; + es->selectedVY = j; + es->anyClick = FALSE; + } + } + } + + /* not sure this will work with different resolutions */ + matrixTranslate (&sTransform2, ((1.0 * sx) + gapX), 0.0f, 0.0); + moveScreenViewport (s, -1, 0, FALSE); + } + + /* not sure this will work with different resolutions */ + matrixTranslate (&sTransform, 0, - ((1.0 * sy) + gapY), 0.0f); + moveScreenViewport (s, 0, -1, FALSE); + } + + if (reflection) + { + glPushMatrix(); + glLoadMatrixf (sTransformW.m); + glEnable (GL_BLEND); + + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBegin (GL_QUADS); + glColor4f (0.0, 0.0, 0.0, 1.0); + glVertex2f (0.0, 0.0); + glColor4f (0.0, 0.0, 0.0, 0.5); + glVertex2f (0.0, -s->vsize * (1.0 * sy + gapY)); + glVertex2f (s->hsize * sx * (1.0 + gapX), + -s->vsize * sy * (1.0 + gapY)); + glColor4f (0.0, 0.0, 0.0, 1.0); + glVertex2f (s->hsize * sx * (1.0 + gapX), 0.0); + glEnd (); + glCullFace (GL_BACK); + + glLoadIdentity (); + glTranslatef (0.0, 0.0, -DEFAULT_Z_CAMERA); + + if (expoGetGroundSize (s->display) > 0.0) + { + glBegin (GL_QUADS); + glColor4usv (expoGetGroundColor1 (s->display)); + glVertex2f (-0.5, -0.5); + glVertex2f (0.5, -0.5); + glColor4usv (expoGetGroundColor2 (s->display)); + glVertex2f (0.5, -0.5 + expoGetGroundSize (s->display)); + glVertex2f (-0.5, -0.5 + expoGetGroundSize (s->display)); + glEnd (); + } + + glColor4usv (defaultColor); + + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + glDisable (GL_BLEND); + glPopMatrix (); + } + + es->expoActive = FALSE; + + moveScreenViewport (s, -origVX, -origVY, FALSE); + + s->filter[SCREEN_TRANS_FILTER] = oldFilter; + s->display->textureFilter = oldFilter; +} + +static void +expoPaintTransformedOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + EXPO_SCREEN (s); + + UNWRAP (es, s, paintTransformedOutput); + + es->expoActive = FALSE; + + if (es->expoCam > 0) + mask |= PAINT_SCREEN_CLEAR_MASK; + + if (es->expoCam <= 0 || (es->expoCam < 1.0 && es->expoCam > 0.0 && + expoGetExpoAnimation (s->display) != ExpoAnimationZoom)) + { + (*s->paintTransformedOutput) (s, sAttrib, transform, region, + output, mask); + } + else + clearScreenOutput (s, output, GL_COLOR_BUFFER_BIT); + + mask &= ~PAINT_SCREEN_CLEAR_MASK; + + if (es->expoCam > 0.0) + { + if (expoGetReflection (s->display)) + expoPaintWall (s, sAttrib, transform, region, output, mask, TRUE); + + expoPaintWall (s, sAttrib, transform, region, output, mask, FALSE); + } + + WRAP (es, s, paintTransformedOutput, expoPaintTransformedOutput); +} + +static Bool +expoDrawWindow (CompWindow *w, + const CompTransform *transform, + const FragmentAttrib *fragment, + Region region, + unsigned int mask) +{ + Bool status; + CompScreen *s = w->screen; + + EXPO_SCREEN (s); + + if (es->expoCam > 0.0) + { + FragmentAttrib fA = *fragment; + ExpoExpoAnimationEnum expoAnimation; + + expoAnimation = expoGetExpoAnimation (s->display); + + if (es->expoActive) + { + if (expoAnimation != ExpoAnimationZoom) + fA.opacity = fragment->opacity * es->expoCam; + + if (w->wmType & CompWindowTypeDockMask && + expoGetHideDocks (s->display)) + { + if (expoAnimation == ExpoAnimationZoom && + (s->x == es->selectedVX && s->y == es->selectedVY)) + { + fA.opacity = fragment->opacity * + (1 - sigmoidProgress (es->expoCam)); + } + else + fA.opacity = 0; + } + + if (s->x != es->selectedVX || s->y != es->selectedVY) + { + fA.brightness = fragment->brightness * .75; + } + } + else + { + if (expoAnimation == ExpoAnimationZoom) + fA.brightness = 0; + else + fA.brightness = fragment->brightness * + (1 - sigmoidProgress (es->expoCam)); + } + + UNWRAP (es, s, drawWindow); + status = (*s->drawWindow) (w, transform, &fA, region, mask); + WRAP (es, s, drawWindow, expoDrawWindow); + } + else + { + UNWRAP (es, s, drawWindow); + status = (*s->drawWindow) (w, transform, fragment, region, mask); + WRAP (es, s, drawWindow, expoDrawWindow); + } + + return status; +} + +static Bool +expoPaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + EXPO_SCREEN (s); + + if (es->expoActive) + { + float opacity = 1.0; + Bool hideDocks; + + ExpoExpoAnimationEnum expoAnimation; + + expoAnimation = expoGetExpoAnimation (s->display); + + hideDocks = expoGetHideDocks (s->display); + + if (es->expoCam > 0.0 && es->expoCam < 1.0 && + expoAnimation != ExpoAnimationZoom) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + if (es->expoCam > 0.0 && hideDocks && + w->wmType & CompWindowTypeDockMask) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + if (expoAnimation != ExpoAnimationZoom) + opacity = attrib->opacity * es->expoCam; + + if (w->wmType & CompWindowTypeDockMask && + expoGetHideDocks (s->display)) + { + //* if (expoAnimation == ExpoAnimationZoom && */ + /* (s->x == es->selectedVX && s->y == es->selectedVY)) */ + /* { */ + /* //opacity = attrib->opacity * */ + /* // (1 - sigmoidProgress (es->expoCam)); */ + /* } */ + /* else */ + opacity = 0; + + if (opacity <= 0) + mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK; + } + } + + UNWRAP (es, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (es, s, paintWindow, expoPaintWindow); + + return status; +} + +static void +expoDonePaintScreen (CompScreen * s) +{ + EXPO_SCREEN (s); + + switch (es->vpUpdateMode) { + case VPUpdateMouseOver: + moveScreenViewport (s, s->x - es->selectedVX, + s->y - es->selectedVY, TRUE); + focusDefaultWindow (s->display); + es->vpUpdateMode = VPUpdateNone; + break; + case VPUpdatePrevious: + moveScreenViewport (s, s->x - es->origVX, s->y - es->origVY, TRUE); + focusDefaultWindow (s->display); + es->vpUpdateMode = VPUpdateNone; + break; + default: + break; + } + + //if ((es->expoCam > 0.0f && es->expoCam < 1.0f) || es->dndState != DnDNone) + // damageScreen (s); + + if (es->grabIndex && es->expoCam <= 0.0f && !es->expoMode) + { + removeScreenGrab (s, es->grabIndex, 0); + es->grabIndex = 0; + } + + UNWRAP (es, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (es, s, donePaintScreen, expoDonePaintScreen); + + if (es->doubleClick) + { + // es->selectedVX = i; + // es->selectedVY = j; + + CompAction *action; + + es->clickTime = 0; + es->doubleClick = FALSE; + + action = expoGetExpo (s->display); + + expoTermExpo (s->display, action, 0, NULL, 0); + + es->anyClick = FALSE; + return; + + } + + + switch (es->dndState) { + case DnDDuring: + { + int dx = es->newCursorX - es->prevCursorX; + int dy = es->newCursorY - es->prevCursorY; + int moved = 1; + CompWindow *w = es->dndWindow; + + if ((dx || dy) && es->dndWindow) + { + + int vx, vy; + defaultViewportForWindow (w, &vx, &vy); + + int cx = es->newCursorX / s->width; + int cy = es->newCursorY / s->height; + + int x = (vx - s->x) + ((cx - (w->attrib.x / s->width)) - vx); + int y = (vy - s->y) + ((cy - (w->attrib.y / s->height)) - vy); + + if (es->moveToDesk || (w->state & (MAXIMIZE_STATE | CompWindowStateFullscreenMask)) || + (w->attrib.x == 0 && w->attrib.y == 0 && + w->attrib.width == s->width && + w->attrib.height == s->height)) + { + + if(x || y) + { + dx = (x * w->screen->width); + dy = (y * w->screen->height); + } + else + { + moved = 0; + } + } + + if(moved) + { + int abs_x = w->attrib.x + (s->x * s->width); + int abs_y = w->attrib.y + (s->y * s->height); + + //printf("expo: %d:%d -- %d:%d a:%d:%d d:%d:%d v:%d:%d\n", + //abs_x, abs_y, dx, dy, w->attrib.x, w->attrib.y, s->x, s->y, vx, vy); + + if (abs_x + dx <= 0) dx = - abs_x; + if (abs_y + dy <= 0) dy = - abs_y; + + if (abs_x + w->attrib.width + dx >= s->hsize * s->width) + dx = (s->hsize * s->width) - (abs_x + w->attrib.width); + if (abs_y + w->attrib.height + dy >= s->vsize * s->height) + dy = (s->vsize * s->height) - (abs_y + w->attrib.height); + + moveWindow (es->dndWindow, dx, dy, FALSE, FALSE); // TRUE,FALSE + + //expoGetExpoImmediateMove (s->display)); + } + + } + if(moved) + { + es->prevCursorX = es->newCursorX; + es->prevCursorY = es->newCursorY; + } + + damageScreen (s); + } + break; + + case DnDStart: + { + int origView = s->x; + int origViewY = s->y; + CompWindow *w; + + moveScreenViewport (s, s->x, s->y, FALSE); + + for (w = s->reverseWindows; w; w = w->prev) + { + Bool inWindow; + int xOffset, yOffset; + + if (w->destroyed) + continue; + + if (!w->shaded) + { + if (w->attrib.map_state != IsViewable || !w->damaged) + continue; + } + + if(!w->clientId) /* added */ + continue; + + // if (!(w->type & (CompWindowTypeNormalMask | + // CompWindowTypeFullscreenMask))) + // continue; + + xOffset = s->hsize * s->width; + yOffset = s->vsize * s->height; + + inWindow = ((es->newCursorX >= WIN_X (w)) && + (es->newCursorX <= WIN_X (w) + WIN_W (w))) || + ((es->newCursorX >= (WIN_X (w) + xOffset)) && + (es->newCursorX <= (WIN_X (w) + WIN_W (w) + + xOffset))); + + inWindow &= ((es->newCursorY >= WIN_Y (w)) && + (es->newCursorY <= WIN_Y (w) + WIN_H (w))) || + ((es->newCursorY >= (WIN_Y (w) + yOffset)) && + (es->newCursorY <= (WIN_Y (w) + WIN_H (w) + + yOffset))); + + if (!inWindow) + continue; + + es->dndState = DnDDuring; + es->dndWindow = w; + + break; + } + + if (w) + { + raiseWindow (es->dndWindow); + moveInputFocusToWindow (es->dndWindow); + } + else + { + /* no window was hovered */ + es->dndState = DnDNone; + } + + moveScreenViewport (s, -origView, -origViewY, FALSE); + + es->prevCursorX = es->newCursorX; + es->prevCursorY = es->newCursorY; + } + break; + default: + break; + } +} + +static Bool +expoInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ExpoDisplay *ed; + + ed = malloc (sizeof (ExpoDisplay)); + + if (!ed) + return FALSE; + + ed->screenPrivateIndex = allocateScreenPrivateIndex (d); + + if (ed->screenPrivateIndex < 0) + { + free (ed); + return FALSE; + } + + expoSetExpoInitiate (d, expoExpo); + expoSetExpoTerminate (d, expoTermExpo); + expoSetNextInitiate (d, expoNext); + expoSetNextTerminate (d, expoTermExpo); + expoSetPrevInitiate (d, expoPrev); + expoSetPrevTerminate (d, expoTermExpo); + + ed->leftKey = XKeysymToKeycode (d->display, XStringToKeysym ("Left")); + ed->rightKey = XKeysymToKeycode (d->display, XStringToKeysym ("Right")); + ed->upKey = XKeysymToKeycode (d->display, XStringToKeysym ("Up")); + ed->downKey = XKeysymToKeycode (d->display, XStringToKeysym ("Down")); + + WRAP (ed, d, handleEvent, expoHandleEvent); + d->privates[displayPrivateIndex].ptr = ed; + + return TRUE; +} + +static void +expoFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + EXPO_DISPLAY (d); + + UNWRAP (ed, d, handleEvent); + + freeScreenPrivateIndex (d, ed->screenPrivateIndex); + free (ed); +} + +static Bool +expoInitScreen (CompPlugin *p, + CompScreen *s) +{ + ExpoScreen *es; + + EXPO_DISPLAY (s->display); + + es = malloc (sizeof (ExpoScreen)); + + if (!es) + return FALSE; + + es->anyClick = FALSE; + es->vpUpdateMode = VPUpdateNone; + + es->selectedVX = es->origVX = s->x; + es->selectedVY = es->origVY = s->y; + + es->grabIndex = 0; + + es->expoCam = 0.0f; + es->expoMode = 0; + + es->dndState = DnDNone; + es->dndWindow = NULL; + + es->clickTime = 0; + es->doubleClick = FALSE; + + WRAP (es, s, paintOutput, expoPaintOutput); + WRAP (es, s, paintScreen, expoPaintScreen); + WRAP (es, s, donePaintScreen, expoDonePaintScreen); + WRAP (es, s, paintTransformedOutput, expoPaintTransformedOutput); + WRAP (es, s, preparePaintScreen, expoPreparePaintScreen); + WRAP (es, s, drawWindow, expoDrawWindow); + WRAP (es, s, damageWindowRect, expoDamageWindowRect); + WRAP (es, s, paintWindow, expoPaintWindow); + + s->privates[ed->screenPrivateIndex].ptr = es; + + return TRUE; +} + +static void +expoFiniScreen (CompPlugin *p, + CompScreen *s) +{ + EXPO_SCREEN (s); + + if (es->grabIndex) + { + removeScreenGrab (s, es->grabIndex, 0); + es->grabIndex = 0; + } + + UNWRAP (es, s, paintOutput); + UNWRAP (es, s, paintScreen); + UNWRAP (es, s, donePaintScreen); + UNWRAP (es, s, paintTransformedOutput); + UNWRAP (es, s, preparePaintScreen); + UNWRAP (es, s, drawWindow); + UNWRAP (es, s, damageWindowRect); + UNWRAP (es, s, paintWindow); + + free (es); +} + +static Bool +expoInit (CompPlugin * p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +expoFini (CompPlugin * p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +expoGetVersion (CompPlugin *p, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable expoVTable = { + "expo", + expoGetVersion, + 0, + expoInit, + expoFini, + expoInitDisplay, + expoFiniDisplay, + expoInitScreen, + expoFiniScreen, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &expoVTable; +} diff --git a/expo/expo_options.c b/expo/expo_options.c new file mode 100644 index 0000000..8f466d6 --- /dev/null +++ b/expo/expo_options.c @@ -0,0 +1,777 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _EXPO_OPTIONS_INTERNAL +#include "expo_options.h" + +static int displayPrivateIndex; + +static CompMetadata expoOptionsMetadata; + +static CompPluginVTable *expoPluginVTable = NULL; +CompPluginVTable expoOptionsVTable; + +#define GET_EXPO_OPTIONS_DISPLAY(d) \ + ((ExpoOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define EXPO_OPTIONS_DISPLAY(d) \ + ExpoOptionsDisplay *od = GET_EXPO_OPTIONS_DISPLAY (d) + +#define GET_EXPO_OPTIONS_SCREEN(s, od) \ + ((ExpoOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define EXPO_OPTIONS_SCREEN(s) \ + ExpoOptionsScreen *os = GET_EXPO_OPTIONS_SCREEN (s, GET_EXPO_OPTIONS_DISPLAY (s->display)) + +typedef struct _ExpoOptionsDisplay +{ + int screenPrivateIndex; + + CompOption opt[ExpoDisplayOptionNum]; + expoDisplayOptionChangeNotifyProc notify[ExpoDisplayOptionNum]; +} ExpoOptionsDisplay; + +typedef struct _ExpoOptionsScreen +{ +} ExpoOptionsScreen; + +CompAction * expoGetExpo (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionExpo].value.action; +} + +void expoSetExpoInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + EXPO_OPTIONS_DISPLAY(d); + od->opt[ExpoDisplayOptionExpo].value.action.initiate = init; +} + +void expoSetExpoTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + EXPO_OPTIONS_DISPLAY(d); + od->opt[ExpoDisplayOptionExpo].value.action.terminate = term; +} + +CompOption * expoGetExpoOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionExpo]; +} + +void expoSetExpoNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionExpo] = notify; +} + +CompAction * expoGetNext (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionNext].value.action; +} + +void expoSetNextInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + EXPO_OPTIONS_DISPLAY(d); + od->opt[ExpoDisplayOptionNext].value.action.initiate = init; +} + +void expoSetNextTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + EXPO_OPTIONS_DISPLAY(d); + od->opt[ExpoDisplayOptionNext].value.action.terminate = term; +} + +CompOption * expoGetNextOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionNext]; +} + +void expoSetNextNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionNext] = notify; +} + +CompAction * expoGetPrev (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionPrev].value.action; +} + +void expoSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + EXPO_OPTIONS_DISPLAY(d); + od->opt[ExpoDisplayOptionPrev].value.action.initiate = init; +} + +void expoSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + EXPO_OPTIONS_DISPLAY(d); + od->opt[ExpoDisplayOptionPrev].value.action.terminate = term; +} + +CompOption * expoGetPrevOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionPrev]; +} + +void expoSetPrevNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionPrev] = notify; +} + +int expoGetDoubleClickTime (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionDoubleClickTime].value.i; +} + +CompOption * expoGetDoubleClickTimeOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionDoubleClickTime]; +} + +void expoSetDoubleClickTimeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionDoubleClickTime] = notify; +} + +float expoGetZoomTime (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionZoomTime].value.f; +} + +CompOption * expoGetZoomTimeOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionZoomTime]; +} + +void expoSetZoomTimeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionZoomTime] = notify; +} + +Bool expoGetRotate (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionRotate].value.b; +} + +CompOption * expoGetRotateOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionRotate]; +} + +void expoSetRotateNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionRotate] = notify; +} + +Bool expoGetExpoImmediateMove (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionExpoImmediateMove].value.b; +} + +CompOption * expoGetExpoImmediateMoveOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionExpoImmediateMove]; +} + +void expoSetExpoImmediateMoveNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionExpoImmediateMove] = notify; +} + +int expoGetExpoAnimation (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionExpoAnimation].value.i; +} + +CompOption * expoGetExpoAnimationOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionExpoAnimation]; +} + +void expoSetExpoAnimationNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionExpoAnimation] = notify; +} + +Bool expoGetReflection (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionReflection].value.b; +} + +CompOption * expoGetReflectionOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionReflection]; +} + +void expoSetReflectionNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionReflection] = notify; +} + +unsigned short * expoGetGroundColor1 (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor1].value.c; +} + +unsigned short expoGetGroundColor1Red (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor1].value.c[0]; +} + +unsigned short expoGetGroundColor1Green (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor1].value.c[1]; +} + +unsigned short expoGetGroundColor1Blue (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor1].value.c[2]; +} + +unsigned short expoGetGroundColor1Alpha (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor1].value.c[3]; +} + +CompOption * expoGetGroundColor1Option (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionGroundColor1]; +} + +void expoSetGroundColor1Notify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionGroundColor1] = notify; +} + +unsigned short * expoGetGroundColor2 (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor2].value.c; +} + +unsigned short expoGetGroundColor2Red (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor2].value.c[0]; +} + +unsigned short expoGetGroundColor2Green (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor2].value.c[1]; +} + +unsigned short expoGetGroundColor2Blue (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor2].value.c[2]; +} + +unsigned short expoGetGroundColor2Alpha (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundColor2].value.c[3]; +} + +CompOption * expoGetGroundColor2Option (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionGroundColor2]; +} + +void expoSetGroundColor2Notify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionGroundColor2] = notify; +} + +float expoGetGroundSize (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionGroundSize].value.f; +} + +CompOption * expoGetGroundSizeOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionGroundSize]; +} + +void expoSetGroundSizeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionGroundSize] = notify; +} + +float expoGetDistance (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionDistance].value.f; +} + +CompOption * expoGetDistanceOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionDistance]; +} + +void expoSetDistanceNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionDistance] = notify; +} + +float expoGetScaleFactor (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionScaleFactor].value.f; +} + +CompOption * expoGetScaleFactorOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionScaleFactor]; +} + +void expoSetScaleFactorNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionScaleFactor] = notify; +} + +float expoGetAspectRatio (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionAspectRatio].value.f; +} + +CompOption * expoGetAspectRatioOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionAspectRatio]; +} + +void expoSetAspectRatioNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionAspectRatio] = notify; +} + +Bool expoGetMipmaps (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionMipmaps].value.b; +} + +CompOption * expoGetMipmapsOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionMipmaps]; +} + +void expoSetMipmapsNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionMipmaps] = notify; +} + +int expoGetMultioutputMode (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionMultioutputMode].value.i; +} + +CompOption * expoGetMultioutputModeOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionMultioutputMode]; +} + +void expoSetMultioutputModeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionMultioutputMode] = notify; +} + +Bool expoGetHideDocks (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return od->opt[ExpoDisplayOptionHideDocks].value.b; +} + +CompOption * expoGetHideDocksOption (CompDisplay *d) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[ExpoDisplayOptionHideDocks]; +} + +void expoSetHideDocksNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify) +{ + EXPO_OPTIONS_DISPLAY(d); + od->notify[ExpoDisplayOptionHideDocks] = notify; +} + +CompOption * expoGetDisplayOption (CompDisplay *d, ExpoDisplayOptions num) +{ + EXPO_OPTIONS_DISPLAY(d); + return &od->opt[num]; +} + +static const CompMetadataOptionInfo expoOptionsDisplayOptionInfo[] = { + { "expo", "action", 0, 0, 0 }, + { "next", "action", 0, 0, 0 }, + { "prev", "action", 0, 0, 0 }, + { "double_click_time", "int", "502000", 0, 0 }, + { "zoom_time", "float", "0.15.0", 0, 0 }, + { "rotate", "bool", 0, 0, 0 }, + { "expo_immediate_move", "bool", 0, 0, 0 }, + { "expo_animation", "int", "02", 0, 0 }, + { "reflection", "bool", 0, 0, 0 }, + { "ground_color1", "color", 0, 0, 0 }, + { "ground_color2", "color", 0, 0, 0 }, + { "ground_size", "float", "0.01.0", 0, 0 }, + { "distance", "float", "0.01.0", 0, 0 }, + { "scale_factor", "float", "0.02.0", 0, 0 }, + { "aspect_ratio", "float", "0.01.0", 0, 0 }, + { "mipmaps", "bool", 0, 0, 0 }, + { "multioutput_mode", "int", "01", 0, 0 }, + { "hide_docks", "bool", 0, 0, 0 }, +}; + +static Bool expoOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) +{ + EXPO_OPTIONS_DISPLAY(d); + CompOption *o; + int index; + + o = compFindOption (od->opt, ExpoDisplayOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case ExpoDisplayOptionExpo: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionExpo]) + (*od->notify[ExpoDisplayOptionExpo]) (d, o, ExpoDisplayOptionExpo); + return TRUE; + } + break; + case ExpoDisplayOptionNext: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionNext]) + (*od->notify[ExpoDisplayOptionNext]) (d, o, ExpoDisplayOptionNext); + return TRUE; + } + break; + case ExpoDisplayOptionPrev: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionPrev]) + (*od->notify[ExpoDisplayOptionPrev]) (d, o, ExpoDisplayOptionPrev); + return TRUE; + } + break; + case ExpoDisplayOptionDoubleClickTime: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionDoubleClickTime]) + (*od->notify[ExpoDisplayOptionDoubleClickTime]) (d, o, ExpoDisplayOptionDoubleClickTime); + return TRUE; + } + break; + case ExpoDisplayOptionZoomTime: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionZoomTime]) + (*od->notify[ExpoDisplayOptionZoomTime]) (d, o, ExpoDisplayOptionZoomTime); + return TRUE; + } + break; + case ExpoDisplayOptionRotate: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionRotate]) + (*od->notify[ExpoDisplayOptionRotate]) (d, o, ExpoDisplayOptionRotate); + return TRUE; + } + break; + case ExpoDisplayOptionExpoImmediateMove: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionExpoImmediateMove]) + (*od->notify[ExpoDisplayOptionExpoImmediateMove]) (d, o, ExpoDisplayOptionExpoImmediateMove); + return TRUE; + } + break; + case ExpoDisplayOptionExpoAnimation: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionExpoAnimation]) + (*od->notify[ExpoDisplayOptionExpoAnimation]) (d, o, ExpoDisplayOptionExpoAnimation); + return TRUE; + } + break; + case ExpoDisplayOptionReflection: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionReflection]) + (*od->notify[ExpoDisplayOptionReflection]) (d, o, ExpoDisplayOptionReflection); + return TRUE; + } + break; + case ExpoDisplayOptionGroundColor1: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionGroundColor1]) + (*od->notify[ExpoDisplayOptionGroundColor1]) (d, o, ExpoDisplayOptionGroundColor1); + return TRUE; + } + break; + case ExpoDisplayOptionGroundColor2: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionGroundColor2]) + (*od->notify[ExpoDisplayOptionGroundColor2]) (d, o, ExpoDisplayOptionGroundColor2); + return TRUE; + } + break; + case ExpoDisplayOptionGroundSize: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionGroundSize]) + (*od->notify[ExpoDisplayOptionGroundSize]) (d, o, ExpoDisplayOptionGroundSize); + return TRUE; + } + break; + case ExpoDisplayOptionDistance: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionDistance]) + (*od->notify[ExpoDisplayOptionDistance]) (d, o, ExpoDisplayOptionDistance); + return TRUE; + } + break; + case ExpoDisplayOptionScaleFactor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionScaleFactor]) + (*od->notify[ExpoDisplayOptionScaleFactor]) (d, o, ExpoDisplayOptionScaleFactor); + return TRUE; + } + break; + case ExpoDisplayOptionAspectRatio: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionAspectRatio]) + (*od->notify[ExpoDisplayOptionAspectRatio]) (d, o, ExpoDisplayOptionAspectRatio); + return TRUE; + } + break; + case ExpoDisplayOptionMipmaps: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionMipmaps]) + (*od->notify[ExpoDisplayOptionMipmaps]) (d, o, ExpoDisplayOptionMipmaps); + return TRUE; + } + break; + case ExpoDisplayOptionMultioutputMode: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionMultioutputMode]) + (*od->notify[ExpoDisplayOptionMultioutputMode]) (d, o, ExpoDisplayOptionMultioutputMode); + return TRUE; + } + break; + case ExpoDisplayOptionHideDocks: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ExpoDisplayOptionHideDocks]) + (*od->notify[ExpoDisplayOptionHideDocks]) (d, o, ExpoDisplayOptionHideDocks); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * expoOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) +{ + EXPO_OPTIONS_DISPLAY(d); + *count = ExpoDisplayOptionNum; + return od->opt; +} + +static Bool expoOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + ExpoOptionsScreen *os; + + EXPO_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(ExpoOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (expoPluginVTable && expoPluginVTable->initScreen) + return expoPluginVTable->initScreen (p, s); + return TRUE; +} + +static void expoOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (expoPluginVTable && expoPluginVTable->finiScreen) + return expoPluginVTable->finiScreen (p, s); + + EXPO_OPTIONS_SCREEN (s); + + free (os); +} + +static Bool expoOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + ExpoOptionsDisplay *od; + + + od = calloc (1, sizeof(ExpoOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (!compInitDisplayOptionsFromMetadata (d, &expoOptionsMetadata, expoOptionsDisplayOptionInfo, od->opt, ExpoDisplayOptionNum)) + { + free (od); + return FALSE; + } + if (expoPluginVTable && expoPluginVTable->initDisplay) + return expoPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void expoOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (expoPluginVTable && expoPluginVTable->finiDisplay) + return expoPluginVTable->finiDisplay (p, d); + + EXPO_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + + compFiniDisplayOptions (d, od->opt, ExpoDisplayOptionNum); + + free (od); +} + +static Bool expoOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&expoOptionsMetadata, "expo",expoOptionsDisplayOptionInfo, ExpoDisplayOptionNum, 0, 0)) + return FALSE; + + compAddMetadataFromFile (&expoOptionsMetadata, "expo"); + if (expoPluginVTable && expoPluginVTable->init) + return expoPluginVTable->init (p); + return TRUE; +} + +static void expoOptionsFini (CompPlugin *p) +{ + if (expoPluginVTable && expoPluginVTable->fini) + return expoPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&expoOptionsMetadata); +} + +static CompMetadata * +expoOptionsGetMetadata (CompPlugin *plugin) +{ + return &expoOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!expoPluginVTable) + { + expoPluginVTable = expoOptionsGetCompPluginInfo (); + memcpy(&expoOptionsVTable, expoPluginVTable, sizeof(CompPluginVTable)); + expoOptionsVTable.getMetadata = expoOptionsGetMetadata; + expoOptionsVTable.init = expoOptionsInit; + expoOptionsVTable.fini = expoOptionsFini; + expoOptionsVTable.initDisplay = expoOptionsInitDisplay; + expoOptionsVTable.finiDisplay = expoOptionsFiniDisplay; + expoOptionsVTable.initScreen = expoOptionsInitScreen; + expoOptionsVTable.finiScreen = expoOptionsFiniScreen; + expoOptionsVTable.getDisplayOptions = expoOptionsGetDisplayOptions; + expoOptionsVTable.setDisplayOption = expoOptionsSetDisplayOption; + + } + return &expoOptionsVTable; +} + diff --git a/expo/expo_options.h b/expo/expo_options.h new file mode 100644 index 0000000..7b664e9 --- /dev/null +++ b/expo/expo_options.h @@ -0,0 +1,164 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _EXPO_OPTIONS_H +#define _EXPO_OPTIONS_H + +#ifndef _EXPO_OPTIONS_INTERNAL +#define getCompPluginInfo expoOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *expoOptionsGetCompPluginInfo (void); + +typedef enum +{ + ExpoDisplayOptionExpo, + ExpoDisplayOptionNext, + ExpoDisplayOptionPrev, + ExpoDisplayOptionDoubleClickTime, + ExpoDisplayOptionZoomTime, + ExpoDisplayOptionRotate, + ExpoDisplayOptionExpoImmediateMove, + ExpoDisplayOptionExpoAnimation, + ExpoDisplayOptionReflection, + ExpoDisplayOptionGroundColor1, + ExpoDisplayOptionGroundColor2, + ExpoDisplayOptionGroundSize, + ExpoDisplayOptionDistance, + ExpoDisplayOptionScaleFactor, + ExpoDisplayOptionAspectRatio, + ExpoDisplayOptionMipmaps, + ExpoDisplayOptionMultioutputMode, + ExpoDisplayOptionHideDocks, + ExpoDisplayOptionNum +} ExpoDisplayOptions; + +typedef void (*expoDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, ExpoDisplayOptions num); + +CompOption *expoGetDisplayOption (CompDisplay *d, ExpoDisplayOptions num); + +typedef enum +{ + ExpoScreenOptionNum +} ExpoScreenOptions; + +typedef void (*expoScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, ExpoScreenOptions num); + +CompOption *expoGetScreenOption (CompScreen *s, ExpoScreenOptions num); + +typedef enum +{ + ExpoAnimationZoom = 0, + ExpoAnimationFadeZoom = 1, + ExpoAnimationVortex = 2, +} ExpoExpoAnimationEnum; + +typedef enum +{ + MultioutputModeOneBigWall = 0, + MultioutputModeOneWallPerOutput = 1, +} ExpoMultioutputModeEnum; + +CompAction * expoGetExpo (CompDisplay *d); +void expoSetExpoInitiate (CompDisplay *d, CompActionCallBackProc init); +void expoSetExpoTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * expoGetExpoOption (CompDisplay *d); +void expoSetExpoNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +CompAction * expoGetNext (CompDisplay *d); +void expoSetNextInitiate (CompDisplay *d, CompActionCallBackProc init); +void expoSetNextTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * expoGetNextOption (CompDisplay *d); +void expoSetNextNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +CompAction * expoGetPrev (CompDisplay *d); +void expoSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init); +void expoSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * expoGetPrevOption (CompDisplay *d); +void expoSetPrevNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +int expoGetDoubleClickTime (CompDisplay *d); +CompOption * expoGetDoubleClickTimeOption (CompDisplay *d); +void expoSetDoubleClickTimeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +float expoGetZoomTime (CompDisplay *d); +CompOption * expoGetZoomTimeOption (CompDisplay *d); +void expoSetZoomTimeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +Bool expoGetRotate (CompDisplay *d); +CompOption * expoGetRotateOption (CompDisplay *d); +void expoSetRotateNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +Bool expoGetExpoImmediateMove (CompDisplay *d); +CompOption * expoGetExpoImmediateMoveOption (CompDisplay *d); +void expoSetExpoImmediateMoveNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +int expoGetExpoAnimation (CompDisplay *d); +CompOption * expoGetExpoAnimationOption (CompDisplay *d); +void expoSetExpoAnimationNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +Bool expoGetReflection (CompDisplay *d); +CompOption * expoGetReflectionOption (CompDisplay *d); +void expoSetReflectionNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +unsigned short * expoGetGroundColor1 (CompDisplay *d); +unsigned short expoGetGroundColor1Red (CompDisplay *d); +unsigned short expoGetGroundColor1Green (CompDisplay *d); +unsigned short expoGetGroundColor1Blue (CompDisplay *d); +unsigned short expoGetGroundColor1Alpha (CompDisplay *d); +CompOption * expoGetGroundColor1Option (CompDisplay *d); +void expoSetGroundColor1Notify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +unsigned short * expoGetGroundColor2 (CompDisplay *d); +unsigned short expoGetGroundColor2Red (CompDisplay *d); +unsigned short expoGetGroundColor2Green (CompDisplay *d); +unsigned short expoGetGroundColor2Blue (CompDisplay *d); +unsigned short expoGetGroundColor2Alpha (CompDisplay *d); +CompOption * expoGetGroundColor2Option (CompDisplay *d); +void expoSetGroundColor2Notify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +float expoGetGroundSize (CompDisplay *d); +CompOption * expoGetGroundSizeOption (CompDisplay *d); +void expoSetGroundSizeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +float expoGetDistance (CompDisplay *d); +CompOption * expoGetDistanceOption (CompDisplay *d); +void expoSetDistanceNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +float expoGetScaleFactor (CompDisplay *d); +CompOption * expoGetScaleFactorOption (CompDisplay *d); +void expoSetScaleFactorNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +float expoGetAspectRatio (CompDisplay *d); +CompOption * expoGetAspectRatioOption (CompDisplay *d); +void expoSetAspectRatioNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +Bool expoGetMipmaps (CompDisplay *d); +CompOption * expoGetMipmapsOption (CompDisplay *d); +void expoSetMipmapsNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +int expoGetMultioutputMode (CompDisplay *d); +CompOption * expoGetMultioutputModeOption (CompDisplay *d); +void expoSetMultioutputModeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +Bool expoGetHideDocks (CompDisplay *d); +CompOption * expoGetHideDocksOption (CompDisplay *d); +void expoSetHideDocksNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/images/Makefile b/images/Makefile new file mode 100644 index 0000000..148db25 --- /dev/null +++ b/images/Makefile @@ -0,0 +1,446 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# images/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = images +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(imagesdir)" +imagesDATA_INSTALL = $(INSTALL_DATA) +DATA = $(images_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/images +abs_srcdir = /media/disk-3/src/compiz/images +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +imagesdir = $(imagedir) +images_DATA = \ + icon.png \ + freedesktop.png + +EXTRA_DIST = \ + icon.png \ + freedesktop.png + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu images/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu images/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-imagesDATA: $(images_DATA) + @$(NORMAL_INSTALL) + test -z "$(imagesdir)" || $(MKDIR_P) "$(DESTDIR)$(imagesdir)" + @list='$(images_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(imagesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(imagesdir)/$$f'"; \ + $(imagesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(imagesdir)/$$f"; \ + done + +uninstall-imagesDATA: + @$(NORMAL_UNINSTALL) + @list='$(images_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(imagesdir)/$$f'"; \ + rm -f "$(DESTDIR)$(imagesdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(imagesdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-imagesDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-imagesDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-imagesDATA install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-imagesDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/images/Makefile.am b/images/Makefile.am new file mode 100644 index 0000000..9f03184 --- /dev/null +++ b/images/Makefile.am @@ -0,0 +1,8 @@ +imagesdir = $(imagedir) +images_DATA = \ + icon.png \ + freedesktop.png + +EXTRA_DIST = \ + icon.png \ + freedesktop.png diff --git a/images/Makefile.in b/images/Makefile.in new file mode 100644 index 0000000..165493e --- /dev/null +++ b/images/Makefile.in @@ -0,0 +1,446 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = images +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(imagesdir)" +imagesDATA_INSTALL = $(INSTALL_DATA) +DATA = $(images_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +imagesdir = $(imagedir) +images_DATA = \ + icon.png \ + freedesktop.png + +EXTRA_DIST = \ + icon.png \ + freedesktop.png + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu images/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu images/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-imagesDATA: $(images_DATA) + @$(NORMAL_INSTALL) + test -z "$(imagesdir)" || $(MKDIR_P) "$(DESTDIR)$(imagesdir)" + @list='$(images_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(imagesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(imagesdir)/$$f'"; \ + $(imagesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(imagesdir)/$$f"; \ + done + +uninstall-imagesDATA: + @$(NORMAL_UNINSTALL) + @list='$(images_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(imagesdir)/$$f'"; \ + rm -f "$(DESTDIR)$(imagesdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(imagesdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-imagesDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-imagesDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-imagesDATA install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-imagesDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/images/freedesktop.png b/images/freedesktop.png new file mode 100644 index 0000000000000000000000000000000000000000..9d8b69da3330186ca41faec6e7e3ee6b33a86cfa GIT binary patch literal 30453 zcmY(rbv)kx_dl+i=^BRV?rEl`yBVgtF3sdHOpQx-PVHi9YPxF}riSV13p4$Dc)h=$ zKYnhvvDq`u<2>Tr&;8ub6{D&C3KxqK3jqNES4mM$8vy}v1pKMPKmxyUdHN;>{J?Zq zG=d-?U=uz5K}5*PAqT%i_fk@mN1wxdLdZ=nOL&q5eud#BZ|EiK=Hg=G>V@!kEUgm( zffhkY?xn8Z;z6#jpQ$hO^7#B$Rf$$+GGo=xwCdkSKRpPM9GIkKlzv*vVvKSzs+i<) zBL3=9!EC2{hs%Ngk%JDA>LUVXg=@^=&$?Kfs%EYHsdI|)4`q`#gQ#y9jGD(f_%A1N zChI394O=cJa!tNLf_H9%cSeV8>oI^u(t@U6QNT}H*#GYv!Vo+7_v1Hd%-(1f1cVQa zDZ?Dx+^>qK3^~&Nu~+D_<*M7&FQ_u5sFxF!s-1-92FTJyEgS4`QbI+PD?oSp}~H8RRHgGKw10&6nVMRWh& z+V2c%?kZDQTU}k<-fqg3-b;<*kBWenJZv4_P0Lo%ZIRRg%h0X>|1FR`zT1F; z0Pe<;7Rr8YY%Ielh>uZlRvL?3sA*qkSXo(#f`qtipJaeAM3k(E0@dwY%~xfL`l8a%*0Oho=6{JpcD9(2|*QUne7Um6#O`+7&}wMG2`2Pw8H4+5}) zubTMoF8E=3ny{Ut^L6)8-bcFkSbz6H}o zGD*2qyF!;Q^TXgqouRY8KgHd{`CDwfXdNvrEdztWonCkVu+b11Iqn`zPw^DEzd=Qs zYqms{i6};{XZ>V)TAPO)CsHO;H40wu;_5o**m%Mb){cY_&I8-!PF8F%uFe^J!QNc`( zJY6>E4I&AayoySk9DNuwF1Q#IT)cC3MH!E#rx#T%I&RGu7Z-<(jV+naed#v8yzDGM zx!#TJj~YuxDx@Dr)d{9>-Z)tC;@EPI5KX+>r&#l{@mPLd8rkoO_Bm^mg{u9Df@=< zayzhq9=O<`mBq!yyD5ucsoIpx?19yG5m2~m?%20+nwOX7F8m=R9S(U^_5=p zygc!{XAiY8-k{E~t|*~KDgS~yN9KfeQB0~T13tDNJ)#C3>3fu*y3q2JxCXckUUSN@ zwT6ZU3vo~9==OMaRb?gc>YAJMRKBrx=2&W=gC(!PapKo-Enk)<@(-dBQ-&XZMnW;J zwkR{@+3W3XwkVAn&FWfIISICp9ZR$;j*eV!u|~H%!E8d68Hd<4|A0q*VW-fD=SCaM z3FEbMAERh!lNt7kN_g_yQ&>O3(h2%`#nHZ*GL>)P zZ59?ES|p_>M^u5WlgHK8wse$dinIMtv*9TmPm+ZkzlHvEbW~8_ub~nH;m&0Kp!p;R zJNwcX8*K1$Lhy3FLZwpl?c3Kr28k;Y!p9nR8Su|8b@p!dHIfabGF*h;;Uq!=Rk|SC;pA2(8j!CFFH$>PS}eAj8ga-;3B0HBmo5-&jL*F2<}%8w@AUJ$GA zw7Rc{FC7llgM(?g&gvC!%{_uYr}6L8uai3wMIlGT?YsGQV{Ch!D_=Th6yh^|_%g)< z|2lI-vA4Q8I#z!A1Wv;Y4B|W1wvT(N57mib@(<#BNa4%Vu6G9)CjCe>sC1pHt1Bz< zuN>dWtpDl=jI*WW7-HXlV>|T>`nW+Tv$d|)T*N9bVwax?N=mvmFP%CY>FDSf7@z|u zt78=GYEbJOm2$Pk#e+xF62Kqs+?Qt6NLr-ob|!LrXU-x=w~m&YH5dqii>{D?i?mh2 zg$!6nZDm&*H-8}F>OAD)A@|}m-F1c>;G72Ae!_lw-IJ(saix)2h1m3k!q>rw2hDa@~OiG(!gY%>U zDfZrfV_@zNjK=l(owarS!c4iwhDSo(f-^WnfQ1BfU#oYYVMX#~s)pqwuv{afv_Q=7 zq+ZMZ8th+pKfk=Ra%CdMx;$Q;bnL|BflQ(UE0dr_A&D!8kwqbNe%C+jOVxv|oCI4| z#%<5~`cP~UvK1LX5M6La^GBUSjJ?-Iln*I8y-VjZY=Eb+QMVxKcza)*obYU?ot>Rk zrx_^XY2y6PP@KVnB=IYaXkBf-&Y4Wr?V9FaJw%X$l{SON6Dy4iy!t>{W-4Fr;4^>7 zu~pkJw8fn(Wu?I(1w_zIX$SD4%CGIat5W-nj)_>rNxlO)+&THT(&h1e-$+PEz+7i= zC(P`j_;X_F$KC@_L5?FcB}G=SYfg2$IUcs+z0D`Mekx{+c@og^)QuD`x_6zY4ebpr z%rC4+DzZR67%G{V_k3!n4hz&g57*< z&2#R6*25z!H z*lq$-3Z{-({X+HRj@1UrPwi9#mTR4U<*Cl4qi-nk57XPt#~}%|9>62sC})^8$u!j03x$!jyPN*}?8Z ziM>Z)0$y#0xJgVQkS4YdY@8}G&_4!1>^pWW`H)y}KuW(i@v%P$(_z>gf$S5@I62 zYENIQ5M%qa3c=Hw2tf2pMDg`YSC0x^R%heC80%+8N9J$=<=rk)LvE1BOyT@N1{LsoQc37EXs4qeY_wuq^Vy%^Jc_}7JtZ^ zkAsq%PuDDEc=P=He0kaQzP`$t`?^?*jrcAM>9@Ki;`E`osIXd}BiwD^h{;N`LR3t=I|C*W_RDZ^()#GP0G-ZL;;N6I{Qe#&=*!PMp zQC*_!|GBN(f+tt~%uih3^j*)W6JI731%-z&)%jbLwzzvA-$ZKQK5XQlnDaH%D9&HJ zM5)VK-Uwx1+}s6p&}@=CO$TvMAXSlpMT!qRy`Z*T?3<#ZnI0QS`e^@wEdYAbX1t1} z+P%HKKhSCbbS<9&CmKSAbn{B?i1oj(I_~x&DD{`Laaly93TCo}-%C}}i>6rgtU`*X zKF#kh=oN++Nog*FNPKT(?j#tdr~^D)X(vpj&Xj@_hOp^PZEI)uN$C$E&q==}TZMM*EBcr#ULVIkaHnPVp>C%3mjT<9P}0kF=p zuGaqgDVUn+lEEW|&rG!)GKF0m)Y$OWEP%J>=c7eVEsG&rXQQK|RaI5}mb_;$j>qL^ zFNv>KQu3AB8sJZbVvn|!4ERVaET7pQH@df@qoc$G{lu>wWD6i6h+;N6B847Po5C1#PzO&Y_PReG>U^gsz?f9Q-<_q>%nKIEY5duWH4kbC)d_Z zZveTit>4LgUj)njgu)=M+nx;gD3m_nfJO#xEHJm+Ftp#(gM{fKm^}{SW~5^a60o!& z=ChLJIA*`4hle3V2WI2i9O&+z^qotb23A-|_Ym_3%q7o`l;9V4*JafIuJ;e=qxg`e zhvN97|IN5sT{~Jt_am$|K4D8%G&VLS#*+W_4I-M-!E-1g(r_|&5^je%07fXb;`4&e z_vm-+cA2)BRo%}>Y%+}TZje5KU2>H+Jr;Qj^PQFHV?}!S2?tJ%ejonSx3L&4OL%_rEfQnuVGioSbh) z*i&j+SX1V~5M=bZm{J_}=V}_Z)zXM6ijmK_FH|okuhy>6LXm#s4wfye2%;g0NZ07c zvBGegx62gF?Ck7v)tT=PL8wjRG})b*)3RIZKl}UQdMAyD)$a>pC>K7Hk)n_5T)KH}qaWV$7oG7O^p2DjawS1W+- zq74@Z|9;PuD{!j@u8E+9He&cKmtm>3&3@PXTrthAt6eBX*a;lCDD_H!S2^Jqs|Hi{ z*6-lUxUMWQ1ApqLPvhiH)O!pnbU|8^%B=j0#zWl0((eaFr~w87SM=z*GhfwWO%z^L zVW}}U>FsL@BRW#uz0Kx^S<{@;;IsZC)GULUcUHp$uL|mNq)Uc@i8-6I$Cs01V{6NX zY|y5rChb5HCejG0pbN`mV!3LBlNXg`kmF7>T5*hd4*9iJGj$dsNNZ`)B1=|mcWWsZUC<)J zYt_COvjyxXNL=0@eB~xAKW1oSTJb%o8SIo;s%aS>-T(1}c%lIzx_6<;<*D8{*>vW? zv$n%dVP4`7Jq-E+dEFK@7fvT^OOsZ`4(R8|A(0^NT-fstxvy+>_Nb9@^;``uL# zxbSPLehh3y`)b!IeRto6N~83~?(LG(d;dYp5q7JZ7NwE>-CdT61tihj3CG6m;36Xw z5l^4nkOaH|o$rH`ES&#LT~p*E6e`q6C~v2pX<5_XABmowcKcs{Q%PTu*EOr_53874 zw%(lGIcqWfD*6G0XXP~8NULGDZ$IBU_941aYSKHKf&}liH&3-|NZzvBWWvMc{#_=AY6ns*ZmHbY+}0wgMz5bA z&Q^S`6INY(!D;!|7($dX9~l{Gh-2`u7ZnvnWq>apY`Ghg(tAQfC=bKmC;4d2c8JBv z9d=2d0&rTh5w5o`*&S=ic;y4~I9%C2u*H;%Fy{BEAMdCWQ%bi8#i#|(=5FEL&!=~j zITR6OgiokY>L{Uy`m$}awT;TY{yh@}@BgZ{Jbbr_u5d;T?1t+BH0@Ir7D0O+Pr*zY z5oT}7NkTC4q;@JRJG5Pt3QxR{J$-bXm-A%Pq_?0ZBh|^;p6Z9IpuP3JRE3S>UVP2$ zizfX}!S<7(s&vu_O`0)u;4!cpN|l)j;0xaOjuoHgN+`{7roC=C!o8MON-f6K)&{Kp zn#qA2MY|&P9JAxQ%|rhwouB;t18#cUlH)nGkX75PW*L)vGR%?1t(mg(!t&Cj7u%h} zp=eD$#1Yx>dXt2e!pXHA{^ug#lp_p;k`_PyoO~~d+Z{{zK5KUwGzfwG&E;h_)vJ^SFt)(>1k4BgdZ~WnoVru4y5)3)ePY58pmf0bEmr_2 z@^I1S`z8pQjb(IXQnhy5%Q4{@vc=?Khfm3I@n) z1$WO;N+gaJ!pyZ}3?UmI=M6ccS`Nr?Un{{v)XMmuP>DQCNOvvG9^4X0Ef&P@C5_V` zDz||qm@@pEG+8>nxx)NM@O(UesY>cBuLi5G;C*MY?vPvMchjuWI>R3ld*3_)lTE;L z4WfIK`w4WjRGFp=_ceY|v2+Lj1T&qfYoEGkT$3IH*FtvSm_PU=n44{gQpnKF{6ui2 zF$BUIG$T|MX6D~Wlwu%c4A}_CCnI&Am94C*8qSql{cwqq8$(kTR=%sj{-Svv;601g z?JprLxGwVeCB2S8e`*Mfw?HUyZrC13n}4JNEj4zh>;D3 z3;KF)`Nt4@{^SeFcm_#H{CFuyKtl$Na>H(-LIpADUB$EO1sqz~yWMKRv_%8gW=ebL zJP7J@%Z`m%;8t=tC0;b|P8J=8C12){H@P2tQ;{Lh@Y2|Co2Zo)d#Gt(= zvmf~n_EsDbrPl;pfNi0W4Oj) zn92Nh`FLVSf=cQ&*cOrhB;0l7(FDQ%TRq>p2_8+HEGx7i9i= zY*2|TMmgU#2;DN z9`LMj+YOI{XGDY!8-8rL(d9byn<3Y&oCT;j6xT0<3&@cS*-Ok>|2x(ebd!76ladVV zXrIad*>5tAU2;e;7Ii5VlmM7qQ9h_x+ftCNS=Z6mmG5<1DLn0OR^n03U_DEf(--1$ zyT%z#7)m|YC&3rJThNfw0!oNRp{AncVkkd1B=qx&CE`?{hEsgr=sIyeYO7*bN-T;e zfjJZDkUUbwdu}r9Ez57ZL!H`<^`_6W4f_nSe_3(&3vF`FHkd%fkhEktQ!?DfJHE9u zrTnC(xeDTo%Z1~2jL3(lu}L7UDbSJrNUu24_bef$NoOZIwW0r}%AxrlRXbUlX?rwM zrX^#N`B!11DQADG0bn>9>?(}SjWL}v-vcN}6If>iNl7;-Od8vCM8AVOYAgAfX2i(* z?G9RlBv@D*(VS~tMII?rk(TI`#IjIzEFJ6W$6rHUCwH}|y{0x5H8TPfhpIPef-fdW zu237cnYdw_ty5oRd0RU_;(YmBvUxF&!y{orF)`X7lC0HYNK1q*L_VQIGsNECqsbA* zit=o?0lF+}$uE8(6hF5tXV-~^f)r%}fpNo(s2qen^_!FZJ|4m3%mY5Xcc_@#8qWf; zW<)+{&pi5!FIkgqdl(GRuxp1T_@`DGG>VjGv(Yy;LrK@8wo&_4m0&Y$x4LCM-C)dB zpk(+v?Cn)%j;8hdf8vfcEg~4;G#+IP0z;GE(2SAhA_kKj)vU^?Gs;tL8=XdEHLQB=(+T*q^dh3Td0Ljuah z=iRDM`WgOhuYK8WqJVBuwy5@{$6R?PCt>#bI}%|3b8PvUIGf*TH}ZDyS1VzvLBQ(r z?=Ra-`H5Xty^U#x^v^oJ1SosHR!bq!pQ&eSe-Ow{*t;k<|v>EVKZ!tA`;IVdV8tP^|cITjoXYM`Kr7~~33o`mWSrJXdkbEcXZy z2~Y#72q=;vSk*p$*O*Bu1`gjoB6r(cPLnM5-SaxCP*qQg# zyyWIN+Rk0FA6BP6C>F;n^h!G&v8Oei+){$_G_W1Y5JIQXymFVkk}b`P`DSWljE&XS z#OxLAmlpAIL6r(GCMuOkq8LREl6dCydt=Mk?;<(nIWhg3?jp&P<*l`Ty>%d;-n~!t zVp@9f8fR|V;P!2jA_E{~V&rt$EY}N_7{`}<_p|?&@KFTQ8H?0PNS(k@KX@-=-`kVE z=DV!B(639Dt<4F?VLf= z)A>#7qe=fy3n25zcMXVH{jD_8Fgu&aqRmpo9lvST|AQZj;Uc^#n5KI5oVVtHJFLr- zk2;32==5BhgCORiRJxN`g^PK5!8!Q_&psE0|Jy$`$<5K!{%w`-nqJkk@Ve-eGr%&$ zHhA~VQ0eN?m0byk*tOgzf+Ylh(g6Giz8L~fZ36LdP#0KbC|&EJqSv_A>C#dj*98K`>qzOcJ>P@nK>( z{?YzS&u+pg@zT{^U6Cr%u(m~2qEFrF=yn6EZXio6OYwEa-vX^aeU?eV1Lce833yut&ZS$`B0~36K3eQqx=vl8d!381Np`J2n z!=2*9(>3VSD$u@R+tvWo;J9iR9uo(7`eaq6UQ>nb%bThyOyYk{y4zx~d1SaU)sHMO z^?9GhkPcohVmj2oc#1q&I&H*fH_7=#Rqx0mpygdo6#_1f#Yv%X& z-bS3{>>qF_REv&au;qZdX^+ULi0Z972(UoA8GboTB= zo;|H;xe}fv(J_nYrY+2D4dQApRrXB_Hfb2$BB^eP>Dh805&WWLfWd_t96lNYlkmMC zPI*4>TGybv|3O*FUWE4$vzTIbn)O=e3jSp#>nW^VT}{oUT@4hsP>_U~Jqx{l;#{Q~ zfCQkX)}27n!Z$iNI0*kUvR>U3bByyOzLTqIcbRd`08yHy!bVls-jymHqkXn&_wybg z-@qFC9xg@5oTMlRPQn+(Vt27BX8z(dG_MRh^9>_PjZ^q0@dj3W3?t;o4csZXkTeaa zGdZSW6#NvX!5RqLBH3w)k}1@U?c&Bs?*)qt?w_LR^K@@>sB)s?5Nfr|w47XhhN_fHd+I|!_+8I-on-6&e*Psr zpnP2vLDj;OcQ+CLsp2{&76l!Q3J-m<60vB?sZ?G4kkUo9E97eI?Q@=n4ECh?dkqq{&oK_s#JC4Dn@c>bJc{`0zbz$SCg$9F_(A}%H&Y= z`RIxC^y^y$$8oj61$ayz;3Wq5^g-GVUejR5>gJ14-C|Hjtm3n@QvQm{4VN3=_^Hkp zP!3jkSG7tVuiDTy(GE!&CNcFvDFS5%@yvwMX@XrY#W%qg)80e`POi6m2BME-C41gD zh-}R!xRd$$V@uS4Fh_Z5IqbDMW}YKIkkhS7y7*zO)EHL#x}}&sy_dJD)V7iMWfBLd zAd2C_mFXmOXh@9!dkA=L1|$g>RR6cy}) ziWeKpety4>aTL~zv@q1>mV-O<@tj=afPmJ zRZB-LJcmYT8yu9=Nc)5djFYn1bODynM`~L5GjXUNize)tPDgmzbop@O^SNcnHy+2i zAN*T*3PdOB+jN}nB1S0wfqrzT8_1NqO>J&V!{Cj40QmBQh2o;$3)4v4x?&>9^sTmI zopbR8uye&{lKz7db`~l5>l30}8I-kmfGK&m1!ZzNN@IJQSJTpV_?bRwzSQuG@5qYa z-cem!Ib8Ur2xXyV_}vRme2s5nhz^LY7RiDyGOb8JZ6wgHbKv7%9RDxZN1+UjHwvhV zqqBK?=17t~nr4qU66N(o!U&XVw9UG+#3rSuIzut8mOCzNl1MG^UZ-#YL&a&hbJeZ3 z(XqH;0!9$upIuou$3xcjDWCC0PmX~AVg09`U0SSr2Wv8U2`c<0(1m;wY&Nc$=oEZG z;a@tO)mBHpItNOistwzqJ{35FRIWhHQ#*tV9>&edspT}T#+Rs)BIxVXc%RE__sdm# zl31s@1;7HzQlEtt&2u{kV~a6@oXeN6sM~&pR1?T^-N3<*>5q$Osm32VZy^9ANp4N{ z*zh2pnqBTqh#DK~Blh8G?_d#oL7;@aIi*KKyLi(`JGacRMFJ3!#R5`5hgmp0%gyP? z;Kmlt3ahieo~|aV(c~@Mo!sz@S60eYFfL5qBOw$>IL^Pw%{P3vhe2A?KA}p>nWQKi zxO~eie4N;)!$)9-DqGX?nv1NgUEA;De@`E9K2#paGGQCD>p7i`tG}diESi0i;~*b` z*E7Z5Z{z6DqF}45^v~(b3lp|RahjcjPxYxJ`a?TMD<6Cb5P=6lH3yW(7UBX6(Zgx| z2%*56hN|NM>TrmCqcLY$0GN`0c7HrYa+)Z6PsLkPKytDgvey&Qd|2?e)(9oj5QndF z7nT;w*6@X|@kezsmOnY;{D3EJ{-}iD!4N%TWu4fIOdEPr#so#GX{5+P-w`!MGXT71 zVsZn|uY$I=ew+u6D48)cG4bd!JrDM{RZC!Z}2; zXM3ucO4Uh&&yz^q(RP9~F|DK9f4}QFXZQD)uW6B>`QWWDHv=QBS^ku|xv{`gM^1H0u)G zQ1DPHdt5y*O+Y)@n2DZ8H5n^jc{r6>7mLn0QoqS61#?GkmnZ`00jLnMUbT%&vzP)& zX~vx{0Sbu4P$)5&rV0rhz^B>R*r0G_&i>oM=0|NYS@(mV63J@hP<@^r-XHm43zh5I zXic{yit7d<3k=fD68;4shyi%UnTh1S1Hgex=c?e1->M$mN`!E~n?IxOj_f6<XTJXc}42$8$<;*b$u#+A7X3Rw`uu)m&>HtwZERiRxifKzd!St zbWIB;b-_Z5X5`PYtAB9joS$OH+ zn?(q(Jm8K2;nU#gi^D6Cvr6ZMQfl9azVu786hN)b%wc}6y|%CR>RJzQZ$zx^2rce!7SE2}#eHvJZ!vV2b!z-L zVTOC9f-R6LYaH4SR}M;OmkFzCh%jofi+!X%-r+5o?Oq`>%0E=6+dm=8G<4ti>)5E< z_lNsi@!WfU9CLMP;{wGZ19AAs#;IJ9Y5t-3FuRQSUDm_)JI0Cc;SWDB>S(wK=^ozJ z=!uG$kfdoEuZ?{onno&p4%_n*O&;=|!bgS28bhpH6$I{DYm}MSJl6MynXMAKhUt2+ zZhoaXcF6R!a*ytKTyCgitG3F_tU)Fe+u!uS*@&@Dg}>qF9?QkG|HiQZ%j9+tAUtq4 ze@a}p6>?v|*Y_yxmreSVP;H;LGwRt|31Xb?KE$L1JgLML(07EGKGI!GkDC~inzYQ0 z9K%bH`6SYQp~>EAg-O(8Yl^lkkG?TgEU16YHWm!Hl~O8FrvbyS#sxp!)$1c zG=}sd>*AB%CeL#d?63FicmU$H!tyqJ8yFepro7-u57lr}3q{$?BEXLP`2^uPlkNKC z69BU0kmv!`r8>z*J|TTR`;9^-Zr|T@qHr6lN(-=%Vf9vVJSGJ!Z*=349D5u%5RzYF|Y04~C z{cop^zt?YeR$!#@B@NZTP5uY&OqTojeWT3|Vx)r_Q8t&UJFP(P5N61S+MIW#C~rN& z?{}*+Eh46?E#me}BN(A^n@M2Wxhm`mIg%Ma{-MP;O4FAfFZ`gA-=)g(T@PHCDo$Ur zjy%hUJJL!?5t}%%{bOY?1U}6hJJKo+@D+7akO>5N|4T!TUyJYcTh3YKn9!j^{?o6^ zK(O#eLo#>VXX!QjLuwp~e#)1L68%yA#Q5LC=L@`w*tKXB5n|0+6dhpQXJiw&Ng_%8y#81jvWa3Lev()Zc&s!;<}Z;(nfYF>N921EY8S5ggH_Xk zml?aVyjw;AbxxiXqy)9NacQdM*y8M8PR8QLs~&fK>JB>X-H0^d-g(vA`UwQy$Q5gS zYI`=jvKbAW2B>#om5hw*ia7ftKy>YpF||T)avexkwlnJ#;NM~1mVLv|_C(Oc&-6qa z*|Stx<4feDK{}r%tJ>+$jUc@T22pIzf5+n>{3wCSdV5GBg#Jv4LcS7 zdq5`6RHK?|fKuHO_g+;fFvvYPc1Rr5u@&XRTlq-jYNfdZ^pjEz#5+tO=>~t6?h3(- z*&ScraFSx*_ksar<`^I%dnHX+CqCgga2s=7tW6o6_OztK_x|@BF9ao4QTj+=tx4HL zEY!BNy$JE3r>AFNDXD&&#_Xi`dA}-%EQfTjL{nbR4%>(%d!iI!-=Bm_#kNqAAe>m~ zDzgb#m*GB^yHw6jg(-P-9~XX0j;M%j|7q0dP|VF=Q9!h z$FlZE#)3M=;vFU+v07UxAKn1$V=apOgtV7cw~du6TE|Y``zMZzzN`w=jKi?wQ*s0? z2w?ubbpR|NG{?-Ie9e)#u=Tw8eX48o8F&cjEr62lpMer^E?Jqxi8ErlPH9T9)}OzW z9fZ*_b81UfA;Hf0NQU||+L8NaWB{~IOn{;(;7!W0$5x||g^-8XLuub@u{tzUiaJO6 zR3+O_GQ_I_Rk>-_MYoMLx4{d8q$OU`xb;jS+7zudHjVWEsCQSa{~~{r32vvbB+8_| zL(xZ!rRpf5s={8!Pd~PZO&ey(rOg)NLI*pds@s2OdQ5J4o*J5y{qHm){xZMcXk7E} z$&z7VGS-!r{h$$_;=5ZQM$S@SvDVg_tu9!x_4{*3@U@-8CPbEEZww)iwGb;ZT&4e` zjO5#N>Hi~t9$8%%Hq(YnOa z)Cy9%e1Bwlf)Y>P1$sq|A6ACGxG+!DxXaOX3PXEM3!uVxpfm)waoKEwmTj3`G2 zSuL08+uLtdop`)3)QB$WE?JnxB&!`2-c6 zkRN9`RKc4bQ&nz%0GvC+k*b1^Vdh#wm-+oR4 z@AR`$;d<3&TAXMpl+7ycqAgD@g&Q*8zD`z96s%*wbFPpQZi=us^;`Ax5+dCD0}1W>fvxt$H^Q30!3b> z+n-maLP&EyV(z)(sHF^ z+kIE~v@ZYz)qp4ZTFkQdrnbGZw8&V2i;dk#)Oi5*ww8ae&OtPnhN63x_jQfF&MbXg z3p_T-2#8`w@X)q{>KGt_2E7q|R6cWA-_DX>Bbj}k7Lb&riR(XcHUb?@Grq$q|Es4F zsC72!?t6CPO4BHo@xR6STY%zkgK;C2{&uIh&C{)n1_Q;NYX4^x4#gl(GQi~_AyPDqK)(y5VCQe2+YSRSsqNO* z2E}oD@fw-|ZHP`J+L2Zv=xKTIQadwnT~r@VTz(YHDV>9C##1Don(yrYp&vwh^&!%M z-0tsu5DBJ&IQc?Qsb0O>{VaB=MI;Z@buBF-;wGTC4@h7GLWJNx1Rw~EJ)$2<_8;1G z&+@dkQ-*B=%QCWq4?|b?WHimo?zhVE4l9bwH1rqeMg;MWBdnw z20~ON)0eO$c8rixW?&#ur0kgq|-qN6j@CIVG{-R?)Ap#y5P)_g|Z z-hzj#$qtWrqqp|6@D{Xtq8f>2z96+rV&n-_^s3nR_@Ue>t0LD!4ps+us=2FAV9D#4%~RC&Ewo|DL|Rc(&S^xyTB&va)i0@vBZtUOrMG zB~jVdtoZSmg76nrSvje(L3J^naIx>^TDk_WjlO8?!7YMTQI3RMOwRv;)FvCdn9?ouKmUC9aM>%y2^0-d zqErd%>u+wCKy%B+sez5TCjxXnCMG7n`6Yns3+qir7q8H_*XV2|Rb3@{{$O#RK^GZNcKi88d%al#+iw1Z^&}ini*t_X! z<{UP;b@Z8k<-2i5)r6dHF=KQuudwiYa}yD&i6)n&6M+kEG$3ftoZshUXYUR9DU@W8 z_FZgi*t#CoBP-)Hs*U;eYaid^)aYS$uLUTIJ&S>PXU(5Q&a_+Awal!np1qf~GP1I= zk~*IwQw<_z=yA=M9H(g zFKrIc`8CfXps&~So_iXFt&S-JB!8touWBml=QQo~cl^%@;`+JF+7%m$^SUkU?d@59 zkXQjcGPg{K8Ac*`s1HyDJE*WqHAVlnl?TP+)ep^1(<}U2G`?v3a+K)EPZRINoCkcW z-Z+)&8x}O-fUXt`i_q_0e!6zRZ3C=1>ki$UB$KvaZD{JQz7f2?Us3X7%$SUH(BR7* z?m+mcY6nWr_M+bI6O-0$Za!}WS;QXEOJSn|HyI|DA5(>{qq8%PU1ImB)_=-p|2(!X zjQ73t4)>#L*|60{9eO~7VCKrMRM8y(5zN?`BiM3dj)8!Eq4G2}e zWGCWXPi;3lUR$G8AFUqMs+wJDcAH%K!vW4R$}TPr4(E1U!2OQf{3%40YG)hUxqTOx z)UNKI7I5ea8h_#xm>ioa7pos-)~3&`CSpMA_SBS?YK-B7ii5yo@5j7;+34e`I8+04 z(+K`HsDtP`#~rO68!n*A1L#`dJr`e4esiBaK_*c3t_`Lc z&EFP?PdYt4dPoAyRiMgjROUDrlh>_>pJV#*ttVOEl@$XoLq#S7Jt*Fn;|l;0S!yG^+vZ+uRaN0Mmjuce?7*WGXCwSO-S7+UV6AphR*q5 zCYF2K3g{JU!C+4ubaHhS%2ZXo@j*?SUszc9@8p?vMAG>#=Aw{fP*4K2th)~mTbBAc z5H_f>p4?%Yta#la^i_s}e~&`i zR7d^_;RBH~UAC>Wt7X^b(JlHHj20wRc!Q3Oi_SvZ#9uNPVY`V>${x-5XJ8H>y^CIJ z{YKo05RyECN$kB7_#6PxzI}WdD4qwJ$xA<5vXaI%J1=~ECMM(apU!>To*o|q{||Fh z#{g(YttA8MPQ2Sp^K)}~2Ex-j5@n=Wz0~yd`T2Q%A-XPF|5c%0*FYCg!eY+xmY_y zCC5;SyT=Fzxf$rjuKY8totG6ti4%2w9Z-?_R%q`-(j$F;`6Hqo2}g!)vw3b;%+TPDCHvvaqGDHwaR6q4X*!9xx*0bMpd0&$!mrW_P- z(Y#AzC}<*Gcawi`>@XesQuGj8GHq}^m~bB10}y6hzs%4B<|fHwCinrY)FaV)ZTfd} zqX=pldfHxVPvjq{%tPY(EqTbXoR+m4;L0h2&7p%pBrywg?-BS2x^>#;K)KEKQ~w-% zdcuFQ*atKgsB-;+Ghb$(rAM74XHZlQIw&Gxgi{^W-X9$Zdp$w*eC*Hb-trWrj5mY5 zAjj!XMPWhnXM8jMx-upaM0CFRTc+k$)&HWz^Ni);>2!1$t=EnFKx& zVAfH9(x(QS1*H1*6aWjMyp(J$2hHtWB%on6zbDC@ZT6l-{~Vpg*1z9j{P67R{mA}= zTA3QtEZ|BvkqybJUdA;2TQWliU5@xMa_k?C`zZ7PiVmL?n*%8^JnAL>y9nB6OD2~g zdB@?|xYe2{@*(+?=~nq6%J>*4;KKu;x|ynIiQwZRNM6HLKLwJ8(*kBe{H>$cG)ef) z>k)hFqQl3=jJlP9FGV4uxn{|_OvHEK6A6rK6d3giHF;VJ1&8*{yIK$?Hcs)O23*mQ z)xt8^{Wiz)u{LP>)$Lw)*JUGNs{q~b|F%DowzOkK%9LuyIGELf=0gL6SLf&u03d3h ziz@Y!U$^8FLkCy1D-LTZm#Q_-C-t;dnsz(85duIzA{#VTj$Q~1jTSV_>43%~a;;;- z)R4F4qa9LG$-_MyKj}+^AKO%)K|ItXWrA6*&BNB$*Ts&$7MGXrV4MHzc@lhr{C9YN zbCY4)7B4#DUHe>m#gpdwcFT}mrInNcIj5uTTUspyWa4jOs zwVO2C|JT%4M@79wZ6k^xASfV+lp;t9D4ioAAc!E+DJ4iMokJK1h=`PQ3sOUhv_W@w zNp}tnGw+`Jed}HC{Bf_|yVm@EbI#d&Kl|BxKPRekwV*1=V}UkJoKf8Mqt8x``gazJ zOAB3!pk{IL&79{3X7%#e#f561UL^D%SeA$$V_K1RrBqjA} z;$gRyz>m_>&nF+ADoj5MOMd)~f6M(^0+;}9os)qt==2d z_wn(8QK~v<8%i@Bz{Bp3Ik5ShR#a4I5}Nztre({gkaWBCBJ`a}l3t1@3Ya3x6))cv z0v9eSm~SR#KSt%=GCmm{VniPPlbdmvK>P0H8c%pECURj(1OIB}x)>%$LJ0QSs95~v zf1WzT!qs(uyNStnE?i;olcE;GXM&b<=-2nI1IQt95_wTR2J7A8(+X|KuG&k@6_?zp zcQ5Lp9dhqE59?^5RqsS_eSxXni(gvII}=1poED$>KbUqFbEw{K1WgCcF?vZ)w4E-M?49{R0)fa=Ef$yto*o8g;&6E$AK z%S~Jn9heh`uEZO!fAu|L`hP#r_>pE9z39%#6c&j@V$jQdFo~{h=rXXhv@{wDnJrAX zYGXzwCu_9=>d=|IlIU((n*#<$MtfV^@k777aL9N%6U7570!XBw>GJCTS2$S7XiUF*$M)*iL-_OAZ%gIfBt z8heITuJ(j6Ps}Q4Sjf*-o@i-k24S5c=mRfMDezfLKx%2fkF_`Sa-05 z%q^-EdjDht$t2IvecEC-+vXr%f>?`$M*$c&K&xIe)(XWf0PhD4SzV;OhyT8_UWoZS zV(`tr1kfQIbkVuMG{jXh2C-5tqkE#r(?g$wiNKr9l{Kou_5*bV)dlpQEp}S}y#nAP z{9#v{=;E7_k`hp5$v`NxUd3!N?IY)7-FP}5MB_F60(Af?7(%}w4T3zz#>T$B*k8Z! zJfD^7trr+pxo(WV6pBZc4h?72}SOcj^g*L!u?I0~ywbG-}d4h#_ubs-`JU~aY}WZ&SrK(Lx=r~Un1xCH z5OS~F?G%Snt1+soO}KVDl#tQ=`5Uv^lZ`5Iw+(}ngWtb@m+@cF`ng$qg2e15!+wV$ z(dk{t{gOQ3tff6YJ*$lj%=RlQD`8Q_5!;8;r*4>G%AhQzt%?|;qp{q*|2?FYkY2*~ zZU(U>-7M9%u~|*VptCe9dcdqtC%rZetF~$C4jVRou_ts)d=x?KQLT?(>{WK)3c)y6 zQBXSMfZUD8Jw6xXez^6I#@IVNA2(bBOBJ#xQDI=Opg>q5eW5cDnoDY5+8gQ>C@O}~1he^4?8!#S-5ygAxn+6V#Zphg8 zOz-zqq6@e`>;No(%CYTkE=G!<-)U?5cbWC4o6T-@Cle^|c`n;1I2hE_)E6&a+zM7y zQ86@R&}4!ROsu!b0-M7=VfrN@sX=g(+##?r^t~c53~i&l3xs2a9-?eE~@sp zD9pz;-v&nGz?I?Lo6;7#oxf}RbrVCb!i&Sa3s)|Tlvs9&Z&sJ=Z_1>?>M)%y`eH0W z;^^jwu0^kfSW8CtX@3{hOVXcLQFRzFZ;PU8W;tsEq5!a-Oqi?sqiXyl1G(FI2zWBk z?9qa8F2uZeO^2RVT{NRiPaV6*Zig_cYNJxq*VfKX(&rdmsj>+ty`c7Z<&{YFKB5L} zr^U5WATscoGP{_;R}O9098B1BaL;Da25y}_Hx-g-YU zU+lj?CZi)uC#T)%>FFFhsk3EO#Qw0E`;)cqRN1C5rmi!R&h~aVzQsBar(%JW64fS? zz9N-8H8K+P{(y>HuP=6pw-W=UINwg~>3^JIRhjBz_JTl_t6b9q9EDGHww#`q*S_qG zF%-BNegWVAGN=EDt?SADI>h{347BSaJ?LV(ychVfXH(c3>-dg%VRCZvS4H?*fVGR**(+G6{8&~7J+`F`7#T>5oT?6P&;VJK3(3;|S^uE2T z3uV|j)!+YCSLJA)*Y_w$)!TG^DhpyO_3yf^KO{_tzX%5}HwgWp_$l%F_2HI@M2k=9 ziXb1~)+QFSnTvU*s@er#rOONQ89QquC3GmV&a6LaAH~jF$|o+e8NAs=#!0+zc6@D9 zR$C@tSEFZardGHV4Jg0Gq3=Ao#MWOX%&Q5SoXpJmK*Z_4-){(=P9vXXJz1Zs^BrJv z+ZgxQU(HI7^|bQ4h&zUth_7fc=(OS$X+lRzIEcH^K#P*5fhno=&l&8DEN5Yb-Q+K)C~@2;fhmmI$#P$o@Z=i!cdxagCdZcO zJT4RnnXL-d7}3oYbPyu309a;d>VEEYxzL$GkeGNo_#V_9u%}&EZ!piHYteRNKYUKc zrfUDar@L|ixLpH_FTLH}h4#H)x*D5g(tG-chGyIIZxT_2HFYH;rUnP)EAMh6>+u=m zE}ez6X7H0>nxP5ha+8GeJzo|^)oDsewU${2^a~CdlxP`ki&Pjr(bXN91+Nwg-vUR=XEnbZ4lQ%IA}oWM*(~hf z*yyO%4+Af$a`3;EP39Kp;QJyX?jG;yR8M<*du5Ic0w@SU-Ha_ti2-0E&g+rzR{Ih6 z0n!Bs^>d>%i|aK2?YzWaVG&&UMv_ho?UfUSJd16{n4Qs!_{L`|+I45^4ye=JC~YI@ z*;Y+kTh<3+ePs?)wHq57QFYDpJ3#-soV?l{Iq4P<5PQ3i*QI#t>;J8BSMK!dwxu}B6_+@dS z?|JKL<-heDlO@dA2?(~0DlIo^;j>(4V5otFf@etUf;7%&a(U1f9+oGz%|k4_66XdJ z2Nyw;jgWAA(as+xmz&qtY>kblS|ZrG62*mugckNZNwV`{drXUL$9}8>UI(9;gF+3h z?zQ(1+6sa19^pl9huCCY=?QHy|C8WS54g?R8jx4TYt>_1$e8110CKmoLnhgC<-3b` zjZtT1-&-E0ob>Hk5Z@ZKmv4Eir6G(9Oic`KAm5eG*~B2_?VkU}_8tqNmg(N^V%Kc4 zVj;yEyg=xvf%;QiWYOFkuW(ZMMDGDfM0b)LI54l1^>QZ(TNu8UVP4}KO$eiMj+MqxUH;g1 z&~9sLYSIoW15Ti9Vb7nCQD-c$0c7>)KN&b~;EA24S13?u@uYGzc@53Ks_EqYyvG6ZkqBMx9$;(??>Pfe$QpoCChV8eR zcrpOu8%ShQJvV;fUy~x8!B01iyfIv;YRC1mp@OO*z<~R_*d5+n%+C#ctP7j+Eh0xi zG+erurcJPzv#ckHdIyLJa07^=7F8ikDDV6FIyvT-4h~J+(gi-CCh#7B$k!{8*Akq? z*0(He1Y55~LZBY~*4Nqu}hqBY2V~(tDP0(O@Y(Y{s@B=w>qlGmDUdxSVTr z0tt_ch4bv6W6<0IIg`PKLBwusm&EZ>I!i$#1aaWz3nKFn?pxCeQae|32X2sF#QEJR z%zn8IFGIjhLNa<0*R|owu11$3L${Uw@3_qub6$dY4=RQgY%{7!5*5WcX_b}7fZqU` zm6@PJt)>X1D&I^`ut8X#&A$x%um`$`JLEGX}!_wc3ifq5SvAA^~} zLy7=Oj;*_f%FAx3;ZlTWs*+_ZVe9MbhK7b;Phc_t=#^NxY^3`&ZfIK1;H7*t1RTv)4_Z7(i3*wwp8#rC`xn2v#2(NV-6IX3+JCbZlax z;C0ge7jv`Qxa7_aAm3=Fzu&bc`a4 zSmLLrTxTUCYjAvVZymv=YGg#@`R^UgAj81SKVR&D?@*^XC{}=)j#&#JmfDq^+^y`b z%5gxnx%3B8nC&nGWTv@7C(W?vkU87GN&pz^6-2a12?Iqr8U^!Us&^-kpI7B&FZ_iOK7{h&|wqv z5)!54vz{=d+=d@0hOEBV2AkqIKlI3eQj zca*Qxc0J|6xKme-9UsXmPfQya%t=jwfQJM{Q1#jV7=S&5Cwd8YD30cQBV%J@VfQ_w z5(Se4+Q9Ra7F6Ih+nfUp!<(KY+V8GYhh##IX4Q~4{ac*s>`}=^cNx$%b#=*lEw#(v z;#XEya7O@aKakOL3CFw5WB1x)`A-fujrGkzoA4NgJx2WvBu^Ji0Gx+Cz+$HUk|U}& zST^AFU@%DkX82UrqgM{*9(#?6fHEhTklZFyszM3e!ba(;2g+n#dmt!cCDst)_YiqErB45mqmZ&9xR)yH`0NZ*Ij2Rr8L?B(znG-I zu+u5Jd6Km0bZnG;Ijxx9m*u zm4e@>BmBXDhn$#r6qF4+IQs?%2iw|gfQU%8-=9k!sV>&ZgVf{W$B#T2lxox4?jY=X zcD%QG%WL@7682VhPR@Nn!G}yQbabxkP1MTj>FY;CM7#+Iz!enxRE&+GGfI!PkBgJ@ zhL|(E#Q?&pJ0&53UX$cICEJrcqnaCbG$9S%fdXn_U}8#+h>$&%v3mJ3lu>dNh`ZmvQ|a2~ z{XNe7R_F8bxEHMF(8`7YuaIZQw6wH7-hwBL*U>|Leb20)Vntn#NiN`PF!~PUXu_e+ zIx;HcM+3@SA1MiJdDPN+$KT(dPS`%fc^JsHoT2sRad6FWSGx@ER{HF4krBKLF8N z58Ou-3e0?beD`sm-oCz*l+`KllcwwB(%3LR9d7v!8(UlMj$64}`JNEjAPxu3`C3$g zY;TRndS6zUA`3-GL+j=5pk^F@w>x#C1q?}TH%E;RlQd8liZx#GLQnA1Nz4 zy?XVFEdI-v0Q;jRqmN*Kp`n-cm@}(f&;G8JW%YG;e~yY85L6*P=E$$Dt%V;B{{)6I zI(pDcZ|vK*ZxC?7+`xo@ZAp5r4&rkkbgjcKAG^^Ep^Ozs#!GbapalOpH028zu4;lv z_~Gpt$BKf20&s%LF+7^jo`L!-d`XU@5GbMnYY_D0sOa5Ml9W&I1kHoS)>cjgBDr^I zagpZw_3YC{024jOTwVto6V)F4V$VUx7-R)yWbiW?^!MI2m>wM-zJ2>PWnG8X_iGJi z`RmsYowPv%&aYqJvo0>Wkq7l(2BV|?@6UQhv%yi`!9HUSPgwvtjkJZb zygb|a)~IYdm)Eaz0Z_Z7wZ+81(z1l$q@T?0|s9T@(tX8ch$OA*O8}-yhmPzNEG^ zszZ1%Y0XMczdfoL+XaZn8DXQYuCA!~L5;n?r{|@WRdaLmArLXQnVGvM!r&={f*xA{I3aP*77_O*zd}nui z+hoTakcj+MJytVYTLX3VUYj$#!y_eBjT1kA$)kun(A0GBk<|yj=Zn;Zn zDxZ+))_Ozi@eTBSwuM3Ok8pY1m9Xl*39JU#415@8(5J7iNc%E|Sz1}a(8V!-D)b(S zi&v$jq=0@85glkh^Xe4(ja&9+JOWd&QdHuM;6ak1tLe9oP} z_*vg|ee|6c`@Q@3K|C0A(PMZF({#-B^~d`AHRdn+a>F6YZb=e%3d52Qr}}XxcO~DqXf3vAyYu)fUWC@y z8rMG5<#;=swD^m`?rt^E8r0HiG-x>_cXLK(r}%n#od9}-7KcoAj+nNG7P1I|`?2jq zLo^daVa!oVb%!$~tyJWzI?e6vr9Xari!7LRtYCYRkW!w{O+DV`YlDYJZGgKYpbe0o zAZmMi8(LG>b{1ZVkkIf*I4@lh^H1crgq{r2AEl2TJixQoheW3IWgmMe*ap14EJ*^l zZn1eo@HK#|5{wSbpKqz57~59~<$&TD9rYY8G=U%soo^t$Dp~lG`zo64#dn}6C2#Q! zba%hPoO-~N<4=+x`MY=X!AXTJ$3ZlU6?M8Jw_Zazztp@`kn*cNZ4Vre_+5TA*<;{36La^(E0mIcaa~f#tB@yJA1lbKD9Afb24l2 z3*IUrA)zq$vWkj||AXhCOuCdTC@c&;6A%LlFI-ULZUa1Br2kOUM;a)Cl|mW8L322a zS>L{?yIzK8sC?x+H^I<$1qw)!k&)7GE}9@flz(B{eQ8bP{(Z-V_Sh|9vQB>lDOsSb z#yj;mu4WWwsqOhDYw;o%_;N5)csjN+H&^Ph`vSPk_s2_#aW>`U<fpLYwOX%1yrwXn1_{O$_KgM|eLt6S&?OYJ1zjGDigD4*cq}(o$z<=MPw<_wTO|2b#|)8#zp{R z>-{ynM%5w$0vZE5%)-JnRpr4Arn-81P$+Jnm`EJ|8W$%9jLgi8=>iR(WoH7^!@+^} zx{(kO9Rj1q9twdFa*3_L@x;>e56XLohd+dxPW*iRrsW^lgPdF$z&UO3Jm?m)~`&Aq4JImzVc= zpdn?2O=+n?3CYl{Oh4>;JwA)>MF<@4v@4s%wH1cZe_ytuI* z_W{{o%~}4pjBCufoYE{PX8e(98TlvV-k? z%gh9v{@V+V-Qk7LZS%wI)E2i;8HI&cscQK(kU!IrkcW7P4z&f=0ge> z9z3NUD2)dlpm`GsqE+0~wVD|0OoP@XEQsycy} z0fYXO|4G>U@YR|IS%*M3xTDjwv?HR&$qg0?P;&An=Hr`<(oOY-pL66FUBOxm*Yov5@*?y!q zw2BBUg6nCF-uK#`c~=Z!ExoP|abpI2KzU)|b#d1`0Pb3W4S?{xd29(}1xT1VID%d% zK;%0cs>2ZQlESw?moqgrrODU?npA<-aEr85hL;CEd4f9-sdlAFnJo zwmDw0yE4F4T%HQM6s8E8C*)d-|Q#tqC=v)fuDoY9ol-is) zUm6g<4=5#43cTPFEf*IT*!@q}bv^Jrnr~FU@}-st%Y^H*Hg|PtyB^NR7=N{to|~Iv zcT0Dy7~h_4asYd|b7ukk%2p>@=7AI5k^qpUx9B4cMTEdmdjsrqwJS}b9!E(*0hL<~ zPTZ1nswfJ@OFGUe0zt~7xMDJKW6m>R_$~$UJ7y^sPPX zd3m#(KZS;}#%uStbPo>xuv(XUYqrVq(CNrsLFO zonQ%ZfhW=xfX5T(vL8Qc-8LCJ1nFpLgBnc#Wb{UoWL#lnL_*4W&#X}gx-R46%gf4I z=Hd2{9Z*#-EiL`{ku)z?T1Dk@lt+{zOTFAcef`^?q(wS;N+-m4NW$^1n!sFb6bKA* zfP4lp(#24<7XM?J>?6MnqeD)Pjv9&EU}sAl?d|Q&V-Z>f20=9+pR5l-w+VG7!QBVH z-uj--GA&IH3=BXj`u5@baw5O>bJJM3T<73uF`2*o{@?ePq0K3slsTrY=M=IvIVU4c zp-&!%}r;`*acd&)BJe!vt&!$x39{ds5n7jxjMv58&z#cYVK&fb+WtlhbC` zg5<)(!`sPQIyw?XUNblRJDh8w6wr8BC(kJ1&NtW?9zxm~%TE|Txw*PJma65er4_Bl zJ`T4c$fSM<4Sh(n*Y4mkQRxEs_t;sp-Jg-@>kvW|fCwWaW8}05B_}5*xL4kYmdLx2 z#NRJ43~K$pqa5CmTU2y!#p!vGj;N?8*3++X`cYJ9Pnx0fipUAee&!M8y)q7bB=cRYd!f@^1u zi3yCGh5{H|216a<0%3=i|Am?u>$7eL6OPM_i*c$uFL#x7XtE(V=t++_V&k0 zEpT?~!5E-58G;D-oxSxjH>m7;OHDO4zBf^k#q%3kC1iu12w-*lzNyd&*E&#e~bEhaYOafBwk08=m7s zB~$2dsNV--Z*4zf5|9%&$Dhv*b!XA{$%G8C|NaIJM?fr25_NikBh%KR9`;V10P-rd ztOKai!C)eY)#cVwSEm?-iynqMIzn6S!qp2vQ<>!EMw^`Jn%e%-2RM|B>o&&=G)Jc)T`gp~& z0Vl;LPmGGqFKNA2f`wwCV1S~6q;e+yufU7<2{mSbI-6_0x~2fh5E&U6q`Q1@pGV1y z%b|}YV*>&L0A#bVut*?Je}V}?g%ard$ZZbppUV^p@HN z=}q^=P6p?FJ#}?R2O&>Pmhebh8H3x^{-a)?B*etv%ZRShLbBGAu0R=Vu!Y3`EV^~c%*4cB@YU6;R}=H~ z#)pT0n*6=kYH$ciSfo9!ji_iUJU)Ibic1>+15gNX_0%(Ubujj~>yJ8RTwGl@*4m!i z*+By7vpv%g989cvK*7lPWR`$BNDdYqMC>Vv-!ZH>ytKB4@|AlZ-YYURk6NNw095?% ziB^}D2?_~C6HP=$N1NW3X^Xy_?v8j`?iUv~8q054m_>B?@*jv@(QZ)tC`ve+mi z#K3)6v_&UMdPV=!(@#|s5fybALU}nm3sl>}R!>7%Cs3O01w3~ zBMe9-MAd=uSHLJ1)a#&Ehme3E+@%B$uib_hzbfrufB%k@osEsMiV7}-V}kCwjoyMTLRK== z_wUk@QIJC96x`+I-30gtr9z-??HwFY`S}gOmqf(H`CD8SA3tV6(jkwR*=z%w zn-w)V&Y9z4Sv)T>G4TU5Io|H**!J$OY-q#hTe4(KQftf0kA};jFY#)k=KS^UlIOqi zXSM*(rX_oNc!Z;}GBW0-u$TkL8+v+k%ppCCtipq=^UZq6>sk3YI$x+{10fRG;{mf; znv#9Jy?34@C_3H4ku3JyIJdGcCnx7@#S}G0d|k_^xTpwHCQ(4G5WUsZx`D2bswG%^ zkpaDaK*siHC*M(j#z0Rm+xQo1x905R>7TcPevrrM&LCp{DLU9lAn6M z`w!D_5e%f$*(;(Jt&x6yc*XKmtfucb@Voo_BVj7xi@YxPVD{7W50yw@0J>{sN;Uv( z4Z2dwkH9`RHps$I$Z_y$qZ0Dnd3oELc}a0bsZE<25|I z=SEdTH916sxv;<=*5T@wmbs5Qb^gGi1E{}l97Utkj_RWKmfAUQDqN$~Nm!(bKjZ81d{ zT}`skmwn$dGcppyTv~^RuTK&JBCshBPfTQ>qCx{^u~oDL063hkg)$0t{ZUe4=GX{T zjocklHJMW?vwaBrY*APpG)$NHGXnN2;+4+`kW9)W8rx!25lC?yZc8sVTGf zYaIT~0)zN7yKR1-HuDUs(>hnFfro_Zk5YPh`2oC0Y=V8`M_S0sypu_QL3H0;P@!32 zz{BgVd0+)ImhYm@Vw5t6;i|^39+r`C5*9Rn6msj8X15WXJBNq2d;IkGi>oYm?!di( zsq0Wvurjl^-vE63HKDD(o&{*IZvHiH$kqX>LPJ4&Ssq;NxqGY-kob9UVBo2#(go&l zBDx#FAt7e&Vt}5&*YsGvf7;#Ks|R=mI!Mk=PgB&0!HUn!3(L!!wEF(=99p%PY`gV7Ah&*TjQvy!&f52xyE&>ewp)2^tRkp{k zUTuM=;0ToyJO}ty=>%X(k$$10qoY_tC_Jarf0AJEY;<_oeREQ>)DR$**+KgR+-nN% z=kCWFg2CzvA$Y6Efu0^(1XAK}=YRiWpm1dE32Uk8EJpo1mBBsOt!vNcm=qs9g6hL_ zDY@6R`1LKky$o$X{kW=hWPDS12Ch0vB}%1S#=6FSx!{gwT%+s0LuK z;i@H23fezBkNX99c++O*YqjCE`Eb{|LUxRY_Y3ZP{J(z$f(ia!8H+tX=kz?(Otx+Z Q{)+eL;S;$6ndbrj1I8Keg#Z8m literal 0 HcmV?d00001 diff --git a/images/icon.png b/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e3688d55e6fb583a5892fd5d0322217bc6493335 GIT binary patch literal 529 zcmV+s0`C2ZP)0z`zThx>mQbPhyx?6(qNAsf4J z9vlrYvls&*DS;S-Iz=WBk`jnbD}iu*y<~b5NJA(RDS_Ce1Y#h56$-hY??Cs)C3Bra z2uKM;L8JlklQ`sh5=h^HNQfUo;t% + */ + +#include + +#define CUBE_ABIVERSION 20070827 + +#define CUBE_MOMODE_AUTO 0 +#define CUBE_MOMODE_MULTI 1 +#define CUBE_MOMODE_ONE 2 +#define CUBE_MOMODE_LAST CUBE_MOMODE_ONE + +#define CUBE_DISPLAY_OPTION_ABI 0 +#define CUBE_DISPLAY_OPTION_INDEX 1 +#define CUBE_DISPLAY_OPTION_UNFOLD 2 +#define CUBE_DISPLAY_OPTION_NEXT 3 +#define CUBE_DISPLAY_OPTION_PREV 4 +#define CUBE_DISPLAY_OPTION_NUM 5 + +typedef struct _CubeDisplay { + int screenPrivateIndex; + + CompOption opt[CUBE_DISPLAY_OPTION_NUM]; +} CubeDisplay; + +#define CUBE_SCREEN_OPTION_COLOR 0 +#define CUBE_SCREEN_OPTION_IN 1 +#define CUBE_SCREEN_OPTION_SCALE_IMAGE 2 +#define CUBE_SCREEN_OPTION_IMAGES 3 +#define CUBE_SCREEN_OPTION_SKYDOME 4 +#define CUBE_SCREEN_OPTION_SKYDOME_IMG 5 +#define CUBE_SCREEN_OPTION_SKYDOME_ANIM 6 +#define CUBE_SCREEN_OPTION_SKYDOME_GRAD_START 7 +#define CUBE_SCREEN_OPTION_SKYDOME_GRAD_END 8 +#define CUBE_SCREEN_OPTION_ACCELERATION 9 +#define CUBE_SCREEN_OPTION_SPEED 10 +#define CUBE_SCREEN_OPTION_TIMESTEP 11 +#define CUBE_SCREEN_OPTION_MIPMAP 12 +#define CUBE_SCREEN_OPTION_BACKGROUNDS 13 +#define CUBE_SCREEN_OPTION_ADJUST_IMAGE 14 +#define CUBE_SCREEN_OPTION_ACTIVE_OPACITY 15 +#define CUBE_SCREEN_OPTION_INACTIVE_OPACITY 16 +#define CUBE_SCREEN_OPTION_FADE_TIME 17 +#define CUBE_SCREEN_OPTION_TRANSPARENT_MANUAL_ONLY 18 +#define CUBE_SCREEN_OPTION_MULTIOUTPUT_MODE 19 +#define CUBE_SCREEN_OPTION_NUM 20 + +typedef void (*CubeGetRotationProc) (CompScreen *s, + float *x, + float *v); + +typedef void (*CubeClearTargetOutputProc) (CompScreen *s, + float xRotate, + float vRotate); + +typedef void (*CubePaintTopProc) (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *output, + int size); + +typedef void (*CubePaintBottomProc) (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *output, + int size); + +typedef void (*CubePaintInsideProc) (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *output, + int size); + +typedef Bool (*CubeCheckOrientationProc) (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *output, + float points[3][3]); + +typedef enum _PaintOrder +{ + BTF = 0, + FTB +} PaintOrder; + +typedef enum _RotationState +{ + RotationNone = 0, + RotationChange, + RotationManual +} RotationState; + +typedef struct _CubeScreen { + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintTransformedOutputProc paintTransformedOutput; + PaintBackgroundProc paintBackground; + PaintWindowProc paintWindow; + ApplyScreenTransformProc applyScreenTransform; + SetScreenOptionProc setScreenOption; + OutputChangeNotifyProc outputChangeNotify; + InitWindowWalkerProc initWindowWalker; + + CubeGetRotationProc getRotation; + CubeClearTargetOutputProc clearTargetOutput; + CubePaintTopProc paintTop; + CubePaintBottomProc paintBottom; + CubePaintInsideProc paintInside; + CubeCheckOrientationProc checkOrientation; + + CompOption opt[CUBE_SCREEN_OPTION_NUM]; + + int invert; + int xRotations; + PaintOrder paintOrder; + + RotationState rotationState; + + GLfloat distance; + GLushort color[3]; + GLfloat tc[12]; + + int grabIndex; + + int srcOutput; + + Bool unfolded; + GLfloat unfold, unfoldVelocity; + + GLfloat *vertices; + int nVertices; + + GLuint skyListId; + + int pw, ph; + unsigned int skyW, skyH; + CompTexture texture, sky; + + int imgCurFile; + + int nOutput; + int output[64]; + int outputMask[64]; + + Bool cleared[64]; + + Bool capsPainted[64]; + + Bool fullscreenOutput; + + float outputXScale; + float outputYScale; + float outputXOffset; + float outputYOffset; + + float desktopOpacity; + float toOpacity; + + CompTexture *bg; + int nBg; + + int moMode; + Bool recalcOutput; +} CubeScreen; + +#define GET_CUBE_DISPLAY(d) \ + ((CubeDisplay *) (d)->privates[cubeDisplayPrivateIndex].ptr) + +#define CUBE_DISPLAY(d) \ + CubeDisplay *cd = GET_CUBE_DISPLAY (d) + +#define GET_CUBE_SCREEN(s, cd) \ + ((CubeScreen *) (s)->privates[(cd)->screenPrivateIndex].ptr) + +#define CUBE_SCREEN(s) \ + CubeScreen *cs = GET_CUBE_SCREEN (s, GET_CUBE_DISPLAY (s->display)) diff --git a/include/decoration.h b/include/decoration.h new file mode 100644 index 0000000..8d6db88 --- /dev/null +++ b/include/decoration.h @@ -0,0 +1,427 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#ifndef _DECORATION_H +#define _DECORATION_H + +#include +#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define DECOR_SUPPORTING_DM_CHECK_ATOM_NAME "_COMPIZ_SUPPORTING_DM_CHECK" +#define DECOR_BARE_ATOM_NAME "_COMPIZ_WINDOW_DECOR_BARE" +#define DECOR_NORMAL_ATOM_NAME "_COMPIZ_WINDOW_DECOR_NORMAL" +#define DECOR_ACTIVE_ATOM_NAME "_COMPIZ_WINDOW_DECOR_ACTIVE" +#define DECOR_WINDOW_ATOM_NAME "_COMPIZ_WINDOW_DECOR" +#define DECOR_BLUR_ATOM_NAME "_COMPIZ_WM_WINDOW_BLUR_DECOR" +#define DECOR_SWITCH_WINDOW_ATOM_NAME "_COMPIZ_SWITCH_SELECT_WINDOW" + +#define GRAVITY_WEST (1 << 0) +#define GRAVITY_EAST (1 << 1) +#define GRAVITY_NORTH (1 << 2) +#define GRAVITY_SOUTH (1 << 3) + +#define ALIGN_LEFT (0) +#define ALIGN_RIGHT (1 << 0) +#define ALIGN_TOP (0) +#define ALIGN_BOTTOM (1 << 1) + +#define CLAMP_HORZ (1 << 0) +#define CLAMP_VERT (1 << 1) + +#define STRETCH_X (1 << 0) +#define STRETCH_Y (1 << 1) + +#define XX_MASK (1 << 16) +#define XY_MASK (1 << 17) +#define YX_MASK (1 << 18) +#define YY_MASK (1 << 19) + +#define PAD_TOP (1 << 0) +#define PAD_BOTTOM (1 << 1) +#define PAD_LEFT (1 << 2) +#define PAD_RIGHT (1 << 3) + +typedef struct _decor_point { + int x; + int y; + int gravity; +} decor_point_t; + +typedef struct _decor_matrix { + double xx; double yx; + double xy; double yy; + double x0; double y0; +} decor_matrix_t; + +typedef struct _decor_quad { + decor_point_t p1; + decor_point_t p2; + int max_width; + int max_height; + int align; + int clamp; + int stretch; + decor_matrix_t m; +} decor_quad_t; + +typedef struct _decor_extents { + int left; + int right; + int top; + int bottom; +} decor_extents_t; + +typedef struct _decor_context { + decor_extents_t extents; + + int left_space; + int right_space; + int top_space; + int bottom_space; + + int left_corner_space; + int right_corner_space; + int top_corner_space; + int bottom_corner_space; +} decor_context_t; + +typedef struct _decor_box { + int x1; + int y1; + int x2; + int y2; + + int pad; +} decor_box_t; + +typedef struct _decor_layout { + int width; + int height; + + decor_box_t left; + decor_box_t right; + decor_box_t top; + decor_box_t bottom; + + int rotation; +} decor_layout_t; + +typedef struct _decor_shadow_options { + double shadow_radius; + double shadow_opacity; + unsigned short shadow_color[3]; + int shadow_offset_x; + int shadow_offset_y; +} decor_shadow_options_t; + +typedef struct _decor_shadow { + int ref_count; + Pixmap pixmap; + Picture picture; + int width; + int height; +} decor_shadow_t; + +typedef void (*decor_draw_func_t) (Display *xdisplay, + Pixmap pixmap, + Picture picture, + int width, + int height, + decor_context_t *context, + void *closure); + +#define BASE_PROP_SIZE 12 +#define QUAD_PROP_SIZE 9 +#define N_QUADS_MAX 24 + +int +decor_version (void); + +void +decor_quads_to_property (long *data, + Pixmap pixmap, + decor_extents_t *input, + decor_extents_t *max_input, + int min_width, + int min_height, + decor_quad_t *quad, + int nQuad); + +int +decor_property_get_version (long *data); + +int +decor_property_to_quads (long *data, + int size, + Pixmap *pixmap, + decor_extents_t *input, + decor_extents_t *max_input, + int *min_width, + int *min_height, + decor_quad_t *quad); + +void +decor_region_to_blur_property (long *data, + int threshold, + int filter, + int width, + int height, + Region topRegion, + int topOffset, + Region bottomRegion, + int bottomOffset, + Region leftRegion, + int leftOffset, + Region rightRegion, + int rightOffset); + +void +decor_apply_gravity (int gravity, + int x, + int y, + int width, + int height, + int *return_x, + int *return_y); + +int +decor_set_vert_quad_row (decor_quad_t *q, + int top, + int top_corner, + int bottom, + int bottom_corner, + int left, + int right, + int gravity, + int height, + int splitY, + int splitGravity, + double x0, + double y0, + int rotation); + +int +decor_set_horz_quad_line (decor_quad_t *q, + int left, + int left_corner, + int right, + int right_corner, + int top, + int bottom, + int gravity, + int width, + int splitX, + int splitGravity, + double x0, + double y0); + +int +decor_set_lSrS_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l); + +int +decor_set_lSrStSbS_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l); + +int +decor_set_lSrStXbS_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l, + int top_stretch_offset); + +int +decor_set_lSrStSbX_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l, + int bottom_stretch_offset); + +int +decor_set_lXrXtXbX_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l, + int left_stretch_offset, + int right_stretch_offset, + int top_stretch_offset, + int bottom_stretch_offset); + +decor_shadow_t * +decor_shadow_create (Display *xdisplay, + Screen *screen, + int width, + int height, + int left, + int right, + int top, + int bottom, + int solid_left, + int solid_right, + int solid_top, + int solid_bottom, + decor_shadow_options_t *opt, + decor_context_t *context, + decor_draw_func_t draw, + void *closure); + +void +decor_shadow_destroy (Display *xdisplay, + decor_shadow_t *shadow); + +void +decor_shadow_reference (decor_shadow_t *shadow); + +void +decor_shadow (Display *xdisplay, + decor_shadow_t *shadow); + +void +decor_draw_simple (Display *xdisplay, + Pixmap pixmap, + Picture picture, + int width, + int height, + decor_context_t *c, + void *closure); + +void +decor_get_default_layout (decor_context_t *c, + int width, + int height, + decor_layout_t *layout); + +void +decor_get_best_layout (decor_context_t *c, + int width, + int height, + decor_layout_t *layout); + +void +decor_fill_picture_extents_with_shadow (Display *xdisplay, + decor_shadow_t *shadow, + decor_context_t *context, + Picture picture, + decor_layout_t *layout); + +void +decor_blend_transform_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha); + +void +decor_blend_top_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha); + +void +decor_blend_bottom_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha); + +void +decor_blend_left_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha); + +void +decor_blend_right_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha); + +#define DECOR_ACQUIRE_STATUS_SUCCESS 0 +#define DECOR_ACQUIRE_STATUS_FAILED 1 +#define DECOR_ACQUIRE_STATUS_OTHER_DM_RUNNING 2 + +int +decor_acquire_dm_session (Display *xdisplay, + int screen, + const char *name, + int replace_current_dm, + Time *timestamp); + +void +decor_set_dm_check_hint (Display *xdisplay, + int screen); + +#define DECOR_SELECTION_KEEP 0 +#define DECOR_SELECTION_GIVE_UP 1 + +int +decor_handle_selection_clear (Display *xdisplay, + XEvent *xevent, + int screen); + +void +decor_handle_selection_request (Display *xdisplay, + XEvent *event, + Time dm_sn_timestamp); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/ecomp.h b/include/ecomp.h new file mode 100644 index 0000000..4ad1c66 --- /dev/null +++ b/include/ecomp.h @@ -0,0 +1,3312 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#ifndef _ECOMP_H +#define _ECOMP_H + +#define ABIVERSION 20070915 + +#define KEYBINDING 1 + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +//#define SN_API_NOT_YET_FROZEN +//#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if COMPOSITE_MAJOR > 0 || COMPOSITE_MINOR > 2 +#define USE_COW +#endif + +/* + * WORDS_BIGENDIAN should be defined before including this file for + * IMAGE_BYTE_ORDER and BITMAP_BIT_ORDER to be set correctly. + */ +#define LSBFirst 0 +#define MSBFirst 1 + +#ifdef WORDS_BIGENDIAN +# define IMAGE_BYTE_ORDER MSBFirst +# define BITMAP_BIT_ORDER MSBFirst +#else +# define IMAGE_BYTE_ORDER LSBFirst +# define BITMAP_BIT_ORDER LSBFirst +#endif + +typedef struct _CompPlugin CompPlugin; +typedef struct _CompDisplay CompDisplay; +typedef struct _CompScreen CompScreen; +typedef struct _CompWindow CompWindow; +typedef struct _CompTexture CompTexture; +typedef struct _CompIcon CompIcon; +typedef struct _CompWindowExtents CompWindowExtents; +typedef struct _CompProgram CompProgram; +typedef struct _CompFunction CompFunction; +typedef struct _CompFunctionData CompFunctionData; +typedef struct _FragmentAttrib FragmentAttrib; +typedef struct _CompCursor CompCursor; +typedef struct _CompMatch CompMatch; +typedef struct _CompMetadata CompMetadata; +typedef struct _CompOutput CompOutput; +typedef struct _CompWalker CompWalker; + +/* virtual modifiers */ + +#define CompModAlt 0 +#define CompModMeta 1 +#define CompModSuper 2 +#define CompModHyper 3 +#define CompModModeSwitch 4 +#define CompModNumLock 5 +#define CompModScrollLock 6 +#define CompModNum 7 + +#define CompAltMask (1 << 16) +#define CompMetaMask (1 << 17) +#define CompSuperMask (1 << 18) +#define CompHyperMask (1 << 19) +#define CompModeSwitchMask (1 << 20) +#define CompNumLockMask (1 << 21) +#define CompScrollLockMask (1 << 22) + +#define CompNoMask (1 << 25) + +#define CompWindowProtocolDeleteMask (1 << 0) +#define CompWindowProtocolTakeFocusMask (1 << 1) +#define CompWindowProtocolPingMask (1 << 2) +#define CompWindowProtocolSyncRequestMask (1 << 3) + +#define CompWindowTypeDesktopMask (1 << 0) +#define CompWindowTypeDockMask (1 << 1) +#define CompWindowTypeToolbarMask (1 << 2) +#define CompWindowTypeMenuMask (1 << 3) +#define CompWindowTypeUtilMask (1 << 4) +#define CompWindowTypeSplashMask (1 << 5) +#define CompWindowTypeDialogMask (1 << 6) +#define CompWindowTypeNormalMask (1 << 7) +#define CompWindowTypeDropdownMenuMask (1 << 8) +#define CompWindowTypePopupMenuMask (1 << 9) +#define CompWindowTypeTooltipMask (1 << 10) +#define CompWindowTypeNotificationMask (1 << 11) +#define CompWindowTypeComboMask (1 << 12) +#define CompWindowTypeDndMask (1 << 13) +#define CompWindowTypeModalDialogMask (1 << 14) +#define CompWindowTypeFullscreenMask (1 << 15) +#define CompWindowTypeUnknownMask (1 << 16) + +#define NO_FOCUS_MASK (CompWindowTypeDesktopMask | \ + CompWindowTypeDockMask | \ + CompWindowTypeSplashMask) + +#define CompWindowStateModalMask (1 << 0) +#define CompWindowStateStickyMask (1 << 1) +#define CompWindowStateMaximizedVertMask (1 << 2) +#define CompWindowStateMaximizedHorzMask (1 << 3) +#define CompWindowStateShadedMask (1 << 4) +#define CompWindowStateSkipTaskbarMask (1 << 5) +#define CompWindowStateSkipPagerMask (1 << 6) +#define CompWindowStateHiddenMask (1 << 7) +#define CompWindowStateFullscreenMask (1 << 8) +#define CompWindowStateAboveMask (1 << 9) +#define CompWindowStateBelowMask (1 << 10) +#define CompWindowStateDemandsAttentionMask (1 << 11) +#define CompWindowStateDisplayModalMask (1 << 12) + +#define MAXIMIZE_STATE (CompWindowStateMaximizedHorzMask | \ + CompWindowStateMaximizedVertMask) + +#define CompWindowActionMoveMask (1 << 0) +#define CompWindowActionResizeMask (1 << 1) +#define CompWindowActionStickMask (1 << 2) +#define CompWindowActionMinimizeMask (1 << 3) +#define CompWindowActionMaximizeHorzMask (1 << 4) +#define CompWindowActionMaximizeVertMask (1 << 5) +#define CompWindowActionFullscreenMask (1 << 6) +#define CompWindowActionCloseMask (1 << 7) +#define CompWindowActionShadeMask (1 << 8) +#define CompWindowActionChangeDesktopMask (1 << 9) +#define CompWindowActionAboveMask (1 << 10) +#define CompWindowActionBelowMask (1 << 11) + +#define MwmFuncAll (1L << 0) +#define MwmFuncResize (1L << 1) +#define MwmFuncMove (1L << 2) +#define MwmFuncIconify (1L << 3) +#define MwmFuncMaximize (1L << 4) +#define MwmFuncClose (1L << 5) + +#define MwmDecorHandle (1L << 2) +#define MwmDecorTitle (1L << 3) +#define MwmDecorMenu (1L << 4) +#define MwmDecorMinimize (1L << 5) +#define MwmDecorMaximize (1L << 6) + +#define MwmDecorAll (1L << 0) +#define MwmDecorBorder (1L << 1) +#define MwmDecorHandle (1L << 2) +#define MwmDecorTitle (1L << 3) +#define MwmDecorMenu (1L << 4) +#define MwmDecorMinimize (1L << 5) +#define MwmDecorMaximize (1L << 6) + +#define WmMoveResizeSizeTopLeft 0 +#define WmMoveResizeSizeTop 1 +#define WmMoveResizeSizeTopRight 2 +#define WmMoveResizeSizeRight 3 +#define WmMoveResizeSizeBottomRight 4 +#define WmMoveResizeSizeBottom 5 +#define WmMoveResizeSizeBottomLeft 6 +#define WmMoveResizeSizeLeft 7 +#define WmMoveResizeMove 8 +#define WmMoveResizeSizeKeyboard 9 +#define WmMoveResizeMoveKeyboard 10 + +#define OPAQUE 0xffff +#define COLOR 0xffff +#define BRIGHT 0xffff + +#define RED_SATURATION_WEIGHT 0.30f +#define GREEN_SATURATION_WEIGHT 0.59f +#define BLUE_SATURATION_WEIGHT 0.11f + +extern char *programName; +extern char **programArgv; +extern int programArgc; +extern char *backgroundImage; +extern REGION emptyRegion; +extern REGION infiniteRegion; +extern GLushort defaultColor[4]; +extern Window currentRoot; +extern Bool shutDown; +extern Bool restartSignal; +extern CompWindow *lastFoundWindow; +extern CompWindow *lastDamagedWindow; +extern Bool replaceCurrentWm; +extern Bool indirectRendering; +extern Bool strictBinding; +extern Bool useCow; +extern Bool noDetection; +extern Bool useDesktopHints; +extern Bool onlyCurrentScreen; + +extern int defaultRefreshRate; +extern char *defaultTextureFilter; + +extern int lastPointerX; +extern int lastPointerY; +extern int pointerX; +extern int pointerY; + +extern CompMetadata coreMetadata; + +#define RESTRICT_VALUE(value, min, max) \ + (((value) < (min)) ? (min): ((value) > (max)) ? (max) : (value)) + +#define MOD(a,b) ((a) < 0 ? ((b) - ((-(a) - 1) % (b))) - 1 : (a) % (b)) + + +/* privates.h */ + +#define WRAP(priv, real, func, wrapFunc) \ + (priv)->func = (real)->func; \ + (real)->func = (wrapFunc) + +#define UNWRAP(priv, real, func) \ + (real)->func = (priv)->func + +typedef union _CompPrivate { + void *ptr; + long val; + unsigned long uval; + void *(*fptr) (void); +} CompPrivate; + +typedef int (*ReallocPrivatesProc) (int size, void *closure); + +int +allocatePrivateIndex (int *len, + char **indices, + ReallocPrivatesProc reallocProc, + void *closure); + +void +freePrivateIndex (int len, + char *indices, + int index); + + +/* option.c */ + +typedef enum { + CompOptionTypeBool, + CompOptionTypeInt, + CompOptionTypeFloat, + CompOptionTypeString, + CompOptionTypeColor, + CompOptionTypeAction, + CompOptionTypeMatch, + CompOptionTypeList +} CompOptionType; + +typedef enum { + CompBindingTypeNone = 0, + CompBindingTypeKey = 1 << 0, + CompBindingTypeButton = 1 << 1, + CompBindingTypeEdgeButton = 1 << 2 +} CompBindingType; + +typedef enum { + CompActionStateInitKey = 1 << 0, + CompActionStateTermKey = 1 << 1, + CompActionStateInitButton = 1 << 2, + CompActionStateTermButton = 1 << 3, + CompActionStateInitBell = 1 << 4, + CompActionStateInitEdge = 1 << 5, + CompActionStateTermEdge = 1 << 6, + CompActionStateInitEdgeDnd = 1 << 7, + CompActionStateTermEdgeDnd = 1 << 8, + CompActionStateCommit = 1 << 9, + CompActionStateCancel = 1 << 10, + CompActionStateAutoGrab = 1 << 11 +} CompActionState; + +typedef enum { + CompLogLevelFatal = 0, + CompLogLevelError, + CompLogLevelWarn, + CompLogLevelInfo, + CompLogLevelDebug + +} CompLogLevel; + +typedef struct _CompKeyBinding { + int keycode; + unsigned int modifiers; +} CompKeyBinding; + +typedef struct _CompButtonBinding { + int button; + unsigned int modifiers; +} CompButtonBinding; + +typedef union _CompOptionValue CompOptionValue; + +typedef struct _CompOption CompOption; +typedef struct _CompAction CompAction; + +typedef Bool (*CompActionCallBackProc) (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption); + +struct _CompAction { + CompActionCallBackProc initiate; + CompActionCallBackProc terminate; + + CompActionState state; + + CompBindingType type; + CompKeyBinding key; + CompButtonBinding button; + + Bool bell; + + unsigned int edgeMask; + int edgeButton; + + CompPrivate priv; +}; + +typedef union _CompMatchOp CompMatchOp; + +struct _CompMatch { + CompDisplay *display; + CompMatchOp *op; + int nOp; +}; + +typedef struct { + CompOptionType type; + CompOptionValue *value; + int nValue; +} CompListValue; + +union _CompOptionValue { + Bool b; + int i; + float f; + char *s; + unsigned short c[4]; + CompAction action; + CompMatch match; + CompListValue list; +}; + +typedef struct _CompOptionIntRestriction { + int min; + int max; +} CompOptionIntRestriction; + +typedef struct _CompOptionFloatRestriction { + float min; + float max; + float precision; +} CompOptionFloatRestriction; + +typedef union { + CompOptionIntRestriction i; + CompOptionFloatRestriction f; +} CompOptionRestriction; + +struct _CompOption { + char *name; + CompOptionType type; + CompOptionValue value; + CompOptionRestriction rest; +}; + +typedef CompOption *(*DisplayOptionsProc) (CompDisplay *display, int *count); +typedef CompOption *(*ScreenOptionsProc) (CompScreen *screen, int *count); + +void +compInitOption (CompOption *option); + +void +compFiniOption (CompOption *option); + +CompOption * +compFindOption (CompOption *option, + int nOption, + char *name, + int *index); + +Bool +compSetBoolOption (CompOption *option, + CompOptionValue *value); + +Bool +compSetIntOption (CompOption *option, + CompOptionValue *value); + +Bool +compSetFloatOption (CompOption *option, + CompOptionValue *value); + +Bool +compSetStringOption (CompOption *option, + CompOptionValue *value); + +Bool +compSetColorOption (CompOption *option, + CompOptionValue *value); + +Bool +compSetActionOption (CompOption *option, + CompOptionValue *value); + +Bool +compSetMatchOption (CompOption *option, + CompOptionValue *value); + +Bool +compSetOptionList (CompOption *option, + CompOptionValue *value); + +Bool +compSetOption (CompOption *option, + CompOptionValue *value); + +unsigned int +compWindowTypeMaskFromStringList (CompOptionValue *value); + +Bool +getBoolOptionNamed (CompOption *option, + int nOption, + char *name, + Bool defaultValue); + +int +getIntOptionNamed (CompOption *option, + int nOption, + char *name, + int defaultValue); + +float +getFloatOptionNamed (CompOption *option, + int nOption, + char *name, + float defaultValue); + +char * +getStringOptionNamed (CompOption *option, + int nOption, + char *name, + char *defaultValue); + +unsigned short * +getColorOptionNamed (CompOption *option, + int nOption, + char *name, + unsigned short *defaultValue); + +CompMatch * +getMatchOptionNamed (CompOption *option, + int nOption, + char *name, + CompMatch *defaultValue); + +char * +keyBindingToString (CompDisplay *d, + CompKeyBinding *key); + +char * +buttonBindingToString (CompDisplay *d, + CompButtonBinding *button); + +Bool +stringToKeyBinding (CompDisplay *d, + const char *binding, + CompKeyBinding *key); + +Bool +stringToButtonBinding (CompDisplay *d, + const char *binding, + CompButtonBinding *button); + +char * +edgeToString (unsigned int edge); + +Bool +stringToColor (const char *color, + unsigned short *rgba); + +char * +colorToString (unsigned short *rgba); + +char * +optionTypeToString (CompOptionType type); + + +/* display.c */ + +typedef int CompTimeoutHandle; +typedef int CompWatchFdHandle; +typedef int CompFileWatchHandle; + +#define COMP_DISPLAY_OPTION_ACTIVE_PLUGINS 0 +#define COMP_DISPLAY_OPTION_TEXTURE_FILTER 1 + //#define COMP_DISPLAY_OPTION_PING_DELAY 2 + //#define COMP_DISPLAY_OPTION_CLICK_TO_FOCUS 2 + //#define COMP_DISPLAY_OPTION_AUTORAISE 3 + //#define COMP_DISPLAY_OPTION_AUTORAISE_DELAY 4 + //#define COMP_DISPLAY_OPTION_CLOSE_WINDOW 5 + //#define COMP_DISPLAY_OPTION_MAIN_MENU 6 + //#define COMP_DISPLAY_OPTION_RUN_DIALOG 7 + //#define COMP_DISPLAY_OPTION_COMMAND0 8 + //#define COMP_DISPLAY_OPTION_COMMAND1 9 + //#define COMP_DISPLAY_OPTION_COMMAND2 10 + //#define COMP_DISPLAY_OPTION_COMMAND3 11 + //#define COMP_DISPLAY_OPTION_COMMAND4 12 + //#define COMP_DISPLAY_OPTION_COMMAND5 13 + //#define COMP_DISPLAY_OPTION_COMMAND6 14 + //#define COMP_DISPLAY_OPTION_COMMAND7 15 + //#define COMP_DISPLAY_OPTION_COMMAND8 16 + //#define COMP_DISPLAY_OPTION_COMMAND9 17 + //#define COMP_DISPLAY_OPTION_COMMAND10 18 + //#define COMP_DISPLAY_OPTION_COMMAND11 19 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND0 20 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND1 21 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND2 22 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND3 23 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND4 24 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND5 25 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND6 26 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND7 27 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND8 28 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND9 29 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND10 30 + //#define COMP_DISPLAY_OPTION_RUN_COMMAND11 31 + //#define COMP_DISPLAY_OPTION_SLOW_ANIMATIONS 32 + //#define COMP_DISPLAY_OPTION_RAISE_WINDOW 33 + //#define COMP_DISPLAY_OPTION_LOWER_WINDOW 34 + //#define COMP_DISPLAY_OPTION_UNMAXIMIZE_WINDOW 35 + //#define COMP_DISPLAY_OPTION_MINIMIZE_WINDOW 36 + //#define COMP_DISPLAY_OPTION_MAXIMIZE_WINDOW 37 + //#define COMP_DISPLAY_OPTION_MAXIMIZE_WINDOW_HORZ 38 + //#define COMP_DISPLAY_OPTION_MAXIMIZE_WINDOW_VERT 39 + //#define COMP_DISPLAY_OPTION_OPACITY_INCREASE 40 + //#define COMP_DISPLAY_OPTION_OPACITY_DECREASE 41 + //#define COMP_DISPLAY_OPTION_SCREENSHOT 42 + //#define COMP_DISPLAY_OPTION_RUN_SCREENSHOT 43 + //#define COMP_DISPLAY_OPTION_WINDOW_SCREENSHOT 44 + //#define COMP_DISPLAY_OPTION_RUN_WINDOW_SCREENSHOT 45 + //#define COMP_DISPLAY_OPTION_WINDOW_MENU 46 + //#define COMP_DISPLAY_OPTION_SHOW_DESKTOP 47 + //#define COMP_DISPLAY_OPTION_RAISE_ON_CLICK 48 + //#define COMP_DISPLAY_OPTION_AUDIBLE_BELL 49 + //#define COMP_DISPLAY_OPTION_TOGGLE_WINDOW_MAXIMIZED 50 + //#define COMP_DISPLAY_OPTION_TOGGLE_WINDOW_MAXIMIZED_HORZ 51 + //#define COMP_DISPLAY_OPTION_TOGGLE_WINDOW_MAXIMIZED_VERT 52 + //#define COMP_DISPLAY_OPTION_HIDE_SKIP_TASKBAR_WINDOWS 53 + //#define COMP_DISPLAY_OPTION_TOGGLE_WINDOW_SHADED 54 + //#define COMP_DISPLAY_OPTION_IGNORE_HINTS_WHEN_MAXIMIZED 55 + //#define COMP_DISPLAY_OPTION_TERMINAL 56 + //#define COMP_DISPLAY_OPTION_RUN_TERMINAL 57 + // +#define COMP_DISPLAY_OPTION_NUM 2 + +typedef CompOption *(*GetDisplayOptionsProc) (CompDisplay *display, + int *count); + +typedef Bool (*SetDisplayOptionProc) (CompDisplay *display, + char *name, + CompOptionValue *value); + +typedef CompOption *(*GetPluginDisplayOptionsProc) (CompPlugin *plugin, + CompDisplay *display, + int *count); + +typedef Bool (*SetPluginDisplayOptionProc) (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value); + +typedef Bool (*SetDisplayOptionForPluginProc) (CompDisplay *display, + char *plugin, + char *name, + CompOptionValue *value); + +typedef Bool (*InitPluginForDisplayProc) (CompPlugin *plugin, + CompDisplay *display); + +typedef void (*FiniPluginForDisplayProc) (CompPlugin *plugin, + CompDisplay *display); + +typedef void (*HandleEventProc) (CompDisplay *display, + XEvent *event); + +typedef void (*HandleEcompEventProc) (CompDisplay *display, + char *pluginName, + char *eventName, + CompOption *option, + int nOption); + +typedef Bool (*CallBackProc) (void *closure); + +typedef void (*ForEachWindowProc) (CompWindow *window, + void *closure); + +typedef Bool (*FileToImageProc) (CompDisplay *display, + const char *path, + const char *name, + int *width, + int *height, + int *stride, + void **data); + +typedef Bool (*ImageToFileProc) (CompDisplay *display, + const char *path, + const char *name, + const char *format, + int width, + int height, + int stride, + void *data); + +#define NOTIFY_CREATE_MASK (1 << 0) +#define NOTIFY_DELETE_MASK (1 << 1) +#define NOTIFY_MOVE_MASK (1 << 2) +#define NOTIFY_MODIFY_MASK (1 << 3) + +typedef void (*FileWatchCallBackProc) (const char *name, + void *closure); + +typedef struct _CompFileWatch { + struct _CompFileWatch *next; + char *path; + int mask; + FileWatchCallBackProc callBack; + void *closure; + CompFileWatchHandle handle; +} CompFileWatch; + +typedef void (*FileWatchAddedProc) (CompDisplay *display, + CompFileWatch *fileWatch); + +typedef void (*FileWatchRemovedProc) (CompDisplay *display, + CompFileWatch *fileWatch); + +#define MATCH_OP_AND_MASK (1 << 0) +#define MATCH_OP_NOT_MASK (1 << 1) + +typedef enum { + CompMatchOpTypeGroup, + CompMatchOpTypeExp +} CompMatchOpType; + +typedef struct _CompMatchAnyOp { + CompMatchOpType type; + int flags; +} CompMatchAnyOp; + +typedef struct _CompMatchGroupOp { + CompMatchOpType type; + int flags; + CompMatchOp *op; + int nOp; +} CompMatchGroupOp; + +typedef void (*CompMatchExpFiniProc) (CompDisplay *display, + CompPrivate priv); + +typedef Bool (*CompMatchExpEvalProc) (CompDisplay *display, + CompWindow *window, + CompPrivate priv); + +typedef struct _CompMatchExp { + CompMatchExpFiniProc fini; + CompMatchExpEvalProc eval; + CompPrivate priv; +} CompMatchExp; + +typedef struct _CompMatchExpOp { + CompMatchOpType type; + int flags; + char *value; + CompMatchExp e; +} CompMatchExpOp; + +union _CompMatchOp { + CompMatchOpType type; + CompMatchAnyOp any; + CompMatchGroupOp group; + CompMatchExpOp exp; +}; + +typedef void (*MatchInitExpProc) (CompDisplay *display, + CompMatchExp *exp, + const char *value); + +typedef void (*MatchExpHandlerChangedProc) (CompDisplay *display); + +typedef void (*MatchPropertyChangedProc) (CompDisplay *display, + CompWindow *window); + +typedef void (*LogMessageProc) (CompDisplay *d, + char *componentName, + CompLogLevel level, + char *message); + +struct _CompDisplay { + Display *display; + CompScreen *screens; + + char *screenPrivateIndices; + int screenPrivateLen; + + int compositeEvent, compositeError, compositeOpcode; + int damageEvent, damageError; + int syncEvent, syncError; + int fixesEvent, fixesError, fixesVersion; + + Bool randrExtension; + int randrEvent, randrError; + + Bool shapeExtension; + int shapeEvent, shapeError; + + Bool xkbExtension; + int xkbEvent, xkbError; + + Bool xineramaExtension; + int xineramaEvent, xineramaError; + + XineramaScreenInfo *screenInfo; + int nScreenInfo; + + //SnDisplay *snDisplay; + + Atom supportedAtom; + Atom supportingWmCheckAtom; + + Atom utf8StringAtom; + + Atom wmNameAtom; + + Atom winTypeAtom; + Atom winTypeDesktopAtom; + Atom winTypeDockAtom; + Atom winTypeToolbarAtom; + Atom winTypeMenuAtom; + Atom winTypeUtilAtom; + Atom winTypeSplashAtom; + Atom winTypeDialogAtom; + Atom winTypeNormalAtom; + Atom winTypeDropdownMenuAtom; + Atom winTypePopupMenuAtom; + Atom winTypeTooltipAtom; + Atom winTypeNotificationAtom; + Atom winTypeComboAtom; + Atom winTypeDndAtom; + + Atom winOpacityAtom; + Atom winBrightnessAtom; + Atom winSaturationAtom; + Atom winActiveAtom; + Atom winDesktopAtom; + + Atom workareaAtom; + + Atom desktopViewportAtom; + Atom desktopGeometryAtom; + Atom currentDesktopAtom; + Atom numberOfDesktopsAtom; + + Atom winStateAtom; + Atom winStateModalAtom; + Atom winStateStickyAtom; + Atom winStateMaximizedVertAtom; + Atom winStateMaximizedHorzAtom; + Atom winStateShadedAtom; + Atom winStateSkipTaskbarAtom; + Atom winStateSkipPagerAtom; + Atom winStateHiddenAtom; + Atom winStateFullscreenAtom; + Atom winStateAboveAtom; + Atom winStateBelowAtom; + Atom winStateDemandsAttentionAtom; + Atom winStateDisplayModalAtom; + + Atom winActionMoveAtom; + Atom winActionResizeAtom; + Atom winActionStickAtom; + Atom winActionMinimizeAtom; + Atom winActionMaximizeHorzAtom; + Atom winActionMaximizeVertAtom; + Atom winActionFullscreenAtom; + Atom winActionCloseAtom; + Atom winActionShadeAtom; + Atom winActionChangeDesktopAtom; + Atom winActionAboveAtom; + Atom winActionBelowAtom; + + Atom wmAllowedActionsAtom; + + Atom wmStrutAtom; + Atom wmStrutPartialAtom; + + Atom wmUserTimeAtom; + + Atom wmIconAtom; + + Atom clientListAtom; + Atom clientListStackingAtom; + + Atom frameExtentsAtom; + Atom frameWindowAtom; + + Atom wmStateAtom; + Atom wmChangeStateAtom; + Atom wmProtocolsAtom; + Atom wmClientLeaderAtom; + + Atom wmDeleteWindowAtom; + Atom wmTakeFocusAtom; + Atom wmPingAtom; + Atom wmSyncRequestAtom; + + Atom wmSyncRequestCounterAtom; + + Atom closeWindowAtom; + Atom wmMoveResizeAtom; + Atom moveResizeWindowAtom; + Atom restackWindowAtom; + + Atom showingDesktopAtom; + + Atom xBackgroundAtom[2]; + + /* Atom toolkitActionAtom; */ + /* Atom toolkitActionMainMenuAtom; */ + /* Atom toolkitActionRunDialogAtom; */ + /* Atom toolkitActionWindowMenuAtom; */ + /* Atom toolkitActionForceQuitDialogAtom; */ + + Atom mwmHintsAtom; + + Atom xdndAwareAtom; + Atom xdndEnterAtom; + Atom xdndLeaveAtom; + Atom xdndPositionAtom; + Atom xdndStatusAtom; + Atom xdndDropAtom; + + Atom managerAtom; + Atom targetsAtom; + Atom multipleAtom; + Atom timestampAtom; + Atom versionAtom; + Atom atomPairAtom; + + Atom eManagedAtom; + + unsigned int lastPing; + CompTimeoutHandle pingHandle; + + GLenum textureFilter; + + Window activeWindow; + + Window below; + char displayString[256]; + + XModifierKeymap *modMap; + unsigned int modMask[CompModNum]; + unsigned int ignoredModMask; + + KeyCode escapeKeyCode; + KeyCode returnKeyCode; + + CompOption opt[COMP_DISPLAY_OPTION_NUM]; + + CompTimeoutHandle autoRaiseHandle; + Window autoRaiseWindow; + + CompOptionValue plugin; + Bool dirtyPluginList; + + CompFileWatch *fileWatch; + + SetDisplayOptionProc setDisplayOption; + SetDisplayOptionForPluginProc setDisplayOptionForPlugin; + + InitPluginForDisplayProc initPluginForDisplay; + FiniPluginForDisplayProc finiPluginForDisplay; + + HandleEventProc handleEvent; + HandleEcompEventProc handleEcompEvent; + + FileToImageProc fileToImage; + ImageToFileProc imageToFile; + + FileWatchAddedProc fileWatchAdded; + FileWatchRemovedProc fileWatchRemoved; + + MatchInitExpProc matchInitExp; + MatchExpHandlerChangedProc matchExpHandlerChanged; + MatchPropertyChangedProc matchPropertyChanged; + + LogMessageProc logMessage; + + CompPrivate *privates; +}; + + +extern CompDisplay *compDisplays; + +int +allocateDisplayPrivateIndex (void); + +void +freeDisplayPrivateIndex (int index); + +CompOption * +compGetDisplayOptions (CompDisplay *display, + int *count); + +CompTimeoutHandle +compAddTimeout (int time, + CallBackProc callBack, + void *closure); + +void * +compRemoveTimeout (CompTimeoutHandle handle); + +CompWatchFdHandle +compAddWatchFd (int fd, + short int events, + CallBackProc callBack, + void *closure); + +void +compRemoveWatchFd (CompWatchFdHandle handle); + +short int +compWatchFdEvents (CompWatchFdHandle handle); + +CompFileWatchHandle +addFileWatch (CompDisplay *display, + const char *path, + int mask, + FileWatchCallBackProc callBack, + void *closure); + +void +removeFileWatch (CompDisplay *display, + CompFileWatchHandle handle); + +void +fileWatchAdded (CompDisplay *display, + CompFileWatch *fileWatch); + +void +fileWatchRemoved (CompDisplay *display, + CompFileWatch *fileWatch); + +void +compLogMessage (CompDisplay *d, + char *componentName, + CompLogLevel level, + char *format, + ...); + +void +logMessage (CompDisplay *d, + char *componentName, + CompLogLevel level, + char *message); + +const char * +logLevelToString (CompLogLevel level); + +int +compCheckForError (Display *dpy); + +void +addScreenToDisplay (CompDisplay *display, + CompScreen *s); + +Bool +addDisplay (char *name); + +Time +getCurrentTimeFromDisplay (CompDisplay *d); + +void +focusDefaultWindow (CompDisplay *d); + +void +forEachWindowOnDisplay (CompDisplay *display, + ForEachWindowProc proc, + void *closure); + +CompScreen * +findScreenAtDisplay (CompDisplay *d, + Window root); + +CompWindow * +findWindowAtDisplay (CompDisplay *display, + Window id); + +CompWindow * +findTopLevelWindowAtDisplay (CompDisplay *d, + Window id); + +unsigned int +virtualToRealModMask (CompDisplay *d, + unsigned int modMask); + +void +updateModifierMappings (CompDisplay *d); + +unsigned int +keycodeToModifiers (CompDisplay *d, + int keycode); + +void +eventLoop (void); + +void +handleSelectionRequest (CompDisplay *display, + XEvent *event); + +void +handleSelectionClear (CompDisplay *display, + XEvent *event); + +void +warpPointer (CompScreen *screen, + int dx, + int dy); + +Bool +setDisplayAction (CompDisplay *display, + CompOption *o, + CompOptionValue *value); + +Bool +readImageFromFile (CompDisplay *display, + const char *name, + int *width, + int *height, + void **data); + +Bool +writeImageToFile (CompDisplay *display, + const char *path, + const char *name, + const char *format, + int width, + int height, + void *data); + +Bool +fileToImage (CompDisplay *display, + const char *path, + const char *name, + int *width, + int *height, + int *stride, + void **data); + +Bool +imageToFile (CompDisplay *display, + const char *path, + const char *name, + const char *format, + int width, + int height, + int stride, + void *data); + +CompCursor * +findCursorAtDisplay (CompDisplay *display); + + +/* event.c */ + +void +handleEvent (CompDisplay *display, + XEvent *event); + +void +handleEcompEvent (CompDisplay *display, + char *pluginName, + char *eventName, + CompOption *option, + int nOption); + +void +handleSyncAlarm (CompWindow *w); + +Bool +eventMatches (CompDisplay *display, + XEvent *event, + CompOption *option); + +Bool +eventTerminates (CompDisplay *display, + XEvent *event, + CompOption *option); + +void +clearTargetOutput (CompDisplay *display, + unsigned int mask); + +/* paint.c */ + +#define MULTIPLY_USHORT(us1, us2) \ + (((GLuint) (us1) * (GLuint) (us2)) / 0xffff) + +/* camera distance from screen, 0.5 * tan (FOV) */ +#define DEFAULT_Z_CAMERA 0.866025404f + +typedef struct _CompTransform { + float m[16]; +} CompTransform; + +/* XXX: ScreenPaintAttrib will be removed */ +typedef struct _ScreenPaintAttrib { + GLfloat xRotate; + GLfloat yRotate; + GLfloat vRotate; + GLfloat xTranslate; + GLfloat yTranslate; + GLfloat zTranslate; + GLfloat zCamera; +} ScreenPaintAttrib; + +/* XXX: scale and translate fields will be removed */ +typedef struct _WindowPaintAttrib { + GLushort opacity; + GLushort brightness; + GLushort saturation; + GLfloat xScale; + GLfloat yScale; + GLfloat xTranslate; + GLfloat yTranslate; +} WindowPaintAttrib; + +extern ScreenPaintAttrib defaultScreenPaintAttrib; +extern WindowPaintAttrib defaultWindowPaintAttrib; + +typedef struct _CompMatrix { + float xx; float yx; + float xy; float yy; + float x0; float y0; +} CompMatrix; + +#define COMP_TEX_COORD_X(m, vx) ((m)->xx * (vx) + (m)->x0) +#define COMP_TEX_COORD_Y(m, vy) ((m)->yy * (vy) + (m)->y0) + +#define COMP_TEX_COORD_XY(m, vx, vy) \ + ((m)->xx * (vx) + (m)->xy * (vy) + (m)->x0) +#define COMP_TEX_COORD_YX(m, vx, vy) \ + ((m)->yx * (vx) + (m)->yy * (vy) + (m)->y0) + + +typedef void (*PreparePaintScreenProc) (CompScreen *screen, + int msSinceLastPaint); + +typedef void (*DonePaintScreenProc) (CompScreen *screen); + +#define PAINT_SCREEN_REGION_MASK (1 << 0) +#define PAINT_SCREEN_FULL_MASK (1 << 1) +#define PAINT_SCREEN_TRANSFORMED_MASK (1 << 2) +#define PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK (1 << 3) +#define PAINT_SCREEN_CLEAR_MASK (1 << 4) + +typedef void (*PaintScreenProc) (CompScreen *screen, + CompOutput *outputs, + int numOutput, + unsigned int mask); + +typedef Bool (*PaintOutputProc) (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask); + +typedef void (*PaintTransformedOutputProc) (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask); + +/* XXX: ApplyScreenTransformProc will be removed */ +typedef void (*ApplyScreenTransformProc) (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + CompOutput *output, + CompTransform *transform); + +typedef void (*WalkerFiniProc) (CompScreen *screen, + CompWalker *walker); + +typedef CompWindow *(*WalkInitProc) (CompScreen *screen); +typedef CompWindow *(*WalkStepProc) (CompWindow *window); + +struct _CompWalker { + WalkerFiniProc fini; + CompPrivate priv; + + WalkInitProc first; + WalkInitProc last; + WalkStepProc next; + WalkStepProc prev; +}; + +/* + window paint flags + + bit 1-16 are used for read-only flags and they provide + information that describe the screen rendering pass + currently in process. + + bit 17-32 are writable flags and they provide information + that is used to optimize rendering. +*/ + +/* + this flag is present when window is being painted + on a transformed screen. +*/ +#define PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK (1 << 0) + +/* + this flag is present when window is being tested + for occlusion of other windows. +*/ +#define PAINT_WINDOW_OCCLUSION_DETECTION_MASK (1 << 1) + +/* + flag indicate that window is translucent. +*/ +#define PAINT_WINDOW_TRANSLUCENT_MASK (1 << 16) + +/* + flag indicate that window is transformed. +*/ +#define PAINT_WINDOW_TRANSFORMED_MASK (1 << 17) + +/* + flag indicate that core PaintWindow function should + not draw this window. +*/ +#define PAINT_WINDOW_NO_CORE_INSTANCE_MASK (1 << 18) + +/* + flag indicate that blending is required. +*/ +#define PAINT_WINDOW_BLEND_MASK (1 << 19) + + +typedef Bool (*PaintWindowProc) (CompWindow *window, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask); + +typedef Bool (*DrawWindowProc) (CompWindow *window, + const CompTransform *transform, + const FragmentAttrib *fragment, + Region region, + unsigned int mask); + +typedef void (*AddWindowGeometryProc) (CompWindow *window, + CompMatrix *matrix, + int nMatrix, + Region region, + Region clip); + +typedef void (*DrawWindowTextureProc) (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *fragment, + unsigned int mask); + +typedef void (*DrawWindowGeometryProc) (CompWindow *window); + +typedef void (*PaintCursorProc) (CompCursor *cursor, + const CompTransform *transform, + Region region, + unsigned int mask); + +#define PAINT_BACKGROUND_ON_TRANSFORMED_SCREEN_MASK (1 << 0) + +typedef void (*PaintBackgroundProc) (CompScreen *screen, + Region region, + unsigned int mask); + +void +preparePaintScreen (CompScreen *screen, + int msSinceLastPaint); + +void +donePaintScreen (CompScreen *screen); + +void +transformToScreenSpace (CompScreen *screen, + CompOutput *output, + float z, + CompTransform *transform); + +/* XXX: prepareXCoords will be removed */ +void +prepareXCoords (CompScreen *screen, + CompOutput *output, + float z); + +void +paintTransformedOutput (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask); + +/* XXX: applyScreenTransform will be removed */ +void +applyScreenTransform (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + CompOutput *output, + CompTransform *transform); + +void +paintScreen (CompScreen *screen, + CompOutput *outputs, + int numOutput, + unsigned int mask); + +Bool +paintOutput (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask); + +Bool +moreWindowVertices (CompWindow *w, + int newSize); + +Bool +moreWindowIndices (CompWindow *w, + int newSize); + +void +addWindowGeometry (CompWindow *w, + CompMatrix *matrix, + int nMatrix, + Region region, + Region clip); + +void +drawWindowTexture (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *fragment, + unsigned int mask); + +Bool +drawWindow (CompWindow *w, + const CompTransform *transform, + const FragmentAttrib *fragment, + Region region, + unsigned int mask); + +Bool +paintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask); + +void +paintCursor (CompCursor *cursor, + const CompTransform *transform, + Region region, + unsigned int mask); + +void +paintBackground (CompScreen *screen, + Region region, + unsigned int mask); + + +/* texture.c */ + +#define POWER_OF_TWO(v) ((v & (v - 1)) == 0) + +typedef enum { + COMP_TEXTURE_FILTER_FAST, + COMP_TEXTURE_FILTER_GOOD +} CompTextureFilter; + +struct _CompTexture { + GLuint name; + GLenum target; + GLfloat dx, dy; + GLXPixmap pixmap; + GLenum filter; + GLenum wrap; + CompMatrix matrix; + Bool oldMipmaps; + Bool mipmap; + int refCount; +}; + +void +initTexture (CompScreen *screen, + CompTexture *texture); + +void +finiTexture (CompScreen *screen, + CompTexture *texture); + +CompTexture * +createTexture (CompScreen *screen); + +void +destroyTexture (CompScreen *screen, + CompTexture *texture); + +Bool +imageBufferToTexture (CompScreen *screen, + CompTexture *texture, + char *image, + unsigned int width, + unsigned int height); + +Bool +imageDataToTexture (CompScreen *screen, + CompTexture *texture, + char *image, + unsigned int width, + unsigned int height, + GLenum format, + GLenum type); + + +Bool +readImageToTexture (CompScreen *screen, + CompTexture *texture, + const char *imageFileName, + unsigned int *width, + unsigned int *height); + +Bool +iconToTexture (CompScreen *screen, + CompIcon *icon); + +Bool +bindPixmapToTexture (CompScreen *screen, + CompTexture *texture, + Pixmap pixmap, + int width, + int height, + int depth); + +void +releasePixmapFromTexture (CompScreen *screen, + CompTexture *texture); + +void +enableTexture (CompScreen *screen, + CompTexture *texture, + CompTextureFilter filter); + +void +enableTextureClampToBorder (CompScreen *screen, + CompTexture *texture, + CompTextureFilter filter); + +void +enableTextureClampToEdge (CompScreen *screen, + CompTexture *texture, + CompTextureFilter filter); + +void +disableTexture (CompScreen *screen, + CompTexture *texture); + + +/* screen.c */ + +#define COMP_SCREEN_OPTION_DETECT_REFRESH_RATE 0 +#define COMP_SCREEN_OPTION_LIGHTING 1 +#define COMP_SCREEN_OPTION_REFRESH_RATE 2 +#define COMP_SCREEN_OPTION_HSIZE 3 +#define COMP_SCREEN_OPTION_VSIZE 4 +#define COMP_SCREEN_OPTION_OPACITY_STEP 5 +#define COMP_SCREEN_OPTION_UNREDIRECT_FS 6 +#define COMP_SCREEN_OPTION_DEFAULT_ICON 7 +#define COMP_SCREEN_OPTION_SYNC_TO_VBLANK 8 +#define COMP_SCREEN_OPTION_NUMBER_OF_DESKTOPS 9 +#define COMP_SCREEN_OPTION_DETECT_OUTPUTS 10 +#define COMP_SCREEN_OPTION_OUTPUTS 11 +#define COMP_SCREEN_OPTION_FOCUS_PREVENTION_MATCH 12 +#define COMP_SCREEN_OPTION_OPACITY_MATCHES 13 +#define COMP_SCREEN_OPTION_OPACITY_VALUES 14 +#define COMP_SCREEN_OPTION_NUM 15 + +#ifndef GLX_EXT_texture_from_pixmap +#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 +#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 +#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 +#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 +#define GLX_Y_INVERTED_EXT 0x20D4 +#define GLX_TEXTURE_FORMAT_EXT 0x20D5 +#define GLX_TEXTURE_TARGET_EXT 0x20D6 +#define GLX_MIPMAP_TEXTURE_EXT 0x20D7 +#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 +#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 +#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA +#define GLX_TEXTURE_1D_BIT_EXT 0x00000001 +#define GLX_TEXTURE_2D_BIT_EXT 0x00000002 +#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 +#define GLX_TEXTURE_1D_EXT 0x20DB +#define GLX_TEXTURE_2D_EXT 0x20DC +#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD +#define GLX_FRONT_LEFT_EXT 0x20DE +#endif + +typedef void (*FuncPtr) (void); +typedef FuncPtr (*GLXGetProcAddressProc) (const GLubyte *procName); + +typedef void (*GLXBindTexImageProc) (Display *display, + GLXDrawable drawable, + int buffer, + int *attribList); +typedef void (*GLXReleaseTexImageProc) (Display *display, + GLXDrawable drawable, + int buffer); +typedef void (*GLXQueryDrawableProc) (Display *display, + GLXDrawable drawable, + int attribute, + unsigned int *value); + +typedef void (*GLXCopySubBufferProc) (Display *display, + GLXDrawable drawable, + int x, + int y, + int width, + int height); + +typedef int (*GLXGetVideoSyncProc) (unsigned int *count); +typedef int (*GLXWaitVideoSyncProc) (int divisor, + int remainder, + unsigned int *count); + +#ifndef GLX_VERSION_1_3 +typedef struct __GLXFBConfigRec *GLXFBConfig; +#endif + +typedef GLXFBConfig *(*GLXGetFBConfigsProc) (Display *display, + int screen, + int *nElements); +typedef int (*GLXGetFBConfigAttribProc) (Display *display, + GLXFBConfig config, + int attribute, + int *value); +typedef GLXPixmap (*GLXCreatePixmapProc) (Display *display, + GLXFBConfig config, + Pixmap pixmap, + const int *attribList); + +typedef void (*GLActiveTextureProc) (GLenum texture); +typedef void (*GLClientActiveTextureProc) (GLenum texture); + +typedef void (*GLGenProgramsProc) (GLsizei n, + GLuint *programs); +typedef void (*GLDeleteProgramsProc) (GLsizei n, + GLuint *programs); +typedef void (*GLBindProgramProc) (GLenum target, + GLuint program); +typedef void (*GLProgramStringProc) (GLenum target, + GLenum format, + GLsizei len, + const GLvoid *string); +typedef void (*GLProgramParameter4fProc) (GLenum target, + GLuint index, + GLfloat x, + GLfloat y, + GLfloat z, + GLfloat w); + +typedef void (*GLGenFramebuffersProc) (GLsizei n, + GLuint *framebuffers); +typedef void (*GLDeleteFramebuffersProc) (GLsizei n, + GLuint *framebuffers); +typedef void (*GLBindFramebufferProc) (GLenum target, + GLuint framebuffer); +typedef GLenum (*GLCheckFramebufferStatusProc) (GLenum target); +typedef void (*GLFramebufferTexture2DProc) (GLenum target, + GLenum attachment, + GLenum textarget, + GLuint texture, + GLint level); +typedef void (*GLGenerateMipmapProc) (GLenum target); + +#define MAX_DEPTH 32 + +typedef CompOption *(*GetScreenOptionsProc) (CompScreen *screen, + int *count); +typedef Bool (*SetScreenOptionProc) (CompScreen *screen, + char *name, + CompOptionValue *value); +typedef CompOption *(*GetPluginScreenOptionsProc) (CompPlugin *plugin, + CompScreen *screen, + int *count); +typedef Bool (*SetPluginScreenOptionProc) (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value); +typedef Bool (*SetScreenOptionForPluginProc) (CompScreen *screen, + char *plugin, + char *name, + CompOptionValue *value); + +typedef Bool (*InitPluginForScreenProc) (CompPlugin *plugin, + CompScreen *screen); + +typedef void (*FiniPluginForScreenProc) (CompPlugin *plugin, + CompScreen *screen); + +typedef void (*EnterShowDesktopModeProc) (CompScreen *screen); + +typedef void (*LeaveShowDesktopModeProc) (CompScreen *screen, + CompWindow *window); + +typedef Bool (*DamageWindowRectProc) (CompWindow *w, + Bool initial, + BoxPtr rect); + +typedef Bool (*DamageWindowRegionProc) (CompWindow *w, + Region region); + +typedef Bool (*DamageCursorRectProc) (CompCursor *c, + Bool initial, + BoxPtr rect); + + +typedef void (*GetOutputExtentsForWindowProc) (CompWindow *w, + CompWindowExtents *output); + +typedef void (*GetAllowedActionsForWindowProc) (CompWindow *w, + unsigned int *setActions, + unsigned int *clearActions); + +typedef Bool (*FocusWindowProc) (CompWindow *window); + +typedef Bool (*PlaceWindowProc) (CompWindow *window, + int x, + int y, + int *newX, + int *newY); + +typedef void (*WindowResizeNotifyProc) (CompWindow *window, + int dx, + int dy, + int dwidth, + int dheight); + +typedef void (*WindowMoveNotifyProc) (CompWindow *window, + int dx, + int dy, + Bool immediate); + +#define CompWindowGrabKeyMask (1 << 0) +#define CompWindowGrabButtonMask (1 << 1) +#define CompWindowGrabMoveMask (1 << 2) +#define CompWindowGrabResizeMask (1 << 3) + +typedef void (*WindowGrabNotifyProc) (CompWindow *window, + int x, + int y, + unsigned int state, + unsigned int mask); + +typedef void (*WindowUngrabNotifyProc) (CompWindow *window); + +typedef void (*WindowStateChangeNotifyProc) (CompWindow *window, + unsigned int lastState); + +typedef void (*WindowAddNotifyProc) (CompWindow *window); + +typedef void (*OutputChangeNotifyProc) (CompScreen *screen); + +typedef void (*InitWindowWalkerProc) (CompScreen *screen, + CompWalker *walker); + +#define COMP_SCREEN_DAMAGE_PENDING_MASK (1 << 0) +#define COMP_SCREEN_DAMAGE_REGION_MASK (1 << 1) +#define COMP_SCREEN_DAMAGE_ALL_MASK (1 << 2) + +typedef struct _CompKeyGrab { + int keycode; + unsigned int modifiers; + int count; +} CompKeyGrab; + +typedef struct _CompButtonGrab { + int button; + unsigned int modifiers; + int count; +} CompButtonGrab; + +typedef struct _CompGrab { + Bool active; + Cursor cursor; + const char *name; +} CompGrab; + +typedef struct _CompGroup { + struct _CompGroup *next; + unsigned int refCnt; + Window id; +} CompGroup; + + //typedef struct _CompStartupSequence { + // struct _CompStartupSequence *next; + // SnStartupSequence *sequence; + // unsigned int viewportX; + // unsigned int viewportY; + //} CompStartupSequence; + +typedef struct _CompFBConfig { + GLXFBConfig fbConfig; + int yInverted; + int mipmap; + int textureFormat; + int textureTargets; +} CompFBConfig; + +#define NOTHING_TRANS_FILTER 0 +#define SCREEN_TRANS_FILTER 1 +#define WINDOW_TRANS_FILTER 2 + +#define SCREEN_EDGE_LEFT 0 +#define SCREEN_EDGE_RIGHT 1 +#define SCREEN_EDGE_TOP 2 +#define SCREEN_EDGE_BOTTOM 3 +#define SCREEN_EDGE_TOPLEFT 4 +#define SCREEN_EDGE_TOPRIGHT 5 +#define SCREEN_EDGE_BOTTOMLEFT 6 +#define SCREEN_EDGE_BOTTOMRIGHT 7 +#define SCREEN_EDGE_NUM 8 + +typedef struct _CompScreenEdge { + Window id; + unsigned int count; +} CompScreenEdge; + +struct _CompIcon { + CompTexture texture; + int width; + int height; +}; + +struct _CompOutput { + char *name; + int id; + REGION region; + int width; + int height; + XRectangle workArea; +}; + +typedef struct _CompCursorImage { + struct _CompCursorImage *next; + + unsigned long serial; + Pixmap pixmap; + CompTexture texture; + int xhot; + int yhot; + int width; + int height; +} CompCursorImage; + +struct _CompCursor { + struct _CompCursor *next; + + CompScreen *screen; + CompCursorImage *image; + + int x; + int y; + + CompMatrix matrix; +}; + +#define ACTIVE_WINDOW_HISTORY_SIZE 64 +#define ACTIVE_WINDOW_HISTORY_NUM 32 + +typedef struct _CompActiveWindowHistory { + Window id[ACTIVE_WINDOW_HISTORY_SIZE]; + int x; + int y; + int activeNum; +} CompActiveWindowHistory; + +struct _CompScreen { + CompScreen *next; + CompDisplay *display; + CompWindow *windows; + CompWindow *reverseWindows; + + char *windowPrivateIndices; + int windowPrivateLen; + + Colormap colormap; + int screenNum; + int width; + int height; + int x; + int y; + int hsize; /* Number of horizontal viewports */ + int vsize; /* Number of vertical viewports */ + unsigned int nDesktop; + unsigned int currentDesktop; + REGION region; + Region damage; + unsigned long damageMask; + Window root; + Window overlay; + Window output; + XWindowAttributes attrib; + Window grabWindow; + CompFBConfig glxPixmapFBConfigs[MAX_DEPTH + 1]; + int textureRectangle; + int textureNonPowerOfTwo; + int textureEnvCombine; + int textureEnvCrossbar; + int textureBorderClamp; + GLint maxTextureSize; + int fbo; + int fragmentProgram; + int maxTextureUnits; + Cursor invisibleCursor; + XRectangle *exposeRects; + int sizeExpose; + int nExpose; + CompTexture backgroundTexture; + Bool backgroundLoaded; + unsigned int pendingDestroys; + int desktopWindowCount; + unsigned int mapNum; + unsigned int activeNum; + + CompOutput *outputDev; + int nOutputDev; + int currentOutputDev; + CompOutput fullscreenOutput; + + XRectangle lastViewport; + + CompActiveWindowHistory history[ACTIVE_WINDOW_HISTORY_NUM]; + int currentHistory; + + int overlayWindowCount; + + CompScreenEdge screenEdge[SCREEN_EDGE_NUM]; + + //SnMonitorContext *snContext; + // CompStartupSequence *startupSequences; + //unsigned int startupSequenceTimeoutHandle; + + int filter[3]; + + CompGroup *groups; + + CompIcon *defaultIcon; + + Bool canDoSaturated; + Bool canDoSlightlySaturated; + + // Window wmSnSelectionWindow; + // Atom wmSnAtom; + // Time wmSnTimestamp; + + Cursor normalCursor; + Cursor busyCursor; + + CompWindow **clientList; + int nClientList; + + CompButtonGrab *buttonGrab; + int nButtonGrab; + CompKeyGrab *keyGrab; + int nKeyGrab; + + CompGrab *grabs; + int grabSize; + int maxGrab; + + int rasterX; + int rasterY; + struct timeval lastRedraw; + int nextRedraw; + int redrawTime; + int optimalRedrawTime; + int frameStatus; + int timeMult; + Bool idle; + int timeLeft; + Bool pendingCommands; + + int lastFunctionId; + + CompFunction *fragmentFunctions; + CompProgram *fragmentPrograms; + + int saturateFunction[2][64]; + + GLfloat projection[16]; + + Bool clearBuffers; + + Bool lighting; + Bool slowAnimations; + + XRectangle workArea; + + unsigned int showingDesktopMask; + + unsigned long *desktopHintData; + int desktopHintSize; + + CompCursor *cursors; + CompCursorImage *cursorImages; + + GLXGetProcAddressProc getProcAddress; + GLXBindTexImageProc bindTexImage; + GLXReleaseTexImageProc releaseTexImage; + GLXQueryDrawableProc queryDrawable; + GLXCopySubBufferProc copySubBuffer; + GLXGetVideoSyncProc getVideoSync; + GLXWaitVideoSyncProc waitVideoSync; + GLXGetFBConfigsProc getFBConfigs; + GLXGetFBConfigAttribProc getFBConfigAttrib; + GLXCreatePixmapProc createPixmap; + + GLActiveTextureProc activeTexture; + GLClientActiveTextureProc clientActiveTexture; + + GLGenProgramsProc genPrograms; + GLDeleteProgramsProc deletePrograms; + GLBindProgramProc bindProgram; + GLProgramStringProc programString; + GLProgramParameter4fProc programEnvParameter4f; + GLProgramParameter4fProc programLocalParameter4f; + + GLGenFramebuffersProc genFramebuffers; + GLDeleteFramebuffersProc deleteFramebuffers; + GLBindFramebufferProc bindFramebuffer; + GLCheckFramebufferStatusProc checkFramebufferStatus; + GLFramebufferTexture2DProc framebufferTexture2D; + GLGenerateMipmapProc generateMipmap; + + GLXContext ctx; + + CompOption opt[COMP_SCREEN_OPTION_NUM]; + + SetScreenOptionProc setScreenOption; + SetScreenOptionForPluginProc setScreenOptionForPlugin; + + InitPluginForScreenProc initPluginForScreen; + FiniPluginForScreenProc finiPluginForScreen; + + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintScreenProc paintScreen; + PaintOutputProc paintOutput; + PaintTransformedOutputProc paintTransformedOutput; + ApplyScreenTransformProc applyScreenTransform; + PaintBackgroundProc paintBackground; + PaintWindowProc paintWindow; + DrawWindowProc drawWindow; + AddWindowGeometryProc addWindowGeometry; + DrawWindowTextureProc drawWindowTexture; + DamageWindowRectProc damageWindowRect; + GetOutputExtentsForWindowProc getOutputExtentsForWindow; + GetAllowedActionsForWindowProc getAllowedActionsForWindow; + FocusWindowProc focusWindow; + PlaceWindowProc placeWindow; + + PaintCursorProc paintCursor; + DamageCursorRectProc damageCursorRect; + + WindowAddNotifyProc windowAddNotify; + WindowResizeNotifyProc windowResizeNotify; + WindowMoveNotifyProc windowMoveNotify; + WindowGrabNotifyProc windowGrabNotify; + WindowUngrabNotifyProc windowUngrabNotify; + + EnterShowDesktopModeProc enterShowDesktopMode; + LeaveShowDesktopModeProc leaveShowDesktopMode; + + WindowStateChangeNotifyProc windowStateChangeNotify; + + OutputChangeNotifyProc outputChangeNotify; + + InitWindowWalkerProc initWindowWalker; + + CompPrivate *privates; +}; + +int +allocateScreenPrivateIndex (CompDisplay *display); + +void +freeScreenPrivateIndex (CompDisplay *display, + int index); + +CompOption * +compGetScreenOptions (CompScreen *screen, + int *count); + +void +configureScreen (CompScreen *s, + XConfigureEvent *ce); + +void +setCurrentOutput (CompScreen *s, + int outputNum); + +void +updateScreenBackground (CompScreen *screen, + CompTexture *texture); + +void +detectRefreshRateOfScreen (CompScreen *s); + +void +showOutputWindow (CompScreen *s); + +void +hideOutputWindow (CompScreen *s); + +Bool +addScreen (CompDisplay *display, + int screenNum, + Window wmSnSelectionWindow, + Atom wmSnAtom, + Time wmSnTimestamp); + +void +damageScreenRegion (CompScreen *screen, + Region region); + +void +damageScreen (CompScreen *screen); + +void +damagePendingOnScreen (CompScreen *s); + +void +insertWindowIntoScreen (CompScreen *s, + CompWindow *w, + Window aboveId); + +void +unhookWindowFromScreen (CompScreen *s, + CompWindow *w); + +void +forEachWindowOnScreen (CompScreen *screen, + ForEachWindowProc proc, + void *closure); + +CompWindow * +findWindowAtScreen (CompScreen *s, + Window id); + +CompWindow * +findTopLevelWindowAtScreen (CompScreen *s, + Window id); + +int +pushScreenGrab (CompScreen *s, + Cursor cursor, + const char *name); + +void +updateScreenGrab (CompScreen *s, + int index, + Cursor cursor); + +void +removeScreenGrab (CompScreen *s, + int index, + XPoint *restorePointer); + +Bool +otherScreenGrabExist (CompScreen *s, ...); + +Bool +addScreenAction (CompScreen *s, + CompAction *action); + +void +removeScreenAction (CompScreen *s, + CompAction *action); + +void +updatePassiveGrabs (CompScreen *s); + +void +updateWorkareaForScreen (CompScreen *s); + +void +updateClientListForScreen (CompScreen *s); + +Window +getActiveWindow (CompDisplay *display, + Window root); + +/* void */ +/* toolkitAction (CompScreen *s, */ +/* Atom toolkitAction, */ +/* Time eventTime, */ +/* Window window, */ +/* long data0, */ +/* long data1, */ +/* long data2); */ + +void +runCommand (CompScreen *s, + const char *command); + +void +moveScreenViewport (CompScreen *s, + int tx, + int ty, + Bool sync); + +void +moveWindowToViewportPosition (CompWindow *w, + int x, + int y, + Bool sync); + +CompGroup * +addGroupToScreen (CompScreen *s, + Window id); +void +removeGroupFromScreen (CompScreen *s, + CompGroup *group); + +CompGroup * +findGroupAtScreen (CompScreen *s, + Window id); + +void +applyStartupProperties (CompScreen *screen, + CompWindow *window); + +void +sendWindowActivationRequest (CompScreen *s, + Window id); + +void +screenTexEnvMode (CompScreen *s, + GLenum mode); + +void +screenLighting (CompScreen *s, + Bool lighting); + +void +enableScreenEdge (CompScreen *s, + int edge); + +void +disableScreenEdge (CompScreen *s, + int edge); + +Window +getTopWindow (CompScreen *s); + +void +makeScreenCurrent (CompScreen *s); + +void +finishScreenDrawing (CompScreen *s); + +int +outputDeviceForPoint (CompScreen *s, + int x, + int y); + +void +getCurrentOutputExtents (CompScreen *s, + int *x1, + int *y1, + int *x2, + int *y2); + +void +getWorkareaForOutput (CompScreen *s, + int output, + XRectangle *area); + +void +setNumberOfDesktops (CompScreen *s, + unsigned int nDesktop); + +void +setCurrentDesktop (CompScreen *s, + unsigned int desktop); + +void +setDefaultViewport (CompScreen *s); + +void +outputChangeNotify (CompScreen *s); + +void +clearScreenOutput (CompScreen *s, + CompOutput *output, + unsigned int mask); + +void +viewportForGeometry (CompScreen *s, + int x, + int y, + int width, + int height, + int borderWidth, + int *viewportX, + int *viewportY); + +int +outputDeviceForGeometry (CompScreen *s, + int x, + int y, + int width, + int height, + int borderWidth); + +Bool +updateDefaultIcon (CompScreen *screen); + +CompCursor * +findCursorAtScreen (CompScreen *screen); + +CompCursorImage * +findCursorImageAtScreen (CompScreen *screen, + unsigned long serial); + +void +setCurrentActiveWindowHistory (CompScreen *s, + int x, + int y); + +void +addToCurrentActiveWindowHistory (CompScreen *s, + Window id); + + +/* window.c */ + +#define WINDOW_INVISIBLE(w) \ + ((w)->attrib.map_state != IsViewable || \ + (!(w)->damaged) || \ + (w)->attrib.x + (w)->width + (w)->output.right <= 0 || \ + (w)->attrib.y + (w)->height + (w)->output.bottom <= 0 || \ + (w)->attrib.x - (w)->output.left >= (w)->screen->width || \ + (w)->attrib.y - (w)->output.top >= (w)->screen->height) + +typedef Bool (*InitPluginForWindowProc) (CompPlugin *plugin, + CompWindow *window); +typedef void (*FiniPluginForWindowProc) (CompPlugin *plugin, + CompWindow *window); + +typedef enum { + CompStackingUpdateModeNone = 0, + CompStackingUpdateModeNormal, + CompStackingUpdateModeAboveFullscreen, + CompStackingUpdateModeInitialMap +} CompStackingUpdateMode; + +struct _CompWindowExtents { + int left; + int right; + int top; + int bottom; +}; + +typedef struct _CompStruts { + XRectangle left; + XRectangle right; + XRectangle top; + XRectangle bottom; +} CompStruts; + +struct _CompWindow { + CompScreen *screen; + CompWindow *next; + CompWindow *prev; + + int refcnt; + Window id; + Window clientId; + Window frame; + unsigned int mapNum; + unsigned int activeNum; + XWindowAttributes attrib; + int serverX; + int serverY; + int serverWidth; + int serverHeight; + int serverBorderWidth; + XSizeHints sizeHints; + Pixmap pixmap; + CompTexture *texture; + CompMatrix matrix; + Damage damage; + Bool inputHint; + Bool alpha; + GLint width; + GLint height; + Region region; + Region clip; + unsigned int wmType; + unsigned int type; + unsigned int state; + unsigned int actions; + unsigned int protocols; + unsigned int mwmDecor; + unsigned int mwmFunc; + Bool invisible; + Bool destroyed; + Bool damaged; + Bool redirected; + Bool managed; + Bool bindFailed; + Bool added; + int destroyRefCnt; + int unmapRefCnt; + + unsigned int initialViewportX; + unsigned int initialViewportY; + + Time initialTimestamp; + Bool initialTimestampSet; + + Bool placed; + Bool minimized; + Bool inShowDesktopMode; + Bool shaded; + Bool hidden; + Bool grabbed; + + unsigned int desktop; + + int pendingUnmaps; + int pendingMaps; + + char *startupId; + char *resName; + char *resClass; + + CompGroup *group; + + unsigned int lastPong; + Bool alive; + + GLushort opacity; + GLushort brightness; + GLushort saturation; + + Bool opacityPropSet; + int opacityFactor; + + WindowPaintAttrib paint; + WindowPaintAttrib lastPaint; + + unsigned int lastMask; + + CompWindowExtents input; + CompWindowExtents output; + + CompStruts *struts; + + CompIcon **icon; + int nIcon; + + XWindowChanges saveWc; + int saveMask; + + /*XSyncCounter syncCounter; + XSyncValue syncValue; + XSyncAlarm syncAlarm; + unsigned long syncAlarmConnection; + unsigned int syncWaitHandle; */ + + Bool syncWait; + int syncX; + int syncY; + int syncWidth; + int syncHeight; + int syncBorderWidth; + + Bool closeRequests; + Time lastCloseRequestTime; + + XRectangle *damageRects; + int sizeDamage; + int nDamage; + + GLfloat *vertices; + int vertexSize; + GLushort *indices; + int indexSize; + int vCount; + int texUnits; + int texCoordSize; + int indexCount; + + /* must be set by addWindowGeometry */ + DrawWindowGeometryProc drawWindowGeometry; + + CompPrivate *privates; + + Bool clientMapped; + XRectangle clientDamageRect; + Damage clientDamage; +}; + +int +allocateWindowPrivateIndex (CompScreen *screen); + +void +freeWindowPrivateIndex (CompScreen *screen, + int index); + +unsigned int +windowStateMask (CompDisplay *display, + Atom state); + +unsigned int +windowStateFromString (const char *str); + +unsigned int +getWindowState (CompDisplay *display, + Window id); + +void +setWindowState (CompDisplay *display, + unsigned int state, + Window id); + +void +changeWindowState (CompWindow *w, + unsigned int newState); + +void +recalcWindowActions (CompWindow *w); + +unsigned int +constrainWindowState (unsigned int state, + unsigned int actions); + +unsigned int +windowTypeFromString (const char *str); + +unsigned int +getWindowType (CompDisplay *display, + Window id); + +void +recalcWindowType (CompWindow *w); + +void +getMwmHints (CompDisplay *display, + Window id, + unsigned int *func, + unsigned int *decor); + +unsigned int +getProtocols (CompDisplay *display, + Window id); + +unsigned int +getWindowProp (CompDisplay *display, + Window id, + Atom property, + unsigned int defaultValue); + +void +setWindowProp (CompDisplay *display, + Window id, + Atom property, + unsigned int value); + +Bool +readWindowProp32 (CompDisplay *display, + Window id, + Atom property, + unsigned short *returnValue); + +unsigned short +getWindowProp32 (CompDisplay *display, + Window id, + Atom property, + unsigned short defaultValue); + +void +setWindowProp32 (CompDisplay *display, + Window id, + Atom property, + unsigned short value); + +void +updateWindowOpacity (CompWindow *window); + +void +updateNormalHints (CompWindow *window); + +void +updateWmHints (CompWindow *w); + +void +updateWindowClassHints (CompWindow *window); + +void +updateTransientHint (CompWindow *w); + +Window +getClientLeader (CompWindow *w); + +char * +getStartupId (CompWindow *w); + +int +getWmState (CompDisplay *display, + Window id); + +void +setWmState (CompDisplay *display, + int state, + Window id); + +void +setWindowFrameExtents (CompWindow *w, + CompWindowExtents *input); + +void +updateWindowOutputExtents (CompWindow *w); + +void +updateWindowRegion (CompWindow *w); + +Bool +updateWindowStruts (CompWindow *w); + +void +addWindow (CompScreen *screen, + Window id, + Window aboveId); + +void +removeWindow (CompWindow *w); + +void +destroyWindow (CompWindow *w); + +void +sendConfigureNotify (CompWindow *w); + +void +mapWindow (CompWindow *w); + +void +unmapWindow (CompWindow *w); + +Bool +bindWindow (CompWindow *w); + +void +releaseWindow (CompWindow *w); + +void +moveWindow (CompWindow *w, + int dx, + int dy, + Bool damage, + Bool immediate); + +void +configureXWindow (CompWindow *w, + unsigned int valueMask, + XWindowChanges *xwc); + +void +moveResizeWindow (CompWindow *w, + XWindowChanges *xwc, + unsigned int xwcm, + int gravity); + +void +syncWindowPosition (CompWindow *w); + +void +sendSyncRequest (CompWindow *w); + +Bool +resizeWindow (CompWindow *w, + int x, + int y, + int width, + int height, + int borderWidth); + +void +configureWindow (CompWindow *w, + XConfigureEvent *ce); + +void +circulateWindow (CompWindow *w, + XCirculateEvent *ce); + +void +addWindowDamageRect (CompWindow *w, + BoxPtr rect); + +void +getOutputExtentsForWindow (CompWindow *w, + CompWindowExtents *output); + +void +getAllowedActionsForWindow (CompWindow *w, + unsigned int *setActions, + unsigned int *clearActions); + +void +addWindowDamage (CompWindow *w); + +void +damageWindowOutputExtents (CompWindow *w); + +Bool +damageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect); + +void +damageTransformedWindowRect (CompWindow *w, + float xScale, + float yScale, + float xTranslate, + float yTranslate, + BoxPtr rect); + +Bool +focusWindow (CompWindow *w); + +Bool +placeWindow (CompWindow *w, + int x, + int y, + int *newX, + int *newY); + +void +windowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight); + +void +windowMoveNotify (CompWindow *w, + int dx, + int dy, + Bool immediate); + +void +windowGrabNotify (CompWindow *w, + int x, + int y, + unsigned int state, + unsigned int mask); + +void +windowUngrabNotify (CompWindow *w); + +void +windowStateChangeNotify (CompWindow *w, + unsigned int lastState); + +void +moveInputFocusToWindow (CompWindow *w); + +void +updateWindowSize (CompWindow *w); + +void +raiseWindow (CompWindow *w); + +void +lowerWindow (CompWindow *w); + +void +restackWindowAbove (CompWindow *w, + CompWindow *sibling); + +void +restackWindowBelow (CompWindow *w, + CompWindow *sibling); + +void +updateWindowAttributes (CompWindow *w, + CompStackingUpdateMode stackingMode); + +void +activateWindow (CompWindow *w); + +void +closeWindow (CompWindow *w, + Time serverTime); + +Bool +constrainNewWindowSize (CompWindow *w, + int width, + int height, + int *newWidth, + int *newHeight); + +void +hideWindow (CompWindow *w); + +void +showWindow (CompWindow *w); + +void +minimizeWindow (CompWindow *w); + +void +unminimizeWindow (CompWindow *w); + +void +maximizeWindow (CompWindow *w, + int state); + +Bool +getWindowUserTime (CompWindow *w, + Time *time); + +void +setWindowUserTime (CompWindow *w, + Time time); + +Bool +allowWindowFocus (CompWindow *w, + unsigned int noFocusMask, + Time timestamp); + +void +unredirectWindow (CompWindow *w); + +void +redirectWindow (CompWindow *w); + +void +defaultViewportForWindow (CompWindow *w, + int *vx, + int *vy); + +CompIcon * +getWindowIcon (CompWindow *w, + int width, + int height); + +void +freeWindowIcons (CompWindow *w); + +int +outputDeviceForWindow (CompWindow *w); + +Bool +onCurrentDesktop (CompWindow *w); + +void +setDesktopForWindow (CompWindow *w, + unsigned int desktop); + +int +compareWindowActiveness (CompWindow *w1, + CompWindow *w2); + +void +windowAddNotify (CompWindow *w); + + +/* plugin.c */ + +#define HOME_PLUGINDIR ".ecomp/plugins" + +typedef int (*GetVersionProc) (CompPlugin *plugin, + int version); + +typedef Bool (*InitPluginProc) (CompPlugin *plugin); +typedef void (*FiniPluginProc) (CompPlugin *plugin); + +typedef CompMetadata *(*GetMetadataProc) (CompPlugin *plugin); + +typedef struct _CompPluginVTable { + char *name; + + GetVersionProc getVersion; + GetMetadataProc getMetadata; + + InitPluginProc init; + FiniPluginProc fini; + + InitPluginForDisplayProc initDisplay; + FiniPluginForDisplayProc finiDisplay; + + InitPluginForScreenProc initScreen; + FiniPluginForScreenProc finiScreen; + + InitPluginForWindowProc initWindow; + FiniPluginForWindowProc finiWindow; + + GetPluginDisplayOptionsProc getDisplayOptions; + SetPluginDisplayOptionProc setDisplayOption; + GetPluginScreenOptionsProc getScreenOptions; + SetPluginScreenOptionProc setScreenOption; +} CompPluginVTable; + +typedef CompPluginVTable *(*PluginGetInfoProc) (void); + +typedef Bool (*LoadPluginProc) (CompPlugin *p, + char *path, + char *name); + +typedef void (*UnloadPluginProc) (CompPlugin *p); + +typedef char **(*ListPluginsProc) (char *path, + int *n); + +extern LoadPluginProc loaderLoadPlugin; +extern UnloadPluginProc loaderUnloadPlugin; +extern ListPluginsProc loaderListPlugins; + +struct _CompPlugin { + CompPlugin *next; + CompPrivate devPrivate; + char *devType; + CompPluginVTable *vTable; +}; + +Bool +initPluginForDisplay (CompPlugin *p, + CompDisplay *d); + +void +finiPluginForDisplay (CompPlugin *p, + CompDisplay *d); + +Bool +initPluginForScreen (CompPlugin *p, + CompScreen *s); + +void +finiPluginForScreen (CompPlugin *p, + CompScreen *s); + +CompPluginVTable * +getCompPluginInfo (void); + +void +screenInitPlugins (CompScreen *s); + +void +screenFiniPlugins (CompScreen *s); + +void +windowInitPlugins (CompWindow *w); + +void +windowFiniPlugins (CompWindow *w); + +CompPlugin * +findActivePlugin (char *name); + +CompPlugin * +loadPlugin (char *plugin); + +void +unloadPlugin (CompPlugin *p); + +Bool +pushPlugin (CompPlugin *p); + +CompPlugin * +popPlugin (void); + +CompPlugin * +getPlugins (void); + +char ** +availablePlugins (int *n); + + +/* session.c */ + +void +initSession (char *smPrevClientId); + +void +closeSession (void); + + +/* fragment.c */ + +#define MAX_FRAGMENT_FUNCTIONS 16 + +struct _FragmentAttrib { + GLushort opacity; + GLushort brightness; + GLushort saturation; + int nTexture; + int function[MAX_FRAGMENT_FUNCTIONS]; + int nFunction; + int nParam; +}; + +CompFunctionData * +createFunctionData (void); + +void +destroyFunctionData (CompFunctionData *data); + +Bool +addTempHeaderOpToFunctionData (CompFunctionData *data, + char *name); + +Bool +addParamHeaderOpToFunctionData (CompFunctionData *data, + char *name); + +Bool +addAttribHeaderOpToFunctionData (CompFunctionData *data, + char *name); + +#define COMP_FETCH_TARGET_2D 0 +#define COMP_FETCH_TARGET_RECT 1 +#define COMP_FETCH_TARGET_NUM 2 + +Bool +addFetchOpToFunctionData (CompFunctionData *data, + char *dst, + char *offset, + int target); + +Bool +addColorOpToFunctionData (CompFunctionData *data, + char *dst, + char *src); + +Bool +addDataOpToFunctionData (CompFunctionData *data, + char *str, + ...); + +Bool +addBlendOpToFunctionData (CompFunctionData *data, + char *str, + ...); + +int +createFragmentFunction (CompScreen *s, + char *name, + CompFunctionData *data); + +void +destroyFragmentFunction (CompScreen *s, + int id); + +int +getSaturateFragmentFunction (CompScreen *s, + CompTexture *texture, + int param); + +int +allocFragmentTextureUnits (FragmentAttrib *attrib, + int nTexture); + +int +allocFragmentParameters (FragmentAttrib *attrib, + int nParam); + +void +addFragmentFunction (FragmentAttrib *attrib, + int function); + +void +initFragmentAttrib (FragmentAttrib *attrib, + const WindowPaintAttrib *paint); + +Bool +enableFragmentAttrib (CompScreen *s, + FragmentAttrib *attrib, + Bool *blending); + +void +disableFragmentAttrib (CompScreen *s, + FragmentAttrib *attrib); + + +/* matrix.c */ + +void +matrixRotate (CompTransform *transform, + float angle, + float x, + float y, + float z); + +void +matrixScale (CompTransform *transform, + float x, + float y, + float z); + +void +matrixTranslate (CompTransform *transform, + float x, + float y, + float z); + + +/* cursor.c */ + +void +addCursor (CompScreen *s); + +Bool +damageCursorRect (CompCursor *c, + Bool initial, + BoxPtr rect); + +void +addCursorDamageRect (CompCursor *c, + BoxPtr rect); + +void +addCursorDamage (CompCursor *c); + +void +updateCursor (CompCursor *c, + int x, + int y, + unsigned long serial); + + +/* match.c */ + +void +matchInit (CompMatch *match); + +void +matchFini (CompMatch *match); + +Bool +matchEqual (CompMatch *m1, + CompMatch *m2); + +Bool +matchCopy (CompMatch *dst, + CompMatch *src); + +Bool +matchAddGroup (CompMatch *match, + int flags, + CompMatch *group); + +Bool +matchAddExp (CompMatch *match, + int flags, + const char *value); + +void +matchAddFromString (CompMatch *match, + const char *str); + +char * +matchToString (CompMatch *match); + +void +matchUpdate (CompDisplay *display, + CompMatch *match); + +Bool +matchEval (CompMatch *match, + CompWindow *window); + +void +matchInitExp (CompDisplay *display, + CompMatchExp *exp, + const char *value); + +void +matchExpHandlerChanged (CompDisplay *display); + +void +matchPropertyChanged (CompDisplay *display, + CompWindow *window); + + +/* metadata.c */ + +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY (x) +#define MINTOSTRING(x) "" TOSTRING (x) "" +#define MAXTOSTRING(x) "" TOSTRING (x) "" +#define RESTOSTRING(min, max) MINTOSTRING (min) MAXTOSTRING (max) + +typedef struct _CompMetadataOptionInfo { + char *name; + char *type; + char *data; + CompActionCallBackProc initiate; + CompActionCallBackProc terminate; +} CompMetadataOptionInfo; + +extern const CompMetadataOptionInfo +coreDisplayOptionInfo[COMP_DISPLAY_OPTION_NUM]; +extern const CompMetadataOptionInfo +coreScreenOptionInfo[COMP_SCREEN_OPTION_NUM]; + +struct _CompMetadata { + char *path; + xmlDoc **doc; + int nDoc; +}; + +Bool +compInitMetadata (CompMetadata *metadata); + +Bool +compInitPluginMetadata (CompMetadata *metadata, + const char *plugin); + +Bool +compInitPluginMetadataFromInfo (CompMetadata *metadata, + const char *plugin, + const CompMetadataOptionInfo *displayOptionInfo, + int nDisplayOptionInfo, + const CompMetadataOptionInfo *screenOptionInfo, + int nScreenOptionInfo); + +void +compFiniMetadata (CompMetadata *metadata); + +Bool +compAddMetadataFromFile (CompMetadata *metadata, + const char *file); + +Bool +compAddMetadataFromString (CompMetadata *metadata, + const char *string); + +Bool +compAddMetadataFromIO (CompMetadata *metadata, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx); + +Bool +compInitScreenOptionFromMetadata (CompScreen *screen, + CompMetadata *metadata, + CompOption *option, + const char *name); + +void +compFiniScreenOption (CompScreen *screen, + CompOption *option); + +Bool +compInitScreenOptionsFromMetadata (CompScreen *screen, + CompMetadata *metadata, + const CompMetadataOptionInfo *info, + CompOption *option, + int n); + +void +compFiniScreenOptions (CompScreen *screen, + CompOption *option, + int n); + +Bool +compSetScreenOption (CompScreen *screen, + CompOption *option, + CompOptionValue *value); + +Bool +compInitDisplayOptionFromMetadata (CompDisplay *display, + CompMetadata *metadata, + CompOption *option, + const char *name); + +void +compFiniDisplayOption (CompDisplay *display, + CompOption *option); + +Bool +compInitDisplayOptionsFromMetadata (CompDisplay *display, + CompMetadata *metadata, + const CompMetadataOptionInfo *info, + CompOption *option, + int n); + +void +compFiniDisplayOptions (CompDisplay *display, + CompOption *option, + int n); + +Bool +compSetDisplayOption (CompDisplay *display, + CompOption *option, + CompOptionValue *value); + +char * +compGetStringFromMetadataPath (CompMetadata *metadata, + const char *path); + +char * +compGetShortPluginDescription (CompMetadata *metadata); + +char * +compGetLongPluginDescription (CompMetadata *metadata); + +char * +compGetShortScreenOptionDescription (CompMetadata *metadata, + CompOption *option); + +char * +compGetLongScreenOptionDescription (CompMetadata *metadata, + CompOption *option); + +char * +compGetShortDisplayOptionDescription (CompMetadata *metadata, + CompOption *option); + +char * +compGetLongDisplayOptionDescription (CompMetadata *metadata, + CompOption *option); + + +int +compReadXmlChunk (const char *src, + int *offset, + char *buffer, + int length); + +int +compReadXmlChunkFromMetadataOptionInfo (const CompMetadataOptionInfo *info, + int *offset, + char *buffer, + int length); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/scale.h b/include/scale.h new file mode 100644 index 0000000..70fecc8 --- /dev/null +++ b/include/scale.h @@ -0,0 +1,187 @@ +/* + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include + +#define SCALE_ABIVERSION 20070706 + +#define SCALE_STATE_NONE 0 +#define SCALE_STATE_OUT 1 +#define SCALE_STATE_WAIT 2 +#define SCALE_STATE_IN 3 + +#define SCALE_ICON_NONE 0 +#define SCALE_ICON_EMBLEM 1 +#define SCALE_ICON_BIG 2 +#define SCALE_ICON_LAST SCALE_ICON_BIG + +#define SCALE_MOMODE_CURRENT 0 +#define SCALE_MOMODE_ALL 1 +#define SCALE_MOMODE_LAST SCALE_MOMODE_ALL + +typedef struct _ScaleSlot { + int x1, y1, x2, y2; + int filled; + float scale; +} ScaleSlot; + +typedef struct _SlotArea { + int nWindows; + XRectangle workArea; +} SlotArea; + +#define SCALE_DISPLAY_OPTION_ABI 0 +#define SCALE_DISPLAY_OPTION_INDEX 1 +#define SCALE_DISPLAY_OPTION_INITIATE 2 +#define SCALE_DISPLAY_OPTION_INITIATE_ALL 3 +#define SCALE_DISPLAY_OPTION_INITIATE_GROUP 4 +#define SCALE_DISPLAY_OPTION_INITIATE_OUTPUT 5 +#define SCALE_DISPLAY_OPTION_SHOW_DESKTOP 6 +#define SCALE_DISPLAY_OPTION_RELAYOUT 7 +#define SCALE_DISPLAY_OPTION_NUM 8 + +typedef struct _ScaleDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[SCALE_DISPLAY_OPTION_NUM]; + + unsigned int lastActiveNum; + Window lastActiveWindow; + Window selectedWindow; + Window hoveredWindow; + KeyCode leftKeyCode, rightKeyCode, upKeyCode, downKeyCode; +} ScaleDisplay; + +#define SCALE_SCREEN_OPTION_SPACING 0 +#define SCALE_SCREEN_OPTION_SPEED 1 +#define SCALE_SCREEN_OPTION_TIMESTEP 2 +#define SCALE_SCREEN_OPTION_WINDOW_MATCH 3 +#define SCALE_SCREEN_OPTION_DARKEN_BACK 4 +#define SCALE_SCREEN_OPTION_OPACITY 5 +#define SCALE_SCREEN_OPTION_ICON 6 +#define SCALE_SCREEN_OPTION_HOVER_TIME 7 +#define SCALE_SCREEN_OPTION_MULTIOUTPUT_MODE 8 +#define SCALE_SCREEN_OPTION_NUM 9 + +typedef enum { + ScaleTypeNormal = 0, + ScaleTypeOutput, + ScaleTypeGroup, + ScaleTypeAll +} ScaleType; + +typedef Bool (*ScaleLayoutSlotsAndAssignWindowsProc) (CompScreen *s); + +typedef Bool (*ScaleSetScaledPaintAttributesProc) (CompWindow *w, + WindowPaintAttrib *attrib); + +typedef void (*ScalePaintDecorationProc) (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask); + +typedef struct _ScaleScreen { + int windowPrivateIndex; + + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + DamageWindowRectProc damageWindowRect; + + ScaleLayoutSlotsAndAssignWindowsProc layoutSlotsAndAssignWindows; + ScaleSetScaledPaintAttributesProc setScaledPaintAttributes; + ScalePaintDecorationProc scalePaintDecoration; + + CompOption opt[SCALE_SCREEN_OPTION_NUM]; + + Bool grab; + int grabIndex; + + Window dndTarget; + + CompTimeoutHandle hoverHandle; + + int state; + int moreAdjust; + + Cursor cursor; + + ScaleSlot *slots; + int slotsSize; + int nSlots; + + /* only used for sorting */ + CompWindow **windows; + int windowsSize; + int nWindows; + + GLushort opacity; + + ScaleType type; + + Window clientLeader; + + CompMatch match; + CompMatch *currentMatch; +} ScaleScreen; + +typedef struct _ScaleWindow { + ScaleSlot *slot; + + int sid; + int distance; + + GLfloat xVelocity, yVelocity, scaleVelocity; + GLfloat scale; + GLfloat tx, ty; + float delta; + Bool adjust; + + float lastThumbOpacity; +} ScaleWindow; + +#define GET_SCALE_DISPLAY(d) \ + ((ScaleDisplay *) (d)->privates[scaleDisplayPrivateIndex].ptr) + +#define SCALE_DISPLAY(d) \ + ScaleDisplay *sd = GET_SCALE_DISPLAY (d) + +#define GET_SCALE_SCREEN(s, sd) \ + ((ScaleScreen *) (s)->privates[(sd)->screenPrivateIndex].ptr) + +#define SCALE_SCREEN(s) \ + ScaleScreen *ss = GET_SCALE_SCREEN (s, GET_SCALE_DISPLAY (s->display)) + +#define GET_SCALE_WINDOW(w, ss) \ + ((ScaleWindow *) (w)->privates[(ss)->windowPrivateIndex].ptr) + +#define SCALE_WINDOW(w) \ + ScaleWindow *sw = GET_SCALE_WINDOW (w, \ + GET_SCALE_SCREEN (w->screen, \ + GET_SCALE_DISPLAY (w->screen->display))) + diff --git a/include/text.h b/include/text.h new file mode 100644 index 0000000..6959cf0 --- /dev/null +++ b/include/text.h @@ -0,0 +1,50 @@ +/* + * text.h - adds text image support to beryl. + * Copyright: (C) 2006 Patrick Niklaus + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef _ECOMP_TEXT_H +#define _ECOMP_TEXT_H + +#define TEXT_ID "TextToPixmap" + +#define TEXT_STYLE_NORMAL (1 << 0) +#define TEXT_STYLE_BOLD (1 << 1) +#define TEXT_STYLE_ITALIC (1 << 2) + +typedef enum { + TextRenderNormal = 0, + TextRenderWindowTitle +} TextRenderMode; + +typedef struct _CompTextAttrib { + TextRenderMode renderMode; + void *data; + int maxwidth; + int maxheight; + CompScreen *screen; + char *family; + int size; + unsigned short color[4]; + unsigned int style; + Bool ellipsize; +} CompTextAttrib; + +typedef Pixmap (*TextToPixmapProc) (CompDisplay *d, CompTextAttrib* text_attrib, int *width, int *height); + +#endif diff --git a/install-sh b/install-sh new file mode 100755 index 0000000..a5897de --- /dev/null +++ b/install-sh @@ -0,0 +1,519 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2006-12-25.00 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +nl=' +' +IFS=" "" $nl" + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +no_target_directory= + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) dst_arg=$2 + shift;; + + -T) no_target_directory=true;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + trap '(exit $?); exit' 1 2 13 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dst_arg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + -*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir + shift + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test -z "$d" && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/intltool-extract.in b/intltool-extract.in new file mode 100644 index 0000000..e69de29 diff --git a/intltool-merge.in b/intltool-merge.in new file mode 100644 index 0000000..e69de29 diff --git a/intltool-update.in b/intltool-update.in new file mode 100644 index 0000000..e69de29 diff --git a/jpeg/Makefile b/jpeg/Makefile new file mode 100644 index 0000000..7604890 --- /dev/null +++ b/jpeg/Makefile @@ -0,0 +1,574 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# jpeg/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = jpeg +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libimgjpeg_la_DEPENDENCIES = +am__libimgjpeg_la_SOURCES_DIST = imgjpeg_options.c imgjpeg_options.h \ + imgjpeg.c +am_libimgjpeg_la_OBJECTS = imgjpeg_options.lo \ + imgjpeg.lo +libimgjpeg_la_OBJECTS = $(am_libimgjpeg_la_OBJECTS) +libimgjpeg_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libimgjpeg_la_LDFLAGS) $(LDFLAGS) -o $@ +am_libimgjpeg_la_rpath = -rpath $(moduledir) +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libimgjpeg_la_SOURCES) +DIST_SOURCES = $(am__libimgjpeg_la_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/jpeg +abs_srcdir = /media/disk-3/src/compiz/jpeg +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libimgjpeg_la_LDFLAGS = $(PFLAGS) +libimgjpeg_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -ljpeg +libimgjpeg_la_SOURCES = imgjpeg_options.c imgjpeg_options.h imgjpeg.c +INCLUDES = \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libimgjpeg.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu jpeg/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu jpeg/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libimgjpeg.la: $(libimgjpeg_la_OBJECTS) $(libimgjpeg_la_DEPENDENCIES) + $(libimgjpeg_la_LINK) $(am_libimgjpeg_la_rpath) $(libimgjpeg_la_OBJECTS) $(libimgjpeg_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/imgjpeg.Plo +include ./$(DEPDIR)/imgjpeg_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +imgjpeg_options.h: ../metadata/imgjpeg.xml + $(BCOP_BIN) --header $@ $< + +imgjpeg_options.c: ../metadata/imgjpeg.xml imgjpeg_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/jpeg/Makefile.am b/jpeg/Makefile.am new file mode 100644 index 0000000..c9d0067 --- /dev/null +++ b/jpeg/Makefile.am @@ -0,0 +1,30 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +if JPEG_PLUGIN +libimgjpeg_la_LDFLAGS = $(PFLAGS) +libimgjpeg_la_LIBADD = @ECOMP_LIBS@ -ljpeg +libimgjpeg_la_SOURCES = imgjpeg_options.c imgjpeg_options.h imgjpeg.c +endif + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) + +if JPEG_PLUGIN +module_LTLIBRARIES = libimgjpeg.la +endif + +CLEANFILES = *_options.c *_options.h + +imgjpeg_options.h: ../metadata/imgjpeg.xml + $(BCOP_BIN) --header $@ $< + +imgjpeg_options.c: ../metadata/imgjpeg.xml imgjpeg_options.h + $(BCOP_BIN) --source $@ $< diff --git a/jpeg/Makefile.in b/jpeg/Makefile.in new file mode 100644 index 0000000..8174309 --- /dev/null +++ b/jpeg/Makefile.in @@ -0,0 +1,574 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = jpeg +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libimgjpeg_la_DEPENDENCIES = +am__libimgjpeg_la_SOURCES_DIST = imgjpeg_options.c imgjpeg_options.h \ + imgjpeg.c +@JPEG_PLUGIN_TRUE@am_libimgjpeg_la_OBJECTS = imgjpeg_options.lo \ +@JPEG_PLUGIN_TRUE@ imgjpeg.lo +libimgjpeg_la_OBJECTS = $(am_libimgjpeg_la_OBJECTS) +libimgjpeg_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libimgjpeg_la_LDFLAGS) $(LDFLAGS) -o $@ +@JPEG_PLUGIN_TRUE@am_libimgjpeg_la_rpath = -rpath $(moduledir) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libimgjpeg_la_SOURCES) +DIST_SOURCES = $(am__libimgjpeg_la_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +@JPEG_PLUGIN_TRUE@libimgjpeg_la_LDFLAGS = $(PFLAGS) +@JPEG_PLUGIN_TRUE@libimgjpeg_la_LIBADD = @ECOMP_LIBS@ -ljpeg +@JPEG_PLUGIN_TRUE@libimgjpeg_la_SOURCES = imgjpeg_options.c imgjpeg_options.h imgjpeg.c +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +@JPEG_PLUGIN_TRUE@module_LTLIBRARIES = libimgjpeg.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu jpeg/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu jpeg/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libimgjpeg.la: $(libimgjpeg_la_OBJECTS) $(libimgjpeg_la_DEPENDENCIES) + $(libimgjpeg_la_LINK) $(am_libimgjpeg_la_rpath) $(libimgjpeg_la_OBJECTS) $(libimgjpeg_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imgjpeg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imgjpeg_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +imgjpeg_options.h: ../metadata/imgjpeg.xml + $(BCOP_BIN) --header $@ $< + +imgjpeg_options.c: ../metadata/imgjpeg.xml imgjpeg_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/jpeg/imgjpeg.c b/jpeg/imgjpeg.c new file mode 100644 index 0000000..898e7d6 --- /dev/null +++ b/jpeg/imgjpeg.c @@ -0,0 +1,451 @@ +/* + * beryl-plugins::jpeg.c - adds JPEG image support to beryl. + * Copyright: (C) 2006 Nicholas Thomas + * Danny Baumann (JPEG writing, option stuff) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include + +#include + +#include +#include +#include "imgjpeg_options.h" + +static int displayPrivateIndex; + +struct jpegErrorMgr +{ + struct jpeg_error_mgr pub; /* "public" fields */ + jmp_buf setjmp_buffer; /* for return to caller */ +}; + +typedef struct _JPEGDisplay +{ + FileToImageProc fileToImage; + ImageToFileProc imageToFile; +} JPEGDisplay; + +#define GET_JPEG_DISPLAY(d) \ + ((JPEGDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define JPEG_DISPLAY(d) \ + JPEGDisplay *jd = GET_JPEG_DISPLAY (d) + +static Bool +rgbToBGRA (const JSAMPLE *source, + void **data, + int height, + int width, + int alpha) +{ + int h, w; + char *dest; + + dest = malloc (height * width * 4); + if (!dest) + return FALSE; + + *data = dest; + + for (h = 0; h < height; h++) + for (w = 0; w < width; w++) + { + int pos = h * width + w; +#if __BYTE_ORDER == __BIG_ENDIAN + dest[(pos * 4) + 3] = source[(pos * 3) + 2]; /* blue */ + dest[(pos * 4) + 2] = source[(pos * 3) + 1]; /* green */ + dest[(pos * 4) + 1] = source[(pos * 3) + 0]; /* red */ + dest[(pos * 4) + 0] = alpha; +#else + dest[(pos * 4) + 0] = source[(pos * 3) + 2]; /* blue */ + dest[(pos * 4) + 1] = source[(pos * 3) + 1]; /* green */ + dest[(pos * 4) + 2] = source[(pos * 3) + 0]; /* red */ + dest[(pos * 4) + 3] = alpha; +#endif + } + + return TRUE; +} + +static Bool +rgbaToRGB (char *source, + JSAMPLE **dest, + int height, + int width, + int stride) +{ + int h, w; + int ps = stride / width; /* pixel size */ + JSAMPLE *d; + + d = malloc (height * width * 3 * sizeof (JSAMPLE)); + if (!d) + return FALSE; + + *dest = d; + + for (h = 0; h < height; h++) + for (w = 0; w < width; w++) + { + int pos = h * width + w; +#if __BYTE_ORDER == __BIG_ENDIAN + d[(pos * 3) + 0] = source[(pos * ps) + 3]; /* red */ + d[(pos * 3) + 1] = source[(pos * ps) + 2]; /* green */ + d[(pos * 3) + 2] = source[(pos * ps) + 1]; /* blue */ +#else + d[(pos * 3) + 0] = source[(pos * ps) + 0]; /* red */ + d[(pos * 3) + 1] = source[(pos * ps) + 1]; /* green */ + d[(pos * 3) + 2] = source[(pos * ps) + 2]; /* blue */ +#endif + } + + return TRUE; +} + +static void +jpegErrorExit (j_common_ptr cinfo) +{ + char buffer[JMSG_LENGTH_MAX]; + struct jpegErrorMgr *err = (struct jpegErrorMgr *) cinfo->err; + + /* Format the message */ + (*cinfo->err->format_message) (cinfo, buffer); + + printf("%s\n", buffer); + + /* Return control to the setjmp point */ + longjmp (err->setjmp_buffer, 1); +} + +static Bool +readJPEGFileToImage (FILE *file, + int *width, + int *height, + void **data) +{ + struct jpeg_decompress_struct cinfo; + struct jpegErrorMgr jerr; + JSAMPLE *buf; + JSAMPROW *rows; + int i; + Bool result; + + if (!file) + return FALSE; + + cinfo.err = jpeg_std_error (&jerr.pub); + jerr.pub.error_exit = jpegErrorExit; + + if (setjmp (jerr.setjmp_buffer)) + { + /* this is called on decompression errors */ + jpeg_destroy_decompress (&cinfo); + return FALSE; + } + + jpeg_create_decompress (&cinfo); + + jpeg_stdio_src (&cinfo, file); + + jpeg_read_header (&cinfo, TRUE); + + cinfo.out_color_space = JCS_RGB; + + jpeg_start_decompress (&cinfo); + + *height = cinfo.output_height; + *width = cinfo.output_width; + + buf = calloc (cinfo.output_height * cinfo.output_width * + cinfo.output_components, sizeof (JSAMPLE)); + if (!buf) + { + jpeg_finish_decompress (&cinfo); + jpeg_destroy_decompress (&cinfo); + return FALSE; + } + + rows = malloc (cinfo.output_height * sizeof (JSAMPROW)); + if (!rows) + { + free (buf); + jpeg_finish_decompress (&cinfo); + jpeg_destroy_decompress (&cinfo); + return FALSE; + } + + for (i = 0; i < cinfo.output_height; i++) + rows[i] = &buf[i * cinfo.output_width * cinfo.output_components]; + + while (cinfo.output_scanline < cinfo.output_height) + jpeg_read_scanlines (&cinfo, &rows[cinfo.output_scanline], + cinfo.output_height - cinfo.output_scanline); + + jpeg_finish_decompress (&cinfo); + jpeg_destroy_decompress (&cinfo); + + /* convert the rgb data into BGRA format */ + result = rgbToBGRA (buf, data, *height, *width, 255); + + free (rows); + free(buf); + return result; +} + +static Bool +writeJPEG (CompDisplay *d, + void *buffer, + FILE *file, + int width, + int height, + int stride) +{ + struct jpeg_compress_struct cinfo; + struct jpeg_error_mgr jerr; + JSAMPROW row_pointer[1]; + JSAMPLE *data; + + /* convert the rgb data into BGRA format */ + if (!rgbaToRGB (buffer, &data, height, width, stride)) + return FALSE; + + cinfo.err = jpeg_std_error (&jerr); + jpeg_create_compress (&cinfo); + + jpeg_stdio_dest (&cinfo, file); + + cinfo.image_width = width; + cinfo.image_height = height; + cinfo.input_components = 3; + cinfo.in_color_space = JCS_RGB; + + jpeg_set_defaults (&cinfo); + jpeg_set_quality (&cinfo, imgjpegGetQuality (d), TRUE); + jpeg_start_compress (&cinfo, TRUE); + + while (cinfo.next_scanline < cinfo.image_height) + { + row_pointer[0] = + &data[(cinfo.image_height - cinfo.next_scanline - 1) * width * 3]; + jpeg_write_scanlines (&cinfo, row_pointer, 1); + } + + jpeg_finish_compress (&cinfo); + jpeg_destroy_compress (&cinfo); + + free (data); + + return TRUE; +} + +/* Turns the path & name into a real, absolute path + No extensions jiggery-pokery here, as JPEGs can be + .jpg or .jpeg - or, indeed, whatever. + Deals with the path, regardless of what it's passed. */ +static char* +createFilename (const char *path, + const char *name) +{ + char *filename = NULL; + + if (path && !name) + asprintf (&filename, "%s", path); + else if (!path && name) + asprintf (&filename, "%s", name); + else + asprintf (&filename, "%s/%s", path, name); + + return filename; +} + +static Bool +JPEGImageToFile (CompDisplay *d, + const char *path, + const char *name, + const char *format, + int width, + int height, + int stride, + void *data) +{ + Bool status = FALSE; + char *fileName; + FILE *file; + + /* Not a JPEG */ + if (strcasecmp (format, "jpeg") != 0 && strcasecmp (format, "jpg") != 0) + { + JPEG_DISPLAY (d); + UNWRAP (jd, d, imageToFile); + status = (*d->imageToFile) (d, path, name, format, + width, height, stride, data); + WRAP (jd, d, imageToFile, JPEGImageToFile); + return status; + } + + /* Is a JPEG */ + fileName = createFilename (path, name); + if (!fileName) + return FALSE; + + file = fopen (fileName, "wb"); + if (file) + { + status = writeJPEG (d, data, file, width, height, stride); + fclose (file); + } + + free (fileName); + return status; +} + +static Bool +JPEGFileToImage (CompDisplay *d, + const char *path, + const char *name, + int *width, + int *height, + int *stride, + void **data) +{ + Bool status = FALSE; + char *fileName, *extension; + + JPEG_DISPLAY (d); + + fileName = createFilename (path, name); + if (!fileName) + return FALSE; + + /* Do some testing here to see if it's got a .jpg or .jpeg extension */ + extension = strrchr (fileName, '.'); + if (extension) + { + if (strcasecmp (extension, ".jpeg") == 0 || + strcasecmp (extension, ".jpg") == 0) + { + FILE *file; + + file = fopen (fileName, "rb"); + if (file) + { + status = readJPEGFileToImage (file, width, height, data); + fclose (file); + + if (status) /* Success! */ + { + free (fileName); + *stride = *width * 4; + return TRUE; + } + } + } + } + free (fileName); + + /* Isn't a JPEG - pass to the next in the chain. */ + UNWRAP (jd, d, fileToImage); + status = (*d->fileToImage) (d, path, name, width, height, stride, data); + WRAP (jd, d, fileToImage, JPEGFileToImage); + + return status; +} + +static Bool +JPEGInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + JPEGDisplay *jd; + + jd = malloc (sizeof (JPEGDisplay)); + if (!jd) + return FALSE; + + WRAP (jd, d, fileToImage, JPEGFileToImage); + WRAP (jd, d, imageToFile, JPEGImageToFile); + + d->privates[displayPrivateIndex].ptr = jd; + + return TRUE; +} + +static void +JPEGFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + JPEG_DISPLAY (d); + + UNWRAP (jd, d, fileToImage); + UNWRAP (jd, d, imageToFile); + + free (jd); +} + + +static Bool +JPEGInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +JPEGFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +JPEGGetVersion (CompPlugin *p, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable JPEGVTable = { + "imgjpeg", + JPEGGetVersion, + 0, + JPEGInit, + JPEGFini, + JPEGInitDisplay, + JPEGFiniDisplay, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable* +getCompPluginInfo (void) +{ + return &JPEGVTable; +} diff --git a/jpeg/imgjpeg_options.c b/jpeg/imgjpeg_options.c new file mode 100644 index 0000000..c932338 --- /dev/null +++ b/jpeg/imgjpeg_options.c @@ -0,0 +1,234 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _IMGJPEG_OPTIONS_INTERNAL +#include "imgjpeg_options.h" + +static int displayPrivateIndex; + +static CompMetadata imgjpegOptionsMetadata; + +static CompPluginVTable *imgjpegPluginVTable = NULL; +CompPluginVTable imgjpegOptionsVTable; + +#define GET_IMGJPEG_OPTIONS_DISPLAY(d) \ + ((ImgjpegOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define IMGJPEG_OPTIONS_DISPLAY(d) \ + ImgjpegOptionsDisplay *od = GET_IMGJPEG_OPTIONS_DISPLAY (d) + +#define GET_IMGJPEG_OPTIONS_SCREEN(s, od) \ + ((ImgjpegOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define IMGJPEG_OPTIONS_SCREEN(s) \ + ImgjpegOptionsScreen *os = GET_IMGJPEG_OPTIONS_SCREEN (s, GET_IMGJPEG_OPTIONS_DISPLAY (s->display)) + +typedef struct _ImgjpegOptionsDisplay +{ + int screenPrivateIndex; + + CompOption opt[ImgjpegDisplayOptionNum]; + imgjpegDisplayOptionChangeNotifyProc notify[ImgjpegDisplayOptionNum]; +} ImgjpegOptionsDisplay; + +typedef struct _ImgjpegOptionsScreen +{ +} ImgjpegOptionsScreen; + +int imgjpegGetQuality (CompDisplay *d) +{ + IMGJPEG_OPTIONS_DISPLAY(d); + return od->opt[ImgjpegDisplayOptionQuality].value.i; +} + +CompOption * imgjpegGetQualityOption (CompDisplay *d) +{ + IMGJPEG_OPTIONS_DISPLAY(d); + return &od->opt[ImgjpegDisplayOptionQuality]; +} + +void imgjpegSetQualityNotify (CompDisplay *d, imgjpegDisplayOptionChangeNotifyProc notify) +{ + IMGJPEG_OPTIONS_DISPLAY(d); + od->notify[ImgjpegDisplayOptionQuality] = notify; +} + +CompOption * imgjpegGetDisplayOption (CompDisplay *d, ImgjpegDisplayOptions num) +{ + IMGJPEG_OPTIONS_DISPLAY(d); + return &od->opt[num]; +} + +static const CompMetadataOptionInfo imgjpegOptionsDisplayOptionInfo[] = { + { "quality", "int", "0100", 0, 0 }, +}; + +static Bool imgjpegOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) +{ + IMGJPEG_OPTIONS_DISPLAY(d); + CompOption *o; + int index; + + o = compFindOption (od->opt, ImgjpegDisplayOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case ImgjpegDisplayOptionQuality: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ImgjpegDisplayOptionQuality]) + (*od->notify[ImgjpegDisplayOptionQuality]) (d, o, ImgjpegDisplayOptionQuality); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * imgjpegOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) +{ + IMGJPEG_OPTIONS_DISPLAY(d); + *count = ImgjpegDisplayOptionNum; + return od->opt; +} + +static Bool imgjpegOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + ImgjpegOptionsScreen *os; + + IMGJPEG_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(ImgjpegOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (imgjpegPluginVTable && imgjpegPluginVTable->initScreen) + return imgjpegPluginVTable->initScreen (p, s); + return TRUE; +} + +static void imgjpegOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (imgjpegPluginVTable && imgjpegPluginVTable->finiScreen) + return imgjpegPluginVTable->finiScreen (p, s); + + IMGJPEG_OPTIONS_SCREEN (s); + + free (os); +} + +static Bool imgjpegOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + ImgjpegOptionsDisplay *od; + + + od = calloc (1, sizeof(ImgjpegOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (!compInitDisplayOptionsFromMetadata (d, &imgjpegOptionsMetadata, imgjpegOptionsDisplayOptionInfo, od->opt, ImgjpegDisplayOptionNum)) + { + free (od); + return FALSE; + } + if (imgjpegPluginVTable && imgjpegPluginVTable->initDisplay) + return imgjpegPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void imgjpegOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (imgjpegPluginVTable && imgjpegPluginVTable->finiDisplay) + return imgjpegPluginVTable->finiDisplay (p, d); + + IMGJPEG_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + + compFiniDisplayOptions (d, od->opt, ImgjpegDisplayOptionNum); + + free (od); +} + +static Bool imgjpegOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&imgjpegOptionsMetadata, "imgjpeg",imgjpegOptionsDisplayOptionInfo, ImgjpegDisplayOptionNum, 0, 0)) + return FALSE; + + compAddMetadataFromFile (&imgjpegOptionsMetadata, "imgjpeg"); + if (imgjpegPluginVTable && imgjpegPluginVTable->init) + return imgjpegPluginVTable->init (p); + return TRUE; +} + +static void imgjpegOptionsFini (CompPlugin *p) +{ + if (imgjpegPluginVTable && imgjpegPluginVTable->fini) + return imgjpegPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&imgjpegOptionsMetadata); +} + +static CompMetadata * +imgjpegOptionsGetMetadata (CompPlugin *plugin) +{ + return &imgjpegOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!imgjpegPluginVTable) + { + imgjpegPluginVTable = imgjpegOptionsGetCompPluginInfo (); + memcpy(&imgjpegOptionsVTable, imgjpegPluginVTable, sizeof(CompPluginVTable)); + imgjpegOptionsVTable.getMetadata = imgjpegOptionsGetMetadata; + imgjpegOptionsVTable.init = imgjpegOptionsInit; + imgjpegOptionsVTable.fini = imgjpegOptionsFini; + imgjpegOptionsVTable.initDisplay = imgjpegOptionsInitDisplay; + imgjpegOptionsVTable.finiDisplay = imgjpegOptionsFiniDisplay; + imgjpegOptionsVTable.initScreen = imgjpegOptionsInitScreen; + imgjpegOptionsVTable.finiScreen = imgjpegOptionsFiniScreen; + imgjpegOptionsVTable.getDisplayOptions = imgjpegOptionsGetDisplayOptions; + imgjpegOptionsVTable.setDisplayOption = imgjpegOptionsSetDisplayOption; + + } + return &imgjpegOptionsVTable; +} + diff --git a/jpeg/imgjpeg_options.h b/jpeg/imgjpeg_options.h new file mode 100644 index 0000000..a270129 --- /dev/null +++ b/jpeg/imgjpeg_options.h @@ -0,0 +1,52 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _IMGJPEG_OPTIONS_H +#define _IMGJPEG_OPTIONS_H + +#ifndef _IMGJPEG_OPTIONS_INTERNAL +#define getCompPluginInfo imgjpegOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *imgjpegOptionsGetCompPluginInfo (void); + +typedef enum +{ + ImgjpegDisplayOptionQuality, + ImgjpegDisplayOptionNum +} ImgjpegDisplayOptions; + +typedef void (*imgjpegDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, ImgjpegDisplayOptions num); + +CompOption *imgjpegGetDisplayOption (CompDisplay *d, ImgjpegDisplayOptions num); + +typedef enum +{ + ImgjpegScreenOptionNum +} ImgjpegScreenOptions; + +typedef void (*imgjpegScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, ImgjpegScreenOptions num); + +CompOption *imgjpegGetScreenOption (CompScreen *s, ImgjpegScreenOptions num); + +int imgjpegGetQuality (CompDisplay *d); +CompOption * imgjpegGetQualityOption (CompDisplay *d); +void imgjpegSetQualityNotify (CompDisplay *d, imgjpegDisplayOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libdecoration/Makefile b/libdecoration/Makefile new file mode 100644 index 0000000..1adadb6 --- /dev/null +++ b/libdecoration/Makefile @@ -0,0 +1,579 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# libdecoration/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = libdecoration +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/libdecoration.pc.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = libdecoration.pc +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +libdecoration_la_DEPENDENCIES = +am_libdecoration_la_OBJECTS = decoration.lo +libdecoration_la_OBJECTS = $(am_libdecoration_la_OBJECTS) +libdecoration_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libdecoration_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libdecoration_la_SOURCES) +DIST_SOURCES = $(libdecoration_la_SOURCES) +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgconfig_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/libdecoration +abs_srcdir = /media/disk-3/src/compiz/libdecoration +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +lib_LTLIBRARIES = libdecoration.la +libdecoration_la_LIBADD = -lXrender -lX11 -lm +libdecoration_la_LDFLAGS = -no-undefined +libdecoration_la_SOURCES = decoration.c +INCLUDES = -I$(top_srcdir)/include +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libdecoration.pc +EXTRA_DIST = libdecoration.pc.in +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libdecoration/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu libdecoration/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +libdecoration.pc: $(top_builddir)/config.status $(srcdir)/libdecoration.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libdecoration.la: $(libdecoration_la_OBJECTS) $(libdecoration_la_DEPENDENCIES) + $(libdecoration_la_LINK) -rpath $(libdir) $(libdecoration_la_OBJECTS) $(libdecoration_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/decoration.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-pkgconfigDATA + +install-dvi: install-dvi-am + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfigDATA + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am \ + install-libLTLIBRARIES install-man install-pdf install-pdf-am \ + install-pkgconfigDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-libLTLIBRARIES \ + uninstall-pkgconfigDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libdecoration/Makefile.am b/libdecoration/Makefile.am new file mode 100644 index 0000000..c2e8c57 --- /dev/null +++ b/libdecoration/Makefile.am @@ -0,0 +1,12 @@ +lib_LTLIBRARIES = libdecoration.la + +libdecoration_la_LIBADD = @DECORATION_LIBS@ -lm +libdecoration_la_LDFLAGS = -no-undefined +libdecoration_la_SOURCES = decoration.c + +INCLUDES = @DECORATION_CFLAGS@ -I$(top_srcdir)/include + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libdecoration.pc + +EXTRA_DIST = libdecoration.pc.in \ No newline at end of file diff --git a/libdecoration/Makefile.in b/libdecoration/Makefile.in new file mode 100644 index 0000000..7b99fa7 --- /dev/null +++ b/libdecoration/Makefile.in @@ -0,0 +1,579 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = libdecoration +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/libdecoration.pc.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = libdecoration.pc +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +libdecoration_la_DEPENDENCIES = +am_libdecoration_la_OBJECTS = decoration.lo +libdecoration_la_OBJECTS = $(am_libdecoration_la_OBJECTS) +libdecoration_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libdecoration_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libdecoration_la_SOURCES) +DIST_SOURCES = $(libdecoration_la_SOURCES) +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgconfig_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +lib_LTLIBRARIES = libdecoration.la +libdecoration_la_LIBADD = @DECORATION_LIBS@ -lm +libdecoration_la_LDFLAGS = -no-undefined +libdecoration_la_SOURCES = decoration.c +INCLUDES = @DECORATION_CFLAGS@ -I$(top_srcdir)/include +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libdecoration.pc +EXTRA_DIST = libdecoration.pc.in +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libdecoration/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu libdecoration/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +libdecoration.pc: $(top_builddir)/config.status $(srcdir)/libdecoration.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libdecoration.la: $(libdecoration_la_OBJECTS) $(libdecoration_la_DEPENDENCIES) + $(libdecoration_la_LINK) -rpath $(libdir) $(libdecoration_la_OBJECTS) $(libdecoration_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoration.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-pkgconfigDATA + +install-dvi: install-dvi-am + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgconfigDATA + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am \ + install-libLTLIBRARIES install-man install-pdf install-pdf-am \ + install-pkgconfigDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-libLTLIBRARIES \ + uninstall-pkgconfigDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/libdecoration/decoration.c b/libdecoration/decoration.c new file mode 100644 index 0000000..91d10cf --- /dev/null +++ b/libdecoration/decoration.c @@ -0,0 +1,2804 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: David Reveman + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include + +#include + +#include +#include + +int +decor_version (void) +{ + return DECOR_INTERFACE_VERSION; +} + +/* + decoration property + ------------------- + + data[0] = version + + data[1] = pixmap + + data[2] = input left + data[3] = input right + data[4] = input top + data[5] = input bottom + + data[6] = input left when maximized + data[7] = input right when maximized + data[8] = input top when maximized + data[9] = input bottom when maximized + + data[10] = min width + data[11] = min height + + flags + + 1st to 4nd bit p1 gravity, 5rd to 8th bit p2 gravity, + 9rd and 10th bit alignment, 11rd and 12th bit clamp, + 13th bit XX, 14th bit XY, 15th bit YX, 16th bit YY. + + data[11 + n * 9 + 1] = flags + data[11 + n * 9 + 2] = p1 x + data[11 + n * 9 + 3] = p1 y + data[11 + n * 9 + 4] = p2 x + data[11 + n * 9 + 5] = p2 y + data[11 + n * 9 + 6] = widthMax + data[11 + n * 9 + 7] = heightMax + data[11 + n * 9 + 8] = x0 + data[11 + n * 9 + 9] = y0 + */ +void +decor_quads_to_property (long *data, + Pixmap pixmap, + decor_extents_t *input, + decor_extents_t *max_input, + int min_width, + int min_height, + decor_quad_t *quad, + int nQuad) +{ + *data++ = DECOR_INTERFACE_VERSION; + + memcpy (data++, &pixmap, sizeof (Pixmap)); + + *data++ = input->left; + *data++ = input->right; + *data++ = input->top; + *data++ = input->bottom; + + *data++ = max_input->left; + *data++ = max_input->right; + *data++ = max_input->top; + *data++ = max_input->bottom; + + *data++ = min_width; + *data++ = min_height; + + while (nQuad--) + { + *data++ = + (quad->p1.gravity << 0) | + (quad->p2.gravity << 4) | + (quad->align << 8) | + (quad->clamp << 10) | + (quad->stretch << 12) | + (quad->m.xx ? XX_MASK : 0) | + (quad->m.xy ? XY_MASK : 0) | + (quad->m.yx ? YX_MASK : 0) | + (quad->m.yy ? YY_MASK : 0); + + *data++ = quad->p1.x; + *data++ = quad->p1.y; + *data++ = quad->p2.x; + *data++ = quad->p2.y; + *data++ = quad->max_width; + *data++ = quad->max_height; + *data++ = quad->m.x0; + *data++ = quad->m.y0; + + quad++; + } +} + +int +decor_property_get_version (long *data) +{ + return (int) *data; +} + +int +decor_property_to_quads (long *data, + int size, + Pixmap *pixmap, + decor_extents_t *input, + decor_extents_t *max_input, + int *min_width, + int *min_height, + decor_quad_t *quad) +{ + int i, n, flags; + + if (size < BASE_PROP_SIZE + QUAD_PROP_SIZE) + return 0; + + if (decor_property_get_version (data) != decor_version ()) + return 0; + + data++; + + memcpy (pixmap, data++, sizeof (Pixmap)); + + input->left = *data++; + input->right = *data++; + input->top = *data++; + input->bottom = *data++; + + max_input->left = *data++; + max_input->right = *data++; + max_input->top = *data++; + max_input->bottom = *data++; + + *min_width = *data++; + *min_height = *data++; + + n = (size - BASE_PROP_SIZE) / QUAD_PROP_SIZE; + + for (i = 0; i < n; i++) + { + flags = *data++; + + quad->p1.gravity = (flags >> 0) & 0xf; + quad->p2.gravity = (flags >> 4) & 0xf; + + quad->align = (flags >> 8) & 0x3; + quad->clamp = (flags >> 10) & 0x3; + quad->stretch = (flags >> 12) & 0x3; + + quad->m.xx = (flags & XX_MASK) ? 1.0f : 0.0f; + quad->m.xy = (flags & XY_MASK) ? 1.0f : 0.0f; + quad->m.yx = (flags & YX_MASK) ? 1.0f : 0.0f; + quad->m.yy = (flags & YY_MASK) ? 1.0f : 0.0f; + + quad->p1.x = *data++; + quad->p1.y = *data++; + quad->p2.x = *data++; + quad->p2.y = *data++; + + quad->max_width = *data++; + quad->max_height = *data++; + + quad->m.x0 = *data++; + quad->m.y0 = *data++; + + quad++; + } + + return n; +} + +static int +add_blur_boxes (long *data, + BoxPtr box, + int n_box, + int width, + int height, + int gravity, + int offset) +{ + int x1, y1, x2, y2; + int more_gravity; + int n = n_box; + + while (n--) + { + x1 = box->x1; + y1 = box->y1; + x2 = box->x2; + y2 = box->y2; + + if (gravity & (GRAVITY_NORTH | GRAVITY_SOUTH)) + { + if (x1 > offset) + { + more_gravity = GRAVITY_EAST; + x1 -= width; + } + else + { + more_gravity = GRAVITY_WEST; + } + } + else + { + if (y1 > offset) + { + more_gravity = GRAVITY_SOUTH; + y1 -= height; + } + else + { + more_gravity = GRAVITY_NORTH; + } + } + + *data++ = gravity | more_gravity; + *data++ = x1; + *data++ = y1; + + if (gravity & (GRAVITY_NORTH | GRAVITY_SOUTH)) + { + if (x2 > offset) + { + more_gravity = GRAVITY_EAST; + x2 -= width; + } + else + { + more_gravity = GRAVITY_WEST; + } + } + else + { + if (y2 > offset) + { + more_gravity = GRAVITY_SOUTH; + y2 -= height; + } + else + { + more_gravity = GRAVITY_NORTH; + } + } + + *data++ = gravity | more_gravity; + *data++ = x2; + *data++ = y2; + + box++; + } + + return n_box * 6; +} + +void +decor_region_to_blur_property (long *data, + int threshold, + int filter, + int width, + int height, + Region top_region, + int top_offset, + Region bottom_region, + int bottom_offset, + Region left_region, + int left_offset, + Region right_region, + int right_offset) +{ + *data++ = threshold; + *data++ = filter; + + if (top_region) + data += add_blur_boxes (data, + top_region->rects, + top_region->numRects, + width, height, + GRAVITY_NORTH, + top_offset); + + if (bottom_region) + data += add_blur_boxes (data, + bottom_region->rects, + bottom_region->numRects, + width, height, + GRAVITY_SOUTH, + bottom_offset); + + if (left_region) + data += add_blur_boxes (data, + left_region->rects, + left_region->numRects, + width, height, + GRAVITY_WEST, + left_offset); + + if (right_region) + data += add_blur_boxes (data, + right_region->rects, + right_region->numRects, + width, height, + GRAVITY_EAST, + right_offset); +} + +void +decor_apply_gravity (int gravity, + int x, + int y, + int width, + int height, + int *return_x, + int *return_y) +{ + if (gravity & GRAVITY_EAST) + { + x += width; + *return_x = MAX (0, x); + } + else if (gravity & GRAVITY_WEST) + { + *return_x = MIN (width, x); + } + else + { + x += width / 2; + x = MAX (0, x); + x = MIN (width, x); + *return_x = x; + } + + if (gravity & GRAVITY_SOUTH) + { + y += height; + *return_y = MAX (0, y); + } + else if (gravity & GRAVITY_NORTH) + { + *return_y = MIN (height, y); + } + else + { + y += height / 2; + y = MAX (0, y); + y = MIN (height, y); + *return_y = y; + } +} + +int +decor_set_vert_quad_row (decor_quad_t *q, + int top, + int top_corner, + int bottom, + int bottom_corner, + int left, + int right, + int gravity, + int height, + int splitY, + int splitGravity, + double x0, + double y0, + int rotation) +{ + int nQuad = 0; + + q->p1.x = left; + q->p1.y = -top; + q->p1.gravity = gravity | GRAVITY_NORTH; + q->p2.x = right; + q->p2.y = splitY; + q->p2.gravity = gravity | splitGravity; + q->max_width = SHRT_MAX; + q->max_height = top + top_corner; + q->align = ALIGN_TOP; + q->clamp = CLAMP_VERT; + q->stretch = 0; + q->m.x0 = x0; + q->m.y0 = y0; + + if (rotation) + { + q->m.xx = 0.0; + q->m.xy = 1.0; + q->m.yx = 1.0; + q->m.yy = 0.0; + } + else + { + q->m.xx = 1.0; + q->m.xy = 0.0; + q->m.yx = 0.0; + q->m.yy = 1.0; + } + + q++; nQuad++; + + q->p1.x = left; + q->p1.y = top_corner; + q->p1.gravity = gravity | GRAVITY_NORTH; + q->p2.x = right; + q->p2.y = -bottom_corner; + q->p2.gravity = gravity | GRAVITY_SOUTH; + q->max_width = SHRT_MAX; + q->max_height = SHRT_MAX; + q->align = 0; + q->clamp = CLAMP_VERT; + q->stretch = 0; + + if (rotation) + { + q->m.xx = 0.0; + q->m.xy = 0.0; + q->m.yx = 1.0; + q->m.yy = 0.0; + q->m.x0 = x0 + top + top_corner; + q->m.y0 = y0; + } + else + { + q->m.xx = 1.0; + q->m.xy = 0.0; + q->m.yx = 0.0; + q->m.yy = 0.0; + q->m.x0 = x0; + q->m.y0 = y0 + top + top_corner; + } + + q++; nQuad++; + + q->p1.x = left; + q->p1.y = splitY; + q->p1.gravity = gravity | splitGravity; + q->p2.x = right; + q->p2.y = bottom; + q->p2.gravity = gravity | GRAVITY_SOUTH; + q->max_width = SHRT_MAX; + q->max_height = bottom_corner + bottom; + q->align = ALIGN_BOTTOM; + q->clamp = CLAMP_VERT; + q->stretch = 0; + + if (rotation) + { + q->m.xx = 0.0; + q->m.xy = 1.0; + q->m.yx = 1.0; + q->m.yy = 0.0; + q->m.x0 = x0 + height; + q->m.y0 = y0; + } + else + { + q->m.xx = 1.0; + q->m.xy = 0.0; + q->m.yx = 0.0; + q->m.yy = 1.0; + q->m.x0 = x0; + q->m.y0 = y0 + height; + } + + nQuad++; + + return nQuad; +} + +int +decor_set_horz_quad_line (decor_quad_t *q, + int left, + int left_corner, + int right, + int right_corner, + int top, + int bottom, + int gravity, + int width, + int splitX, + int splitGravity, + double x0, + double y0) +{ + int nQuad = 0; + + q->p1.x = -left; + q->p1.y = top; + q->p1.gravity = gravity | GRAVITY_WEST; + q->p2.x = splitX; + q->p2.y = bottom; + q->p2.gravity = gravity | splitGravity; + q->max_width = left + left_corner; + q->max_height = SHRT_MAX; + q->align = ALIGN_LEFT; + q->clamp = 0; + q->stretch = 0; + q->m.xx = 1.0; + q->m.xy = 0.0; + q->m.yx = 0.0; + q->m.yy = 1.0; + q->m.x0 = x0; + q->m.y0 = y0; + + q++; nQuad++; + + q->p1.x = left_corner; + q->p1.y = top; + q->p1.gravity = gravity | GRAVITY_WEST; + q->p2.x = -right_corner; + q->p2.y = bottom; + q->p2.gravity = gravity | GRAVITY_EAST; + q->max_width = SHRT_MAX; + q->max_height = SHRT_MAX; + q->align = 0; + q->clamp = 0; + q->stretch = 0; + q->m.xx = 0.0; + q->m.xy = 0.0; + q->m.yx = 0.0; + q->m.yy = 1.0; + q->m.x0 = x0 + left + left_corner; + q->m.y0 = y0; + + q++; nQuad++; + + q->p1.x = splitX; + q->p1.y = top; + q->p1.gravity = gravity | splitGravity; + q->p2.x = right; + q->p2.y = bottom; + q->p2.gravity = gravity | GRAVITY_EAST; + q->max_width = right_corner + right; + q->max_height = SHRT_MAX; + q->align = ALIGN_RIGHT; + q->clamp = 0; + q->stretch = 0; + q->m.xx = 1.0; + q->m.xy = 0.0; + q->m.yx = 0.0; + q->m.yy = 1.0; + q->m.x0 = x0 + width; + q->m.y0 = y0; + + nQuad++; + + return nQuad; +} + +int +decor_set_lSrS_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l) +{ + int lh, rh, splitY, n, nQuad = 0; + + splitY = (c->top_corner_space - c->bottom_corner_space) / 2; + + if (l->rotation) + { + lh = l->left.x2 - l->left.x1; + rh = l->right.x2 - l->right.x1; + } + else + { + lh = l->left.y2 - l->left.y1; + rh = l->right.y2 - l->right.y1; + } + + /* left quads */ + n = decor_set_vert_quad_row (q, + 0, + c->top_corner_space, + 0, + c->bottom_corner_space, + -c->left_space, + 0, + GRAVITY_WEST, + lh, + splitY, + 0, + l->left.x1, + l->left.y1, + l->rotation); + + q += n; nQuad += n; + + /* right quads */ + n = decor_set_vert_quad_row (q, + 0, + c->top_corner_space, + 0, + c->bottom_corner_space, + 0, + c->right_space, + GRAVITY_EAST, + rh, + splitY, + 0, + l->right.x1, + l->right.y1, + l->rotation); + + nQuad += n; + + return nQuad; +} + +int +decor_set_lSrStSbS_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l) +{ + int splitX, n, nQuad = 0; + + splitX = (c->left_corner_space - c->right_corner_space) / 2; + + /* top quads */ + n = decor_set_horz_quad_line (q, + c->left_space, + c->left_corner_space, + c->right_space, + c->right_corner_space, + -c->top_space, + 0, + GRAVITY_NORTH, + l->top.x2 - l->top.x1, + splitX, + 0, + l->top.x1, + l->top.y1); + + q += n; nQuad += n; + + n = decor_set_lSrS_window_quads (q, c, l); + + q += n; nQuad += n; + + /* bottom quads */ + n = decor_set_horz_quad_line (q, + c->left_space, + c->left_corner_space, + c->right_space, + c->right_corner_space, + 0, + c->bottom_space, + GRAVITY_SOUTH, + l->bottom.x2 - l->bottom.x1, + splitX, + 0, + l->bottom.x1, + l->bottom.y1); + + nQuad += n; + + return nQuad; +} + +int +decor_set_lSrStXbS_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l, + int top_stretch_offset) +{ + int splitX, n, nQuad = 0; + int top_left, top_right; + + splitX = (c->left_corner_space - c->right_corner_space) / 2; + + top_left = top_stretch_offset; + top_right = l->top.x2 - l->top.x1 - + c->left_space - c->right_space - top_left - 1; + + /* top quads */ + n = decor_set_horz_quad_line (q, + c->left_space, + top_left, + c->right_space, + top_right, + -c->top_space, + 0, + GRAVITY_NORTH, + l->top.x2 - l->top.x1, + -top_right, + GRAVITY_EAST, + l->top.x1, + l->top.y1); + + q += n; nQuad += n; + + n = decor_set_lSrS_window_quads (q, c, l); + + q += n; nQuad += n; + + /* bottom quads */ + n = decor_set_horz_quad_line (q, + c->left_space, + c->left_corner_space, + c->right_space, + c->right_corner_space, + 0, + c->bottom_space, + GRAVITY_SOUTH, + l->bottom.x2 - l->bottom.x1, + splitX, + 0, + l->bottom.x1, + l->bottom.y1); + + nQuad += n; + + return nQuad; +} + +int +decor_set_lSrStSbX_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l, + int bottom_stretch_offset) +{ + int splitX, n, nQuad = 0; + int bottom_left, bottom_right; + + splitX = (c->left_corner_space - c->right_corner_space) / 2; + + bottom_left = bottom_stretch_offset; + bottom_right = l->bottom.x2 - l->bottom.x1 - + c->left_space - c->right_space - bottom_left - 1; + + /* top quads */ + n = decor_set_horz_quad_line (q, + c->left_space, + c->left_corner_space, + c->right_space, + c->right_corner_space, + -c->top_space, + 0, + GRAVITY_NORTH, + l->top.x2 - l->top.x1, + splitX, + 0, + l->top.x1, + l->top.y1); + + q += n; nQuad += n; + + n = decor_set_lSrS_window_quads (q, c, l); + + q += n; nQuad += n; + + /* bottom quads */ + n = decor_set_horz_quad_line (q, + c->left_space, + bottom_left, + c->right_space, + bottom_right, + 0, + c->bottom_space, + GRAVITY_SOUTH, + l->bottom.x2 - l->bottom.x1, + -bottom_right, + GRAVITY_EAST, + l->bottom.x1, + l->bottom.y1); + + nQuad += n; + + return nQuad; +} + +int +decor_set_lXrXtXbX_window_quads (decor_quad_t *q, + decor_context_t *c, + decor_layout_t *l, + int left_stretch_offset, + int right_stretch_offset, + int top_stretch_offset, + int bottom_stretch_offset) +{ + int lh, rh, n, nQuad = 0; + int left_top, left_bottom; + int right_top, right_bottom; + int top_left, top_right; + int bottom_left, bottom_right; + + top_left = top_stretch_offset; + top_right = l->top.x2 - l->top.x1 - + c->left_space - c->right_space - top_left - 1; + + bottom_left = bottom_stretch_offset; + bottom_right = l->bottom.x2 - l->bottom.x1 - + c->left_space - c->right_space - bottom_left - 1; + + if (l->rotation) + { + lh = l->left.x2 - l->left.x1; + rh = l->right.x2 - l->right.x1; + } + else + { + lh = l->left.y2 - l->left.y1; + rh = l->right.y2 - l->right.y1; + } + + left_top = left_stretch_offset; + left_bottom = lh - left_top - 1; + + right_top = right_stretch_offset; + right_bottom = rh - right_top - 1; + + + /* top quads */ + n = decor_set_horz_quad_line (q, + c->left_space, + top_left, + c->right_space, + top_right, + -c->top_space, + 0, + GRAVITY_NORTH, + l->top.x2 - l->top.x1, + -top_right, + GRAVITY_EAST, + l->top.x1, + l->top.y1); + + q += n; nQuad += n; + + /* left quads */ + n = decor_set_vert_quad_row (q, + 0, + left_top, + 0, + left_bottom, + -c->left_space, + 0, + GRAVITY_WEST, + lh, + -left_bottom, + GRAVITY_SOUTH, + l->left.x1, + l->left.y1, + l->rotation); + + q += n; nQuad += n; + + /* right quads */ + n = decor_set_vert_quad_row (q, + 0, + right_top, + 0, + right_bottom, + 0, + c->right_space, + GRAVITY_EAST, + rh, + -right_bottom, + GRAVITY_SOUTH, + l->right.x1, + l->right.y1, + l->rotation); + + q += n; nQuad += n; + + /* bottom quads */ + n = decor_set_horz_quad_line (q, + c->left_space, + bottom_left, + c->right_space, + bottom_right, + 0, + c->bottom_space, + GRAVITY_SOUTH, + l->bottom.x2 - l->bottom.x1, + -bottom_right, + GRAVITY_EAST, + l->bottom.x1, + l->bottom.y1); + + nQuad += n; + + return nQuad; +} + +#if INT_MAX != LONG_MAX + +static int errors; + +static int +error_handler (Display *xdisplay, + XErrorEvent *event) +{ + errors++; + return 0; +} + +/* XRenderSetPictureFilter used to be broken on LP64. This + * works with either the broken or fixed version. + */ +static void +XRenderSetPictureFilter_wrapper (Display *dpy, + Picture picture, + char *filter, + XFixed *params, + int nparams) +{ + int (*old) (Display *, XErrorEvent *); + + errors = 0; + + old = XSetErrorHandler (error_handler); + + XRenderSetPictureFilter (dpy, picture, filter, params, nparams); + XSync (dpy, False); + + XSetErrorHandler (old); + + if (errors) + { + long *long_params = malloc (sizeof (long) * nparams); + int i; + + for (i = 0; i < nparams; i++) + long_params[i] = params[i]; + + XRenderSetPictureFilter (dpy, picture, filter, + (XFixed *) long_params, nparams); + free (long_params); + } +} + +#define XRenderSetPictureFilter XRenderSetPictureFilter_wrapper +#endif + +static void +set_picture_transform (Display *xdisplay, + Picture p, + int dx, + int dy) +{ + XTransform transform = { + { + { 1 << 16, 0, -dx << 16 }, + { 0, 1 << 16, -dy << 16 }, + { 0, 0, 1 << 16 }, + } + }; + + XRenderSetPictureTransform (xdisplay, p, &transform); +} + +static void +set_picture_clip (Display *xdisplay, + Picture p, + int width, + int height, + int clipX1, + int clipY1, + int clipX2, + int clipY2) +{ + XRectangle clip[4]; + + clip[0].x = 0; + clip[0].y = 0; + clip[0].width = width; + clip[0].height = clipY1; + + clip[1].x = 0; + clip[1].y = clipY2; + clip[1].width = width; + clip[1].height = height - clipY2; + + clip[2].x = 0; + clip[2].y = clipY1; + clip[2].width = clipX1; + clip[2].height = clipY2 - clipY1; + + clip[3].x = clipX2; + clip[3].y = clipY1; + clip[3].width = width - clipX2; + clip[3].height = clipY2 - clipY1; + + XRenderSetPictureClipRectangles (xdisplay, p, 0, 0, clip, 4); +} + +static void +set_no_picture_clip (Display *xdisplay, + Picture p) +{ + XRectangle clip; + + clip.x = 0; + clip.y = 0; + clip.width = SHRT_MAX; + clip.height = SHRT_MAX; + + XRenderSetPictureClipRectangles (xdisplay, p, 0, 0, &clip, 1); +} + +static XFixed * +create_gaussian_kernel (double radius, + double sigma, + double alpha, + int *r_size) +{ + XFixed *params; + double *amp, scale, x_scale, fx, sum; + int size, half_size, x, i, n; + + scale = 1.0f / (2.0f * M_PI * sigma * sigma); + half_size = alpha + 0.5f; + + if (half_size == 0) + half_size = 1; + + size = half_size * 2 + 1; + x_scale = 2.0f * radius / size; + + if (size < 3) + return NULL; + + n = size; + + amp = malloc (sizeof (double) * n); + if (!amp) + return NULL; + + n += 2; + + params = malloc (sizeof (XFixed) * n); + if (!params) + { + free (amp); + return NULL; + } + + i = 0; + sum = 0.0f; + + for (x = 0; x < size; x++) + { + fx = x_scale * (x - half_size); + + amp[i] = scale * exp ((-1.0f * (fx * fx)) / (2.0f * sigma * sigma)); + + sum += amp[i]; + + i++; + } + + /* normalize */ + if (sum != 0.0) + sum = 1.0 / sum; + + params[0] = params[1] = 0; + + for (i = 2; i < n; i++) + params[i] = XDoubleToFixed (amp[i - 2] * sum); + + free (amp); + + *r_size = size; + + return params; +} + +#define SIGMA(r) ((r) / 2.0) +#define ALPHA(r) (r) + +decor_shadow_t * +decor_shadow_create (Display *xdisplay, + Screen *screen, + int width, + int height, + int left, + int right, + int top, + int bottom, + int solid_left, + int solid_right, + int solid_top, + int solid_bottom, + decor_shadow_options_t *opt, + decor_context_t *c, + decor_draw_func_t draw, + void *closure) +{ + static XRenderColor white = { 0xffff, 0xffff, 0xffff, 0xffff }; + XRenderPictFormat *format; + Pixmap pixmap; + Picture src, dst, tmp; + XFixed opacity, *params; + XFilters *filters; + char *filter = NULL; + int size, n_params = 0; + XRenderColor color; + int shadow_offset_x; + int shadow_offset_y; + Pixmap d_pixmap; + int d_width; + int d_height; + Window xroot = screen->root; + decor_shadow_t *shadow; + int clipX1, clipY1, clipX2, clipY2; + + shadow = malloc (sizeof (decor_shadow_t)); + if (!shadow) + return NULL; + + shadow->ref_count = 1; + + shadow->pixmap = 0; + shadow->picture = 0; + shadow->width = 0; + shadow->height = 0; + + shadow_offset_x = opt->shadow_offset_x; + shadow_offset_y = opt->shadow_offset_y; + + /* compute a gaussian convolution kernel */ + params = create_gaussian_kernel (opt->shadow_radius, + SIGMA (opt->shadow_radius), + ALPHA (opt->shadow_radius), + &size); + if (!params) + shadow_offset_x = shadow_offset_y = size = 0; + + if (opt->shadow_radius <= 0.0 && + shadow_offset_x == 0 && + shadow_offset_y == 0) + size = 0; + + n_params = size + 2; + size = size / 2; + + c->extents.left = left; + c->extents.right = right; + c->extents.top = top; + c->extents.bottom = bottom; + + c->left_space = left + size - shadow_offset_x; + c->right_space = right + size + shadow_offset_x; + c->top_space = top + size - shadow_offset_y; + c->bottom_space = bottom + size + shadow_offset_y; + + c->left_space = MAX (left, c->left_space); + c->right_space = MAX (right, c->right_space); + c->top_space = MAX (top, c->top_space); + c->bottom_space = MAX (bottom, c->bottom_space); + + c->left_corner_space = MAX (1, size - solid_left + shadow_offset_x); + c->right_corner_space = MAX (1, size - solid_right - shadow_offset_x); + c->top_corner_space = MAX (1, size - solid_top + shadow_offset_y); + c->bottom_corner_space = MAX (1, size - solid_bottom - shadow_offset_y); + + width = MAX (width, c->left_corner_space + c->right_corner_space); + height = MAX (height, c->top_corner_space + c->bottom_corner_space); + + width = MAX (1, width); + height = MAX (1, height); + + d_width = c->left_space + width + c->right_space; + d_height = c->top_space + height + c->bottom_space; + + /* all pixmaps are ARGB32 */ + format = XRenderFindStandardFormat (xdisplay, PictStandardARGB32); + + /* no shadow */ + if (size <= 0) + { + if (params) + free (params); + + return shadow; + } + + pixmap = XCreatePixmap (xdisplay, xroot, d_width, d_height, 32); + if (!pixmap) + { + free (params); + return shadow; + } + + /* query server for convolution filter */ + filters = XRenderQueryFilters (xdisplay, pixmap); + if (filters) + { + int i; + + for (i = 0; i < filters->nfilter; i++) + { + if (strcmp (filters->filter[i], FilterConvolution) == 0) + { + filter = (char *) FilterConvolution; + break; + } + } + + XFree (filters); + } + + if (!filter) + { + XFreePixmap (xdisplay, pixmap); + free (params); + + return shadow; + } + + /* create pixmap for temporary decorations */ + d_pixmap = XCreatePixmap (xdisplay, xroot, d_width, d_height, 32); + if (!d_pixmap) + { + XFreePixmap (xdisplay, pixmap); + free (params); + + return shadow; + } + + src = XRenderCreateSolidFill (xdisplay, &white); + dst = XRenderCreatePicture (xdisplay, d_pixmap, format, 0, NULL); + tmp = XRenderCreatePicture (xdisplay, pixmap, format, 0, NULL); + + /* draw decoration */ + (*draw) (xdisplay, d_pixmap, dst, d_width, d_height, c, closure); + + /* first pass */ + params[0] = (n_params - 2) << 16; + params[1] = 1 << 16; + + clipX1 = c->left_space + size; + clipY1 = c->top_space + size; + clipX2 = d_width - c->right_space - size; + clipY2 = d_height - c->bottom_space - size; + + if (clipX1 < clipX2 && clipY1 < clipY2) + set_picture_clip (xdisplay, tmp, d_width, d_height, + clipX1, clipY1, clipX2, clipY2); + + set_picture_transform (xdisplay, dst, shadow_offset_x, 0); + XRenderSetPictureFilter (xdisplay, dst, filter, params, n_params); + XRenderComposite (xdisplay, + PictOpSrc, + src, + dst, + tmp, + 0, 0, + 0, 0, + 0, 0, + d_width, d_height); + + set_no_picture_clip (xdisplay, tmp); + + XRenderFreePicture (xdisplay, src); + + /* second pass */ + params[0] = 1 << 16; + params[1] = (n_params - 2) << 16; + + opacity = XDoubleToFixed (opt->shadow_opacity); + if (opacity < (1 << 16)) + { + /* apply opacity as shadow color if less than 1.0 */ + color.red = (opt->shadow_color[0] * opacity) >> 16; + color.green = (opt->shadow_color[1] * opacity) >> 16; + color.blue = (opt->shadow_color[2] * opacity) >> 16; + color.alpha = opacity; + + opacity = 1 << 16; + } + else + { + /* shadow color */ + color.red = opt->shadow_color[0]; + color.green = opt->shadow_color[1]; + color.blue = opt->shadow_color[2]; + color.alpha = 0xffff; + } + + src = XRenderCreateSolidFill (xdisplay, &color); + + clipX1 = c->left_space; + clipY1 = c->top_space; + clipX2 = d_width - c->right_space; + clipY2 = d_height - c->bottom_space; + + if (clipX1 < clipX2 && clipY1 < clipY2) + set_picture_clip (xdisplay, dst, d_width, d_height, + clipX1, clipY1, clipX2, clipY2); + + set_picture_transform (xdisplay, tmp, 0, shadow_offset_y); + XRenderSetPictureFilter (xdisplay, tmp, filter, params, n_params); + XRenderComposite (xdisplay, + PictOpSrc, + src, + tmp, + dst, + 0, 0, + 0, 0, + 0, 0, + d_width, d_height); + + set_no_picture_clip (xdisplay, dst); + + XRenderFreePicture (xdisplay, src); + + if (opacity != (1 << 16)) + { + XFixed p[3]; + + p[0] = 1 << 16; + p[1] = 1 << 16; + p[2] = opacity; + + if (clipX1 < clipX2 && clipY1 < clipY2) + set_picture_clip (xdisplay, tmp, d_width, d_height, + clipX1, clipY1, clipX2, clipY2); + + /* apply opacity */ + set_picture_transform (xdisplay, dst, 0, 0); + XRenderSetPictureFilter (xdisplay, dst, filter, p, 3); + XRenderComposite (xdisplay, + PictOpSrc, + dst, + None, + tmp, + 0, 0, + 0, 0, + 0, 0, + d_width, d_height); + + XFreePixmap (xdisplay, d_pixmap); + shadow->pixmap = pixmap; + } + else + { + XFreePixmap (xdisplay, pixmap); + shadow->pixmap = d_pixmap; + } + + XRenderFreePicture (xdisplay, tmp); + XRenderFreePicture (xdisplay, dst); + + shadow->picture = XRenderCreatePicture (xdisplay, shadow->pixmap, + format, 0, NULL); + + shadow->width = d_width; + shadow->height = d_height; + + free (params); + + return shadow; +} + +void +decor_shadow_destroy (Display *xdisplay, + decor_shadow_t *shadow) +{ + shadow->ref_count--; + if (shadow->ref_count) + return; + + if (shadow->picture) + XRenderFreePicture (xdisplay, shadow->picture); + + if (shadow->pixmap) + XFreePixmap (xdisplay, shadow->pixmap); + + free (shadow); +} + +void +decor_shadow_reference (decor_shadow_t *shadow) +{ + shadow->ref_count++; +} + +void +decor_draw_simple (Display *xdisplay, + Pixmap pixmap, + Picture picture, + int width, + int height, + decor_context_t *c, + void *closure) +{ + static XRenderColor clear = { 0x0000, 0x0000, 0x0000, 0x0000 }; + static XRenderColor white = { 0xffff, 0xffff, 0xffff, 0xffff }; + + XRenderFillRectangle (xdisplay, PictOpSrc, picture, &clear, + 0, + 0, + width, + height); + XRenderFillRectangle (xdisplay, PictOpSrc, picture, &white, + c->left_space - c->extents.left, + c->top_space - c->extents.top, + width - c->left_space - c->right_space + + c->extents.left + c->extents.right, + height - c->top_space - c->bottom_space + + c->extents.top + c->extents.bottom); +} + +void +decor_get_default_layout (decor_context_t *c, + int width, + int height, + decor_layout_t *layout) +{ + width = MAX (width, c->left_corner_space + c->right_corner_space); + height = MAX (height, c->top_corner_space + c->bottom_corner_space); + + width += c->left_space + c->right_space; + + layout->top.x1 = 0; + layout->top.y1 = 0; + layout->top.x2 = width; + layout->top.y2 = c->top_space; + layout->top.pad = 0; + + layout->left.x1 = 0; + layout->left.y1 = c->top_space; + layout->left.x2 = c->left_space; + layout->left.y2 = c->top_space + height; + layout->left.pad = 0; + + layout->right.x1 = width - c->right_space; + layout->right.y1 = c->top_space; + layout->right.x2 = width; + layout->right.y2 = c->top_space + height; + layout->right.pad = 0; + + layout->bottom.x1 = 0; + layout->bottom.y1 = height + c->top_space; + layout->bottom.x2 = width; + layout->bottom.y2 = height + c->top_space + c->bottom_space; + layout->bottom.pad = 0; + + layout->width = width; + layout->height = height + c->top_space + c->bottom_space; + + layout->rotation = 0; +} + +void +decor_get_best_layout (decor_context_t *c, + int width, + int height, + decor_layout_t *layout) +{ + int y; + + /* use default layout when no left and right extents */ + if (c->extents.left == 0 && c->extents.right == 0) + { + decor_get_default_layout (c, width, 1, layout); + return; + } + + width = MAX (width, c->left_corner_space + c->right_corner_space); + height = MAX (height, c->top_corner_space + c->bottom_corner_space); + + width += c->left_space + c->right_space; + + if (width >= (height + 2)) + { + int max; + + layout->width = width; + + layout->top.x1 = 0; + layout->top.y1 = 0; + layout->top.x2 = width; + layout->top.y2 = c->top_space; + + y = c->top_space; + + max = MAX (c->left_space, c->right_space); + if (max < height) + { + layout->rotation = 1; + + y += 2; + + layout->top.pad = PAD_BOTTOM; + layout->bottom.pad = PAD_TOP; + layout->left.pad = PAD_TOP | PAD_BOTTOM | PAD_LEFT | PAD_RIGHT; + layout->right.pad = PAD_TOP | PAD_BOTTOM | PAD_LEFT | PAD_RIGHT; + + layout->left.x1 = 1; + layout->left.y1 = y; + layout->left.x2 = 1 + height; + layout->left.y2 = y + c->left_space; + + if ((height + 2) <= (width / 2)) + { + layout->right.x1 = height + 3; + layout->right.y1 = y; + layout->right.x2 = height + 3 + height; + layout->right.y2 = y + c->right_space; + + y += max + 2; + } + else + { + y += c->left_space + 2; + + layout->right.x1 = 1; + layout->right.y1 = y; + layout->right.x2 = 1 + height; + layout->right.y2 = y + c->right_space; + + y += c->right_space + 2; + } + } + else + { + layout->top.pad = 0; + layout->bottom.pad = 0; + layout->left.pad = 0; + layout->right.pad = 0; + + layout->left.x1 = 0; + layout->left.y1 = y; + layout->left.x2 = c->left_space; + layout->left.y2 = y + height; + + layout->right.x1 = width - c->right_space; + layout->right.y1 = y; + layout->right.x2 = width; + layout->right.y2 = y + height; + + y += height; + } + + layout->bottom.x1 = 0; + layout->bottom.y1 = y; + layout->bottom.x2 = width; + layout->bottom.y2 = y + c->bottom_space; + + y += c->bottom_space; + } + else + { + layout->rotation = 1; + + layout->left.pad = PAD_TOP | PAD_BOTTOM | PAD_LEFT | PAD_RIGHT; + layout->right.pad = PAD_TOP | PAD_BOTTOM | PAD_LEFT | PAD_RIGHT; + + layout->top.x1 = 0; + layout->top.y1 = 0; + layout->top.x2 = width; + layout->top.y2 = c->top_space; + + if (((width * 2) + 3) <= (height + 2)) + { + layout->width = height + 2; + + layout->top.pad = PAD_BOTTOM | PAD_RIGHT; + layout->bottom.pad = PAD_TOP | PAD_BOTTOM | PAD_RIGHT | PAD_LEFT; + + layout->bottom.x1 = width + 2; + layout->bottom.y1 = 1; + layout->bottom.x2 = width + 2 + width; + layout->bottom.y2 = 1 + c->bottom_space; + + y = MAX (c->top_space, 1 + c->bottom_space) + 2; + + layout->left.x1 = 1; + layout->left.y1 = y; + layout->left.x2 = 1 + height; + layout->left.y2 = y + c->left_space; + + y += c->left_space + 2; + + layout->right.x1 = 1; + layout->right.y1 = y; + layout->right.x2 = 1 + height; + layout->right.y2 = y + c->right_space; + + y += c->right_space; + } + else + { + layout->width = height + 2; + + layout->top.pad = PAD_BOTTOM | PAD_RIGHT; + layout->bottom.pad = PAD_TOP | PAD_RIGHT; + + y = c->top_space + 2; + + layout->left.x1 = 1; + layout->left.y1 = y; + layout->left.x2 = 1 + height; + layout->left.y2 = y + c->left_space; + + y += c->left_space + 2; + + layout->right.x1 = 1; + layout->right.y1 = y; + layout->right.x2 = 1 + height; + layout->right.y2 = y + c->right_space; + + y += c->right_space + 2; + + layout->bottom.x1 = 0; + layout->bottom.y1 = y; + layout->bottom.x2 = width; + layout->bottom.y2 = y + c->bottom_space; + + y += c->bottom_space; + } + } + + layout->height = y; +} + +static XTransform xident = { + { + { 1 << 16, 0, 0 }, + { 0, 1 << 16, 0 }, + { 0, 0, 1 << 16 }, + } +}; + +void +decor_fill_picture_extents_with_shadow (Display *xdisplay, + decor_shadow_t *shadow, + decor_context_t *context, + Picture picture, + decor_layout_t *layout) +{ + int w, h, left, right, top, bottom, width, height; + + if (!shadow->picture) + return; + + width = layout->top.x2 - layout->top.x1; + if (layout->rotation) + height = layout->left.x2 - layout->left.x1; + else + height = layout->left.y2 - layout->left.y1; + + height += context->top_space + context->bottom_space; + + left = context->left_space + context->left_corner_space; + right = context->right_space + context->right_corner_space; + top = context->top_space + context->top_corner_space; + bottom = context->bottom_space + context->bottom_corner_space; + + if (width - left - right < 0) + { + left = width / 2; + right = width - left; + } + + if (height - top - bottom < 0) + { + top = height / 2; + bottom = height - top; + } + + w = width - left - right; + h = height - top - bottom; + + /* top left */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, 0, + 0, 0, + layout->top.x1, layout->top.y1, + left, context->top_space); + + /* top right */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + shadow->width - right, 0, + 0, 0, + layout->top.x2 - right, layout->top.y1, + right, context->top_space); + + /* bottom left */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, shadow->height - context->bottom_space, + 0, 0, + layout->bottom.x1, layout->bottom.y1, + left, context->bottom_space); + + /* bottom right */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + shadow->width - right, + shadow->height - context->bottom_space, + 0, 0, + layout->bottom.x2 - right, layout->bottom.y1, + right, context->bottom_space); + + if (w > 0) + { + int sw = shadow->width - left - right; + int sx = left; + + if (sw != w) + { + XTransform t = { + { + { (sw << 16) / w, 0, left << 16 }, + { 0, 1 << 16, 0 }, + { 0, 0, 1 << 16 }, + } + }; + + sx = 0; + + XRenderSetPictureTransform (xdisplay, shadow->picture, &t); + } + + /* top */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + sx, 0, + 0, 0, + layout->top.x1 + left, layout->top.y1, + w, context->top_space); + + /* bottom */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + sx, shadow->height - context->bottom_space, + 0, 0, + layout->bottom.x1 + left, layout->bottom.y1, + w, context->bottom_space); + + if (sw != w) + XRenderSetPictureTransform (xdisplay, shadow->picture, &xident); + } + + if (layout->rotation) + { + XTransform t = { + { + { 0, 1 << 16, 0 }, + { 1 << 16, 0, 0 }, + { 0, 0, 1 << 16 } + } + }; + + t.matrix[1][2] = context->top_space << 16; + + XRenderSetPictureTransform (xdisplay, shadow->picture, &t); + + /* left top */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, 0, + 0, 0, + layout->left.x1, + layout->left.y1, + top - context->top_space, context->left_space); + + t.matrix[0][2] = (shadow->width - context->right_space) << 16; + + XRenderSetPictureTransform (xdisplay, shadow->picture, &t); + + /* right top */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, 0, + 0, 0, + layout->right.x1, + layout->right.y1, + top - context->top_space, context->right_space); + + XRenderSetPictureTransform (xdisplay, shadow->picture, &xident); + } + else + { + /* left top */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, context->top_space, + 0, 0, + layout->left.x1, layout->left.y1, + context->left_space, top - context->top_space); + + /* right top */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + shadow->width - context->right_space, + context->top_space, + 0, 0, + layout->right.x1, layout->right.y1, + context->right_space, top - context->top_space); + } + + if (layout->rotation) + { + XTransform t = { + { + { 0, 1 << 16, 0 }, + { 1 << 16, 0, 0 }, + { 0, 0, 1 << 16 } + } + }; + + t.matrix[1][2] = (shadow->height - bottom) << 16; + + XRenderSetPictureTransform (xdisplay, shadow->picture, &t); + + /* left bottom */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, 0, + 0, 0, + layout->left.x2 - (bottom - context->bottom_space), + layout->left.y1, + bottom - context->bottom_space, context->left_space); + + t.matrix[0][2] = (shadow->width - context->right_space) << 16; + + XRenderSetPictureTransform (xdisplay, shadow->picture, &t); + + /* right bottom */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, 0, + 0, 0, + layout->right.x2 - (bottom - context->bottom_space), + layout->right.y1, + bottom - context->bottom_space, context->right_space); + + XRenderSetPictureTransform (xdisplay, shadow->picture, &xident); + } + else + { + /* left bottom */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, shadow->height - bottom, + 0, 0, + layout->left.x1, + layout->left.y2 - (bottom - context->bottom_space), + context->left_space, bottom - context->bottom_space); + + /* right bottom */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + shadow->width - context->right_space, + shadow->height - bottom, + 0, 0, + layout->right.x1, + layout->right.y2 - (bottom - context->bottom_space), + context->right_space, bottom - context->bottom_space); + } + + if (h > 0) + { + int sh = shadow->height - top - bottom; + + if (layout->rotation) + { + XTransform t = { + { + { 0, 1 << 16, 0 }, + { (sh << 16) / h, 0, 0 }, + { 0, 0, 1 << 16 } + } + }; + + t.matrix[1][2] = top << 16; + + XRenderSetPictureTransform (xdisplay, shadow->picture, &t); + + /* left */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, 0, + 0, 0, + layout->left.x1 + (top - context->top_space), + layout->left.y1, + h, context->left_space); + + t.matrix[0][2] = (shadow->width - context->right_space) << 16; + + XRenderSetPictureTransform (xdisplay, shadow->picture, &t); + + /* right */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, 0, + 0, 0, + layout->right.x1 + (top - context->top_space), + layout->right.y1, + h, context->right_space); + + XRenderSetPictureTransform (xdisplay, shadow->picture, &xident); + + } + else + { + int sy = top; + + if (sh != h) + { + XTransform t = { + { + { 1 << 16, 0, 0 }, + { 0, (sh << 16) / h, top << 16 }, + { 0, 0, 1 << 16 }, + } + }; + + sy = 0; + + XRenderSetPictureTransform (xdisplay, shadow->picture, &t); + } + + /* left */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + 0, sy, + 0, 0, + layout->left.x1, + layout->left.y1 + (top - context->top_space), + context->left_space, h); + + /* right */ + XRenderComposite (xdisplay, PictOpSrc, shadow->picture, 0, picture, + shadow->width - context->right_space, sy, + 0, 0, + layout->right.x2 - context->right_space, + layout->right.y1 + (top - context->top_space), + context->right_space, h); + + if (sh != h) + XRenderSetPictureTransform (xdisplay, shadow->picture, &xident); + } + } +} + +static void +_decor_pad_border_picture (Display *xdisplay, + Picture dst, + decor_box_t *box) +{ + int x1, y1, x2, y2; + + x1 = box->x1; + y1 = box->y1; + x2 = box->x2; + y2 = box->y2; + + if (box->pad & PAD_TOP) + { + XRenderComposite (xdisplay, PictOpSrc, dst, None, dst, + x1, y1, + 0, 0, + x1, y1 - 1, + x2 - x1, 1); + + y1--; + } + + if (box->pad & PAD_BOTTOM) + { + XRenderComposite (xdisplay, PictOpSrc, dst, None, dst, + x1, y2 - 1, + 0, 0, + x1, y2, + x2 - x1, 1); + + y2++; + } + + if (box->pad & PAD_LEFT) + { + XRenderComposite (xdisplay, PictOpSrc, dst, None, dst, + x1, y1, + 0, 0, + x1 - 1, y1, + 1, y2 - y1); + } + + if (box->pad & PAD_RIGHT) + { + XRenderComposite (xdisplay, PictOpSrc, dst, None, dst, + x2 - 1, y1, + 0, 0, + x2, y1, + 1, y2 - y1); + } +} + +#ifndef HAVE_XRENDER_0_9_3 +/* XRenderCreateLinearGradient and XRenderCreateRadialGradient used to be + * broken. Flushing Xlib's output buffer before calling one of these + * functions will avoid this specific issue. + */ +static Picture +XRenderCreateLinearGradient_wrapper (Display *xdisplay, + const XLinearGradient *gradient, + const XFixed *stops, + const XRenderColor *colors, + int nStops) +{ + XFlush (xdisplay); + + return XRenderCreateLinearGradient (xdisplay, gradient, + stops, colors, nStops); +} + +static Picture +XRenderCreateRadialGradient_wrapper (Display *xdisplay, + const XRadialGradient *gradient, + const XFixed *stops, + const XRenderColor *colors, + int nStops) +{ + XFlush (xdisplay); + + return XRenderCreateRadialGradient (xdisplay, gradient, + stops, colors, nStops); +} + +#define XRenderCreateLinearGradient XRenderCreateLinearGradient_wrapper +#define XRenderCreateRadialGradient XRenderCreateRadialGradient_wrapper +#endif + +static void +_decor_blend_horz_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha, + int x1, + int y1, + int x2, + int y2, + int dy, + int direction) +{ + XRenderColor color[3] = { + { 0xffff, 0xffff, 0xffff, 0xffff }, + { alpha, alpha, alpha, alpha } + }; + int op = PictOpSrc; + int left, right; + + left = context->extents.left; + right = context->extents.right; + + XOffsetRegion (region, x1, y1); + XRenderSetPictureClipRegion (xdisplay, dst, region); + XOffsetRegion (region, -x1, -y1); + + if (alpha != 0xffff) + { + op = PictOpIn; + + if (shade_alpha) + { + static XFixed stop[2] = { 0, 1 << 16 }; + XTransform transform = { + { + { 1 << 16, 0, 0 }, + { 0, 1 << 16, 0 }, + { 0, 0, 1 << 16 } + } + }; + Picture grad; + XLinearGradient linear; + XRadialGradient radial; + XRenderPictureAttributes attrib; + + attrib.repeat = RepeatPad; + + radial.inner.x = 0; + radial.inner.y = 0; + radial.inner.radius = 0; + radial.outer.x = 0; + radial.outer.y = 0; + + /* left */ + radial.outer.radius = left << 16; + + grad = XRenderCreateRadialGradient (xdisplay, + &radial, + stop, + color, + 2); + + transform.matrix[1][1] = (left << 16) / dy; + transform.matrix[0][2] = -left << 16; + + if (direction < 0) + transform.matrix[1][2] = -left << 16; + + XRenderSetPictureTransform (xdisplay, grad, &transform); + XRenderChangePicture (xdisplay, grad, CPRepeat, &attrib); + + XRenderComposite (xdisplay, PictOpSrc, grad, None, dst, + 0, 0, + 0, 0, + x1, y1, + left, dy); + + XRenderFreePicture (xdisplay, grad); + + /* middle */ + linear.p1.x = 0; + linear.p2.x = 0; + + if (direction > 0) + { + linear.p1.y = 0; + linear.p2.y = dy << 16; + } + else + { + linear.p1.y = dy << 16; + linear.p2.y = 0; + } + + grad = XRenderCreateLinearGradient (xdisplay, + &linear, + stop, + color, + 2); + + XRenderChangePicture (xdisplay, grad, CPRepeat, &attrib); + + XRenderComposite (xdisplay, PictOpSrc, grad, None, dst, + 0, 0, + 0, 0, + x1 + left, y1, + (x2 - x1) - left - right, dy); + + XRenderFreePicture (xdisplay, grad); + + /* right */ + radial.outer.radius = right << 16; + + grad = XRenderCreateRadialGradient (xdisplay, + &radial, + stop, + color, + 2); + + transform.matrix[1][1] = (right << 16) / dy; + transform.matrix[0][2] = 1 << 16; + + if (direction < 0) + transform.matrix[1][2] = -right << 16; + + XRenderSetPictureTransform (xdisplay, grad, &transform); + XRenderChangePicture (xdisplay, grad, CPRepeat, &attrib); + + XRenderComposite (xdisplay, PictOpSrc, grad, None, dst, + 0, 0, + 0, 0, + x2 - right, y1, + right, dy); + + XRenderFreePicture (xdisplay, grad); + } + else + { + XRenderFillRectangle (xdisplay, PictOpSrc, dst, &color[1], + x1, y1, x2 - x1, y2 - y1); + } + } + + XRenderComposite (xdisplay, op, src, None, dst, + xSrc, ySrc, + 0, 0, + x1, y1, + x2 - x1, y2 - y1); + + set_no_picture_clip (xdisplay, dst); +} + +void +decor_blend_top_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha) +{ + int left, right, top; + int x1, y1, x2, y2; + + left = context->extents.left; + right = context->extents.right; + top = context->extents.top; + + x1 = layout->top.x1 + context->left_space - left; + y1 = layout->top.y1 + context->top_space - top; + x2 = layout->top.x2 - context->right_space + right; + y2 = layout->top.y2; + + _decor_blend_horz_border_picture (xdisplay, + context, + src, + xSrc, + ySrc, + dst, + layout, + region, + alpha, + shade_alpha, + x1, + y1, + x2, + y2, + top, + -1); + + _decor_pad_border_picture (xdisplay, dst, &layout->top); +} + +void +decor_blend_bottom_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha) +{ + int left, right, bottom; + int x1, y1, x2, y2; + + left = context->extents.left; + right = context->extents.right; + bottom = context->extents.bottom; + + x1 = layout->bottom.x1 + context->left_space - left; + y1 = layout->bottom.y1; + x2 = layout->bottom.x2 - context->right_space + right; + y2 = layout->bottom.y1 + bottom; + + _decor_blend_horz_border_picture (xdisplay, + context, + src, + xSrc, + ySrc, + dst, + layout, + region, + alpha, + shade_alpha, + x1, + y1, + x2, + y2, + bottom, + 1); + + _decor_pad_border_picture (xdisplay, dst, &layout->bottom); +} + +static void +_decor_blend_vert_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha, + int x1, + int y1, + int x2, + int y2, + int direction) +{ + XRenderColor color[3] = { + { 0xffff, 0xffff, 0xffff, 0xffff }, + { alpha, alpha, alpha, alpha } + }; + int op = PictOpSrc; + + if (layout->rotation) + { + Region rotated_region; + XRectangle rect; + BoxPtr pBox = region->rects; + int nBox = region->numRects; + + rotated_region = XCreateRegion (); + + while (nBox--) + { + rect.x = x1 + pBox->y1; + rect.y = y1 + pBox->x1; + rect.width = pBox->y2 - pBox->y1; + rect.height = pBox->x2 - pBox->x1; + + XUnionRectWithRegion (&rect, rotated_region, rotated_region); + + pBox++; + } + + XRenderSetPictureClipRegion (xdisplay, dst, rotated_region); + XDestroyRegion (rotated_region); + } + else + { + XOffsetRegion (region, x1, y1); + XRenderSetPictureClipRegion (xdisplay, dst, region); + XOffsetRegion (region, -x1, -y1); + } + + if (alpha != 0xffff) + { + op = PictOpIn; + + if (shade_alpha) + { + static XFixed stop[2] = { 0, 1 << 16 }; + Picture grad; + XLinearGradient linear; + XRenderPictureAttributes attrib; + + attrib.repeat = RepeatPad; + + if (layout->rotation) + { + linear.p1.x = 0; + linear.p2.x = 0; + + if (direction < 0) + { + linear.p1.y = 0; + linear.p2.y = (y2 - y1) << 16; + } + else + { + linear.p1.y = (y2 - y1) << 16; + linear.p2.y = 0 << 16; + } + } + else + { + linear.p1.y = 0; + linear.p2.y = 0; + + if (direction < 0) + { + linear.p1.x = 0; + linear.p2.x = (x2 - x1) << 16; + } + else + { + linear.p1.x = (x2 - x1) << 16; + linear.p2.x = 0; + } + } + + grad = XRenderCreateLinearGradient (xdisplay, + &linear, + stop, + color, + 2); + + XRenderChangePicture (xdisplay, grad, CPRepeat, &attrib); + + XRenderComposite (xdisplay, PictOpSrc, grad, None, dst, + 0, 0, + 0, 0, + x1, y1, + x2 - x1, y2 - y1); + + XRenderFreePicture (xdisplay, grad); + } + else + { + XRenderFillRectangle (xdisplay, PictOpSrc, dst, &color[1], + x1, y1, x2 - x1, y2 - y1); + } + } + + if (layout->rotation) + { + XTransform t = { + { + { 0, 1 << 16, 0 }, + { 1 << 16, 0, 0 }, + { 0, 0, 1 << 16 } + } + }; + + t.matrix[0][2] = xSrc << 16; + t.matrix[1][2] = ySrc << 16; + + XRenderSetPictureTransform (xdisplay, src, &t); + + XRenderComposite (xdisplay, op, src, None, dst, + 0, 0, + 0, 0, + x1, y1, x2 - x1, y2 - y1); + + XRenderSetPictureTransform (xdisplay, src, &xident); + } + else + { + XRenderComposite (xdisplay, op, src, None, dst, + xSrc, ySrc, + 0, 0, + x1, y1, x2 - x1, y2 - y1); + } + + set_no_picture_clip (xdisplay, dst); +} + +void +decor_blend_left_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha) +{ + int x1, y1, x2, y2; + + x1 = layout->left.x1; + y1 = layout->left.y1; + x2 = layout->left.x2; + y2 = layout->left.y2; + + if (layout->rotation) + y1 += context->left_space - context->extents.left; + else + x1 += context->left_space - context->extents.left; + + _decor_blend_vert_border_picture (xdisplay, + context, + src, + xSrc, + ySrc, + dst, + layout, + region, + alpha, + shade_alpha, + x1, + y1, + x2, + y2, + 1); + + _decor_pad_border_picture (xdisplay, dst, &layout->left); +} + +void +decor_blend_right_border_picture (Display *xdisplay, + decor_context_t *context, + Picture src, + int xSrc, + int ySrc, + Picture dst, + decor_layout_t *layout, + Region region, + unsigned short alpha, + int shade_alpha) +{ + int x1, y1, x2, y2; + + x1 = layout->right.x1; + y1 = layout->right.y1; + x2 = layout->right.x2; + y2 = layout->right.y2; + + if (layout->rotation) + y2 -= context->right_space - context->extents.right; + else + x2 -= context->right_space - context->extents.right; + + _decor_blend_vert_border_picture (xdisplay, + context, + src, + xSrc, + ySrc, + dst, + layout, + region, + alpha, + shade_alpha, + x1, + y1, + x2, + y2, + -1); + + _decor_pad_border_picture (xdisplay, dst, &layout->right); +} + +int +decor_acquire_dm_session (Display *xdisplay, + int screen, + const char *name, + int replace_current_dm, + Time *timestamp) +{ + XEvent event; + XSetWindowAttributes attr; + Window current_dm_sn_owner, new_dm_sn_owner; + Atom dm_sn_atom; + Atom manager_atom; + Atom dm_name_atom; + Atom utf8_string_atom; + Time dm_sn_timestamp; + char buf[128]; + + manager_atom = XInternAtom (xdisplay, "MANAGER", FALSE); + dm_name_atom = XInternAtom (xdisplay, "_COMPIZ_DM_NAME", 0); + + utf8_string_atom = XInternAtom (xdisplay, "UTF8_STRING", 0); + + sprintf (buf, "_COMPIZ_DM_S%d", screen); + dm_sn_atom = XInternAtom (xdisplay, buf, 0); + + current_dm_sn_owner = XGetSelectionOwner (xdisplay, dm_sn_atom); + + if (current_dm_sn_owner != None) + { + if (!replace_current_dm) + return DECOR_ACQUIRE_STATUS_OTHER_DM_RUNNING; + + XSelectInput (xdisplay, current_dm_sn_owner, StructureNotifyMask); + } + + attr.override_redirect = TRUE; + attr.event_mask = PropertyChangeMask; + + new_dm_sn_owner = + XCreateWindow (xdisplay, XRootWindow (xdisplay, screen), + -100, -100, 1, 1, 0, + CopyFromParent, CopyFromParent, + CopyFromParent, + CWOverrideRedirect | CWEventMask, + &attr); + + XChangeProperty (xdisplay, + new_dm_sn_owner, + dm_name_atom, + utf8_string_atom, 8, + PropModeReplace, + (unsigned char *) name, + strlen (name)); + + XWindowEvent (xdisplay, + new_dm_sn_owner, + PropertyChangeMask, + &event); + + dm_sn_timestamp = event.xproperty.time; + + XSetSelectionOwner (xdisplay, dm_sn_atom, new_dm_sn_owner, + dm_sn_timestamp); + + if (XGetSelectionOwner (xdisplay, dm_sn_atom) != new_dm_sn_owner) + { + XDestroyWindow (xdisplay, new_dm_sn_owner); + + return DECOR_ACQUIRE_STATUS_FAILED; + } + + /* Send client message indicating that we are now the DM */ + event.xclient.type = ClientMessage; + event.xclient.window = XRootWindow (xdisplay, screen); + event.xclient.message_type = manager_atom; + event.xclient.format = 32; + event.xclient.data.l[0] = dm_sn_timestamp; + event.xclient.data.l[1] = dm_sn_atom; + event.xclient.data.l[2] = 0; + event.xclient.data.l[3] = 0; + event.xclient.data.l[4] = 0; + + XSendEvent (xdisplay, XRootWindow (xdisplay, screen), 0, + StructureNotifyMask, &event); + + /* Wait for old decoration manager to go away */ + if (current_dm_sn_owner != None) + { + do { + XWindowEvent (xdisplay, current_dm_sn_owner, + StructureNotifyMask, &event); + } while (event.type != DestroyNotify); + } + + *timestamp = dm_sn_timestamp; + + return DECOR_ACQUIRE_STATUS_SUCCESS; +} + +void +decor_set_dm_check_hint (Display *xdisplay, + int screen) +{ + XSetWindowAttributes attrs; + unsigned long data; + Window xroot; + Atom atom; + + attrs.override_redirect = 1; + attrs.event_mask = PropertyChangeMask; + + xroot = RootWindow (xdisplay, screen); + + data = XCreateWindow (xdisplay, + xroot, + -100, -100, 1, 1, + 0, + CopyFromParent, + CopyFromParent, + (Visual *) CopyFromParent, + CWOverrideRedirect | CWEventMask, + &attrs); + + atom = XInternAtom (xdisplay, "_COMPIZ_SUPPORTING_DM_CHECK", 0); + + XChangeProperty (xdisplay, xroot, + atom, + XA_WINDOW, + 32, PropModeReplace, (unsigned char *) &data, 1); +} + +/* from fvwm2, Copyright Matthias Clasen, Dominik Vogt */ +static int +convert_property (Display *xdisplay, + Window w, + Atom target, + Atom property, + Time dm_sn_timestamp) +{ + +#define N_TARGETS 4 + + Atom conversion_targets[N_TARGETS]; + long icccm_version[] = { 2, 0 }; + + conversion_targets[0] = XInternAtom (xdisplay, "TARGETS", 0); + conversion_targets[1] = XInternAtom (xdisplay, "MULTIPLE", 0); + conversion_targets[2] = XInternAtom (xdisplay, "TIMESTAMP", 0); + conversion_targets[3] = XInternAtom (xdisplay, "VERSION", 0); + + if (target == conversion_targets[0]) + XChangeProperty (xdisplay, w, property, + XA_ATOM, 32, PropModeReplace, + (unsigned char *) conversion_targets, N_TARGETS); + else if (target == conversion_targets[2]) + XChangeProperty (xdisplay, w, property, + XA_INTEGER, 32, PropModeReplace, + (unsigned char *) &dm_sn_timestamp, 1); + else if (target == conversion_targets[3]) + XChangeProperty (xdisplay, w, property, + XA_INTEGER, 32, PropModeReplace, + (unsigned char *) icccm_version, 2); + else + return 0; + + /* Be sure the PropertyNotify has arrived so we + * can send SelectionNotify + */ + XSync (xdisplay, 0); + + return 1; +} + +void +decor_handle_selection_request (Display *xdisplay, + XEvent *event, + Time timestamp) +{ + XSelectionEvent reply; + Atom multiple_atom; + Atom atom_pair_atom; + + reply.type = SelectionNotify; + reply.display = xdisplay; + reply.requestor = event->xselectionrequest.requestor; + reply.selection = event->xselectionrequest.selection; + reply.target = event->xselectionrequest.target; + reply.property = None; + reply.time = event->xselectionrequest.time; + + multiple_atom = XInternAtom (xdisplay, "MULTIPLE", 0); + atom_pair_atom = XInternAtom (xdisplay, "ATOM_PAIR", 0); + + if (event->xselectionrequest.target == multiple_atom) + { + if (event->xselectionrequest.property != None) + { + Atom type, *adata; + int i, format; + unsigned long num, rest; + unsigned char *data; + + if (XGetWindowProperty (xdisplay, + event->xselectionrequest.requestor, + event->xselectionrequest.property, + 0, 256, FALSE, + atom_pair_atom, + &type, &format, &num, &rest, + &data) != Success) + return; + + /* FIXME: to be 100% correct, should deal with rest > 0, + * but since we have 4 possible targets, we will hardly ever + * meet multiple requests with a length > 8 + */ + adata = (Atom *) data; + i = 0; + while (i < (int) num) + { + if (!convert_property (xdisplay, + event->xselectionrequest.requestor, + adata[i], adata[i + 1], + timestamp)) + adata[i + 1] = None; + + i += 2; + } + + XChangeProperty (xdisplay, + event->xselectionrequest.requestor, + event->xselectionrequest.property, + atom_pair_atom, + 32, PropModeReplace, data, num); + } + } + else + { + if (event->xselectionrequest.property == None) + event->xselectionrequest.property = event->xselectionrequest.target; + + if (convert_property (xdisplay, + event->xselectionrequest.requestor, + event->xselectionrequest.target, + event->xselectionrequest.property, + timestamp)) + reply.property = event->xselectionrequest.property; + } + + XSendEvent (xdisplay, + event->xselectionrequest.requestor, + FALSE, 0L, (XEvent *) &reply); +} + +int +decor_handle_selection_clear (Display *xdisplay, + XEvent *xevent, + int screen) +{ + Atom dm_sn_atom; + char buf[128]; + + sprintf (buf, "_COMPIZ_DM_S%d", screen); + dm_sn_atom = XInternAtom (xdisplay, buf, 0); + + if (xevent->xselectionclear.selection == dm_sn_atom) + return DECOR_SELECTION_GIVE_UP; + + return DECOR_SELECTION_KEEP; +} diff --git a/libdecoration/libdecoration.pc b/libdecoration/libdecoration.pc new file mode 100644 index 0000000..66d181b --- /dev/null +++ b/libdecoration/libdecoration.pc @@ -0,0 +1,12 @@ +prefix=/usr/local +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: libdecoration +Description: Window decoration library +Version: 0.6.2 + +Requires: xrender +Libs: -lXrender -lX11 -L${libdir} -ldecoration +Cflags: -I${includedir}/ecomp diff --git a/libdecoration/libdecoration.pc.in b/libdecoration/libdecoration.pc.in new file mode 100644 index 0000000..473e56f --- /dev/null +++ b/libdecoration/libdecoration.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libdecoration +Description: Window decoration library +Version: @VERSION@ + +Requires: @DECORATION_REQUIRES@ +Libs: @DECORATION_LIBS@ -L${libdir} -ldecoration +Cflags: @DECORATION_CFLAGS@ -I${includedir}/ecomp diff --git a/libtool b/libtool new file mode 100755 index 0000000..5a1700e --- /dev/null +++ b/libtool @@ -0,0 +1,8527 @@ +#! /bin/bash + +# libtool - Provide generalized library-building support services. +# Generated automatically by config.status (ecomp) 0.6.2 +# Libtool was configured on host x40: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +# The names of the tagged configurations supported by this script. +available_tags="CXX " + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=2.2.4 +macro_revision=1.2976 + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# What type of objects to build. +pic_mode=default + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# A sed program that does not truncate output. +SED="/bin/sed" + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP="/bin/grep" + +# An ERE matcher. +EGREP="/bin/grep -E" + +# A literal string matcher. +FGREP="/bin/grep -F" + +# A BSD- or MS-compatible name lister. +NM="/usr/bin/nm -B" + +# Whether we need soft or hard links. +LN_S="ln -s" + +# What is the maximum length of a command? +max_cmd_len=1572864 + +# Object file suffix (normally "o"). +objext=o + +# Executable file suffix (normally ""). +exeext= + +# whether the shell understands "unset". +lt_unset=unset + +# turn spaces into newlines. +SP2NL="tr \\040 \\012" + +# turn newlines into spaces. +NL2SP="tr \\015\\012 \\040\\040" + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == "file_magic". +file_magic_cmd="\$MAGIC_CMD" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A symbol stripping program. +STRIP="strip" + +# Commands used to install an old-style archive. +RANLIB="ranlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'" + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p'" + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"lib\\2\", (void *) \\&\\2},/p'" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# Shell to use when invoking shell scripts. +SHELL="/bin/bash" + +# An echo program that does not interpret backslashes. +ECHO="echo" + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=file + +# Must we lock files when doing compilation? +need_locks="no" + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL="" + +# Tool to change global to local symbols on Mac OS X. +NMEDIT="" + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO="" + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL="" + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64="" + +# Old archive suffix (normally "a"). +libext=a + +# Shared library suffix (normally ".so"). +shrext_cmds=".so" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Do we need the "lib" prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Library versioning type. +version_type=linux + +# Shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# Shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Command to use after installation of a shared archive. +postinstall_cmds="" + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval="" + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Compile-time system search path for libraries. +sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.3.2 /usr/lib /lib" + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/alsa-lib /usr/local/lib " + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Commands used to build an old-style archive. +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" + +# A language specific compiler. +CC="gcc" + +# Is the compiler the GNU compiler? +with_gcc=yes + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=no + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object="no" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds="" +module_expsym_cmds="" + +# Whether we are building with GNU ld or not. +with_gnu_ld="yes" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that enforces no undefined symbols. +no_undefined_flag="" + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist +hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into a binary +# during linking. This must work even if $libdir does not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator="" + +# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=no + +# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting ${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=no + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=no + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=no + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=no + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=unknown + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to "yes" if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" + +# Symbols that must always be exported. +include_expsyms="" + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds="" + +# Specify filename containing input files. +file_list_spec="" + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs="" + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects="" +postdep_objects="" +predeps="" +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# ### END LIBTOOL CONFIG + +# Generated from ltmain.m4sh. + +# ltmain.sh (GNU libtool) 2.2.4 +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Usage: $progname [OPTION]... [MODE-ARG]... +# +# Provide generalized library-building support services. +# +# --config show all configuration variables +# --debug enable verbose shell tracing +# -n, --dry-run display commands without modifying any files +# --features display basic configuration information and exit +# --mode=MODE use operation mode MODE +# --preserve-dup-deps don't remove duplicate dependency libraries +# --quiet, --silent don't print informational messages +# --tag=TAG use configuration variables from tag TAG +# -v, --verbose print informational messages (default) +# --version print version information +# -h, --help print short or long help message +# +# MODE must be one of the following: +# +# clean remove files from the build directory +# compile compile a source file into a libtool object +# execute automatically set library path, then run a program +# finish complete the installation of libtool libraries +# install install libraries or executables +# link create a library or an executable +# uninstall remove libraries from an installed directory +# +# MODE-ARGS vary depending on the MODE. +# Try `$progname --help --mode=MODE' for a more detailed description of MODE. +# +# When reporting a bug, please describe a test case to reproduce it and +# include the following information: +# +# host-triplet: $host +# shell: $SHELL +# compiler: $LTCC +# compiler flags: $LTCFLAGS +# linker: $LD (gnu? $with_gnu_ld) +# $progname: (GNU libtool) 2.2.4 Debian-2.2.4-0ubuntu4 +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to . + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="2.2.4 Debian-2.2.4-0ubuntu4" +TIMESTAMP="" +package_revision=1.2976 + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# NLS nuisances: We save the old values to restore during execute mode. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +lt_user_locale= +lt_safe_locale= +for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test \"\${$lt_var+set}\" = set; then + save_$lt_var=\$$lt_var + $lt_var=C + export $lt_var + lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" + lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" + fi" +done + +$lt_unset CDPATH + + + + + +: ${CP="cp -f"} +: ${ECHO="echo"} +: ${EGREP="/bin/grep -E"} +: ${FGREP="/bin/grep -F"} +: ${GREP="/bin/grep"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SED="/bin/sed"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} +: ${Xsed="$SED -e 1s/^X//"} + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +exit_status=$EXIT_SUCCESS + +# Make sure IFS has a sensible default +lt_nl=' +' +IFS=" $lt_nl" + +dirname="s,/[^/]*$,," +basename="s,^.*/,," + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + +# Generated shell functions inserted here. + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +# Generated shell functions inserted here. + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +# In the unlikely event $progname began with a '-', it would play havoc with +# func_echo (imagine progname=-n), so we prepend ./ in that case: +func_dirname_and_basename "$progpath" +progname=$func_basename_result +case $progname in + -*) progname=./$progname ;; +esac + +# Make sure we have an absolute path for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=$func_dirname_result + progdir=`cd "$progdir" && pwd` + progpath="$progdir/$progname" + ;; + *) + save_IFS="$IFS" + IFS=: + for progdir in $PATH; do + IFS="$save_IFS" + test -x "$progdir/$progname" && break + done + IFS="$save_IFS" + test -n "$progdir" || progdir=`pwd` + progpath="$progdir/$progname" + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Re-`\' parameter expansions in output of double_quote_subst that were +# `\'-ed in input to the same. If an odd number of `\' preceded a '$' +# in input to double_quote_subst, that '$' was protected from expansion. +# Since each input `\' is now two `\'s, look for any number of runs of +# four `\'s followed by two `\'s and then a '$'. `\' that '$'. +bs='\\' +bs2='\\\\' +bs4='\\\\\\\\' +dollar='\$' +sed_double_backslash="\ + s/$bs4/&\\ +/g + s/^$bs2$dollar/$bs&/ + s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g + s/\n//g" + +# Standard options: +opt_dry_run=false +opt_help=false +opt_quiet=false +opt_verbose=false +opt_warning=: + +# func_echo arg... +# Echo program name prefixed message, along with the current mode +# name if it has been set yet. +func_echo () +{ + $ECHO "$progname${mode+: }$mode: $*" +} + +# func_verbose arg... +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $opt_verbose && func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + +# func_error arg... +# Echo program name prefixed message to standard error. +func_error () +{ + $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 +} + +# func_warning arg... +# Echo program name prefixed warning message to standard error. +func_warning () +{ + $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 + + # bash bug again: + : +} + +# func_fatal_error arg... +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + +# func_fatal_help arg... +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + func_error ${1+"$@"} + func_fatal_error "$help" +} +help="Try \`$progname --help' for more information." ## default + + +# func_grep expression filename +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_mkdir_p directory-path +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + my_directory_path="$1" + my_dir_list= + + if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then + + # Protect directory names starting with `-' + case $my_directory_path in + -*) my_directory_path="./$my_directory_path" ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$my_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + my_dir_list="$my_directory_path:$my_dir_list" + + # If the last portion added has no slash in it, the list is done + case $my_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` + done + my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` + + save_mkdir_p_IFS="$IFS"; IFS=':' + for my_dir in $my_dir_list; do + IFS="$save_mkdir_p_IFS" + # mkdir can fail with a `File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$my_dir" 2>/dev/null || : + done + IFS="$save_mkdir_p_IFS" + + # Bail out if we (or some other process) failed to create a directory. + test -d "$my_directory_path" || \ + func_fatal_error "Failed to create \`$1'" + fi +} + + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$opt_dry_run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || \ + func_fatal_error "cannot create temporary directory \`$my_tmpdir'" + fi + + $ECHO "X$my_tmpdir" | $Xsed +} + + +# func_quote_for_eval arg +# Aesthetically quote ARG to be evaled later. +# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT +# is double-quoted, suitable for a subsequent eval, whereas +# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters +# which are still active within double quotes backslashified. +func_quote_for_eval () +{ + case $1 in + *[\\\`\"\$]*) + func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; + *) + func_quote_for_eval_unquoted_result="$1" ;; + esac + + case $func_quote_for_eval_unquoted_result in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and and variable + # expansion for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" + ;; + *) + func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" + esac +} + + +# func_quote_for_expand arg +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + case $1 in + *[\\\`\"]*) + my_arg=`$ECHO "X$1" | $Xsed \ + -e "$double_quote_subst" -e "$sed_double_backslash"` ;; + *) + my_arg="$1" ;; + esac + + case $my_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + my_arg="\"$my_arg\"" + ;; + esac + + func_quote_for_expand_result="$my_arg" +} + + +# func_show_eval cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$my_cmd" + my_status=$? + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + + +# func_show_eval_locale cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$lt_user_locale + $my_cmd" + my_status=$? + eval "$lt_safe_locale" + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + + + + + +# func_version +# Echo version message to standard output and exit. +func_version () +{ + $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { + s/^# // + s/^# *$// + s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ + p + }' < "$progpath" + exit $? +} + +# func_usage +# Echo short help message to standard output and exit. +func_usage () +{ + $SED -n '/^# Usage:/,/# -h/ { + s/^# // + s/^# *$// + s/\$progname/'$progname'/ + p + }' < "$progpath" + $ECHO + $ECHO "run \`$progname --help | more' for full usage" + exit $? +} + +# func_help +# Echo long help message to standard output and exit. +func_help () +{ + $SED -n '/^# Usage:/,/# Report bugs to/ { + s/^# // + s/^# *$// + s*\$progname*'$progname'* + s*\$host*'"$host"'* + s*\$SHELL*'"$SHELL"'* + s*\$LTCC*'"$LTCC"'* + s*\$LTCFLAGS*'"$LTCFLAGS"'* + s*\$LD*'"$LD"'* + s/\$with_gnu_ld/'"$with_gnu_ld"'/ + s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ + p + }' < "$progpath" + exit $? +} + +# func_missing_arg argname +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + func_error "missing argument for $1" + exit_cmd=exit +} + +exit_cmd=: + + + + + +# Check that we have a working $ECHO. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell, and then maybe $ECHO will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + +# Parse options once, thoroughly. This comes as soon as possible in +# the script to make things like `libtool --version' happen quickly. +{ + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + esac + + # Parse non-mode specific arguments: + while test "$#" -gt 0; do + opt="$1" + shift + + case $opt in + --config) func_config ;; + + --debug) preserve_args="$preserve_args $opt" + func_echo "enabling shell trace mode" + opt_debug='set -x' + $opt_debug + ;; + + -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break + execute_dlfiles="$execute_dlfiles $1" + shift + ;; + + --dry-run | -n) opt_dry_run=: ;; + --features) func_features ;; + --finish) mode="finish" ;; + + --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break + case $1 in + # Valid mode arguments: + clean) ;; + compile) ;; + execute) ;; + finish) ;; + install) ;; + link) ;; + relink) ;; + uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $opt" + exit_cmd=exit + break + ;; + esac + + mode="$1" + shift + ;; + + --preserve-dup-deps) + opt_duplicate_deps=: ;; + + --quiet|--silent) preserve_args="$preserve_args $opt" + opt_silent=: + ;; + + --verbose| -v) preserve_args="$preserve_args $opt" + opt_silent=false + ;; + + --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break + preserve_args="$preserve_args $opt $1" + func_enable_tag "$1" # tagname is set here + shift + ;; + + # Separate optargs to long options: + -dlopen=*|--mode=*|--tag=*) + func_opt_split "$opt" + set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} + shift + ;; + + -\?|-h) func_usage ;; + --help) opt_help=: ;; + --version) func_version ;; + + -*) func_fatal_help "unrecognized option \`$opt'" ;; + + *) nonopt="$opt" + break + ;; + esac + done + + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_duplicate_deps + ;; + esac + + # Having warned about all mis-specified options, bail out if + # anything was wrong. + $exit_cmd $EXIT_FAILURE +} + +# func_check_version_match +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +## ----------- ## +## Main. ## +## ----------- ## + +$opt_help || { + # Sanity checks first: + func_check_version_match + + if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + func_fatal_configuration "not configured to build any kind of library" + fi + + test -z "$mode" && func_fatal_error "error: you must specify a MODE." + + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + func_error "unrecognized option \`-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$progname --help --mode=$mode' for more information." +} + + +# func_lalib_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + $SED -e 4q "$1" 2>/dev/null \ + | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if `file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case "$lalib_p_line" in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test "$lalib_p" = yes +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + func_lalib_p "$1" +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_ltwrapper_scriptname_result="" + if func_ltwrapper_executable_p "$1"; then + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" + fi +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $opt_debug + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$save_ifs + eval cmd=\"$cmd\" + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# `FILE.' does not work on cygwin managed mounts. +func_source () +{ + $opt_debug + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $opt_debug + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + case "$@ " in + " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with \`--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=${1} + if test "$build_libtool_libs" = yes; then + write_lobj=\'${2}\' + else + write_lobj=none + fi + + if test "$build_old_libs" = yes; then + write_oldobj=\'${3}\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T <?"'"'"' &()|`$[]' \ + && func_warning "libobj name \`$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname="$func_basename_result" + xdir="$func_dirname_result" + lobj=${xdir}$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + removelist="$removelist $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + removelist="$removelist $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + command="$command -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test "$suppress_opt" = yes; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { +test "$mode" = compile && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -shared do not build a \`.o' file suitable for static linking + -static only build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode \`$mode'" + ;; + esac + + $ECHO + $ECHO "Try \`$progname --help' for more information about other modes." + + exit $? +} + + # Now that we've collected a possible --mode arg, show help if necessary + $opt_help && func_mode_help + + +# func_mode_execute arg... +func_mode_execute () +{ + $opt_debug + # The first argument is the command name. + cmd="$nonopt" + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + test -f "$file" \ + || func_fatal_help "\`$file' is not a file" + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "\`$file' was not linked with \`-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir="$func_dirname_result" + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir="$func_dirname_result" + ;; + + *) + func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file="$progdir/$program" + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_quote_for_eval "$file" + args="$args $func_quote_for_eval_result" + done + + if test "X$opt_dry_run" = Xfalse; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + $ECHO "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + fi +} + +test "$mode" = execute && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $opt_debug + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_silent && exit $EXIT_SUCCESS + + $ECHO "X----------------------------------------------------------------------" | $Xsed + $ECHO "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + $ECHO + $ECHO "If you ever happen to want to link against installed libraries" + $ECHO "in a given directory, LIBDIR, you must either use libtool, and" + $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" + $ECHO "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" + $ECHO " during execution" + fi + if test -n "$runpath_var"; then + $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" + $ECHO " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $ECHO + + $ECHO "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" + $ECHO "pages." + ;; + *) + $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + $ECHO "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS +} + +test "$mode" = finish && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $opt_debug + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $ECHO "X$nonopt" | $GREP shtool >/dev/null; then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + install_prog="$install_prog$func_quote_for_eval_result" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + install_prog="$install_prog $func_quote_for_eval_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the \`$prev' option requires an argument" + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir="$func_dirname_result" + destname="$func_basename_result" + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "\`$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "\`$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir="$func_dirname_result" + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking \`$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname="$1" + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme="$stripme" + case $host_os in + cygwin* | mingw* | pw32*) + case $realname in + *.dll.a) + tstripme="" + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name="$func_basename_result" + instname="$dir/$name"i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to \`$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script \`$wrapper'" + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "\`$lib' has not been installed in \`$libdir'" + finalize=no + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + $opt_dry_run || { + if test "$finalize" = yes; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file="$func_basename_result" + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_silent || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink \`$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file="$outputname" + else + func_warning "cannot relink \`$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name="$func_basename_result" + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run \`$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test "$mode" = install && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $opt_debug + my_outputname="$1" + my_originator="$2" + my_pic_p="${3-no}" + my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms="${my_outputname}S.c" + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${my_outputname}.nm" + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + func_verbose "generating symbol list for \`$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_verbose "extracting global C symbols from \`$progfile'" + $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $opt_dry_run || { + $RM $export_symbols + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin | *mingw* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from \`$dlprefile'" + func_basename "$dlprefile" + name="$func_basename_result" + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + $ECHO >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +" + case $host in + *cygwin* | *mingw* ) + $ECHO >> "$output_objdir/$my_dlsyms" "\ +/* DATA imports from DLLs on WIN32 con't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs. */" + lt_dlsym_const= ;; + *osf5*) + echo >> "$output_objdir/$my_dlsyms" "\ +/* This system does not cope well with relocations in const data */" + lt_dlsym_const= ;; + *) + lt_dlsym_const=const ;; + esac + + $ECHO >> "$output_objdir/$my_dlsyms" "\ +extern $lt_dlsym_const lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[]; +$lt_dlsym_const lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{\ + { \"$my_originator\", (void *) 0 }," + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + $ECHO >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + if test "X$my_pic_p" != Xno; then + pic_flag_for_symtable=" $pic_flag" + fi + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) symtab_cflags="$symtab_cflags $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' + + # Transform the symbol file into the correct name. + symfileobj="$output_objdir/${my_outputname}S.$objext" + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for \`$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + $opt_debug + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | + $SED -n -e ' + 1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $opt_debug + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $opt_debug + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib="$func_basename_result" + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`basename "$darwin_archive"` + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + + func_extract_archives_result="$my_oldobjs" +} + + + +# func_emit_wrapper arg +# +# emit a libtool wrapper script on stdout +# don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variable +# set therein. +# +# arg is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory in which it is stored is +# the '.lib' directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=no + if test -n "$1" ; then + func_emit_wrapper_arg1=$1 + fi + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + ECHO=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$ECHO works! + : + else + # Restart under the correct shell, and then maybe \$ECHO will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $ECHO "\ + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $ECHO "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} +# end: func_emit_wrapper + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +# define setmode _setmode +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +#ifdef _MSC_VER +# define S_IXUSR _S_IEXEC +# define stat _stat +# ifndef _INTPTR_T_DEFINED +# define intptr_t int +# endif +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifdef __CYGWIN__ +# define FOPEN_WB "wb" +#endif + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +#undef LTWRAPPER_DEBUGPRINTF +#if defined DEBUGWRAPPER +# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args +static void +ltwrapper_debugprintf (const char *fmt, ...) +{ + va_list args; + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); +} +#else +# define LTWRAPPER_DEBUGPRINTF(args) +#endif + +const char *program_name = NULL; + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_fatal (const char *message, ...); + +static const char *script_text = +EOF + + func_emit_wrapper yes | + $SED -e 's/\([\\"]\)/\\\1/g' \ + -e 's/^/ "/' -e 's/$/\\n"/' + echo ";" + + cat </dev/null || echo $SHELL` + case $lt_newargv0 in + *.exe | *.EXE) ;; + *) lt_newargv0=$lt_newargv0.exe ;; + esac + ;; + * ) lt_newargv0=$SHELL ;; + esac + fi + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", + path ? (*path ? path : "EMPTY!") : "NULL!")); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char *concat_name; + + LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", + wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", + tmp_pathspec)); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + char *errstr = strerror (errno); + lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal ("Could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp (str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_mode_link arg... +func_mode_link () +{ + $opt_debug + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module="${wl}-single_module" + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + test -f "$arg" \ + || func_fatal_error "symbol file \`$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) deplibs="$deplibs $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file \`$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + weak) + weak_libs="$weak_libs $arg" + prev= + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "\`-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname '-L' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of \`$dir'" + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot) + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; + esac + continue + ;; + + -multi_module) + single_module="${wl}-multi_module" + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "\`-no-install' is ignored for $host" + func_warning "assuming \`-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$compiler_flags $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" + linker_flags="$linker_flags $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" + func_append finalize_command " $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the \`$prevarg' option requires an argument" + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname="$func_basename_result" + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + func_dirname "$output" "/" "" + output_objdir="$func_dirname_result$objdir" + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_duplicate_deps ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test "$linkmode,$pass" = "lib,link"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs="$tmp_deplibs" + fi + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$linkmode,$pass" = "lib,dlpreopen"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + case $lib in + *.la) func_source "$lib" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` + case " $weak_libs " in + *" $deplib_base "*) ;; + *) deplibs="$deplibs $deplib" ;; + esac + done + done + libs="$dlprefiles" + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + func_warning "\`-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test "$linkmode" = lib; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + *.ltframework) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + *) + func_warning "\`-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + func_stripname '-R' '' "$deplib" + dir=$func_stripname_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $ECHO + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because the file extensions .$libext of this argument makes me believe" + $ECHO "*** that it is just a static archive that I should not use here." + else + $ECHO + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + ;; + esac + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + + if test "$found" = yes || test -f "$lib"; then : + else + func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" + fi + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "\`$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + elif test "$linkmode" != prog && test "$linkmode" != lib; then + func_fatal_error "\`$lib' is not a convenience library" + fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + func_fatal_error "cannot -dlopen a convenience library: \`$lib'" + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of \`$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir="$ladir" + fi + ;; + esac + func_basename "$lib" + laname="$func_basename_result" + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library \`$lib' was moved." + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir" && test "$linkmode" = prog; then + func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath:" in + *"$absdir:"*) ;; + *) temp_rpath="$temp_rpath$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw*) + # No point in relinking DLLs because paths are not encoded + notinst_deplibs="$notinst_deplibs $lib" + need_relink=no + ;; + *) + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule="" + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule="$dlpremoduletest" + break + fi + done + if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then + $ECHO + if test "$linkmode" = prog; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname="$1" + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + func_basename "$soroot" + soname="$func_basename_result" + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from \`$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for \`$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we can not + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null ; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $ECHO + $ECHO "*** And there doesn't seem to be a static archive available" + $ECHO "*** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + elif test -n "$old_library"; then + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && + test "$hardcode_minus_L" != yes && + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $ECHO + $ECHO "*** Warning: This system can not link to static lib archive $lib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $ECHO "*** But as you try to build a module library, libtool will still create " + $ECHO "*** a static module, that should work as long as the dlopening application" + $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $ECHO + $ECHO "*** However, this would only work if libtool was able to extract symbol" + $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" + $ECHO "*** not find such a program. So, this module is probably useless." + $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + func_dirname "$deplib" "" "." + dir="$func_dirname_result" + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of \`$dir'" + absdir="$dir" + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl" ; then + depdepl="$absdir/$objdir/$depdepl" + darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" + linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" + path= + fi + fi + ;; + *) + path="-L$absdir/$objdir" + ;; + esac + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "\`$deplib' seems to be moved" + + path="-L$absdir" + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test "$pass" = link; then + if test "$linkmode" = "prog"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + fi + if test "$linkmode" = prog || test "$linkmode" = lib; then + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "\`-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "\`-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test "$module" = no && \ + func_fatal_help "libtool library \`$output' must begin with \`lib'" + + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" + else + $ECHO + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + test "$dlself" != no && \ + func_warning "\`-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test "$#" -gt 1 && \ + func_warning "ignoring multiple \`-rpath's for a libtool library" + + install_libdir="$1" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "\`-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + shift + IFS="$save_ifs" + + test -n "$7" && \ + func_fatal_help "too many parameters to \`-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$1" + number_minor="$2" + number_revision="$3" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + func_fatal_configuration "$modename: unknown library version type \`$version_type'" + ;; + esac + ;; + no) + current="$1" + revision="$2" + age="$3" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT \`$current' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION \`$revision' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE \`$age' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE \`$age' is greater than the current interface number \`$current'" + func_fatal_error "\`$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current" + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + qnx) + major=".$current" + versuffix=".$current" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + + *) + func_fatal_configuration "unknown library version type \`$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + func_warning "undefined symbols not allowed in $host shared libraries" + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + + fi + + func_generate_dlsyms "$libname" "$libname" "yes" + libobjs="$libobjs $symfileobj" + test "X$libobjs" = "X " && libobjs= + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` + # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` + # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $ECHO + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $ECHO + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ + -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` + done + fi + if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | + $GREP . >/dev/null; then + $ECHO + if test "X$deplibs_check_method" = "Xnone"; then + $ECHO "*** Warning: inter-library dependencies are not supported in this platform." + else + $ECHO "*** Warning: inter-library dependencies are not known to be supported." + fi + $ECHO "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $ECHO + $ECHO "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + $ECHO "*** a static module, that should work as long as the dlopening" + $ECHO "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $ECHO + $ECHO "*** However, this would only work if libtool was able to extract symbol" + $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" + $ECHO "*** not find such a program. So, this module is probably useless." + $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $ECHO "*** The inter-library dependencies that have been dropped here will be" + $ECHO "*** automatically added whenever a program is linked with this library" + $ECHO "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $ECHO + $ECHO "*** Since this library must not contain undefined symbols," + $ECHO "*** because either the platform does not support them or" + $ECHO "*** it was explicitly requested with -no-undefined," + $ECHO "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname="$1" + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols="$output_objdir/$libname.uexp" + delfiles="$delfiles $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols="$export_symbols" + export_symbols= + always_export_symbols=yes + fi + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + func_len " $cmd" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' + fi + + if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test "$compiler_needs_object" = yes && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$ECHO "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then + output=${output_objdir}/${output_la}.lnkscript + func_verbose "creating GNU ld script: $output" + $ECHO 'INPUT (' > $output + for obj in $save_libobjs + do + $ECHO "$obj" >> $output + done + $ECHO ')' >> $output + delfiles="$delfiles $output" + elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then + output=${output_objdir}/${output_la}.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test "$compiler_needs_object" = yes; then + firstobj="$1 " + shift + fi + for obj + do + $ECHO "$obj" >> $output + done + delfiles="$delfiles $output" + output=$firstobj\"$file_list_spec$output\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-${k}.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test "X$objlist" = X || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + if test -n "$last_robj"; then + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + fi + delfiles="$delfiles $output" + + else + output= + fi + + if ${skipped_export-false}; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + fi + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + if ${skipped_export-false}; then + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + fi + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $dlprefiles + libobjs="$libobjs $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "\`-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object \`$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "\`-release' is ignored for programs" + + test "$preload" = yes \ + && test "$dlopen_support" = unknown \ + && test "$dlopen_self" = unknown \ + && test "$dlopen_self_static" = unknown && \ + func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test "$tagname" = CXX ; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" "no" + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=yes + case $host in + *cygwin* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + *) + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + esac + if test "$wrappers_required" = no; then + # Replace the output file specification. + compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.${objext}"; then + func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' + fi + + exit $exit_status + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "\`$output' will be relinked during installation" + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $ECHO for shipping. + if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host" ; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save $symfileobj" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + if test "$preload" = yes && test -f "$symfileobj"; then + oldobjs="$oldobjs $symfileobj" + fi + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $dlprefiles + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $ECHO "copying selected object files to avoid basename conflicts..." + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase="$func_basename_result" + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + newdlfiles="$newdlfiles $libdir/$name" + ;; + *) newdlfiles="$newdlfiles $lib" ;; + esac + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + newdlprefiles="$newdlprefiles $libdir/$name" + ;; + esac + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $RM $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +{ test "$mode" = link || test "$mode" = relink; } && + func_mode_link ${1+"$@"} + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $opt_debug + RM="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) RM="$RM $arg"; rmforce=yes ;; + -*) RM="$RM $arg" ;; + *) files="$files $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + func_dirname "$file" "" "." + dir="$func_dirname_result" + if test "X$dir" = X.; then + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + func_basename "$file" + name="$func_basename_result" + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && + test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && + test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + rmfiles="$rmfiles $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +{ test "$mode" = uninstall || test "$mode" = clean; } && + func_mode_uninstall ${1+"$@"} + +test -z "$mode" && { + help="$generic_help" + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode \`$mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# vi:sw=2 + + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Commands used to build an old-style archive. +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" + +# A language specific compiler. +CC="g++" + +# Is the compiler the GNU compiler? +with_gcc=yes + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=no + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object="no" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build a shared archive. +archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds="" +module_expsym_cmds="" + +# Whether we are building with GNU ld or not. +with_gnu_ld="yes" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that enforces no undefined symbols. +no_undefined_flag="" + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist +hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into a binary +# during linking. This must work even if $libdir does not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator="" + +# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=no + +# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting ${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=no + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=no + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=no + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=no + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to "yes" if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" + +# Symbols that must always be exported. +include_expsyms="" + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds="" + +# Specify filename containing input files. +file_list_spec="" + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs="/usr/lib/gcc/i486-linux-gnu/4.3.2 /usr/lib/gcc/i486-linux-gnu/4.3.2 /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib /lib/../lib /usr/lib/../lib /usr/lib/gcc/i486-linux-gnu/4.3.2/../../.." + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects="/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.3.2/crtbeginS.o" +postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.3.2/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crtn.o" +predeps="" +postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.3.2/../../.." + +# ### END LIBTOOL TAG CONFIG: CXX diff --git a/ltmain.sh b/ltmain.sh new file mode 100755 index 0000000..6d056ec --- /dev/null +++ b/ltmain.sh @@ -0,0 +1,7880 @@ +# Generated from ltmain.m4sh. + +# ltmain.sh (GNU libtool) 2.2.4 +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Usage: $progname [OPTION]... [MODE-ARG]... +# +# Provide generalized library-building support services. +# +# --config show all configuration variables +# --debug enable verbose shell tracing +# -n, --dry-run display commands without modifying any files +# --features display basic configuration information and exit +# --mode=MODE use operation mode MODE +# --preserve-dup-deps don't remove duplicate dependency libraries +# --quiet, --silent don't print informational messages +# --tag=TAG use configuration variables from tag TAG +# -v, --verbose print informational messages (default) +# --version print version information +# -h, --help print short or long help message +# +# MODE must be one of the following: +# +# clean remove files from the build directory +# compile compile a source file into a libtool object +# execute automatically set library path, then run a program +# finish complete the installation of libtool libraries +# install install libraries or executables +# link create a library or an executable +# uninstall remove libraries from an installed directory +# +# MODE-ARGS vary depending on the MODE. +# Try `$progname --help --mode=MODE' for a more detailed description of MODE. +# +# When reporting a bug, please describe a test case to reproduce it and +# include the following information: +# +# host-triplet: $host +# shell: $SHELL +# compiler: $LTCC +# compiler flags: $LTCFLAGS +# linker: $LD (gnu? $with_gnu_ld) +# $progname: (GNU libtool) 2.2.4 Debian-2.2.4-0ubuntu4 +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to . + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="2.2.4 Debian-2.2.4-0ubuntu4" +TIMESTAMP="" +package_revision=1.2976 + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# NLS nuisances: We save the old values to restore during execute mode. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +lt_user_locale= +lt_safe_locale= +for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test \"\${$lt_var+set}\" = set; then + save_$lt_var=\$$lt_var + $lt_var=C + export $lt_var + lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" + lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" + fi" +done + +$lt_unset CDPATH + + + + + +: ${CP="cp -f"} +: ${ECHO="echo"} +: ${EGREP="/bin/grep -E"} +: ${FGREP="/bin/grep -F"} +: ${GREP="/bin/grep"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SED="/bin/sed"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} +: ${Xsed="$SED -e 1s/^X//"} + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +exit_status=$EXIT_SUCCESS + +# Make sure IFS has a sensible default +lt_nl=' +' +IFS=" $lt_nl" + +dirname="s,/[^/]*$,," +basename="s,^.*/,," + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + +# Generated shell functions inserted here. + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +# In the unlikely event $progname began with a '-', it would play havoc with +# func_echo (imagine progname=-n), so we prepend ./ in that case: +func_dirname_and_basename "$progpath" +progname=$func_basename_result +case $progname in + -*) progname=./$progname ;; +esac + +# Make sure we have an absolute path for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=$func_dirname_result + progdir=`cd "$progdir" && pwd` + progpath="$progdir/$progname" + ;; + *) + save_IFS="$IFS" + IFS=: + for progdir in $PATH; do + IFS="$save_IFS" + test -x "$progdir/$progname" && break + done + IFS="$save_IFS" + test -n "$progdir" || progdir=`pwd` + progpath="$progdir/$progname" + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Re-`\' parameter expansions in output of double_quote_subst that were +# `\'-ed in input to the same. If an odd number of `\' preceded a '$' +# in input to double_quote_subst, that '$' was protected from expansion. +# Since each input `\' is now two `\'s, look for any number of runs of +# four `\'s followed by two `\'s and then a '$'. `\' that '$'. +bs='\\' +bs2='\\\\' +bs4='\\\\\\\\' +dollar='\$' +sed_double_backslash="\ + s/$bs4/&\\ +/g + s/^$bs2$dollar/$bs&/ + s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g + s/\n//g" + +# Standard options: +opt_dry_run=false +opt_help=false +opt_quiet=false +opt_verbose=false +opt_warning=: + +# func_echo arg... +# Echo program name prefixed message, along with the current mode +# name if it has been set yet. +func_echo () +{ + $ECHO "$progname${mode+: }$mode: $*" +} + +# func_verbose arg... +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $opt_verbose && func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + +# func_error arg... +# Echo program name prefixed message to standard error. +func_error () +{ + $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 +} + +# func_warning arg... +# Echo program name prefixed warning message to standard error. +func_warning () +{ + $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 + + # bash bug again: + : +} + +# func_fatal_error arg... +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + +# func_fatal_help arg... +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + func_error ${1+"$@"} + func_fatal_error "$help" +} +help="Try \`$progname --help' for more information." ## default + + +# func_grep expression filename +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_mkdir_p directory-path +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + my_directory_path="$1" + my_dir_list= + + if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then + + # Protect directory names starting with `-' + case $my_directory_path in + -*) my_directory_path="./$my_directory_path" ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$my_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + my_dir_list="$my_directory_path:$my_dir_list" + + # If the last portion added has no slash in it, the list is done + case $my_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` + done + my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` + + save_mkdir_p_IFS="$IFS"; IFS=':' + for my_dir in $my_dir_list; do + IFS="$save_mkdir_p_IFS" + # mkdir can fail with a `File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$my_dir" 2>/dev/null || : + done + IFS="$save_mkdir_p_IFS" + + # Bail out if we (or some other process) failed to create a directory. + test -d "$my_directory_path" || \ + func_fatal_error "Failed to create \`$1'" + fi +} + + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$opt_dry_run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || \ + func_fatal_error "cannot create temporary directory \`$my_tmpdir'" + fi + + $ECHO "X$my_tmpdir" | $Xsed +} + + +# func_quote_for_eval arg +# Aesthetically quote ARG to be evaled later. +# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT +# is double-quoted, suitable for a subsequent eval, whereas +# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters +# which are still active within double quotes backslashified. +func_quote_for_eval () +{ + case $1 in + *[\\\`\"\$]*) + func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; + *) + func_quote_for_eval_unquoted_result="$1" ;; + esac + + case $func_quote_for_eval_unquoted_result in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and and variable + # expansion for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" + ;; + *) + func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" + esac +} + + +# func_quote_for_expand arg +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + case $1 in + *[\\\`\"]*) + my_arg=`$ECHO "X$1" | $Xsed \ + -e "$double_quote_subst" -e "$sed_double_backslash"` ;; + *) + my_arg="$1" ;; + esac + + case $my_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + my_arg="\"$my_arg\"" + ;; + esac + + func_quote_for_expand_result="$my_arg" +} + + +# func_show_eval cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$my_cmd" + my_status=$? + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + + +# func_show_eval_locale cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$lt_user_locale + $my_cmd" + my_status=$? + eval "$lt_safe_locale" + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + + + + + +# func_version +# Echo version message to standard output and exit. +func_version () +{ + $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { + s/^# // + s/^# *$// + s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ + p + }' < "$progpath" + exit $? +} + +# func_usage +# Echo short help message to standard output and exit. +func_usage () +{ + $SED -n '/^# Usage:/,/# -h/ { + s/^# // + s/^# *$// + s/\$progname/'$progname'/ + p + }' < "$progpath" + $ECHO + $ECHO "run \`$progname --help | more' for full usage" + exit $? +} + +# func_help +# Echo long help message to standard output and exit. +func_help () +{ + $SED -n '/^# Usage:/,/# Report bugs to/ { + s/^# // + s/^# *$// + s*\$progname*'$progname'* + s*\$host*'"$host"'* + s*\$SHELL*'"$SHELL"'* + s*\$LTCC*'"$LTCC"'* + s*\$LTCFLAGS*'"$LTCFLAGS"'* + s*\$LD*'"$LD"'* + s/\$with_gnu_ld/'"$with_gnu_ld"'/ + s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ + p + }' < "$progpath" + exit $? +} + +# func_missing_arg argname +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + func_error "missing argument for $1" + exit_cmd=exit +} + +exit_cmd=: + + + + + +# Check that we have a working $ECHO. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell, and then maybe $ECHO will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + +# Parse options once, thoroughly. This comes as soon as possible in +# the script to make things like `libtool --version' happen quickly. +{ + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + esac + + # Parse non-mode specific arguments: + while test "$#" -gt 0; do + opt="$1" + shift + + case $opt in + --config) func_config ;; + + --debug) preserve_args="$preserve_args $opt" + func_echo "enabling shell trace mode" + opt_debug='set -x' + $opt_debug + ;; + + -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break + execute_dlfiles="$execute_dlfiles $1" + shift + ;; + + --dry-run | -n) opt_dry_run=: ;; + --features) func_features ;; + --finish) mode="finish" ;; + + --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break + case $1 in + # Valid mode arguments: + clean) ;; + compile) ;; + execute) ;; + finish) ;; + install) ;; + link) ;; + relink) ;; + uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $opt" + exit_cmd=exit + break + ;; + esac + + mode="$1" + shift + ;; + + --preserve-dup-deps) + opt_duplicate_deps=: ;; + + --quiet|--silent) preserve_args="$preserve_args $opt" + opt_silent=: + ;; + + --verbose| -v) preserve_args="$preserve_args $opt" + opt_silent=false + ;; + + --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break + preserve_args="$preserve_args $opt $1" + func_enable_tag "$1" # tagname is set here + shift + ;; + + # Separate optargs to long options: + -dlopen=*|--mode=*|--tag=*) + func_opt_split "$opt" + set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} + shift + ;; + + -\?|-h) func_usage ;; + --help) opt_help=: ;; + --version) func_version ;; + + -*) func_fatal_help "unrecognized option \`$opt'" ;; + + *) nonopt="$opt" + break + ;; + esac + done + + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_duplicate_deps + ;; + esac + + # Having warned about all mis-specified options, bail out if + # anything was wrong. + $exit_cmd $EXIT_FAILURE +} + +# func_check_version_match +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +## ----------- ## +## Main. ## +## ----------- ## + +$opt_help || { + # Sanity checks first: + func_check_version_match + + if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + func_fatal_configuration "not configured to build any kind of library" + fi + + test -z "$mode" && func_fatal_error "error: you must specify a MODE." + + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + func_error "unrecognized option \`-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$progname --help --mode=$mode' for more information." +} + + +# func_lalib_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + $SED -e 4q "$1" 2>/dev/null \ + | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if `file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case "$lalib_p_line" in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test "$lalib_p" = yes +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + func_lalib_p "$1" +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_ltwrapper_scriptname_result="" + if func_ltwrapper_executable_p "$1"; then + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" + fi +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $opt_debug + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$save_ifs + eval cmd=\"$cmd\" + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# `FILE.' does not work on cygwin managed mounts. +func_source () +{ + $opt_debug + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $opt_debug + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + case "$@ " in + " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with \`--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=${1} + if test "$build_libtool_libs" = yes; then + write_lobj=\'${2}\' + else + write_lobj=none + fi + + if test "$build_old_libs" = yes; then + write_oldobj=\'${3}\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T <?"'"'"' &()|`$[]' \ + && func_warning "libobj name \`$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname="$func_basename_result" + xdir="$func_dirname_result" + lobj=${xdir}$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + removelist="$removelist $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + removelist="$removelist $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + command="$command -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test "$suppress_opt" = yes; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { +test "$mode" = compile && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -shared do not build a \`.o' file suitable for static linking + -static only build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode \`$mode'" + ;; + esac + + $ECHO + $ECHO "Try \`$progname --help' for more information about other modes." + + exit $? +} + + # Now that we've collected a possible --mode arg, show help if necessary + $opt_help && func_mode_help + + +# func_mode_execute arg... +func_mode_execute () +{ + $opt_debug + # The first argument is the command name. + cmd="$nonopt" + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + test -f "$file" \ + || func_fatal_help "\`$file' is not a file" + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "\`$file' was not linked with \`-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir="$func_dirname_result" + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir="$func_dirname_result" + ;; + + *) + func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file="$progdir/$program" + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_quote_for_eval "$file" + args="$args $func_quote_for_eval_result" + done + + if test "X$opt_dry_run" = Xfalse; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + $ECHO "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + fi +} + +test "$mode" = execute && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $opt_debug + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_silent && exit $EXIT_SUCCESS + + $ECHO "X----------------------------------------------------------------------" | $Xsed + $ECHO "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + $ECHO + $ECHO "If you ever happen to want to link against installed libraries" + $ECHO "in a given directory, LIBDIR, you must either use libtool, and" + $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" + $ECHO "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" + $ECHO " during execution" + fi + if test -n "$runpath_var"; then + $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" + $ECHO " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $ECHO + + $ECHO "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" + $ECHO "pages." + ;; + *) + $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + $ECHO "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS +} + +test "$mode" = finish && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $opt_debug + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $ECHO "X$nonopt" | $GREP shtool >/dev/null; then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + install_prog="$install_prog$func_quote_for_eval_result" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + install_prog="$install_prog $func_quote_for_eval_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the \`$prev' option requires an argument" + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir="$func_dirname_result" + destname="$func_basename_result" + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "\`$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "\`$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir="$func_dirname_result" + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking \`$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname="$1" + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme="$stripme" + case $host_os in + cygwin* | mingw* | pw32*) + case $realname in + *.dll.a) + tstripme="" + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name="$func_basename_result" + instname="$dir/$name"i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to \`$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script \`$wrapper'" + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "\`$lib' has not been installed in \`$libdir'" + finalize=no + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + $opt_dry_run || { + if test "$finalize" = yes; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file="$func_basename_result" + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_silent || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink \`$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file="$outputname" + else + func_warning "cannot relink \`$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name="$func_basename_result" + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run \`$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test "$mode" = install && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $opt_debug + my_outputname="$1" + my_originator="$2" + my_pic_p="${3-no}" + my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms="${my_outputname}S.c" + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${my_outputname}.nm" + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + func_verbose "generating symbol list for \`$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_verbose "extracting global C symbols from \`$progfile'" + $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $opt_dry_run || { + $RM $export_symbols + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin | *mingw* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from \`$dlprefile'" + func_basename "$dlprefile" + name="$func_basename_result" + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + $ECHO >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +" + case $host in + *cygwin* | *mingw* ) + $ECHO >> "$output_objdir/$my_dlsyms" "\ +/* DATA imports from DLLs on WIN32 con't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs. */" + lt_dlsym_const= ;; + *osf5*) + echo >> "$output_objdir/$my_dlsyms" "\ +/* This system does not cope well with relocations in const data */" + lt_dlsym_const= ;; + *) + lt_dlsym_const=const ;; + esac + + $ECHO >> "$output_objdir/$my_dlsyms" "\ +extern $lt_dlsym_const lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[]; +$lt_dlsym_const lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{\ + { \"$my_originator\", (void *) 0 }," + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + $ECHO >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + if test "X$my_pic_p" != Xno; then + pic_flag_for_symtable=" $pic_flag" + fi + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) symtab_cflags="$symtab_cflags $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' + + # Transform the symbol file into the correct name. + symfileobj="$output_objdir/${my_outputname}S.$objext" + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for \`$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + $opt_debug + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | + $SED -n -e ' + 1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $opt_debug + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $opt_debug + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib="$func_basename_result" + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`basename "$darwin_archive"` + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + + func_extract_archives_result="$my_oldobjs" +} + + + +# func_emit_wrapper arg +# +# emit a libtool wrapper script on stdout +# don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variable +# set therein. +# +# arg is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory in which it is stored is +# the '.lib' directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=no + if test -n "$1" ; then + func_emit_wrapper_arg1=$1 + fi + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + ECHO=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$ECHO works! + : + else + # Restart under the correct shell, and then maybe \$ECHO will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $ECHO "\ + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $ECHO "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} +# end: func_emit_wrapper + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +# define setmode _setmode +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +#ifdef _MSC_VER +# define S_IXUSR _S_IEXEC +# define stat _stat +# ifndef _INTPTR_T_DEFINED +# define intptr_t int +# endif +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifdef __CYGWIN__ +# define FOPEN_WB "wb" +#endif + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +#undef LTWRAPPER_DEBUGPRINTF +#if defined DEBUGWRAPPER +# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args +static void +ltwrapper_debugprintf (const char *fmt, ...) +{ + va_list args; + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); +} +#else +# define LTWRAPPER_DEBUGPRINTF(args) +#endif + +const char *program_name = NULL; + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_fatal (const char *message, ...); + +static const char *script_text = +EOF + + func_emit_wrapper yes | + $SED -e 's/\([\\"]\)/\\\1/g' \ + -e 's/^/ "/' -e 's/$/\\n"/' + echo ";" + + cat </dev/null || echo $SHELL` + case $lt_newargv0 in + *.exe | *.EXE) ;; + *) lt_newargv0=$lt_newargv0.exe ;; + esac + ;; + * ) lt_newargv0=$SHELL ;; + esac + fi + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", + path ? (*path ? path : "EMPTY!") : "NULL!")); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char *concat_name; + + LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", + wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", + tmp_pathspec)); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + char *errstr = strerror (errno); + lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal ("Could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp (str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_mode_link arg... +func_mode_link () +{ + $opt_debug + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module="${wl}-single_module" + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + test -f "$arg" \ + || func_fatal_error "symbol file \`$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) deplibs="$deplibs $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file \`$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + weak) + weak_libs="$weak_libs $arg" + prev= + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "\`-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname '-L' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of \`$dir'" + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot) + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; + esac + continue + ;; + + -multi_module) + single_module="${wl}-multi_module" + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "\`-no-install' is ignored for $host" + func_warning "assuming \`-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$compiler_flags $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" + linker_flags="$linker_flags $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" + func_append finalize_command " $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the \`$prevarg' option requires an argument" + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname="$func_basename_result" + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + func_dirname "$output" "/" "" + output_objdir="$func_dirname_result$objdir" + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_duplicate_deps ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test "$linkmode,$pass" = "lib,link"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs="$tmp_deplibs" + fi + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$linkmode,$pass" = "lib,dlpreopen"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + case $lib in + *.la) func_source "$lib" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` + case " $weak_libs " in + *" $deplib_base "*) ;; + *) deplibs="$deplibs $deplib" ;; + esac + done + done + libs="$dlprefiles" + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + func_warning "\`-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test "$linkmode" = lib; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + *.ltframework) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + *) + func_warning "\`-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + func_stripname '-R' '' "$deplib" + dir=$func_stripname_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $ECHO + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because the file extensions .$libext of this argument makes me believe" + $ECHO "*** that it is just a static archive that I should not use here." + else + $ECHO + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + ;; + esac + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + + if test "$found" = yes || test -f "$lib"; then : + else + func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" + fi + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "\`$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + elif test "$linkmode" != prog && test "$linkmode" != lib; then + func_fatal_error "\`$lib' is not a convenience library" + fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + func_fatal_error "cannot -dlopen a convenience library: \`$lib'" + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of \`$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir="$ladir" + fi + ;; + esac + func_basename "$lib" + laname="$func_basename_result" + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library \`$lib' was moved." + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir" && test "$linkmode" = prog; then + func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath:" in + *"$absdir:"*) ;; + *) temp_rpath="$temp_rpath$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw*) + # No point in relinking DLLs because paths are not encoded + notinst_deplibs="$notinst_deplibs $lib" + need_relink=no + ;; + *) + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule="" + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule="$dlpremoduletest" + break + fi + done + if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then + $ECHO + if test "$linkmode" = prog; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname="$1" + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + func_basename "$soroot" + soname="$func_basename_result" + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from \`$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for \`$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we can not + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null ; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $ECHO + $ECHO "*** And there doesn't seem to be a static archive available" + $ECHO "*** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + elif test -n "$old_library"; then + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && + test "$hardcode_minus_L" != yes && + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $ECHO + $ECHO "*** Warning: This system can not link to static lib archive $lib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $ECHO "*** But as you try to build a module library, libtool will still create " + $ECHO "*** a static module, that should work as long as the dlopening application" + $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $ECHO + $ECHO "*** However, this would only work if libtool was able to extract symbol" + $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" + $ECHO "*** not find such a program. So, this module is probably useless." + $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + func_dirname "$deplib" "" "." + dir="$func_dirname_result" + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of \`$dir'" + absdir="$dir" + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl" ; then + depdepl="$absdir/$objdir/$depdepl" + darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" + linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" + path= + fi + fi + ;; + *) + path="-L$absdir/$objdir" + ;; + esac + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "\`$deplib' seems to be moved" + + path="-L$absdir" + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test "$pass" = link; then + if test "$linkmode" = "prog"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + fi + if test "$linkmode" = prog || test "$linkmode" = lib; then + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "\`-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "\`-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test "$module" = no && \ + func_fatal_help "libtool library \`$output' must begin with \`lib'" + + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" + else + $ECHO + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + test "$dlself" != no && \ + func_warning "\`-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test "$#" -gt 1 && \ + func_warning "ignoring multiple \`-rpath's for a libtool library" + + install_libdir="$1" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "\`-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + shift + IFS="$save_ifs" + + test -n "$7" && \ + func_fatal_help "too many parameters to \`-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$1" + number_minor="$2" + number_revision="$3" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + func_fatal_configuration "$modename: unknown library version type \`$version_type'" + ;; + esac + ;; + no) + current="$1" + revision="$2" + age="$3" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT \`$current' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION \`$revision' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE \`$age' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE \`$age' is greater than the current interface number \`$current'" + func_fatal_error "\`$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current" + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + qnx) + major=".$current" + versuffix=".$current" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + + *) + func_fatal_configuration "unknown library version type \`$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + func_warning "undefined symbols not allowed in $host shared libraries" + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + + fi + + func_generate_dlsyms "$libname" "$libname" "yes" + libobjs="$libobjs $symfileobj" + test "X$libobjs" = "X " && libobjs= + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` + # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` + # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $ECHO + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $ECHO + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ + -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` + done + fi + if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | + $GREP . >/dev/null; then + $ECHO + if test "X$deplibs_check_method" = "Xnone"; then + $ECHO "*** Warning: inter-library dependencies are not supported in this platform." + else + $ECHO "*** Warning: inter-library dependencies are not known to be supported." + fi + $ECHO "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $ECHO + $ECHO "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + $ECHO "*** a static module, that should work as long as the dlopening" + $ECHO "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $ECHO + $ECHO "*** However, this would only work if libtool was able to extract symbol" + $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" + $ECHO "*** not find such a program. So, this module is probably useless." + $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $ECHO "*** The inter-library dependencies that have been dropped here will be" + $ECHO "*** automatically added whenever a program is linked with this library" + $ECHO "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $ECHO + $ECHO "*** Since this library must not contain undefined symbols," + $ECHO "*** because either the platform does not support them or" + $ECHO "*** it was explicitly requested with -no-undefined," + $ECHO "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname="$1" + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols="$output_objdir/$libname.uexp" + delfiles="$delfiles $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols="$export_symbols" + export_symbols= + always_export_symbols=yes + fi + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + func_len " $cmd" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' + fi + + if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test "$compiler_needs_object" = yes && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$ECHO "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then + output=${output_objdir}/${output_la}.lnkscript + func_verbose "creating GNU ld script: $output" + $ECHO 'INPUT (' > $output + for obj in $save_libobjs + do + $ECHO "$obj" >> $output + done + $ECHO ')' >> $output + delfiles="$delfiles $output" + elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then + output=${output_objdir}/${output_la}.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test "$compiler_needs_object" = yes; then + firstobj="$1 " + shift + fi + for obj + do + $ECHO "$obj" >> $output + done + delfiles="$delfiles $output" + output=$firstobj\"$file_list_spec$output\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-${k}.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test "X$objlist" = X || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + if test -n "$last_robj"; then + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + fi + delfiles="$delfiles $output" + + else + output= + fi + + if ${skipped_export-false}; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + fi + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + if ${skipped_export-false}; then + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + fi + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $dlprefiles + libobjs="$libobjs $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "\`-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object \`$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "\`-release' is ignored for programs" + + test "$preload" = yes \ + && test "$dlopen_support" = unknown \ + && test "$dlopen_self" = unknown \ + && test "$dlopen_self_static" = unknown && \ + func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test "$tagname" = CXX ; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" "no" + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=yes + case $host in + *cygwin* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + *) + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + esac + if test "$wrappers_required" = no; then + # Replace the output file specification. + compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.${objext}"; then + func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' + fi + + exit $exit_status + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "\`$output' will be relinked during installation" + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $ECHO for shipping. + if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host" ; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save $symfileobj" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + if test "$preload" = yes && test -f "$symfileobj"; then + oldobjs="$oldobjs $symfileobj" + fi + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $dlprefiles + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $ECHO "copying selected object files to avoid basename conflicts..." + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase="$func_basename_result" + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + newdlfiles="$newdlfiles $libdir/$name" + ;; + *) newdlfiles="$newdlfiles $lib" ;; + esac + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + newdlprefiles="$newdlprefiles $libdir/$name" + ;; + esac + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $RM $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +{ test "$mode" = link || test "$mode" = relink; } && + func_mode_link ${1+"$@"} + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $opt_debug + RM="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) RM="$RM $arg"; rmforce=yes ;; + -*) RM="$RM $arg" ;; + *) files="$files $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + func_dirname "$file" "" "." + dir="$func_dirname_result" + if test "X$dir" = X.; then + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + func_basename "$file" + name="$func_basename_result" + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && + test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && + test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + rmfiles="$rmfiles $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +{ test "$mode" = uninstall || test "$mode" = clean; } && + func_mode_uninstall ${1+"$@"} + +test -z "$mode" && { + help="$generic_help" + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode \`$mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# vi:sw=2 + diff --git a/mblur/Makefile b/mblur/Makefile new file mode 100644 index 0000000..ff0a0cc --- /dev/null +++ b/mblur/Makefile @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# mblur/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = mblur +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libmblur_la_DEPENDENCIES = +am_libmblur_la_OBJECTS = mblur_options.lo mblur.lo +libmblur_la_OBJECTS = $(am_libmblur_la_OBJECTS) +libmblur_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libmblur_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libmblur_la_SOURCES) +DIST_SOURCES = $(libmblur_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/mblur +abs_srcdir = /media/disk-3/src/compiz/mblur +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libmblur_la_LDFLAGS = $(PFLAGS) +libmblur_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +libmblur_la_SOURCES = mblur_options.c mblur_options.h mblur.c +INCLUDES = \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) +module_LTLIBRARIES = libmblur.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mblur/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu mblur/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libmblur.la: $(libmblur_la_OBJECTS) $(libmblur_la_DEPENDENCIES) + $(libmblur_la_LINK) -rpath $(moduledir) $(libmblur_la_OBJECTS) $(libmblur_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/mblur.Plo +include ./$(DEPDIR)/mblur_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +mblur_options.h: ../metadata/mblur.xml + $(BCOP_BIN) --header $@ $< + +mblur_options.c: ../metadata/mblur.xml mblur_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/mblur/Makefile.am b/mblur/Makefile.am new file mode 100644 index 0000000..c219849 --- /dev/null +++ b/mblur/Makefile.am @@ -0,0 +1,27 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +libmblur_la_LDFLAGS = $(PFLAGS) +libmblur_la_LIBADD = @ECOMP_LIBS@ +libmblur_la_SOURCES = mblur_options.c mblur_options.h mblur.c + +INCLUDES = \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) + + +module_LTLIBRARIES = libmblur.la + +CLEANFILES = *_options.c *_options.h + +mblur_options.h: ../metadata/mblur.xml + $(BCOP_BIN) --header $@ $< + +mblur_options.c: ../metadata/mblur.xml mblur_options.h + $(BCOP_BIN) --source $@ $< diff --git a/mblur/Makefile.in b/mblur/Makefile.in new file mode 100644 index 0000000..19d12e2 --- /dev/null +++ b/mblur/Makefile.in @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = mblur +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libmblur_la_DEPENDENCIES = +am_libmblur_la_OBJECTS = mblur_options.lo mblur.lo +libmblur_la_OBJECTS = $(am_libmblur_la_OBJECTS) +libmblur_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libmblur_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libmblur_la_SOURCES) +DIST_SOURCES = $(libmblur_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +libmblur_la_LDFLAGS = $(PFLAGS) +libmblur_la_LIBADD = @ECOMP_LIBS@ +libmblur_la_SOURCES = mblur_options.c mblur_options.h mblur.c +INCLUDES = \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) +module_LTLIBRARIES = libmblur.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mblur/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu mblur/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libmblur.la: $(libmblur_la_OBJECTS) $(libmblur_la_DEPENDENCIES) + $(libmblur_la_LINK) -rpath $(moduledir) $(libmblur_la_OBJECTS) $(libmblur_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mblur.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mblur_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +mblur_options.h: ../metadata/mblur.xml + $(BCOP_BIN) --header $@ $< + +mblur_options.c: ../metadata/mblur.xml mblur_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/mblur/mblur.c b/mblur/mblur.c new file mode 100644 index 0000000..53f2aa1 --- /dev/null +++ b/mblur/mblur.c @@ -0,0 +1,443 @@ +/* + * Ecomp motion blur effect plugin + * + * mblur.c + * + * Copyright : (C) 2007 by Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "mblur_options.h" + +#define GET_MBLUR_DISPLAY(d) \ + ((MblurDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define MBLUR_DISPLAY(d) \ + MblurDisplay *md = GET_MBLUR_DISPLAY (d) + +#define GET_MBLUR_SCREEN(s, md) \ + ((MblurScreen *) (s)->privates[(md)->screenPrivateIndex].ptr) + +#define MBLUR_SCREEN(s) \ + MblurScreen *ms = GET_MBLUR_SCREEN (s, GET_MBLUR_DISPLAY (s->display)) + +static int displayPrivateIndex = 0; + +typedef struct _MblurDisplay +{ + int screenPrivateIndex; +} +MblurDisplay; + +typedef struct _MblurScreen +{ + /* functions that we will intercept */ + PreparePaintScreenProc preparePaintScreen; + PaintScreenProc paintScreen; + PaintTransformedOutputProc paintTransformedOutput; + + Bool active; + Bool update; /* is an update of the motion blut texture needed */ + + float alpha; /* motion blur blending value */ + float timer; /* motion blur fadeout time */ + Bool activated; + + GLuint texture; +} +MblurScreen; + +/* activate/deactivate motion blur */ + +static Bool +mblurToggle (CompDisplay *d, + CompAction *ac, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + + s = findScreenAtDisplay (d, getIntOptionNamed (option, nOption, "root", 0)); + + if (s) + { + MBLUR_SCREEN (s); + ms->activated = !ms->activated; + } + + return FALSE; +} + +static void +mblurPreparePaintScreen (CompScreen * s, + int msec) +{ + MBLUR_SCREEN (s); + + ms->active |= ms->activated; + + /* fade motion blur out if no longer active */ + + if (ms->activated) + { + ms->timer = 500; + } + else + { + ms->timer -= msec; + } + + // calculate motion blur strength dependent on framerate + float val = 101 - MIN (100, MAX (1, msec) ); + float a_val = mblurGetStrength (s) / 20.0; + + a_val = a_val * a_val; + a_val /= 100.0; + + ms->alpha = 1.0 - pow (a_val, 1.0 / val); + + if (ms->active && ms->timer <= 0) + damageScreen (s); + + if (ms->timer <= 0) + { + ms->active = FALSE; + } + + if (ms->update && ms->active) + damageScreen (s); + + UNWRAP (ms, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msec); + WRAP (ms, s, preparePaintScreen, mblurPreparePaintScreen); +} + + +static void +mblurPaintScreen (CompScreen *s, + CompOutput *outputs, + int numOutput, + unsigned int mask) +{ + + MBLUR_SCREEN (s); + + if (!ms->active) + ms->update = TRUE; + + + UNWRAP (ms, s, paintScreen); + (*s->paintScreen) (s, outputs, numOutput, mask); + WRAP (ms, s, paintScreen, mblurPaintScreen); + + Bool enable_scissor = FALSE; + + if (ms->active && glIsEnabled (GL_SCISSOR_TEST) ) + { + glDisable (GL_SCISSOR_TEST); + enable_scissor = TRUE; + } + + if (ms->active && mblurGetMode (s) == ModeTextureCopy) + { + + float tx, ty; + GLuint target; + + if (s->textureNonPowerOfTwo || + (POWER_OF_TWO (s->width) && POWER_OF_TWO (s->height) ) ) + { + target = GL_TEXTURE_2D; + tx = 1.0f / s->width; + ty = 1.0f / s->height; + } + else + { + target = GL_TEXTURE_RECTANGLE_NV; + tx = 1; + ty = 1; + } + + + if (!ms->texture) + { + glGenTextures (1, &ms->texture); + glBindTexture (target, ms->texture); + + glTexParameteri (target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri (target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + glTexParameteri (target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri (target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glBindTexture (target, 0); + } + + // blend motion blur texture to screen + glPushAttrib (GL_COLOR_BUFFER_BIT | GL_TEXTURE_BIT | GL_VIEWPORT_BIT); + glPushMatrix (); + glLoadIdentity (); + + glViewport (0, 0, s->width, s->height); + glTranslatef (-0.5f, -0.5f, -DEFAULT_Z_CAMERA); + glScalef (1.0f / s->width, -1.0f / s->height, 1.0f); + glTranslatef (0.0f, -s->height, 0.0f); + glBindTexture (target, ms->texture); + glEnable (target); + + if (!ms->update) + { + glEnable (GL_BLEND); + + glBlendFunc (GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA); + ms->alpha = (ms->timer / 500.0) * + ms->alpha + (1.0 - (ms->timer / 500.0) ) * 0.5; + + glColor4f (1, 1, 1, ms->alpha); + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + glBegin (GL_QUADS); + glTexCoord2f (0, s->height * ty); + glVertex2f (0, 0); + glTexCoord2f (0, 0); + glVertex2f (0, s->height); + glTexCoord2f (s->width * tx, 0); + glVertex2f (s->width, s->height); + glTexCoord2f (s->width * tx, s->height * ty); + glVertex2f (s->width, 0); + glEnd (); + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + + glDisable (GL_BLEND); + + // copy new screen to motion blur texture + glCopyTexSubImage2D (target, 0, 0, 0, 0, 0, s->width, s->height); + } + else + { + glCopyTexImage2D (target, 0, GL_RGB, 0, 0, + s->width, s->height, 0); + } + + glBindTexture (target, 0); + + glDisable (target); + + glPopMatrix (); + glPopAttrib (); + + ms->update = FALSE; + damageScreen (s); + } + + if (ms->active && mblurGetMode (s) == ModeAccumulationBuffer) + { + + // create motion blur effect using accumulation buffer + ms->alpha = (ms->timer / 500.0) * + ms->alpha + (1.0 - (ms->timer / 500.0) ) * 0.5; + + if (ms->update) + { + glAccum (GL_LOAD, 1.0); + } + else + { + glAccum (GL_MULT, 1.0 - ms->alpha); + glAccum (GL_ACCUM, ms->alpha); + glAccum (GL_RETURN, 1.0); + } + + ms->update = FALSE; + + damageScreen (s); + } + + if (enable_scissor) + glEnable (GL_SCISSOR_TEST); + +} + +static void +mblurPaintTransformedOutput (CompScreen *s, + const ScreenPaintAttrib *sa, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + + MBLUR_SCREEN (s); + + if (mblurGetOnTransformedScreen (s) && + (mask & PAINT_SCREEN_TRANSFORMED_MASK) ) + { + ms->active = TRUE; + ms->timer = 500; + } + + UNWRAP (ms, s, paintTransformedOutput); + (*s->paintTransformedOutput) (s, sa, transform, region, output, mask); + WRAP (ms, s, paintTransformedOutput, mblurPaintTransformedOutput); +} + +static Bool +mblurInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +mblurFini (CompPlugin *p) +{ + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static Bool +mblurInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + /* Generate a blur display */ + MblurDisplay *md = (MblurDisplay *) calloc (1, sizeof (MblurDisplay)); + + /* Allocate a private index */ + md->screenPrivateIndex = allocateScreenPrivateIndex (d); + + /* Check if its valid */ + if (md->screenPrivateIndex < 0) + { + /* It's invalid so free memory and return */ + free (md); + return FALSE; + } + + /* Record the display */ + d->privates[displayPrivateIndex].ptr = md; + + mblurSetInitiateInitiate (d, mblurToggle); + + return TRUE; +} + +static void +mblurFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + MBLUR_DISPLAY (d); + + /*Free the private index */ + freeScreenPrivateIndex (d, md->screenPrivateIndex); + + /*Free the pointer */ + free (md); +} + +static Bool +mblurInitScreen (CompPlugin *p, + CompScreen *s) +{ + MBLUR_DISPLAY (s->display); + + /* Create a blur screen */ + MblurScreen *ms = (MblurScreen *) calloc (1, sizeof (MblurScreen) ); + + s->privates[md->screenPrivateIndex].ptr = ms; + + ms->activated = FALSE; + ms->update = TRUE; + ms->texture = 0; + + /* Take over the window draw function */ + WRAP (ms, s, paintScreen, mblurPaintScreen); + WRAP (ms, s, preparePaintScreen, mblurPreparePaintScreen); + WRAP (ms, s, paintTransformedOutput, mblurPaintTransformedOutput); + + damageScreen (s); + + return TRUE; +} + +static void +mblurFiniScreen (CompPlugin *p, + CompScreen *s) +{ + MBLUR_SCREEN (s); + + if (ms->texture) + glDeleteTextures (1, &ms->texture); + + /* restore the original function */ + UNWRAP (ms, s, paintScreen); + UNWRAP (ms, s, preparePaintScreen); + UNWRAP (ms, s, paintTransformedOutput); + + /* free the screen pointer */ + free (ms); +} + +static int +mblurGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + + +CompPluginVTable mblurVTable = { + + "mblur", + mblurGetVersion, + 0, + mblurInit, + mblurFini, + mblurInitDisplay, + mblurFiniDisplay, + mblurInitScreen, + mblurFiniScreen, + 0, + 0, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &mblurVTable; +} diff --git a/mblur/mblur_options.c b/mblur/mblur_options.c new file mode 100644 index 0000000..bf0f910 --- /dev/null +++ b/mblur/mblur_options.c @@ -0,0 +1,374 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _MBLUR_OPTIONS_INTERNAL +#include "mblur_options.h" + +static int displayPrivateIndex; + +static CompMetadata mblurOptionsMetadata; + +static CompPluginVTable *mblurPluginVTable = NULL; +CompPluginVTable mblurOptionsVTable; + +#define GET_MBLUR_OPTIONS_DISPLAY(d) \ + ((MblurOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define MBLUR_OPTIONS_DISPLAY(d) \ + MblurOptionsDisplay *od = GET_MBLUR_OPTIONS_DISPLAY (d) + +#define GET_MBLUR_OPTIONS_SCREEN(s, od) \ + ((MblurOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define MBLUR_OPTIONS_SCREEN(s) \ + MblurOptionsScreen *os = GET_MBLUR_OPTIONS_SCREEN (s, GET_MBLUR_OPTIONS_DISPLAY (s->display)) + +typedef struct _MblurOptionsDisplay +{ + int screenPrivateIndex; + + CompOption opt[MblurDisplayOptionNum]; + mblurDisplayOptionChangeNotifyProc notify[MblurDisplayOptionNum]; +} MblurOptionsDisplay; + +typedef struct _MblurOptionsScreen +{ + CompOption opt[MblurScreenOptionNum]; + mblurScreenOptionChangeNotifyProc notify[MblurScreenOptionNum]; +} MblurOptionsScreen; + +CompAction * mblurGetInitiate (CompDisplay *d) +{ + MBLUR_OPTIONS_DISPLAY(d); + return &od->opt[MblurDisplayOptionInitiate].value.action; +} + +void mblurSetInitiateInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + MBLUR_OPTIONS_DISPLAY(d); + od->opt[MblurDisplayOptionInitiate].value.action.initiate = init; +} + +void mblurSetInitiateTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + MBLUR_OPTIONS_DISPLAY(d); + od->opt[MblurDisplayOptionInitiate].value.action.terminate = term; +} + +CompOption * mblurGetInitiateOption (CompDisplay *d) +{ + MBLUR_OPTIONS_DISPLAY(d); + return &od->opt[MblurDisplayOptionInitiate]; +} + +void mblurSetInitiateNotify (CompDisplay *d, mblurDisplayOptionChangeNotifyProc notify) +{ + MBLUR_OPTIONS_DISPLAY(d); + od->notify[MblurDisplayOptionInitiate] = notify; +} + +int mblurGetMode (CompScreen *s) +{ + MBLUR_OPTIONS_SCREEN(s); + return os->opt[MblurScreenOptionMode].value.i; +} + +CompOption * mblurGetModeOption (CompScreen *s) +{ + MBLUR_OPTIONS_SCREEN(s); + return &os->opt[MblurScreenOptionMode]; +} + +void mblurSetModeNotify (CompScreen *s, mblurScreenOptionChangeNotifyProc notify) +{ + MBLUR_OPTIONS_SCREEN(s); + os->notify[MblurScreenOptionMode] = notify; +} + +float mblurGetStrength (CompScreen *s) +{ + MBLUR_OPTIONS_SCREEN(s); + return os->opt[MblurScreenOptionStrength].value.f; +} + +CompOption * mblurGetStrengthOption (CompScreen *s) +{ + MBLUR_OPTIONS_SCREEN(s); + return &os->opt[MblurScreenOptionStrength]; +} + +void mblurSetStrengthNotify (CompScreen *s, mblurScreenOptionChangeNotifyProc notify) +{ + MBLUR_OPTIONS_SCREEN(s); + os->notify[MblurScreenOptionStrength] = notify; +} + +Bool mblurGetOnTransformedScreen (CompScreen *s) +{ + MBLUR_OPTIONS_SCREEN(s); + return os->opt[MblurScreenOptionOnTransformedScreen].value.b; +} + +CompOption * mblurGetOnTransformedScreenOption (CompScreen *s) +{ + MBLUR_OPTIONS_SCREEN(s); + return &os->opt[MblurScreenOptionOnTransformedScreen]; +} + +void mblurSetOnTransformedScreenNotify (CompScreen *s, mblurScreenOptionChangeNotifyProc notify) +{ + MBLUR_OPTIONS_SCREEN(s); + os->notify[MblurScreenOptionOnTransformedScreen] = notify; +} + +CompOption * mblurGetDisplayOption (CompDisplay *d, MblurDisplayOptions num) +{ + MBLUR_OPTIONS_DISPLAY(d); + return &od->opt[num]; +} + +CompOption * mblurGetScreenOption (CompScreen *s, MblurScreenOptions num) +{ + MBLUR_OPTIONS_SCREEN(s); + return &os->opt[num]; +} + +static const CompMetadataOptionInfo mblurOptionsDisplayOptionInfo[] = { + { "initiate", "action", 0, 0, 0 }, +}; + +static Bool mblurOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) +{ + MBLUR_OPTIONS_DISPLAY(d); + CompOption *o; + int index; + + o = compFindOption (od->opt, MblurDisplayOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case MblurDisplayOptionInitiate: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[MblurDisplayOptionInitiate]) + (*od->notify[MblurDisplayOptionInitiate]) (d, o, MblurDisplayOptionInitiate); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * mblurOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) +{ + MBLUR_OPTIONS_DISPLAY(d); + *count = MblurDisplayOptionNum; + return od->opt; +} + +static const CompMetadataOptionInfo mblurOptionsScreenOptionInfo[] = { + { "mode", "int", "01", 0, 0 }, + { "strength", "float", "0.0100.0", 0, 0 }, + { "on_transformed_screen", "bool", 0, 0, 0 }, +}; + +static Bool mblurOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + MBLUR_OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, MblurScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case MblurScreenOptionMode: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[MblurScreenOptionMode]) + (*os->notify[MblurScreenOptionMode]) (s, o, MblurScreenOptionMode); + return TRUE; + } + break; + case MblurScreenOptionStrength: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[MblurScreenOptionStrength]) + (*os->notify[MblurScreenOptionStrength]) (s, o, MblurScreenOptionStrength); + return TRUE; + } + break; + case MblurScreenOptionOnTransformedScreen: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[MblurScreenOptionOnTransformedScreen]) + (*os->notify[MblurScreenOptionOnTransformedScreen]) (s, o, MblurScreenOptionOnTransformedScreen); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * mblurOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + MBLUR_OPTIONS_SCREEN(s); + *count = MblurScreenOptionNum; + return os->opt; +} + +static Bool mblurOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + MblurOptionsScreen *os; + + MBLUR_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(MblurOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (!compInitScreenOptionsFromMetadata (s, &mblurOptionsMetadata, mblurOptionsScreenOptionInfo, os->opt, MblurScreenOptionNum)) + { + free (os); + return FALSE; + } + if (mblurPluginVTable && mblurPluginVTable->initScreen) + return mblurPluginVTable->initScreen (p, s); + return TRUE; +} + +static void mblurOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (mblurPluginVTable && mblurPluginVTable->finiScreen) + return mblurPluginVTable->finiScreen (p, s); + + MBLUR_OPTIONS_SCREEN (s); + + + compFiniScreenOptions (s, os->opt, MblurScreenOptionNum); + + free (os); +} + +static Bool mblurOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + MblurOptionsDisplay *od; + + + od = calloc (1, sizeof(MblurOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (!compInitDisplayOptionsFromMetadata (d, &mblurOptionsMetadata, mblurOptionsDisplayOptionInfo, od->opt, MblurDisplayOptionNum)) + { + free (od); + return FALSE; + } + if (mblurPluginVTable && mblurPluginVTable->initDisplay) + return mblurPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void mblurOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (mblurPluginVTable && mblurPluginVTable->finiDisplay) + return mblurPluginVTable->finiDisplay (p, d); + + MBLUR_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + + compFiniDisplayOptions (d, od->opt, MblurDisplayOptionNum); + + free (od); +} + +static Bool mblurOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&mblurOptionsMetadata, "mblur",mblurOptionsDisplayOptionInfo, MblurDisplayOptionNum, mblurOptionsScreenOptionInfo, MblurScreenOptionNum)) + return FALSE; + + compAddMetadataFromFile (&mblurOptionsMetadata, "mblur"); + if (mblurPluginVTable && mblurPluginVTable->init) + return mblurPluginVTable->init (p); + return TRUE; +} + +static void mblurOptionsFini (CompPlugin *p) +{ + if (mblurPluginVTable && mblurPluginVTable->fini) + return mblurPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&mblurOptionsMetadata); +} + +static CompMetadata * +mblurOptionsGetMetadata (CompPlugin *plugin) +{ + return &mblurOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!mblurPluginVTable) + { + mblurPluginVTable = mblurOptionsGetCompPluginInfo (); + memcpy(&mblurOptionsVTable, mblurPluginVTable, sizeof(CompPluginVTable)); + mblurOptionsVTable.getMetadata = mblurOptionsGetMetadata; + mblurOptionsVTable.init = mblurOptionsInit; + mblurOptionsVTable.fini = mblurOptionsFini; + mblurOptionsVTable.initDisplay = mblurOptionsInitDisplay; + mblurOptionsVTable.finiDisplay = mblurOptionsFiniDisplay; + mblurOptionsVTable.initScreen = mblurOptionsInitScreen; + mblurOptionsVTable.finiScreen = mblurOptionsFiniScreen; + mblurOptionsVTable.getDisplayOptions = mblurOptionsGetDisplayOptions; + mblurOptionsVTable.setDisplayOption = mblurOptionsSetDisplayOption; + mblurOptionsVTable.getScreenOptions = mblurOptionsGetScreenOptions; + mblurOptionsVTable.setScreenOption = mblurOptionsSetScreenOption; + + } + return &mblurOptionsVTable; +} + diff --git a/mblur/mblur_options.h b/mblur/mblur_options.h new file mode 100644 index 0000000..1878515 --- /dev/null +++ b/mblur/mblur_options.h @@ -0,0 +1,75 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _MBLUR_OPTIONS_H +#define _MBLUR_OPTIONS_H + +#ifndef _MBLUR_OPTIONS_INTERNAL +#define getCompPluginInfo mblurOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *mblurOptionsGetCompPluginInfo (void); + +typedef enum +{ + MblurDisplayOptionInitiate, + MblurDisplayOptionNum +} MblurDisplayOptions; + +typedef void (*mblurDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, MblurDisplayOptions num); + +CompOption *mblurGetDisplayOption (CompDisplay *d, MblurDisplayOptions num); + +typedef enum +{ + MblurScreenOptionMode, + MblurScreenOptionStrength, + MblurScreenOptionOnTransformedScreen, + MblurScreenOptionNum +} MblurScreenOptions; + +typedef void (*mblurScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, MblurScreenOptions num); + +CompOption *mblurGetScreenOption (CompScreen *s, MblurScreenOptions num); + +typedef enum +{ + ModeTextureCopy = 0, + ModeAccumulationBuffer = 1, +} MblurModeEnum; + +CompAction * mblurGetInitiate (CompDisplay *d); +void mblurSetInitiateInitiate (CompDisplay *d, CompActionCallBackProc init); +void mblurSetInitiateTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * mblurGetInitiateOption (CompDisplay *d); +void mblurSetInitiateNotify (CompDisplay *d, mblurDisplayOptionChangeNotifyProc notify); + +int mblurGetMode (CompScreen *s); +CompOption * mblurGetModeOption (CompScreen *s); +void mblurSetModeNotify (CompScreen *s, mblurScreenOptionChangeNotifyProc notify); + +float mblurGetStrength (CompScreen *s); +CompOption * mblurGetStrengthOption (CompScreen *s); +void mblurSetStrengthNotify (CompScreen *s, mblurScreenOptionChangeNotifyProc notify); + +Bool mblurGetOnTransformedScreen (CompScreen *s); +CompOption * mblurGetOnTransformedScreenOption (CompScreen *s); +void mblurSetOnTransformedScreenNotify (CompScreen *s, mblurScreenOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/metadata/Makefile b/metadata/Makefile new file mode 100644 index 0000000..2447d42 --- /dev/null +++ b/metadata/Makefile @@ -0,0 +1,518 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# metadata/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = metadata +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(xmldir)" +xmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(xml_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/metadata +abs_srcdir = /media/disk-3/src/compiz/metadata +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +xmldir = $(metadatadir) +xml_in_files = \ + core.xml.in \ + annotate.xml.in \ + blur.xml.in \ + clone.xml.in \ + cube.xml.in \ + dbus.xml.in \ + decoration.xml.in \ + fade.xml.in \ + fs.xml.in \ + gconf.xml.in \ + glib.xml.in \ + ini.xml.in \ + inotify.xml.in \ + minimize.xml.in \ + move.xml.in \ + place.xml.in \ + plane.xml.in \ + png.xml.in \ + regex.xml.in \ + resize.xml.in \ + rotate.xml.in \ + scale.xml.in \ + screenshot.xml.in \ + svg.xml.in \ + switcher.xml.in \ + video.xml.in \ + water.xml.in \ + wobbly.xml.in \ + zoom.xml.in \ + animation.xml.in \ + imgjpeg.xml.in \ + ring.xml.in \ + shift.xml.in \ + thumbnail.xml.in \ + wall.xml.in \ + text.xml.in \ + expo.xml.in \ + mblur.xml.in \ + cubereflex.xml.in \ + scalefilter.xml.in \ + scaleaddon.xml.in \ + group.xml.in + +xml_files = $(xml_in_files:.xml.in=.xml) +xml_DATA = $(xml_files) + +#if USE_GCONF +#schemadir = $(GCONF_SCHEMA_FILE_DIR) +#schema_files = $(patsubst %.xml.in,ecomp-%.schemas,$(xml_in_files)) +#schema_DATA = $(schema_files) +# +#%.schemas: $(xml_files) +# xsltproc -o $@ --param defaultPlugins "'$(default_plugins)'" \ +# $(srcdir)/schemas.xslt $(subst ecomp-,,$*).xml +# +#xsltdir = $(stylesheetdir) +#xslt_files = schemas.xslt +#xslt_DATA = $(xslt_files) +# +#if GCONF_SCHEMAS_INSTALL +#install-data-local: +# if test -z "$(DESTDIR)" ; then \ +# GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-#rule $(schema_DATA); \ +# fi +#endif +#endif +EXTRA_DIST = \ + $(xml_files) \ + $(xml_in_files) \ + $(xslt_files) \ + $(schema_files) + +DISTCLEANFILES = \ + $(xml_files) \ + $(schema_files) + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu metadata/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu metadata/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-xmlDATA: $(xml_DATA) + @$(NORMAL_INSTALL) + test -z "$(xmldir)" || $(MKDIR_P) "$(DESTDIR)$(xmldir)" + @list='$(xml_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(xmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xmldir)/$$f'"; \ + $(xmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xmldir)/$$f"; \ + done + +uninstall-xmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(xml_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(xmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(xmldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(xmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-xmlDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-xmlDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + install-xmlDATA installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-xmlDATA + + +%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/metadata/Makefile.am b/metadata/Makefile.am new file mode 100644 index 0000000..aba0d61 --- /dev/null +++ b/metadata/Makefile.am @@ -0,0 +1,81 @@ +xmldir = $(metadatadir) +xml_in_files = \ + core.xml.in \ + annotate.xml.in \ + blur.xml.in \ + clone.xml.in \ + cube.xml.in \ + dbus.xml.in \ + decoration.xml.in \ + fade.xml.in \ + fs.xml.in \ + gconf.xml.in \ + glib.xml.in \ + ini.xml.in \ + inotify.xml.in \ + minimize.xml.in \ + move.xml.in \ + place.xml.in \ + plane.xml.in \ + png.xml.in \ + regex.xml.in \ + resize.xml.in \ + rotate.xml.in \ + scale.xml.in \ + screenshot.xml.in \ + svg.xml.in \ + switcher.xml.in \ + video.xml.in \ + water.xml.in \ + wobbly.xml.in \ + zoom.xml.in \ + animation.xml.in \ + imgjpeg.xml.in \ + ring.xml.in \ + shift.xml.in \ + thumbnail.xml.in \ + wall.xml.in \ + text.xml.in \ + expo.xml.in \ + mblur.xml.in \ + cubereflex.xml.in \ + scalefilter.xml.in \ + scaleaddon.xml.in \ + group.xml.in + + +xml_files = $(xml_in_files:.xml.in=.xml) +xml_DATA = $(xml_files) + +@INTLTOOL_XML_RULE@ + +#if USE_GCONF +#schemadir = $(GCONF_SCHEMA_FILE_DIR) +#schema_files = $(patsubst %.xml.in,ecomp-%.schemas,$(xml_in_files)) +#schema_DATA = $(schema_files) +# +#%.schemas: $(xml_files) +# xsltproc -o $@ --param defaultPlugins "'$(default_plugins)'" \ +# $(srcdir)/schemas.xslt $(subst ecomp-,,$*).xml +# +#xsltdir = $(stylesheetdir) +#xslt_files = schemas.xslt +#xslt_DATA = $(xslt_files) +# +#if GCONF_SCHEMAS_INSTALL +#install-data-local: +# if test -z "$(DESTDIR)" ; then \ +# GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-#rule $(schema_DATA); \ +# fi +#endif +#endif + +EXTRA_DIST = \ + $(xml_files) \ + $(xml_in_files) \ + $(xslt_files) \ + $(schema_files) + +DISTCLEANFILES = \ + $(xml_files) \ + $(schema_files) diff --git a/metadata/Makefile.in b/metadata/Makefile.in new file mode 100644 index 0000000..f291227 --- /dev/null +++ b/metadata/Makefile.in @@ -0,0 +1,518 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = metadata +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(xmldir)" +xmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(xml_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +xmldir = $(metadatadir) +xml_in_files = \ + core.xml.in \ + annotate.xml.in \ + blur.xml.in \ + clone.xml.in \ + cube.xml.in \ + dbus.xml.in \ + decoration.xml.in \ + fade.xml.in \ + fs.xml.in \ + gconf.xml.in \ + glib.xml.in \ + ini.xml.in \ + inotify.xml.in \ + minimize.xml.in \ + move.xml.in \ + place.xml.in \ + plane.xml.in \ + png.xml.in \ + regex.xml.in \ + resize.xml.in \ + rotate.xml.in \ + scale.xml.in \ + screenshot.xml.in \ + svg.xml.in \ + switcher.xml.in \ + video.xml.in \ + water.xml.in \ + wobbly.xml.in \ + zoom.xml.in \ + animation.xml.in \ + imgjpeg.xml.in \ + ring.xml.in \ + shift.xml.in \ + thumbnail.xml.in \ + wall.xml.in \ + text.xml.in \ + expo.xml.in \ + mblur.xml.in \ + cubereflex.xml.in \ + scalefilter.xml.in \ + scaleaddon.xml.in \ + group.xml.in + +xml_files = $(xml_in_files:.xml.in=.xml) +xml_DATA = $(xml_files) + +#if USE_GCONF +#schemadir = $(GCONF_SCHEMA_FILE_DIR) +#schema_files = $(patsubst %.xml.in,ecomp-%.schemas,$(xml_in_files)) +#schema_DATA = $(schema_files) +# +#%.schemas: $(xml_files) +# xsltproc -o $@ --param defaultPlugins "'$(default_plugins)'" \ +# $(srcdir)/schemas.xslt $(subst ecomp-,,$*).xml +# +#xsltdir = $(stylesheetdir) +#xslt_files = schemas.xslt +#xslt_DATA = $(xslt_files) +# +#if GCONF_SCHEMAS_INSTALL +#install-data-local: +# if test -z "$(DESTDIR)" ; then \ +# GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-#rule $(schema_DATA); \ +# fi +#endif +#endif +EXTRA_DIST = \ + $(xml_files) \ + $(xml_in_files) \ + $(xslt_files) \ + $(schema_files) + +DISTCLEANFILES = \ + $(xml_files) \ + $(schema_files) + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu metadata/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu metadata/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-xmlDATA: $(xml_DATA) + @$(NORMAL_INSTALL) + test -z "$(xmldir)" || $(MKDIR_P) "$(DESTDIR)$(xmldir)" + @list='$(xml_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(xmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xmldir)/$$f'"; \ + $(xmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xmldir)/$$f"; \ + done + +uninstall-xmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(xml_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(xmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(xmldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(xmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-xmlDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-xmlDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + install-xmlDATA installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-xmlDATA + + +@INTLTOOL_XML_RULE@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/metadata/animation.xml b/metadata/animation.xml new file mode 100644 index 0000000..e5babd6 --- /dev/null +++ b/metadata/animation.xml @@ -0,0 +1,1784 @@ + + + + + Animations + Use various animations as window effects + windowanimations + Effects + + + decoration + + + fade + + + + + + + Close Animation + + + Animation Selection + + + + + + + + Random Effects + + + + + + + Open Animation + + + Animation Selection + + + + + + + + Random Effects + + + + + + + Minimize Animation + + + Animation Selection + + + + + + + + Random Effects + + + + + + + Shade Animation + + + Animation Selection + + + + + + + + Random Effects + + + + + + + Focus Animation + + Animation Selection + + + + + + + + + Effect Settings + + + Airplane + + + + + + Fire + + + + + + + + + + + + + Beam + + + + + + + + + Glide 1 + + + + + + + + Glide 2 + + + + + + + + Zoom + Zoom + Zvětšení + Zoom + Zoom + Ampliar/reducir + Zoom + Zoom + Nagyítás + Zoom + ズーム + Powiększenie + Zoom + Zoom + Изменить масштаб + Zoom + 缩放 + 縮放 + + + + + + Roll Up + + + + + Sidekick + + + + + + + Dodge + + + + + Dream + + + + + Wave + + + + + + Magic Lamp + + + + + + + + + + Vacuum + + + + + + + Curved Fold + + + + + + Horizontal Folds + + + + + + + Domino + + + + + Razr + + + + + Explode + + + + + + + + Fold + + + + + + + Skewer + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/animation.xml.in b/metadata/animation.xml.in new file mode 100644 index 0000000..09031e7 --- /dev/null +++ b/metadata/animation.xml.in @@ -0,0 +1,1630 @@ + + + + <_short>Animations + <_long>Use various animations as window effects + windowanimations + Effects + + + decoration + + + fade + + + + + + + <_short>Close Animation + + + <_short>Animation Selection + + + + + + + + <_short>Random Effects + + + + + + + <_short>Open Animation + + + <_short>Animation Selection + + + + + + + + <_short>Random Effects + + + + + + + <_short>Minimize Animation + + + <_short>Animation Selection + + + + + + + + <_short>Random Effects + + + + + + + <_short>Shade Animation + + + <_short>Animation Selection + + + + + + + + <_short>Random Effects + + + + + + + <_short>Focus Animation + + <_short>Animation Selection + + + + + + + + + <_short>Effect Settings + + + <_short>Airplane + + + + + + <_short>Fire + + + + + + + + + + + + + <_short>Beam + + + + + + + + + <_short>Glide 1 + + + + + + + + <_short>Glide 2 + + + + + + + + <_short>Zoom + + + + + + <_short>Roll Up + + + + + <_short>Sidekick + + + + + + + <_short>Dodge + + + + + <_short>Dream + + + + + <_short>Wave + + + + + + <_short>Magic Lamp + + + + + + + + + + <_short>Vacuum + + + + + + + <_short>Curved Fold + + + + + + <_short>Horizontal Folds + + + + + + + <_short>Domino + + + + + <_short>Razr + + + + + <_short>Explode + + + + + + + + <_short>Fold + + + + + + + <_short>Skewer + + + + + + + + + + + + + + + + diff --git a/metadata/annotate.xml b/metadata/annotate.xml new file mode 100644 index 0000000..1a9e7db --- /dev/null +++ b/metadata/annotate.xml @@ -0,0 +1,131 @@ + + + + Annotate + Feljegyzés + Rysowanie + Anteckning + Annotate plugin + Feljegyzés bővítmény + Wtyczka rysowania + Insticksmodul för anteckningar + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/annotate.xml.in b/metadata/annotate.xml.in new file mode 100644 index 0000000..aa4a5b9 --- /dev/null +++ b/metadata/annotate.xml.in @@ -0,0 +1,66 @@ + + + <_short>Annotate + <_long>Annotate plugin + + + + + + + + + + + + diff --git a/metadata/blur.xml b/metadata/blur.xml new file mode 100644 index 0000000..d9fde2d --- /dev/null +++ b/metadata/blur.xml @@ -0,0 +1,159 @@ + + + + Blur Windows + Ablak elmosása + Rozmywaj okna + Blur windows + Ablakok elmosása + Rozmywanie okien + blur + + + video + + + decoration + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/blur.xml.in b/metadata/blur.xml.in new file mode 100644 index 0000000..b8087b9 --- /dev/null +++ b/metadata/blur.xml.in @@ -0,0 +1,106 @@ + + + <_short>Blur Windows + <_long>Blur windows + blur + + + video + + + decoration + + + + + + + + + + + + + + + + + + + + diff --git a/metadata/clone.xml b/metadata/clone.xml new file mode 100644 index 0000000..018c253 --- /dev/null +++ b/metadata/clone.xml @@ -0,0 +1,41 @@ + + + + Clone Output + Kimenet klónozása + Klonowanie wyjścia + Klona utmatning + Output clone handler + Kimenet klónkezelője + Zewnętrzna obsługa klonowania + + + + + \ No newline at end of file diff --git a/metadata/clone.xml.in b/metadata/clone.xml.in new file mode 100644 index 0000000..1c39dac --- /dev/null +++ b/metadata/clone.xml.in @@ -0,0 +1,16 @@ + + + <_short>Clone Output + <_long>Output clone handler + + + + + diff --git a/metadata/core.xml b/metadata/core.xml new file mode 100644 index 0000000..92edc3d --- /dev/null +++ b/metadata/core.xml @@ -0,0 +1,498 @@ + + + + General Options + Allmänna alternativ + General ecomp options + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/core.xml.in b/metadata/core.xml.in new file mode 100644 index 0000000..b8d2222 --- /dev/null +++ b/metadata/core.xml.in @@ -0,0 +1,122 @@ + + + <_short>General Options + <_long>General ecomp options + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata/cube.xml b/metadata/cube.xml new file mode 100644 index 0000000..36291ac --- /dev/null +++ b/metadata/cube.xml @@ -0,0 +1,744 @@ + + + + Desktop Cube + Cub de l'escriptori + Kostka plochy + Skrivebordskubus + Desktop-Würfel + Cubo de escritorio + Työpöytäkuutio + Cube du bureau + Munkaasztal kocka + Cubo desktop + デスクトップキューブ + Kostka pulpitu + Cubo da Área de Trabalho + Cubo da Área de Trabalho + Куб рабочего стола + Skrivbordskub + 桌面立方体 + 桌面立方體 + Place windows on cube + Situa les finestres al cub + Rozmístit okna na kostku + Placer vinduer på kubus + Fenster auf Würfel platzieren + Coloca las ventanas en un cubo + Asettele ikkunat työpöytäkuution pinnalle + Placer des fenêtres sur le cube + Ablakok elhelyezése a kockán + Posiziona finestre sul cubo + ウィンドウをキューブに配置する + Umieszczaj okna na kostce + Colocar janelas no cubo + Colocar janelas no cubo + Размещение окон на кубе + Placera fönster på kuben + 将窗口放置在立方体上 + 將視窗放到立方體 + largedesktop + + + switcher + scale + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/cube.xml.in b/metadata/cube.xml.in new file mode 100644 index 0000000..736a580 --- /dev/null +++ b/metadata/cube.xml.in @@ -0,0 +1,189 @@ + + + <_short>Desktop Cube + <_long>Place windows on cube + largedesktop + + + switcher + scale + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata/cubereflex.xml b/metadata/cubereflex.xml new file mode 100644 index 0000000..75c0622 --- /dev/null +++ b/metadata/cubereflex.xml @@ -0,0 +1,88 @@ + + + + Cube Reflection + Ecomp cube reflection + Effects + + + cube + rotate + + + cube + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/cubereflex.xml.in b/metadata/cubereflex.xml.in new file mode 100644 index 0000000..5902158 --- /dev/null +++ b/metadata/cubereflex.xml.in @@ -0,0 +1,88 @@ + + + + <_short>Cube Reflection + <_long>Ecomp cube reflection + Effects + + + cube + rotate + + + cube + + + + + + + + + + + + + diff --git a/metadata/dbus.xml b/metadata/dbus.xml new file mode 100644 index 0000000..bb23f57 --- /dev/null +++ b/metadata/dbus.xml @@ -0,0 +1,8 @@ + + + + Dbus + Dbus + Dbus Control Backend + + \ No newline at end of file diff --git a/metadata/dbus.xml.in b/metadata/dbus.xml.in new file mode 100644 index 0000000..8b9e759 --- /dev/null +++ b/metadata/dbus.xml.in @@ -0,0 +1,6 @@ + + + <_short>Dbus + <_long>Dbus Control Backend + + diff --git a/metadata/decoration.xml b/metadata/decoration.xml new file mode 100644 index 0000000..bc89893 --- /dev/null +++ b/metadata/decoration.xml @@ -0,0 +1,256 @@ + + + + Window Decoration + Decoració de la finestra + Dekorace oken + Vinduesdekoration + Fensterdekoration + Decoración de ventanas + Ikkunan kehykset + Décoration de la fenêtre + Ablakdekoráció + Decorazione finestra + ウィンドウ装飾 + Dekoracja okna + Decoração da Janela + Decoração da Janela + Оформление окна + Fönsterdekoration + 窗口装饰 + 視窗裝飾 + Window decorations + Decoracions de finestres + Dekorace oken + Vinduesdekorationer + Fensterdekorationen + La decoración de las ventanas + Ikkunan kehykset + Décoration des fenêtres + Ablakdekorációk + Decorazioni finestre + ウィンドウ装飾 + Dekoracje okna + Decorações das janelas + Decorações das janelas + Оформление окна + Fönsterdekorationer + 窗口装饰 + 視窗裝飾 + decorations + + + fade + cube + scale + wobbly + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/decoration.xml.in b/metadata/decoration.xml.in new file mode 100644 index 0000000..1d06722 --- /dev/null +++ b/metadata/decoration.xml.in @@ -0,0 +1,66 @@ + + + <_short>Window Decoration + <_long>Window decorations + decorations + + + fade + cube + scale + wobbly + + + + + + + + + + + + + + diff --git a/metadata/expo.xml b/metadata/expo.xml new file mode 100644 index 0000000..9f7f72a --- /dev/null +++ b/metadata/expo.xml @@ -0,0 +1,193 @@ + + + + Expo + Expo Plugin + Desktop + + + decoration + cube + cubereflex + + + + + Bindings + + + + + + + + Behaviour + + + + + + + Appearance + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/expo.xml.in b/metadata/expo.xml.in new file mode 100644 index 0000000..112c181 --- /dev/null +++ b/metadata/expo.xml.in @@ -0,0 +1,176 @@ + + + + <_short>Expo + <_long>Expo Plugin + Desktop + + + decoration + cube + cubereflex + + + + + <_short>Bindings + + + + + + + + <_short>Behaviour + + + + + + + <_short>Appearance + + + + + + + + + + + + + + diff --git a/metadata/fade.xml b/metadata/fade.xml new file mode 100644 index 0000000..71e0170 --- /dev/null +++ b/metadata/fade.xml @@ -0,0 +1,174 @@ + + + + Fading Windows + Esvaïment de finestres + Slábnutí oken + Fading af vinduer + Fenster ein-/ausblenden + Desvanecer ventanas + Ikkunoiden häivytys + Fondu des fenêtres + Ablakok elhalványítása + Finestre in dissolvenza + ウィンドウのフェード + Płynne pojawianie się/zanikanie okien + Janelas Esmaecidas + Janelas Esmaecidas + Проявление/исчезание окон + Tonande fönster + 渐弱窗口 + 視窗淡出中 + Fade in windows when mapped and fade out windows when unmapped + Es fan aparèixer progressivament les finestres quan s'assignen i s'esvaeixen quan no estan assignades + Blednutí mapovaných oken a materializace oken nemapovaných + Vinduerne tones ind, når de tilknyttes, og tones ud, når tilknytningen ophæves. + Fenster beim Zuordnen einblenden, beim Aufheben der Zuordnung ausblenden + Las ventanas aparecen progresivamente cuando se asignan y se desvanecen cuando se desasignan + Ikkunat häivytetään näkyvistä/näkyviin + Apparition en fondu des fenêtres en mode mapped et disparition en fondu des fenêtres en mode unmapped + Leképezés esetén az ablak erősítése, lecsatolás esetén elhalványítása + Applica dissolvenza in entrata alle finestre quando associate e in uscita quando disassociate + マップ時にウィンドウをフェードインし、マップ解除時にウィンドウをフェードアウトする + Okna powinny pojawiać się płynnie podczas mapowania i płynnie zanikać podczas odmapowania. + Avivar janelas quando houver mapeamento e esmaecê-las quando não houver mapeamento + Avivar janelas quando houver mapeamento e esmaecê-las quando não houver mapeamento + Постепенное проявление окон при отображении и постепенное исчезновение при отмене отображения + Tona in fönster när de kopplas och tona ut fönster när de kopplas loss + 映射时渐现窗口和不映射时渐弱窗口 + 在映射時淡入視窗,以及在解除映射時淡出視窗 + + + cube + scale + + + + + + + + + + \ No newline at end of file diff --git a/metadata/fade.xml.in b/metadata/fade.xml.in new file mode 100644 index 0000000..0e20ebb --- /dev/null +++ b/metadata/fade.xml.in @@ -0,0 +1,37 @@ + + + <_short>Fading Windows + <_long>Fade in windows when mapped and fade out windows when unmapped + + + cube + scale + + + + + + + + + + diff --git a/metadata/fs.xml b/metadata/fs.xml new file mode 100644 index 0000000..1fc1f6b --- /dev/null +++ b/metadata/fs.xml @@ -0,0 +1,16 @@ + + + + Userspace File System + Userspace file system + + + + + \ No newline at end of file diff --git a/metadata/fs.xml.in b/metadata/fs.xml.in new file mode 100644 index 0000000..9643a43 --- /dev/null +++ b/metadata/fs.xml.in @@ -0,0 +1,13 @@ + + + <_short>Userspace File System + <_long>Userspace file system + + + + + diff --git a/metadata/gconf.xml b/metadata/gconf.xml new file mode 100644 index 0000000..3ce4996 --- /dev/null +++ b/metadata/gconf.xml @@ -0,0 +1,20 @@ + + + + GConf + GConf + GConf Control Backend + + + glib + + + decoration + wobbly + fade + cube + scale + + + + \ No newline at end of file diff --git a/metadata/gconf.xml.in b/metadata/gconf.xml.in new file mode 100644 index 0000000..c10f0cf --- /dev/null +++ b/metadata/gconf.xml.in @@ -0,0 +1,18 @@ + + + <_short>GConf + <_long>GConf Control Backend + + + glib + + + decoration + wobbly + fade + cube + scale + + + + diff --git a/metadata/glib.xml b/metadata/glib.xml new file mode 100644 index 0000000..27f4158 --- /dev/null +++ b/metadata/glib.xml @@ -0,0 +1,7 @@ + + + + GLib + GLib main loop support + + \ No newline at end of file diff --git a/metadata/glib.xml.in b/metadata/glib.xml.in new file mode 100644 index 0000000..233219f --- /dev/null +++ b/metadata/glib.xml.in @@ -0,0 +1,6 @@ + + + <_short>GLib + <_long>GLib main loop support + + diff --git a/metadata/group.xml b/metadata/group.xml new file mode 100644 index 0000000..ebfb8ed --- /dev/null +++ b/metadata/group.xml @@ -0,0 +1,573 @@ + + + + Group and Tab Windows + With this plugin you can group and tab windows + Window Management + + + fade + place + + + + + Selection + + Key bindings + + + + + + Grouping + + Key bindings + + + + + + + + + Tabbing + + Key bindings + + + + + + + Glow + + Key bindings + + + + + + + General + + + + + + + + + + + + Selection + + Options + + + + + + + Colors + + + + + + Tabbing + + Misc. Options + + + + + + + Animation Options + + + + + + + + + + + Appearance + + + + + + + + + + + + Window Title Font + + + + + Slot Dragging + + + + + + + + + + + Glow + + + + + + + \ No newline at end of file diff --git a/metadata/group.xml.in b/metadata/group.xml.in new file mode 100644 index 0000000..1bfaab5 --- /dev/null +++ b/metadata/group.xml.in @@ -0,0 +1,521 @@ + + + + <_short>Group and Tab Windows + <_long>With this plugin you can group and tab windows + Window Management + + + fade + place + + + + + <_short>Selection + + <_short>Key bindings + + + + + + <_short>Grouping + + <_short>Key bindings + + + + + + + + + <_short>Tabbing + + <_short>Key bindings + + + + + + + <_short>Glow + + <_short>Key bindings + + + + + + + <_short>General + + + + + + + + + + + + <_short>Selection + + <_short>Options + + + + + + + <_short>Colors + + + + + + <_short>Tabbing + + <_short>Misc. Options + + + + + + + <_short>Animation Options + + + + + + + + + + + <_short>Appearance + + + + + + + + + + + + <_short>Window Title Font + + + + + <_short>Slot Dragging + + + + + + + + + + + <_short>Glow + + + + + + + diff --git a/metadata/imgjpeg.xml b/metadata/imgjpeg.xml new file mode 100644 index 0000000..be8dc65 --- /dev/null +++ b/metadata/imgjpeg.xml @@ -0,0 +1,20 @@ + + + + JPEG + JPEG image format plugin + Image Loading + imageext:jpeg + imageext:jpg + imagemime:image/jpeg + + + + + \ No newline at end of file diff --git a/metadata/imgjpeg.xml.in b/metadata/imgjpeg.xml.in new file mode 100644 index 0000000..e636d16 --- /dev/null +++ b/metadata/imgjpeg.xml.in @@ -0,0 +1,20 @@ + + + + <_short>JPEG + <_long>JPEG image format plugin + Image Loading + imageext:jpeg + imageext:jpg + imagemime:image/jpeg + + + + + diff --git a/metadata/ini.xml b/metadata/ini.xml new file mode 100644 index 0000000..02b1cd6 --- /dev/null +++ b/metadata/ini.xml @@ -0,0 +1,8 @@ + + + + Ini + Ini + Ini Flat File Backend + + \ No newline at end of file diff --git a/metadata/ini.xml.in b/metadata/ini.xml.in new file mode 100644 index 0000000..66431d9 --- /dev/null +++ b/metadata/ini.xml.in @@ -0,0 +1,6 @@ + + + <_short>Ini + <_long>Ini Flat File Backend + + diff --git a/metadata/inotify.xml b/metadata/inotify.xml new file mode 100644 index 0000000..32a90aa --- /dev/null +++ b/metadata/inotify.xml @@ -0,0 +1,7 @@ + + + + Inotify + File change notification plugin + + \ No newline at end of file diff --git a/metadata/inotify.xml.in b/metadata/inotify.xml.in new file mode 100644 index 0000000..f69ab0d --- /dev/null +++ b/metadata/inotify.xml.in @@ -0,0 +1,6 @@ + + + <_short>Inotify + <_long>File change notification plugin + + diff --git a/metadata/mblur.xml b/metadata/mblur.xml new file mode 100644 index 0000000..905f3d0 --- /dev/null +++ b/metadata/mblur.xml @@ -0,0 +1,63 @@ + + + + Motion blur + Motion blur effect + Effects + + + Main + + Activate + + + + + + + Main + + Visibility/Performance + + + + + Activate + + + + + + \ No newline at end of file diff --git a/metadata/mblur.xml.in b/metadata/mblur.xml.in new file mode 100644 index 0000000..47d4432 --- /dev/null +++ b/metadata/mblur.xml.in @@ -0,0 +1,63 @@ + + + + <_short>Motion blur + <_long>Motion blur effect + Effects + + + <_short>Main + + <_short>Activate + + + + + + + <_short>Main + + <_short>Visibility/Performance + + + + + <_short>Activate + + + + + + diff --git a/metadata/minimize.xml b/metadata/minimize.xml new file mode 100644 index 0000000..0bd1647 --- /dev/null +++ b/metadata/minimize.xml @@ -0,0 +1,178 @@ + + + + Minimize Effect + Minimitza l'efecte + Efekt minimalizace + Minimer effekt + Effekt minimieren + Minimizar efecto + Pienennystehoste + Minimiser l'effet + Minimalizálás effektus + Riduci effetto + 効果を最小限にする + Efekt minimalizacji + Minimizar Efeito + Minimizar Efeito + Эффект свертывания + Minimeringseffekt + 最小化效果 + 最小化特效 + Transform windows when they are minimized and unminimized + Transforma les finestres quan es minimitzen i es maximitzen + Transformovat okna při jejich minimalizaci a zrušení minimalizace + Vinduer skal ændres, når de minimeres og gendannes + Fenster beim Minimieren und beim Aufheben der Minimierung umformen + Transforma las ventanas cuando se minimizan o desminimizan + Animoi ikkunoiden pienennys ja suurennus + Transformer les fenêtres lorsqu'elles sont réduites ou agrandies + Ablakok transzformációja ikonizáláskor és visszaállításkor + Trasforma finestre quando ridotte a icona e ripristinate + ウィンドウが最小化および最小化解除時に変換 + Przekształcaj okna podczas minimalizacji i cofania minimalizacji + Transformar janelas quando elas forem minimizadas e desminimizadas + Transformar janelas quando elas forem minimizadas e desminimizadas + Преобразовывать окна при свертывании и отмене свертывания + Transformera fönster när de minimeras och avminimeras + 最小化和取消最小化窗口时进行转换 + 在最小化和解除最小化時轉換視窗 + windowanimations + + + cube + scale + + + + + + + + + + \ No newline at end of file diff --git a/metadata/minimize.xml.in b/metadata/minimize.xml.in new file mode 100644 index 0000000..b3efa0a --- /dev/null +++ b/metadata/minimize.xml.in @@ -0,0 +1,43 @@ + + + <_short>Minimize Effect + <_long>Transform windows when they are minimized and unminimized + windowanimations + + + cube + scale + + + + + + + + + + diff --git a/metadata/move.xml b/metadata/move.xml new file mode 100644 index 0000000..ae4b63e --- /dev/null +++ b/metadata/move.xml @@ -0,0 +1,209 @@ + + + + Move Window + Mou la finestra + Přesunout okno + Flyt vindue + Fenster verschieben + Mover ventana + Siirrä ikkunaa + Déplacer la fenêtre + Ablak mozgatása + Finestra mobile + ウィンドウを移動 + Przenieś okno + Mover Janela + Mover Janela + Переместить окно + Flytta fönster + 移动窗口 + 移動視窗 + Move window + Mou la finestra + Přesunout okno + Flyt vindue + Fenster verschieben + Mueve la ventana + Siirrä ikkunaa + Déplacer la fenêtre + Ablak mozgatása + Finestra mobile + ウィンドウを移動 + Przenieś okno + Mover janela + Mover janela + Переместить окно + Flytta fönster + 移动窗口 + 移動視窗 + + + + + + + + + \ No newline at end of file diff --git a/metadata/move.xml.in b/metadata/move.xml.in new file mode 100644 index 0000000..7887f00 --- /dev/null +++ b/metadata/move.xml.in @@ -0,0 +1,39 @@ + + + <_short>Move Window + <_long>Move window + + + + + + + + + diff --git a/metadata/place.xml b/metadata/place.xml new file mode 100644 index 0000000..04e1c1d --- /dev/null +++ b/metadata/place.xml @@ -0,0 +1,147 @@ + + + + Place Windows + Situa les finestres + Rozmístit okna + Placer vinduer + Fenster platzieren + Colocar ventanas + Asettele ikkunat + Placer des fenêtres + Ablak elhelyezése + Posiziona finestre + ウィンドウを配置する + Rozmieść okna + Colocar Janelas + Colocar Janelas + Размещение окон + Placera fönster + 放置窗口 + 放置視窗 + Place windows at appropriate positions when mapped + Situa les finestres en les posicions adequades quan s'assignin + Umístit mapovaná okna na odpovídající pozice + Placer vinduerne på de korrekte positioner, når de er tilknyttet + Fenster bei Zuordnung ungefähr platzieren + Coloca las ventanas en sus lugares adecuados en la asignación + Asettele ikkunat sopiville paikoille niiden ilmestyessä + Placer des fenêtres aux positions correctes lorsqu'elles sont mappées + Térképezés esetén az ablakok elhelyezése a megfelelő pozícióba + Posiziona finestre in maniera appropriata quando associate + マップ時にウィンドウを適切な位置に配置する + Podczas mapowania umieszczaj okna we właściwych miejscach + Colocar janelas nas posições apropriadas quando houver mapeamento + Colocar janelas nas posições apropriadas quando houver mapeamento + При отображении разместите окна в нужных местах + Placera fönster på lämpliga positioner när de kopplas + 映射时将窗口放置在适当位置 + 在映射時將視窗放置到適當位置 + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/place.xml.in b/metadata/place.xml.in new file mode 100644 index 0000000..db4d551 --- /dev/null +++ b/metadata/place.xml.in @@ -0,0 +1,70 @@ + + + <_short>Place Windows + <_long>Place windows at appropriate positions when mapped + + + + + + + + + + + + diff --git a/metadata/plane.xml b/metadata/plane.xml new file mode 100644 index 0000000..2b721f6 --- /dev/null +++ b/metadata/plane.xml @@ -0,0 +1,162 @@ + + + + Desktop Plane + Munkaasztal sík + Płaszczyzna pulpitu + Skrivbordsplan + Place windows on a plane + Ablakok elhelyezése a síkon + Umieszczaj okna na płaszczyźnie + Placera fönster på ett plan + largedesktop + + + switcher + scale + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/plane.xml.in b/metadata/plane.xml.in new file mode 100644 index 0000000..5d330a6 --- /dev/null +++ b/metadata/plane.xml.in @@ -0,0 +1,107 @@ + + + <_short>Desktop Plane + <_long>Place windows on a plane + largedesktop + + + switcher + scale + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata/png.xml b/metadata/png.xml new file mode 100644 index 0000000..587c396 --- /dev/null +++ b/metadata/png.xml @@ -0,0 +1,11 @@ + + + + Png + Png + Png image loader + Png-bildläsare + imageext:png + imagemime:image/png + + \ No newline at end of file diff --git a/metadata/png.xml.in b/metadata/png.xml.in new file mode 100644 index 0000000..45f6eea --- /dev/null +++ b/metadata/png.xml.in @@ -0,0 +1,8 @@ + + + <_short>Png + <_long>Png image loader + imageext:png + imagemime:image/png + + diff --git a/metadata/reflex.xml.in b/metadata/reflex.xml.in new file mode 100644 index 0000000..f020983 --- /dev/null +++ b/metadata/reflex.xml.in @@ -0,0 +1,54 @@ + + + + <_short>Reflection + <_long>Draws reflections + Effects + + + blur + svg + png + imgjpeg + + + + + <_short>Main + + + + + + + + + + diff --git a/metadata/regex.xml b/metadata/regex.xml new file mode 100644 index 0000000..f34c646 --- /dev/null +++ b/metadata/regex.xml @@ -0,0 +1,8 @@ + + + + Regex Matching + Reguljär uttrycksmatchning + Regex window matching + + \ No newline at end of file diff --git a/metadata/regex.xml.in b/metadata/regex.xml.in new file mode 100644 index 0000000..d26deca --- /dev/null +++ b/metadata/regex.xml.in @@ -0,0 +1,6 @@ + + + <_short>Regex Matching + <_long>Regex window matching + + diff --git a/metadata/resize.xml b/metadata/resize.xml new file mode 100644 index 0000000..0db0bcd --- /dev/null +++ b/metadata/resize.xml @@ -0,0 +1,202 @@ + + + + Resize Window + Canvia la mida de la finestra + Změnit velikost okna + Tilpas vinduets størrelse + Fenster skalieren + Cambiar de tamaño la ventana + Muuta ikkunan kokoa + Redimensionner la fenêtre + Ablak átméretezése + Ridimensiona finestra + ウィンドウのサイズ変更 + Zmień rozmiar okna + Redimensionar Janela + Redimensionar Janela + Изменить размеры окна + Skala fönster + 调整窗口大小 + 調整大小視窗 + Resize window + Canvia la mida de la finestra + Změnit velikost okna + Tilpas størrelsen på vinduet + Fenster skalieren + Cambia de tamaño la ventana + Muuta ikkunan kokoa + Redimensionner la fenêtre + Ablak átméretezése + Ridimensiona finestra + ウィンドウのサイズ変更 + Zmień rozmiar okna + Redimensionar janela + Redimensionar janela + Изменение размеров окна + Skala fönster + 调整窗口大小 + 調整大小視窗 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/resize.xml.in b/metadata/resize.xml.in new file mode 100644 index 0000000..100fd86 --- /dev/null +++ b/metadata/resize.xml.in @@ -0,0 +1,104 @@ + + + <_short>Resize Window + <_long>Resize window + + + + + + + + + + + + + + + + diff --git a/metadata/ring.xml b/metadata/ring.xml new file mode 100644 index 0000000..0043db4 --- /dev/null +++ b/metadata/ring.xml @@ -0,0 +1,320 @@ + + + + Ring Switcher + Ring Switcher + Window Management + + + Key bindings + + + + + + + + + + + Misc. options + + + + + + + + + + + Ring appearance + + + + + + + + + + Window title display + + + + + + + + + + \ No newline at end of file diff --git a/metadata/ring.xml.in b/metadata/ring.xml.in new file mode 100644 index 0000000..54c096c --- /dev/null +++ b/metadata/ring.xml.in @@ -0,0 +1,235 @@ + + + + <_short>Ring Switcher + <_long>Ring Switcher + Window Management + + + <_short>Key bindings + + + + + + + + + + + <_short>Misc. options + + + + + + + + + + + <_short>Ring appearance + + + + + + + + + + <_short>Window title display + + + + + + + + + + diff --git a/metadata/rotate.xml b/metadata/rotate.xml new file mode 100644 index 0000000..ece777a --- /dev/null +++ b/metadata/rotate.xml @@ -0,0 +1,1442 @@ + + + + Rotate Cube + Gira el cub + Otočit kostkou + Roter kubus + Würfel drehen + Girar cubo + Käännä kuutiota + Rotation du cube + Kocka forgatása + Ruota cubo + キューブの回転 + Obróć kostkę + Girar Cubo + Girar Cubo + Вращать куб + Rotera kub + 旋转立方体 + 旋轉立方體 + Rotate desktop cube + Gira el cub de l'escriptori + Otočit kostkou ploch + Roter skrivebordskubus + Desktop-Würfel drehen + Girar cubo del escritorio + Käännä työpöytäkuutiota + Rotation du cube de bureau + A munkaasztalkocka forgatása + Ruota cubo desktop + デスクトップキューブの回転 + Obróć kostkę pulpitu + Girar cubo da área de trabalho + Girar cubo da área de trabalho + Вращение куба рабочего стола + Rotera skrivbordskub + 旋转桌面立方体 + 旋轉桌面立方體 + + + cube + + + cube + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/rotate.xml.in b/metadata/rotate.xml.in new file mode 100644 index 0000000..c4a1d57 --- /dev/null +++ b/metadata/rotate.xml.in @@ -0,0 +1,279 @@ + + + <_short>Rotate Cube + <_long>Rotate desktop cube + + + cube + + + cube + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata/scale.xml b/metadata/scale.xml new file mode 100644 index 0000000..a080709 --- /dev/null +++ b/metadata/scale.xml @@ -0,0 +1,564 @@ + + + + Scale + Canvia la mida + Měřítko + Skaler + Skalieren + Escalar + Skaalaus + Échelle + Méretarány + Scala + スケール + Skaluj + Dimensionar + Dimensionar + Масштабировать + Skala + 调整大小 + 調整比例 + Scale windows + Canvia la mida de les finestres + Škálovat okna + Skaler vinduer + Fenster skalieren + Escalar ventanas + Ikkunoiden skaalaus + Mettre les fenêtres à l'échelle + Ablakok méretezése + Ridimensiona finestre + スケールウィンドウ + Skaluj okna + Dimensionar janelas + Dimensionar janelas + Масштабирование окон + Skala fönster + 调整窗口大小 + 調整視窗比例 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/scale.xml.in b/metadata/scale.xml.in new file mode 100644 index 0000000..f51ca71 --- /dev/null +++ b/metadata/scale.xml.in @@ -0,0 +1,144 @@ + + + <_short>Scale + <_long>Scale windows + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata/scaleaddon.xml b/metadata/scaleaddon.xml new file mode 100644 index 0000000..0c199eb --- /dev/null +++ b/metadata/scaleaddon.xml @@ -0,0 +1,157 @@ + + + + Scale Addons + Some useful additions to the scale plugin + Utility + + + scale + + + scale + + + + + Bindings + + + + + + + Appearance + + Window Title + + + + + + + + + Window Highlight + + + + + + Behaviour + + + + + \ No newline at end of file diff --git a/metadata/scaleaddon.xml.in b/metadata/scaleaddon.xml.in new file mode 100644 index 0000000..1ec7992 --- /dev/null +++ b/metadata/scaleaddon.xml.in @@ -0,0 +1,127 @@ + + + <_short>Scale Addons + <_long>Some useful additions to the scale plugin + Utility + + + scale + + + scale + + + + + <_short>Bindings + + + + + + + <_short>Appearance + + <_short>Window Title + + + + + + + + + <_short>Window Highlight + + + + + + <_short>Behaviour + + + + + diff --git a/metadata/scalefilter.xml b/metadata/scalefilter.xml new file mode 100644 index 0000000..48c8bd2 --- /dev/null +++ b/metadata/scalefilter.xml @@ -0,0 +1,81 @@ + + + + Scale Window Title Filter + Window title filter facility for the scale plugin + Utility + + + scale + + + scale + regex + + + + + Behaviour + + + + + + Appearance + + + + + + + + + \ No newline at end of file diff --git a/metadata/scalefilter.xml.in b/metadata/scalefilter.xml.in new file mode 100644 index 0000000..96ad1be --- /dev/null +++ b/metadata/scalefilter.xml.in @@ -0,0 +1,81 @@ + + + <_short>Scale Window Title Filter + <_long>Window title filter facility for the scale plugin + Utility + + + scale + + + scale + regex + + + + + <_short>Behaviour + + + + + + <_short>Appearance + + + + + + + + + + diff --git a/metadata/schemas.xslt b/metadata/schemas.xslt new file mode 100644 index 0000000..35f35bf --- /dev/null +++ b/metadata/schemas.xslt @@ -0,0 +1,510 @@ + + + + + + /apps/ecomp + + + + + + + + + + + + + + + + + + + /schemas_key + _key + ecomp + string + + + + + + Disabled + + + + + + + + /schemas_button + _button + ecomp + string + + + + + + Disabled + + + + + + + + /schemas_edge + _edge + ecomp + list + string + + + [] + + + [] + + + + + (Top, Bottom, Left, Right, TopLeft, + TopRight, BottomLeft, BottomRight) + + + + + /schemas_edgebutton + _edgebutton + ecomp + int + + + + + + 0 + + + + + + + + /schemas_bell + _bell + ecomp + bool + + + + + + false + + + + + + + + + /schemas + + ecomp + + + + string + [] + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + #000000ff + + + + + + + + + + + + + [] + + + [] + + + + + + + + + + + + + + + + + + + int + + + float + + + bool + + + list + + + string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + + - + + + + + + match + + + ) + + + + + + + + + + + + = + + , + + + + + + + + + + ( + + + - + + + + + + + + match + + + ) + + + + + + + + + + + + + = + + + + + + + + + , + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + , + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ff + + + + + + + + + + + + + 0000 + + + + + + + + + + + + + + 00 + + + + + + + + Left, + Right, + Top, + Bottom, + TopLeft, + TopRight, + BottomLeft, + BottomRight, + + + + + + + + + + /plugins/ + + + + /general + + + + + /screen0/options/ + + + /allscreens/options/ + + + + + + + + + + + + + + + + + + + diff --git a/metadata/screenshot.xml b/metadata/screenshot.xml new file mode 100644 index 0000000..7d3e184 --- /dev/null +++ b/metadata/screenshot.xml @@ -0,0 +1,65 @@ + + + + Screenshot + Képernyőkép + Zrzut ekranu + Skärmbild + Screenshot plugin + Képernyőkép bővítmény + Wtyczka zrzutów ekranu + Insticksmodul för skärmbild + + + + + + + \ No newline at end of file diff --git a/metadata/screenshot.xml.in b/metadata/screenshot.xml.in new file mode 100644 index 0000000..b4c9f6f --- /dev/null +++ b/metadata/screenshot.xml.in @@ -0,0 +1,26 @@ + + + <_short>Screenshot + <_long>Screenshot plugin + + + + + + + diff --git a/metadata/shift.xml b/metadata/shift.xml new file mode 100644 index 0000000..a598fb3 --- /dev/null +++ b/metadata/shift.xml @@ -0,0 +1,397 @@ + + + + Shift Switcher + Shift Switcher Plugin + Window Management + + + fade + + + + + Key bindings + + + + + + + + + + + + + Misc. options + + + + + + + + + + Appearance + + + + + + Reflection + + + + + + + + + + + + + + Window title display + + + + + + + + + + \ No newline at end of file diff --git a/metadata/shift.xml.in b/metadata/shift.xml.in new file mode 100644 index 0000000..2247109 --- /dev/null +++ b/metadata/shift.xml.in @@ -0,0 +1,329 @@ + + + + <_short>Shift Switcher + <_long>Shift Switcher Plugin + Window Management + + + fade + + + + + <_short>Key bindings + + + + + + + + + + + + + <_short>Misc. options + + + + + + + + + + <_short>Appearance + + + + + + Reflection + + + + + + + + + + + + + + <_short>Window title display + + + + + + + + + + diff --git a/metadata/svg.xml b/metadata/svg.xml new file mode 100644 index 0000000..161481d --- /dev/null +++ b/metadata/svg.xml @@ -0,0 +1,11 @@ + + + + Svg + Svg + Svg image loader + Svg-bildläsare + imageext:svg + imagemime:image/svg+xml + + \ No newline at end of file diff --git a/metadata/svg.xml.in b/metadata/svg.xml.in new file mode 100644 index 0000000..9c995aa --- /dev/null +++ b/metadata/svg.xml.in @@ -0,0 +1,8 @@ + + + <_short>Svg + <_long>Svg image loader + imageext:svg + imagemime:image/svg+xml + + diff --git a/metadata/switcher.xml b/metadata/switcher.xml new file mode 100644 index 0000000..bf0f481 --- /dev/null +++ b/metadata/switcher.xml @@ -0,0 +1,590 @@ + + + + Application Switcher + Canviador d'aplicacions + Přepínač aplikací + Programskifter + Anwendungs-Switcher + Conmutador de aplicaciones + Sovellusten vaihtaja + Commutateur d'application + Alkalmazásváltó + Commutatore applicazioni + アプリケーションスイッチャ + Przełącznik aplikacji + Alternador de Aplicativos + Alternador de Aplicativos + Переключатель приложений + Programväxlare + 应用程序转换开关 + 應用程式切換器 + Application Switcher + Canviador d'aplicacions + Přepínač aplikací + Programskifter + Anwendungs-Switcher + Conmutador de aplicaciones + Sovellusten vaihtaja + Commutateur d'application + Alkalmazásváltó + Commutatore applicazioni + アプリケーションスイッチャ + Przełącznik aplikacji + Alternador de Aplicativos + Alternador de Aplicativos + Переключатель приложений + Programväxlare + 应用程序转换开关 + 應用程式切換器 + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/switcher.xml.in b/metadata/switcher.xml.in new file mode 100644 index 0000000..df2309c --- /dev/null +++ b/metadata/switcher.xml.in @@ -0,0 +1,131 @@ + + + <_short>Application Switcher + <_long>Application Switcher + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata/text.xml b/metadata/text.xml new file mode 100644 index 0000000..da0510d --- /dev/null +++ b/metadata/text.xml @@ -0,0 +1,8 @@ + + + + Text + Render text to texture + Image Loading + + \ No newline at end of file diff --git a/metadata/text.xml.in b/metadata/text.xml.in new file mode 100644 index 0000000..7119114 --- /dev/null +++ b/metadata/text.xml.in @@ -0,0 +1,8 @@ + + + + <_short>Text + <_long>Render text to texture + Image Loading + + diff --git a/metadata/thumbnail.xml b/metadata/thumbnail.xml new file mode 100644 index 0000000..41e588a --- /dev/null +++ b/metadata/thumbnail.xml @@ -0,0 +1,105 @@ + + + + Window Previews + Window thumbnails at the taskbar + Extras + + + Settings + + + + + + + Taskbar + + + + + + + Window title + + + + + + + + + \ No newline at end of file diff --git a/metadata/thumbnail.xml.in b/metadata/thumbnail.xml.in new file mode 100644 index 0000000..fb1d341 --- /dev/null +++ b/metadata/thumbnail.xml.in @@ -0,0 +1,105 @@ + + + + <_short>Window Previews + <_long>Window thumbnails at the taskbar + Extras + + + <_short>Settings + + + + + + + <_short>Taskbar + + + + + + + <_short>Window title + + + + + + + + + diff --git a/metadata/video.xml b/metadata/video.xml new file mode 100644 index 0000000..f39b25c --- /dev/null +++ b/metadata/video.xml @@ -0,0 +1,17 @@ + + + + Video Playback + Videouppspelning + Video playback + Video uppspelning + video + + + + + \ No newline at end of file diff --git a/metadata/video.xml.in b/metadata/video.xml.in new file mode 100644 index 0000000..4ca1f75 --- /dev/null +++ b/metadata/video.xml.in @@ -0,0 +1,14 @@ + + + <_short>Video Playback + <_long>Video playback + video + + + + + diff --git a/metadata/wall.xml b/metadata/wall.xml new file mode 100644 index 0000000..83e266b --- /dev/null +++ b/metadata/wall.xml @@ -0,0 +1,384 @@ + + + + Desktop Wall + Desktop Wall Plugin + Desktop + largedesktop + + + decoration + + + wobbly + fade + + + + + Viewport Switch Preview + + + + + + + Background Gradient + + + + + + + Thumb Gradient + + + + + + Highlight Gradient + + + + + + Arrow Colors + + + + + + + Viewport Switching + + + + + + + + + + + + + + + + + + + + + Viewport Switching + + + + Edge Flipping + + + + + + + \ No newline at end of file diff --git a/metadata/wall.xml.in b/metadata/wall.xml.in new file mode 100644 index 0000000..791a650 --- /dev/null +++ b/metadata/wall.xml.in @@ -0,0 +1,330 @@ + + + + <_short>Desktop Wall + <_long>Desktop Wall Plugin + Desktop + largedesktop + + + decoration + + + wobbly + fade + + + + + <_short>Viewport Switch Preview + + + + + + + <_short>Background Gradient + + + + + + + <_short>Thumb Gradient + + + + + + <_short>Highlight Gradient + + + + + + <_short>Arrow Colors + + + + + + + <_short>Viewport Switching + + + + + + + + + + + + + + + + + + + + + <_short>Viewport Switching + + + + <_short>Edge Flipping + + + + + + + diff --git a/metadata/water.xml b/metadata/water.xml new file mode 100644 index 0000000..6ffcdbc --- /dev/null +++ b/metadata/water.xml @@ -0,0 +1,370 @@ + + + + Water Effect + Efecte d'aigua + Vodní efekt + Vandeffekt + Wassereffekt + Efecto acuático + Vesitehoste + Effet d'eau + Víz effektus + Effetto acqua + 水効果 + Efekt wodny + Efeito Aquático + Efeito Aquático + Эффект воды + Vatteneffekt + 水纹效果 + 水波特效 + Adds water effects to different desktop actions + Afegeix efectes d'aigua a diferents accions de l'escriptori + Do různých akcí plochy přidává efekt vody + Tilføjer vandeffekter til forskellige skrivebordshandlinger + Wassereffekte zu verschiedenen Aktionen des Desktops hinzufügen + Añadir efecto acuático a distintas acciones de escritorio + Lisää vesitehosteen erilaisille työpöydän toiminnoille + Ajoute des effets d'eau à différentes opérations du bureau + Víz effektus hozzáadása a különböző munkaasztal-műveletekhez + Aggiunge effetti acqua a diverse azioni desktop + 異なるデスクトップアクションに水効果を追加する + Dodaje efekty wodne do różnych operacji na pulpicie + Adiciona efeitos aquáticos a diferentes ações da área de trabalho + Adiciona efeitos aquáticos a diferentes ações da área de trabalho + Добавление эффектов воды к различным действиям рабочего стола + Lägger till vatteneffekter till olika skrivbordsåtgärder + 将水纹效果添加到不同的桌面操作 + 新增水波特效到不同的桌面動作 + + + blur + video + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/water.xml.in b/metadata/water.xml.in new file mode 100644 index 0000000..deda786 --- /dev/null +++ b/metadata/water.xml.in @@ -0,0 +1,75 @@ + + + <_short>Water Effect + <_long>Adds water effects to different desktop actions + + + blur + video + + + + + + + + + + + + + + diff --git a/metadata/wobbly.xml b/metadata/wobbly.xml new file mode 100644 index 0000000..6de3464 --- /dev/null +++ b/metadata/wobbly.xml @@ -0,0 +1,524 @@ + + + + Wobbly Windows + Finestres tremoloses + Vlnící se okna + "Slingrende" vinduer + Wackelige Fenster + Ventanas gelatinosas + Huojuvat ikkunat + Fenêtres déformées + Imbolygó ablakok + Finestre tremolanti + 揺れるウィンドウ + Drgające okna + Janelas Instáveis + Janelas Instáveis + Вязкие окна + Geléaktiga fönster + 颤动的窗口 + 搖擺視窗 + Use spring model for wobbly window effect + Utilitza el model d'elàstic per a l'efecte de finestra tremolosa + Pro efekt rozhoupání okna použít pružinový model + Brug fjedermodel til "slingrende" vinduer + Spring-Modell für Fenster-Wackeleffekt verwenden + Usa el modelo de muelle para el efecto de ventana gelatinosa + Käytä ikkunoiden joustavaa huojumistehostetta + Utiliser le modèle de ressort pour l'effet de tremblement de fenêtre + Rugómodell használata az imbolygó ablakeffektusnál + Usa modello sorgente per effetto tremolio finestre + 揺れるウィンドウ効果用にバネモデルを使用 + Wykorzystaj model sprężysty dla efektu drgających okien + Usar modelo de salto para efeito de instabilidade na janela + Usar modelo de salto para efeito de instabilidade na janela + Использовать модель пружины в эффекте вязкого окна + Använd fjädereffekt för fönstergeléeffekt + 对颤动窗口效果使用弹性模型 + 針對搖擺視窗特效使用彈簧模式 + + + fade + cube + scale + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/wobbly.xml.in b/metadata/wobbly.xml.in new file mode 100644 index 0000000..3b08fad --- /dev/null +++ b/metadata/wobbly.xml.in @@ -0,0 +1,123 @@ + + + <_short>Wobbly Windows + <_long>Use spring model for wobbly window effect + + + fade + cube + scale + + + + + + + + + + + + + + + + + + + + + + diff --git a/metadata/zoom.xml b/metadata/zoom.xml new file mode 100644 index 0000000..ae40236 --- /dev/null +++ b/metadata/zoom.xml @@ -0,0 +1,324 @@ + + + + Zoom Desktop + Fes zoom a l'escriptori + Přiblížit plochu + Zoom på skrivebord + Desktop zoomen + Ampliar/reducir escritorio + Työpöydän zoomaus + Zoom - Bureau + Munkaasztal nagyítása + Zoom desktop + デスクトップのズーム + Powiększ biurko + Aproximar Área de Trabalho + Aproximar Área de Trabalho + Изменить масштаб рабочего стола + Zooma skrivbord + 缩放桌面 + 縮放桌面 + Zoom and pan desktop cube + Fes zoom i gira el cub de l'escriptori + Přiblížit a posunout kostku ploch + Zoom og panorer på skrivebordskubus + Desktop-Würfel zoomen und schwenken + Ampliar o reducir y panorámica del cubo de escritorio + Zoomaa ja panoroi työpöytää + Zoom et panoramique du cube du bureau + A munkaasztalkocka nagyítása és pásztázása + Applica zoom a panoramica a cubo desktop + デスクトップキューブのズームとパン + Powiększ i przesuń kostkę pulpitu + Aplicar zoom e pan ao cubo da área de trabalho + Aplicar zoom e pan ao cubo da área de trabalho + Изменение масштаба и сдвига куба рабочего стола + Zooma och panorera skrivbordskub + 缩放和桌面立方体 + 縮放和平移桌面立方體 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/metadata/zoom.xml.in b/metadata/zoom.xml.in new file mode 100644 index 0000000..9d27219 --- /dev/null +++ b/metadata/zoom.xml.in @@ -0,0 +1,71 @@ + + + <_short>Zoom Desktop + <_long>Zoom and pan desktop cube + + + + + + + + + + + + + + diff --git a/missing b/missing new file mode 100755 index 0000000..1c8ff70 --- /dev/null +++ b/missing @@ -0,0 +1,367 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2006-05-10.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case $1 in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + autom4te touch the output file, or create a stub one + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + +esac + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). +case $1 in + lex|yacc) + # Not GNU programs, they don't have --version. + ;; + + tar) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case $1 in + aclocal*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case $f in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if test $# -ne 1; then + eval LASTARG="\${$#}" + case $LASTARG in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if test ! -f y.tab.h; then + echo >y.tab.h + fi + if test ! -f y.tab.c; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if test $# -ne 1; then + eval LASTARG="\${$#}" + case $LASTARG in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if test ! -f lex.yy.c; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -z "$file"; then + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + tar) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case $firstarg in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case $firstarg in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100755 index 0000000..d2d5f21 --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,111 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" 1>&2 + exit 0 + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +case $dirmode in + '') + if mkdir -p -- . 2>/dev/null; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + fi + ;; + *) + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + fi + ;; +esac + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# End: +# mkinstalldirs ends here diff --git a/plugins/Makefile b/plugins/Makefile new file mode 100644 index 0000000..3c8ad75 --- /dev/null +++ b/plugins/Makefile @@ -0,0 +1,838 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# plugins/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = plugins +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +am_libblur_la_OBJECTS = blur.lo +libblur_la_OBJECTS = $(am_libblur_la_OBJECTS) +libblur_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libblur_la_LDFLAGS) $(LDFLAGS) -o $@ +libcube_la_LIBADD = +am_libcube_la_OBJECTS = cube.lo +libcube_la_OBJECTS = $(am_libcube_la_OBJECTS) +libcube_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libcube_la_LDFLAGS) $(LDFLAGS) -o $@ +libdbus_la_DEPENDENCIES = +am__libdbus_la_SOURCES_DIST = dbus.c +am_libdbus_la_OBJECTS = dbus.lo +libdbus_la_OBJECTS = $(am_libdbus_la_OBJECTS) +libdbus_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libdbus_la_LDFLAGS) $(LDFLAGS) -o $@ +am_libdbus_la_rpath = -rpath $(moduledir) +am_libdecoration_la_OBJECTS = decoration.lo +libdecoration_la_OBJECTS = $(am_libdecoration_la_OBJECTS) +libdecoration_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libdecoration_la_LDFLAGS) $(LDFLAGS) -o $@ +libfade_la_LIBADD = +am_libfade_la_OBJECTS = fade.lo +libfade_la_OBJECTS = $(am_libfade_la_OBJECTS) +libfade_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libfade_la_LDFLAGS) $(LDFLAGS) -o $@ +libminimize_la_LIBADD = +am_libminimize_la_OBJECTS = minimize.lo +libminimize_la_OBJECTS = $(am_libminimize_la_OBJECTS) +libminimize_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libminimize_la_LDFLAGS) $(LDFLAGS) -o $@ +libmove_la_LIBADD = +am_libmove_la_OBJECTS = move.lo +libmove_la_OBJECTS = $(am_libmove_la_OBJECTS) +libmove_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libmove_la_LDFLAGS) $(LDFLAGS) -o $@ +libplane_la_LIBADD = +am_libplane_la_OBJECTS = plane.lo +libplane_la_OBJECTS = $(am_libplane_la_OBJECTS) +libplane_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libplane_la_LDFLAGS) $(LDFLAGS) -o $@ +libpng_la_DEPENDENCIES = +am_libpng_la_OBJECTS = png.lo +libpng_la_OBJECTS = $(am_libpng_la_OBJECTS) +libpng_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libpng_la_LDFLAGS) $(LDFLAGS) -o $@ +libregex_la_LIBADD = +am_libregex_la_OBJECTS = regex.lo +libregex_la_OBJECTS = $(am_libregex_la_OBJECTS) +libregex_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libregex_la_LDFLAGS) $(LDFLAGS) -o $@ +librotate_la_LIBADD = +am_librotate_la_OBJECTS = rotate.lo +librotate_la_OBJECTS = $(am_librotate_la_OBJECTS) +librotate_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(librotate_la_LDFLAGS) $(LDFLAGS) -o $@ +libscale_la_LIBADD = +am_libscale_la_OBJECTS = scale.lo +libscale_la_OBJECTS = $(am_libscale_la_OBJECTS) +libscale_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libscale_la_LDFLAGS) $(LDFLAGS) -o $@ +am__libsvg_la_SOURCES_DIST = svg.c +#am_libsvg_la_OBJECTS = svg.lo +libsvg_la_OBJECTS = $(am_libsvg_la_OBJECTS) +libsvg_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libsvg_la_LDFLAGS) $(LDFLAGS) -o $@ +#am_libsvg_la_rpath = -rpath $(moduledir) +libswitcher_la_LIBADD = +am_libswitcher_la_OBJECTS = switcher.lo +libswitcher_la_OBJECTS = $(am_libswitcher_la_OBJECTS) +libswitcher_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libswitcher_la_LDFLAGS) $(LDFLAGS) -o $@ +am_libvideo_la_OBJECTS = video.lo +libvideo_la_OBJECTS = $(am_libvideo_la_OBJECTS) +libvideo_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libvideo_la_LDFLAGS) $(LDFLAGS) -o $@ +libwater_la_LIBADD = +am_libwater_la_OBJECTS = water.lo +libwater_la_OBJECTS = $(am_libwater_la_OBJECTS) +libwater_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libwater_la_LDFLAGS) $(LDFLAGS) -o $@ +libwobbly_la_LIBADD = +am_libwobbly_la_OBJECTS = wobbly.lo +libwobbly_la_OBJECTS = $(am_libwobbly_la_OBJECTS) +libwobbly_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libwobbly_la_LDFLAGS) $(LDFLAGS) -o $@ +libzoom_la_LIBADD = +am_libzoom_la_OBJECTS = zoom.lo +libzoom_la_OBJECTS = $(am_libzoom_la_OBJECTS) +libzoom_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libzoom_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libblur_la_SOURCES) $(libcube_la_SOURCES) \ + $(libdbus_la_SOURCES) $(libdecoration_la_SOURCES) \ + $(libfade_la_SOURCES) $(libminimize_la_SOURCES) \ + $(libmove_la_SOURCES) $(libplane_la_SOURCES) \ + $(libpng_la_SOURCES) $(libregex_la_SOURCES) \ + $(librotate_la_SOURCES) $(libscale_la_SOURCES) \ + $(libsvg_la_SOURCES) $(libswitcher_la_SOURCES) \ + $(libvideo_la_SOURCES) $(libwater_la_SOURCES) \ + $(libwobbly_la_SOURCES) $(libzoom_la_SOURCES) +DIST_SOURCES = $(libblur_la_SOURCES) $(libcube_la_SOURCES) \ + $(am__libdbus_la_SOURCES_DIST) $(libdecoration_la_SOURCES) \ + $(libfade_la_SOURCES) $(libminimize_la_SOURCES) \ + $(libmove_la_SOURCES) $(libplane_la_SOURCES) \ + $(libpng_la_SOURCES) $(libregex_la_SOURCES) \ + $(librotate_la_SOURCES) $(libscale_la_SOURCES) \ + $(am__libsvg_la_SOURCES_DIST) $(libswitcher_la_SOURCES) \ + $(libvideo_la_SOURCES) $(libwater_la_SOURCES) \ + $(libwobbly_la_SOURCES) $(libzoom_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/plugins +abs_srcdir = /media/disk-3/src/compiz/plugins +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +libfade_la_LDFLAGS = -module -avoid-version -no-undefined +libfade_la_SOURCES = fade.c + +#libshadow_la_LDFLAGS = -module -avoid-version -no-undefined +#libshadow_la_SOURCES = shadow.c +libcube_la_LDFLAGS = -module -avoid-version -no-undefined +libcube_la_SOURCES = cube.c +librotate_la_LDFLAGS = -module -avoid-version -no-undefined +librotate_la_SOURCES = rotate.c +libzoom_la_LDFLAGS = -module -avoid-version -no-undefined +libzoom_la_SOURCES = zoom.c +libscale_la_LDFLAGS = -module -avoid-version -no-undefined +libscale_la_SOURCES = scale.c +libwobbly_la_LDFLAGS = -module -avoid-version -no-undefined +libwobbly_la_SOURCES = wobbly.c +libminimize_la_LDFLAGS = -module -avoid-version -no-undefined +libminimize_la_SOURCES = minimize.c +libmove_la_LDFLAGS = -module -avoid-version -no-undefined +libmove_la_SOURCES = move.c + +# libresize_la_LDFLAGS = -module -avoid-version -no-undefined +# libresize_la_SOURCES = resize.c +libdecoration_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libdecoration_la_LDFLAGS = -module -avoid-version -no-undefined +libdecoration_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la +libdecoration_la_SOURCES = decoration.c +libswitcher_la_LDFLAGS = -module -avoid-version -no-undefined +libswitcher_la_SOURCES = switcher.c +libwater_la_LDFLAGS = -module -avoid-version -no-undefined +libwater_la_SOURCES = water.c + +# libscreenshot_la_LDFLAGS = -module -avoid-version -no-undefined +# libscreenshot_la_SOURCES = screenshot.c +libplane_la_LDFLAGS = -module -avoid-version -no-undefined +libplane_la_SOURCES = plane.c + +# libclone_la_LDFLAGS = -module -avoid-version -no-undefined +# libclone_la_SOURCES = clone.c +libpng_la_LDFLAGS = -module -avoid-version -no-undefined +libpng_la_LIBADD = -lpng12 +libpng_la_SOURCES = png.c +libblur_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libblur_la_LDFLAGS = -module -avoid-version -no-undefined +libblur_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la -lGLU +libblur_la_SOURCES = blur.c +libregex_la_LDFLAGS = -module -avoid-version -no-undefined +libregex_la_SOURCES = regex.c +libvideo_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libvideo_la_LDFLAGS = -module -avoid-version -no-undefined +libvideo_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la +libvideo_la_SOURCES = video.c + +# libini_la_LDFLAGS = -module -avoid-version -no-undefined +# libini_la_SOURCES = ini.c +#libsvg_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +#libsvg_la_LDFLAGS = -module -avoid-version -no-undefined +#libsvg_la_LIBADD = \ +# $(top_builddir)/libdecoration/libdecoration.la \ +# + +#libsvg_la_SOURCES = svg.c +#libsvg_module = libsvg.la + +# if ANNOTATE_PLUGIN +# libannotate_la_LDFLAGS = -module -avoid-version -no-undefined +# libannotate_la_LIBADD = -lXrender -lcairo -lX11 +# libannotate_la_SOURCES = annotate.c +# libannotate_module = libannotate.la +# endif +libdbus_la_LDFLAGS = -module -avoid-version -no-undefined +libdbus_la_LIBADD = -L//lib -ldbus-1 -lxml2 +libdbus_la_SOURCES = dbus.c +libdbus_module = libdbus.la + +# if INOTIFY_PLUGIN +# libinotify_la_LDFLAGS = -module -avoid-version -no-undefined +# libinotify_la_SOURCES = inotify.c +# libinotify_module = libinotify.la +# endif + +# if FUSE_PLUGIN +# libfs_la_LDFLAGS = -module -avoid-version -no-undefined +# libfs_la_LIBADD = +# libfs_la_SOURCES = fuse.c +# libfs_module = libfs.la +# endif +INCLUDES = \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -I/usr/include/libpng12 \ + \ + -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 \ + -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 \ + \ + -DFUSE_USE_VERSION=26 \ + -DALL_LINGUAS="\"cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu\"" \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DPLUGINDIR=\"$(plugindir)\" \ + -DIMAGEDIR=\"$(imagedir)\" \ + -I$(top_srcdir)/include \ + -DMETADATADIR=\"$(metadatadir)\" + +moduledir = $(plugindir) +module_LTLIBRARIES = \ + libfade.la \ + libvideo.la \ + $(libdbus_module) \ + libdecoration.la \ + libscale.la \ + libblur.la \ + libminimize.la \ + libregex.la \ + libplane.la \ + libcube.la \ + librotate.la \ + libswitcher.la \ + $(libsvg_module) \ + libwater.la \ + libpng.la \ + libmove.la \ + libwobbly.la \ + libzoom.la + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu plugins/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu plugins/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libblur.la: $(libblur_la_OBJECTS) $(libblur_la_DEPENDENCIES) + $(libblur_la_LINK) -rpath $(moduledir) $(libblur_la_OBJECTS) $(libblur_la_LIBADD) $(LIBS) +libcube.la: $(libcube_la_OBJECTS) $(libcube_la_DEPENDENCIES) + $(libcube_la_LINK) -rpath $(moduledir) $(libcube_la_OBJECTS) $(libcube_la_LIBADD) $(LIBS) +libdbus.la: $(libdbus_la_OBJECTS) $(libdbus_la_DEPENDENCIES) + $(libdbus_la_LINK) $(am_libdbus_la_rpath) $(libdbus_la_OBJECTS) $(libdbus_la_LIBADD) $(LIBS) +libdecoration.la: $(libdecoration_la_OBJECTS) $(libdecoration_la_DEPENDENCIES) + $(libdecoration_la_LINK) -rpath $(moduledir) $(libdecoration_la_OBJECTS) $(libdecoration_la_LIBADD) $(LIBS) +libfade.la: $(libfade_la_OBJECTS) $(libfade_la_DEPENDENCIES) + $(libfade_la_LINK) -rpath $(moduledir) $(libfade_la_OBJECTS) $(libfade_la_LIBADD) $(LIBS) +libminimize.la: $(libminimize_la_OBJECTS) $(libminimize_la_DEPENDENCIES) + $(libminimize_la_LINK) -rpath $(moduledir) $(libminimize_la_OBJECTS) $(libminimize_la_LIBADD) $(LIBS) +libmove.la: $(libmove_la_OBJECTS) $(libmove_la_DEPENDENCIES) + $(libmove_la_LINK) -rpath $(moduledir) $(libmove_la_OBJECTS) $(libmove_la_LIBADD) $(LIBS) +libplane.la: $(libplane_la_OBJECTS) $(libplane_la_DEPENDENCIES) + $(libplane_la_LINK) -rpath $(moduledir) $(libplane_la_OBJECTS) $(libplane_la_LIBADD) $(LIBS) +libpng.la: $(libpng_la_OBJECTS) $(libpng_la_DEPENDENCIES) + $(libpng_la_LINK) -rpath $(moduledir) $(libpng_la_OBJECTS) $(libpng_la_LIBADD) $(LIBS) +libregex.la: $(libregex_la_OBJECTS) $(libregex_la_DEPENDENCIES) + $(libregex_la_LINK) -rpath $(moduledir) $(libregex_la_OBJECTS) $(libregex_la_LIBADD) $(LIBS) +librotate.la: $(librotate_la_OBJECTS) $(librotate_la_DEPENDENCIES) + $(librotate_la_LINK) -rpath $(moduledir) $(librotate_la_OBJECTS) $(librotate_la_LIBADD) $(LIBS) +libscale.la: $(libscale_la_OBJECTS) $(libscale_la_DEPENDENCIES) + $(libscale_la_LINK) -rpath $(moduledir) $(libscale_la_OBJECTS) $(libscale_la_LIBADD) $(LIBS) +libsvg.la: $(libsvg_la_OBJECTS) $(libsvg_la_DEPENDENCIES) + $(libsvg_la_LINK) $(am_libsvg_la_rpath) $(libsvg_la_OBJECTS) $(libsvg_la_LIBADD) $(LIBS) +libswitcher.la: $(libswitcher_la_OBJECTS) $(libswitcher_la_DEPENDENCIES) + $(libswitcher_la_LINK) -rpath $(moduledir) $(libswitcher_la_OBJECTS) $(libswitcher_la_LIBADD) $(LIBS) +libvideo.la: $(libvideo_la_OBJECTS) $(libvideo_la_DEPENDENCIES) + $(libvideo_la_LINK) -rpath $(moduledir) $(libvideo_la_OBJECTS) $(libvideo_la_LIBADD) $(LIBS) +libwater.la: $(libwater_la_OBJECTS) $(libwater_la_DEPENDENCIES) + $(libwater_la_LINK) -rpath $(moduledir) $(libwater_la_OBJECTS) $(libwater_la_LIBADD) $(LIBS) +libwobbly.la: $(libwobbly_la_OBJECTS) $(libwobbly_la_DEPENDENCIES) + $(libwobbly_la_LINK) -rpath $(moduledir) $(libwobbly_la_OBJECTS) $(libwobbly_la_LIBADD) $(LIBS) +libzoom.la: $(libzoom_la_OBJECTS) $(libzoom_la_DEPENDENCIES) + $(libzoom_la_LINK) -rpath $(moduledir) $(libzoom_la_OBJECTS) $(libzoom_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/blur.Plo +include ./$(DEPDIR)/cube.Plo +include ./$(DEPDIR)/dbus.Plo +include ./$(DEPDIR)/decoration.Plo +include ./$(DEPDIR)/fade.Plo +include ./$(DEPDIR)/minimize.Plo +include ./$(DEPDIR)/move.Plo +include ./$(DEPDIR)/plane.Plo +include ./$(DEPDIR)/png.Plo +include ./$(DEPDIR)/regex.Plo +include ./$(DEPDIR)/rotate.Plo +include ./$(DEPDIR)/scale.Plo +include ./$(DEPDIR)/svg.Plo +include ./$(DEPDIR)/switcher.Plo +include ./$(DEPDIR)/video.Plo +include ./$(DEPDIR)/water.Plo +include ./$(DEPDIR)/wobbly.Plo +include ./$(DEPDIR)/zoom.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/plugins/Makefile.am b/plugins/Makefile.am new file mode 100644 index 0000000..7246f96 --- /dev/null +++ b/plugins/Makefile.am @@ -0,0 +1,144 @@ +libfade_la_LDFLAGS = -module -avoid-version -no-undefined +libfade_la_SOURCES = fade.c + +#libshadow_la_LDFLAGS = -module -avoid-version -no-undefined +#libshadow_la_SOURCES = shadow.c + +libcube_la_LDFLAGS = -module -avoid-version -no-undefined +libcube_la_SOURCES = cube.c + +librotate_la_LDFLAGS = -module -avoid-version -no-undefined +librotate_la_SOURCES = rotate.c + +libzoom_la_LDFLAGS = -module -avoid-version -no-undefined +libzoom_la_SOURCES = zoom.c + +libscale_la_LDFLAGS = -module -avoid-version -no-undefined +libscale_la_SOURCES = scale.c + +libwobbly_la_LDFLAGS = -module -avoid-version -no-undefined +libwobbly_la_SOURCES = wobbly.c + +libminimize_la_LDFLAGS = -module -avoid-version -no-undefined +libminimize_la_SOURCES = minimize.c + +libmove_la_LDFLAGS = -module -avoid-version -no-undefined +libmove_la_SOURCES = move.c + +# libresize_la_LDFLAGS = -module -avoid-version -no-undefined +# libresize_la_SOURCES = resize.c + +libdecoration_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libdecoration_la_LDFLAGS = -module -avoid-version -no-undefined +libdecoration_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la +libdecoration_la_SOURCES = decoration.c + +libswitcher_la_LDFLAGS = -module -avoid-version -no-undefined +libswitcher_la_SOURCES = switcher.c + +libwater_la_LDFLAGS = -module -avoid-version -no-undefined +libwater_la_SOURCES = water.c + +# libscreenshot_la_LDFLAGS = -module -avoid-version -no-undefined +# libscreenshot_la_SOURCES = screenshot.c + +libplane_la_LDFLAGS = -module -avoid-version -no-undefined +libplane_la_SOURCES = plane.c + +# libclone_la_LDFLAGS = -module -avoid-version -no-undefined +# libclone_la_SOURCES = clone.c + +libpng_la_LDFLAGS = -module -avoid-version -no-undefined +libpng_la_LIBADD = @LIBPNG_LIBS@ +libpng_la_SOURCES = png.c + +libblur_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libblur_la_LDFLAGS = -module -avoid-version -no-undefined +libblur_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la -lGLU +libblur_la_SOURCES = blur.c + +libregex_la_LDFLAGS = -module -avoid-version -no-undefined +libregex_la_SOURCES = regex.c + +libvideo_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libvideo_la_LDFLAGS = -module -avoid-version -no-undefined +libvideo_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la +libvideo_la_SOURCES = video.c + +# libini_la_LDFLAGS = -module -avoid-version -no-undefined +# libini_la_SOURCES = ini.c + +if USE_LIBRSVG +libsvg_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libsvg_la_LDFLAGS = -module -avoid-version -no-undefined +libsvg_la_LIBADD = \ + $(top_builddir)/libdecoration/libdecoration.la \ + @LIBRSVG_LIBS@ +libsvg_la_SOURCES = svg.c +libsvg_module = libsvg.la +endif + +# if ANNOTATE_PLUGIN +# libannotate_la_LDFLAGS = -module -avoid-version -no-undefined +# libannotate_la_LIBADD = @ANNOTATE_LIBS@ +# libannotate_la_SOURCES = annotate.c +# libannotate_module = libannotate.la +# endif + +if DBUS_PLUGIN +libdbus_la_LDFLAGS = -module -avoid-version -no-undefined +libdbus_la_LIBADD = @DBUS_LIBS@ +libdbus_la_SOURCES = dbus.c +libdbus_module = libdbus.la +endif + +# if INOTIFY_PLUGIN +# libinotify_la_LDFLAGS = -module -avoid-version -no-undefined +# libinotify_la_SOURCES = inotify.c +# libinotify_module = libinotify.la +# endif + +# if FUSE_PLUGIN +# libfs_la_LDFLAGS = -module -avoid-version -no-undefined +# libfs_la_LIBADD = @FUSE_LIBS@ +# libfs_la_SOURCES = fuse.c +# libfs_module = libfs.la +# endif + +INCLUDES = \ + @ECOMP_CFLAGS@ \ + @LIBPNG_CFLAGS@ \ + @LIBRSVG_CFLAGS@ \ + @ANNOTATE_CFLAGS@ \ + @DBUS_CFLAGS@ \ + @FUSE_CFLAGS@ \ + -DFUSE_USE_VERSION=26 \ + -DALL_LINGUAS="\"@ALL_LINGUAS@\"" \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DPLUGINDIR=\"$(plugindir)\" \ + -DIMAGEDIR=\"$(imagedir)\" \ + -I$(top_srcdir)/include \ + -DMETADATADIR=\"$(metadatadir)\" + +moduledir = $(plugindir) + +module_LTLIBRARIES = \ + libfade.la \ + libvideo.la \ + $(libdbus_module) \ + libdecoration.la \ + libscale.la \ + libblur.la \ + libminimize.la \ + libregex.la \ + libplane.la \ + libcube.la \ + librotate.la \ + libswitcher.la \ + $(libsvg_module) \ + libwater.la \ + libpng.la \ + libmove.la \ + libwobbly.la \ + libzoom.la + diff --git a/plugins/Makefile.in b/plugins/Makefile.in new file mode 100644 index 0000000..c0e70cd --- /dev/null +++ b/plugins/Makefile.in @@ -0,0 +1,838 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = plugins +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +am_libblur_la_OBJECTS = blur.lo +libblur_la_OBJECTS = $(am_libblur_la_OBJECTS) +libblur_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libblur_la_LDFLAGS) $(LDFLAGS) -o $@ +libcube_la_LIBADD = +am_libcube_la_OBJECTS = cube.lo +libcube_la_OBJECTS = $(am_libcube_la_OBJECTS) +libcube_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libcube_la_LDFLAGS) $(LDFLAGS) -o $@ +libdbus_la_DEPENDENCIES = +am__libdbus_la_SOURCES_DIST = dbus.c +@DBUS_PLUGIN_TRUE@am_libdbus_la_OBJECTS = dbus.lo +libdbus_la_OBJECTS = $(am_libdbus_la_OBJECTS) +libdbus_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libdbus_la_LDFLAGS) $(LDFLAGS) -o $@ +@DBUS_PLUGIN_TRUE@am_libdbus_la_rpath = -rpath $(moduledir) +am_libdecoration_la_OBJECTS = decoration.lo +libdecoration_la_OBJECTS = $(am_libdecoration_la_OBJECTS) +libdecoration_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libdecoration_la_LDFLAGS) $(LDFLAGS) -o $@ +libfade_la_LIBADD = +am_libfade_la_OBJECTS = fade.lo +libfade_la_OBJECTS = $(am_libfade_la_OBJECTS) +libfade_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libfade_la_LDFLAGS) $(LDFLAGS) -o $@ +libminimize_la_LIBADD = +am_libminimize_la_OBJECTS = minimize.lo +libminimize_la_OBJECTS = $(am_libminimize_la_OBJECTS) +libminimize_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libminimize_la_LDFLAGS) $(LDFLAGS) -o $@ +libmove_la_LIBADD = +am_libmove_la_OBJECTS = move.lo +libmove_la_OBJECTS = $(am_libmove_la_OBJECTS) +libmove_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libmove_la_LDFLAGS) $(LDFLAGS) -o $@ +libplane_la_LIBADD = +am_libplane_la_OBJECTS = plane.lo +libplane_la_OBJECTS = $(am_libplane_la_OBJECTS) +libplane_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libplane_la_LDFLAGS) $(LDFLAGS) -o $@ +libpng_la_DEPENDENCIES = +am_libpng_la_OBJECTS = png.lo +libpng_la_OBJECTS = $(am_libpng_la_OBJECTS) +libpng_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libpng_la_LDFLAGS) $(LDFLAGS) -o $@ +libregex_la_LIBADD = +am_libregex_la_OBJECTS = regex.lo +libregex_la_OBJECTS = $(am_libregex_la_OBJECTS) +libregex_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libregex_la_LDFLAGS) $(LDFLAGS) -o $@ +librotate_la_LIBADD = +am_librotate_la_OBJECTS = rotate.lo +librotate_la_OBJECTS = $(am_librotate_la_OBJECTS) +librotate_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(librotate_la_LDFLAGS) $(LDFLAGS) -o $@ +libscale_la_LIBADD = +am_libscale_la_OBJECTS = scale.lo +libscale_la_OBJECTS = $(am_libscale_la_OBJECTS) +libscale_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libscale_la_LDFLAGS) $(LDFLAGS) -o $@ +am__libsvg_la_SOURCES_DIST = svg.c +@USE_LIBRSVG_TRUE@am_libsvg_la_OBJECTS = svg.lo +libsvg_la_OBJECTS = $(am_libsvg_la_OBJECTS) +libsvg_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libsvg_la_LDFLAGS) $(LDFLAGS) -o $@ +@USE_LIBRSVG_TRUE@am_libsvg_la_rpath = -rpath $(moduledir) +libswitcher_la_LIBADD = +am_libswitcher_la_OBJECTS = switcher.lo +libswitcher_la_OBJECTS = $(am_libswitcher_la_OBJECTS) +libswitcher_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libswitcher_la_LDFLAGS) $(LDFLAGS) -o $@ +am_libvideo_la_OBJECTS = video.lo +libvideo_la_OBJECTS = $(am_libvideo_la_OBJECTS) +libvideo_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libvideo_la_LDFLAGS) $(LDFLAGS) -o $@ +libwater_la_LIBADD = +am_libwater_la_OBJECTS = water.lo +libwater_la_OBJECTS = $(am_libwater_la_OBJECTS) +libwater_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libwater_la_LDFLAGS) $(LDFLAGS) -o $@ +libwobbly_la_LIBADD = +am_libwobbly_la_OBJECTS = wobbly.lo +libwobbly_la_OBJECTS = $(am_libwobbly_la_OBJECTS) +libwobbly_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libwobbly_la_LDFLAGS) $(LDFLAGS) -o $@ +libzoom_la_LIBADD = +am_libzoom_la_OBJECTS = zoom.lo +libzoom_la_OBJECTS = $(am_libzoom_la_OBJECTS) +libzoom_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libzoom_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libblur_la_SOURCES) $(libcube_la_SOURCES) \ + $(libdbus_la_SOURCES) $(libdecoration_la_SOURCES) \ + $(libfade_la_SOURCES) $(libminimize_la_SOURCES) \ + $(libmove_la_SOURCES) $(libplane_la_SOURCES) \ + $(libpng_la_SOURCES) $(libregex_la_SOURCES) \ + $(librotate_la_SOURCES) $(libscale_la_SOURCES) \ + $(libsvg_la_SOURCES) $(libswitcher_la_SOURCES) \ + $(libvideo_la_SOURCES) $(libwater_la_SOURCES) \ + $(libwobbly_la_SOURCES) $(libzoom_la_SOURCES) +DIST_SOURCES = $(libblur_la_SOURCES) $(libcube_la_SOURCES) \ + $(am__libdbus_la_SOURCES_DIST) $(libdecoration_la_SOURCES) \ + $(libfade_la_SOURCES) $(libminimize_la_SOURCES) \ + $(libmove_la_SOURCES) $(libplane_la_SOURCES) \ + $(libpng_la_SOURCES) $(libregex_la_SOURCES) \ + $(librotate_la_SOURCES) $(libscale_la_SOURCES) \ + $(am__libsvg_la_SOURCES_DIST) $(libswitcher_la_SOURCES) \ + $(libvideo_la_SOURCES) $(libwater_la_SOURCES) \ + $(libwobbly_la_SOURCES) $(libzoom_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +libfade_la_LDFLAGS = -module -avoid-version -no-undefined +libfade_la_SOURCES = fade.c + +#libshadow_la_LDFLAGS = -module -avoid-version -no-undefined +#libshadow_la_SOURCES = shadow.c +libcube_la_LDFLAGS = -module -avoid-version -no-undefined +libcube_la_SOURCES = cube.c +librotate_la_LDFLAGS = -module -avoid-version -no-undefined +librotate_la_SOURCES = rotate.c +libzoom_la_LDFLAGS = -module -avoid-version -no-undefined +libzoom_la_SOURCES = zoom.c +libscale_la_LDFLAGS = -module -avoid-version -no-undefined +libscale_la_SOURCES = scale.c +libwobbly_la_LDFLAGS = -module -avoid-version -no-undefined +libwobbly_la_SOURCES = wobbly.c +libminimize_la_LDFLAGS = -module -avoid-version -no-undefined +libminimize_la_SOURCES = minimize.c +libmove_la_LDFLAGS = -module -avoid-version -no-undefined +libmove_la_SOURCES = move.c + +# libresize_la_LDFLAGS = -module -avoid-version -no-undefined +# libresize_la_SOURCES = resize.c +libdecoration_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libdecoration_la_LDFLAGS = -module -avoid-version -no-undefined +libdecoration_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la +libdecoration_la_SOURCES = decoration.c +libswitcher_la_LDFLAGS = -module -avoid-version -no-undefined +libswitcher_la_SOURCES = switcher.c +libwater_la_LDFLAGS = -module -avoid-version -no-undefined +libwater_la_SOURCES = water.c + +# libscreenshot_la_LDFLAGS = -module -avoid-version -no-undefined +# libscreenshot_la_SOURCES = screenshot.c +libplane_la_LDFLAGS = -module -avoid-version -no-undefined +libplane_la_SOURCES = plane.c + +# libclone_la_LDFLAGS = -module -avoid-version -no-undefined +# libclone_la_SOURCES = clone.c +libpng_la_LDFLAGS = -module -avoid-version -no-undefined +libpng_la_LIBADD = @LIBPNG_LIBS@ +libpng_la_SOURCES = png.c +libblur_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libblur_la_LDFLAGS = -module -avoid-version -no-undefined +libblur_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la -lGLU +libblur_la_SOURCES = blur.c +libregex_la_LDFLAGS = -module -avoid-version -no-undefined +libregex_la_SOURCES = regex.c +libvideo_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +libvideo_la_LDFLAGS = -module -avoid-version -no-undefined +libvideo_la_LIBADD = $(top_builddir)/libdecoration/libdecoration.la +libvideo_la_SOURCES = video.c + +# libini_la_LDFLAGS = -module -avoid-version -no-undefined +# libini_la_SOURCES = ini.c +@USE_LIBRSVG_TRUE@libsvg_la_DEPENDENCIES = $(top_builddir)/libdecoration/libdecoration.la +@USE_LIBRSVG_TRUE@libsvg_la_LDFLAGS = -module -avoid-version -no-undefined +@USE_LIBRSVG_TRUE@libsvg_la_LIBADD = \ +@USE_LIBRSVG_TRUE@ $(top_builddir)/libdecoration/libdecoration.la \ +@USE_LIBRSVG_TRUE@ @LIBRSVG_LIBS@ + +@USE_LIBRSVG_TRUE@libsvg_la_SOURCES = svg.c +@USE_LIBRSVG_TRUE@libsvg_module = libsvg.la + +# if ANNOTATE_PLUGIN +# libannotate_la_LDFLAGS = -module -avoid-version -no-undefined +# libannotate_la_LIBADD = @ANNOTATE_LIBS@ +# libannotate_la_SOURCES = annotate.c +# libannotate_module = libannotate.la +# endif +@DBUS_PLUGIN_TRUE@libdbus_la_LDFLAGS = -module -avoid-version -no-undefined +@DBUS_PLUGIN_TRUE@libdbus_la_LIBADD = @DBUS_LIBS@ +@DBUS_PLUGIN_TRUE@libdbus_la_SOURCES = dbus.c +@DBUS_PLUGIN_TRUE@libdbus_module = libdbus.la + +# if INOTIFY_PLUGIN +# libinotify_la_LDFLAGS = -module -avoid-version -no-undefined +# libinotify_la_SOURCES = inotify.c +# libinotify_module = libinotify.la +# endif + +# if FUSE_PLUGIN +# libfs_la_LDFLAGS = -module -avoid-version -no-undefined +# libfs_la_LIBADD = @FUSE_LIBS@ +# libfs_la_SOURCES = fuse.c +# libfs_module = libfs.la +# endif +INCLUDES = \ + @ECOMP_CFLAGS@ \ + @LIBPNG_CFLAGS@ \ + @LIBRSVG_CFLAGS@ \ + @ANNOTATE_CFLAGS@ \ + @DBUS_CFLAGS@ \ + @FUSE_CFLAGS@ \ + -DFUSE_USE_VERSION=26 \ + -DALL_LINGUAS="\"@ALL_LINGUAS@\"" \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DPLUGINDIR=\"$(plugindir)\" \ + -DIMAGEDIR=\"$(imagedir)\" \ + -I$(top_srcdir)/include \ + -DMETADATADIR=\"$(metadatadir)\" + +moduledir = $(plugindir) +module_LTLIBRARIES = \ + libfade.la \ + libvideo.la \ + $(libdbus_module) \ + libdecoration.la \ + libscale.la \ + libblur.la \ + libminimize.la \ + libregex.la \ + libplane.la \ + libcube.la \ + librotate.la \ + libswitcher.la \ + $(libsvg_module) \ + libwater.la \ + libpng.la \ + libmove.la \ + libwobbly.la \ + libzoom.la + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu plugins/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu plugins/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libblur.la: $(libblur_la_OBJECTS) $(libblur_la_DEPENDENCIES) + $(libblur_la_LINK) -rpath $(moduledir) $(libblur_la_OBJECTS) $(libblur_la_LIBADD) $(LIBS) +libcube.la: $(libcube_la_OBJECTS) $(libcube_la_DEPENDENCIES) + $(libcube_la_LINK) -rpath $(moduledir) $(libcube_la_OBJECTS) $(libcube_la_LIBADD) $(LIBS) +libdbus.la: $(libdbus_la_OBJECTS) $(libdbus_la_DEPENDENCIES) + $(libdbus_la_LINK) $(am_libdbus_la_rpath) $(libdbus_la_OBJECTS) $(libdbus_la_LIBADD) $(LIBS) +libdecoration.la: $(libdecoration_la_OBJECTS) $(libdecoration_la_DEPENDENCIES) + $(libdecoration_la_LINK) -rpath $(moduledir) $(libdecoration_la_OBJECTS) $(libdecoration_la_LIBADD) $(LIBS) +libfade.la: $(libfade_la_OBJECTS) $(libfade_la_DEPENDENCIES) + $(libfade_la_LINK) -rpath $(moduledir) $(libfade_la_OBJECTS) $(libfade_la_LIBADD) $(LIBS) +libminimize.la: $(libminimize_la_OBJECTS) $(libminimize_la_DEPENDENCIES) + $(libminimize_la_LINK) -rpath $(moduledir) $(libminimize_la_OBJECTS) $(libminimize_la_LIBADD) $(LIBS) +libmove.la: $(libmove_la_OBJECTS) $(libmove_la_DEPENDENCIES) + $(libmove_la_LINK) -rpath $(moduledir) $(libmove_la_OBJECTS) $(libmove_la_LIBADD) $(LIBS) +libplane.la: $(libplane_la_OBJECTS) $(libplane_la_DEPENDENCIES) + $(libplane_la_LINK) -rpath $(moduledir) $(libplane_la_OBJECTS) $(libplane_la_LIBADD) $(LIBS) +libpng.la: $(libpng_la_OBJECTS) $(libpng_la_DEPENDENCIES) + $(libpng_la_LINK) -rpath $(moduledir) $(libpng_la_OBJECTS) $(libpng_la_LIBADD) $(LIBS) +libregex.la: $(libregex_la_OBJECTS) $(libregex_la_DEPENDENCIES) + $(libregex_la_LINK) -rpath $(moduledir) $(libregex_la_OBJECTS) $(libregex_la_LIBADD) $(LIBS) +librotate.la: $(librotate_la_OBJECTS) $(librotate_la_DEPENDENCIES) + $(librotate_la_LINK) -rpath $(moduledir) $(librotate_la_OBJECTS) $(librotate_la_LIBADD) $(LIBS) +libscale.la: $(libscale_la_OBJECTS) $(libscale_la_DEPENDENCIES) + $(libscale_la_LINK) -rpath $(moduledir) $(libscale_la_OBJECTS) $(libscale_la_LIBADD) $(LIBS) +libsvg.la: $(libsvg_la_OBJECTS) $(libsvg_la_DEPENDENCIES) + $(libsvg_la_LINK) $(am_libsvg_la_rpath) $(libsvg_la_OBJECTS) $(libsvg_la_LIBADD) $(LIBS) +libswitcher.la: $(libswitcher_la_OBJECTS) $(libswitcher_la_DEPENDENCIES) + $(libswitcher_la_LINK) -rpath $(moduledir) $(libswitcher_la_OBJECTS) $(libswitcher_la_LIBADD) $(LIBS) +libvideo.la: $(libvideo_la_OBJECTS) $(libvideo_la_DEPENDENCIES) + $(libvideo_la_LINK) -rpath $(moduledir) $(libvideo_la_OBJECTS) $(libvideo_la_LIBADD) $(LIBS) +libwater.la: $(libwater_la_OBJECTS) $(libwater_la_DEPENDENCIES) + $(libwater_la_LINK) -rpath $(moduledir) $(libwater_la_OBJECTS) $(libwater_la_LIBADD) $(LIBS) +libwobbly.la: $(libwobbly_la_OBJECTS) $(libwobbly_la_DEPENDENCIES) + $(libwobbly_la_LINK) -rpath $(moduledir) $(libwobbly_la_OBJECTS) $(libwobbly_la_LIBADD) $(LIBS) +libzoom.la: $(libzoom_la_OBJECTS) $(libzoom_la_DEPENDENCIES) + $(libzoom_la_LINK) -rpath $(moduledir) $(libzoom_la_OBJECTS) $(libzoom_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blur.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cube.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbus.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoration.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fade.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minimize.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plane.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/png.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rotate.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scale.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/switcher.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/video.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/water.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wobbly.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zoom.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/plugins/annotate.c b/plugins/annotate.c new file mode 100644 index 0000000..8c8692b --- /dev/null +++ b/plugins/annotate.c @@ -0,0 +1,915 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include + +#include + +static CompMetadata annoMetadata; + +static int displayPrivateIndex; + +static int annoLastPointerX = 0; +static int annoLastPointerY = 0; + +#define ANNO_DISPLAY_OPTION_INITIATE 0 +#define ANNO_DISPLAY_OPTION_DRAW 1 +#define ANNO_DISPLAY_OPTION_ERASE 2 +#define ANNO_DISPLAY_OPTION_CLEAR 3 +#define ANNO_DISPLAY_OPTION_FILL_COLOR 4 +#define ANNO_DISPLAY_OPTION_STROKE_COLOR 5 +#define ANNO_DISPLAY_OPTION_LINE_WIDTH 6 +#define ANNO_DISPLAY_OPTION_STROKE_WIDTH 7 +#define ANNO_DISPLAY_OPTION_NUM 8 + +typedef struct _AnnoDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[ANNO_DISPLAY_OPTION_NUM]; +} AnnoDisplay; + +typedef struct _AnnoScreen { + PaintOutputProc paintOutput; + int grabIndex; + + Pixmap pixmap; + CompTexture texture; + cairo_surface_t *surface; + cairo_t *cairo; + Bool content; + + Bool eraseMode; +} AnnoScreen; + +#define GET_ANNO_DISPLAY(d) \ + ((AnnoDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define ANNO_DISPLAY(d) \ + AnnoDisplay *ad = GET_ANNO_DISPLAY (d) + +#define GET_ANNO_SCREEN(s, ad) \ + ((AnnoScreen *) (s)->privates[(ad)->screenPrivateIndex].ptr) + +#define ANNO_SCREEN(s) \ + AnnoScreen *as = GET_ANNO_SCREEN (s, GET_ANNO_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + + +#define NUM_TOOLS (sizeof (tools) / sizeof (tools[0])) + +static void +annoCairoClear (CompScreen *s, + cairo_t *cr) +{ + ANNO_SCREEN (s); + + cairo_save (cr); + cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); + cairo_paint (cr); + cairo_restore (cr); + + as->content = FALSE; +} + +static cairo_t * +annoCairoContext (CompScreen *s) +{ + ANNO_SCREEN (s); + + if (!as->cairo) + { + XRenderPictFormat *format; + Screen *screen; + int w, h; + + screen = ScreenOfDisplay (s->display->display, s->screenNum); + + w = s->width; + h = s->height; + + format = XRenderFindStandardFormat (s->display->display, + PictStandardARGB32); + + as->pixmap = XCreatePixmap (s->display->display, s->root, w, h, 32); + + if (!bindPixmapToTexture (s, &as->texture, as->pixmap, w, h, 32)) + { + compLogMessage (s->display, "annotate", CompLogLevelError, + "Couldn't bind pixmap 0x%x to texture", + (int) as->pixmap); + + XFreePixmap (s->display->display, as->pixmap); + + return NULL; + } + + as->surface = + cairo_xlib_surface_create_with_xrender_format (s->display->display, + as->pixmap, screen, + format, w, h); + + as->cairo = cairo_create (as->surface); + + annoCairoClear (s, as->cairo); + } + + return as->cairo; +} + +static void +annoSetSourceColor (cairo_t *cr, + unsigned short *color) +{ + cairo_set_source_rgba (cr, + (double) color[0] / 0xffff, + (double) color[1] / 0xffff, + (double) color[2] / 0xffff, + (double) color[3] / 0xffff); +} + +static void +annoDrawCircle (CompScreen *s, + double xc, + double yc, + double radius, + unsigned short *fillColor, + unsigned short *strokeColor, + double strokeWidth) +{ + REGION reg; + cairo_t *cr; + + ANNO_SCREEN (s); + + cr = annoCairoContext (s); + if (cr) + { + double ex1, ey1, ex2, ey2; + + annoSetSourceColor (cr, fillColor); + cairo_arc (cr, xc, yc, radius, 0, 2 * M_PI); + cairo_fill_preserve (cr); + cairo_set_line_width (cr, strokeWidth); + cairo_stroke_extents (cr, &ex1, &ey1, &ex2, &ey2); + annoSetSourceColor (cr, strokeColor); + cairo_stroke (cr); + + reg.rects = ®.extents; + reg.numRects = 1; + + reg.extents.x1 = ex1; + reg.extents.y1 = ey1; + reg.extents.x2 = ex2; + reg.extents.y2 = ey2; + + as->content = TRUE; + damageScreenRegion (s, ®); + } +} + +static void +annoDrawRectangle (CompScreen *s, + double x, + double y, + double w, + double h, + unsigned short *fillColor, + unsigned short *strokeColor, + double strokeWidth) +{ + REGION reg; + cairo_t *cr; + + ANNO_SCREEN (s); + + cr = annoCairoContext (s); + if (cr) + { + double ex1, ey1, ex2, ey2; + + annoSetSourceColor (cr, fillColor); + cairo_rectangle (cr, x, y, w, h); + cairo_fill_preserve (cr); + cairo_set_line_width (cr, strokeWidth); + cairo_stroke_extents (cr, &ex1, &ey1, &ex2, &ey2); + annoSetSourceColor (cr, strokeColor); + cairo_stroke (cr); + + reg.rects = ®.extents; + reg.numRects = 1; + + reg.extents.x1 = ex1; + reg.extents.y1 = ey1; + reg.extents.x2 = ex2 + 2.0; + reg.extents.y2 = ey2 + 2.0; + + as->content = TRUE; + damageScreenRegion (s, ®); + } +} + +static void +annoDrawLine (CompScreen *s, + double x1, + double y1, + double x2, + double y2, + double width, + unsigned short *color) +{ + REGION reg; + cairo_t *cr; + + ANNO_SCREEN (s); + + cr = annoCairoContext (s); + if (cr) + { + double ex1, ey1, ex2, ey2; + + cairo_set_line_width (cr, width); + cairo_move_to (cr, x1, y1); + cairo_line_to (cr, x2, y2); + cairo_stroke_extents (cr, &ex1, &ey1, &ex2, &ey2); + annoSetSourceColor (cr, color); + cairo_stroke (cr); + + reg.rects = ®.extents; + reg.numRects = 1; + + reg.extents.x1 = ex1; + reg.extents.y1 = ey1; + reg.extents.x2 = ex2; + reg.extents.y2 = ey2; + + as->content = TRUE; + damageScreenRegion (s, ®); + } +} + +static void +annoDrawText (CompScreen *s, + double x, + double y, + char *text, + char *fontFamily, + double fontSize, + int fontSlant, + int fontWeight, + unsigned short *fillColor, + unsigned short *strokeColor, + double strokeWidth) +{ + REGION reg; + cairo_t *cr; + + ANNO_SCREEN (s); + + cr = annoCairoContext (s); + if (cr) + { + cairo_text_extents_t extents; + + cairo_set_line_width (cr, strokeWidth); + annoSetSourceColor (cr, fillColor); + cairo_select_font_face (cr, fontFamily, fontSlant, fontWeight); + cairo_set_font_size (cr, fontSize); + cairo_text_extents (cr, text, &extents); + cairo_save (cr); + cairo_move_to (cr, x, y); + cairo_text_path (cr, text); + cairo_fill_preserve (cr); + annoSetSourceColor (cr, strokeColor); + cairo_stroke (cr); + cairo_restore (cr); + + reg.rects = ®.extents; + reg.numRects = 1; + + reg.extents.x1 = x; + reg.extents.y1 = y + extents.y_bearing - 2.0; + reg.extents.x2 = x + extents.width + 20.0; + reg.extents.y2 = y + extents.height; + + as->content = TRUE; + damageScreenRegion (s, ®); + } +} + +static Bool +annoDraw (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + cairo_t *cr; + + cr = annoCairoContext (s); + if (cr) + { + char *tool; + unsigned short *fillColor, *strokeColor; + double lineWidth, strokeWidth; + + ANNO_DISPLAY (d); + + tool = getStringOptionNamed (option, nOption, "tool", "line"); + + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); + + fillColor = ad->opt[ANNO_DISPLAY_OPTION_FILL_COLOR].value.c; + fillColor = getColorOptionNamed (option, nOption, "fill_color", + fillColor); + + strokeColor = ad->opt[ANNO_DISPLAY_OPTION_STROKE_COLOR].value.c; + strokeColor = getColorOptionNamed (option, nOption, + "stroke_color", strokeColor); + + strokeWidth = ad->opt[ANNO_DISPLAY_OPTION_STROKE_WIDTH].value.f; + strokeWidth = getFloatOptionNamed (option, nOption, "stroke_width", + strokeWidth); + + lineWidth = ad->opt[ANNO_DISPLAY_OPTION_LINE_WIDTH].value.f; + lineWidth = getFloatOptionNamed (option, nOption, "line_width", + lineWidth); + + if (strcasecmp (tool, "rectangle") == 0) + { + double x, y, w, h; + + x = getFloatOptionNamed (option, nOption, "x", 0); + y = getFloatOptionNamed (option, nOption, "y", 0); + w = getFloatOptionNamed (option, nOption, "w", 100); + h = getFloatOptionNamed (option, nOption, "h", 100); + + annoDrawRectangle (s, x, y, w, h, fillColor, strokeColor, + strokeWidth); + } + else if (strcasecmp (tool, "circle") == 0) + { + double xc, yc, r; + + xc = getFloatOptionNamed (option, nOption, "xc", 0); + yc = getFloatOptionNamed (option, nOption, "yc", 0); + r = getFloatOptionNamed (option, nOption, "radius", 100); + + annoDrawCircle (s, xc, yc, r, fillColor, strokeColor, + strokeWidth); + } + else if (strcasecmp (tool, "line") == 0) + { + double x1, y1, x2, y2; + + x1 = getFloatOptionNamed (option, nOption, "x1", 0); + y1 = getFloatOptionNamed (option, nOption, "y1", 0); + x2 = getFloatOptionNamed (option, nOption, "x2", 100); + y2 = getFloatOptionNamed (option, nOption, "y2", 100); + + annoDrawLine (s, x1, y1, x2, y2, lineWidth, fillColor); + } + else if (strcasecmp (tool, "text") == 0) + { + double x, y, size; + char *text, *family; + unsigned int slant, weight; + char *str; + + str = getStringOptionNamed (option, nOption, "slant", ""); + if (strcasecmp (str, "oblique") == 0) + slant = CAIRO_FONT_SLANT_OBLIQUE; + else if (strcasecmp (str, "italic") == 0) + slant = CAIRO_FONT_SLANT_ITALIC; + else + slant = CAIRO_FONT_SLANT_NORMAL; + + str = getStringOptionNamed (option, nOption, "weight", ""); + if (strcasecmp (str, "bold") == 0) + weight = CAIRO_FONT_WEIGHT_BOLD; + else + weight = CAIRO_FONT_WEIGHT_NORMAL; + + x = getFloatOptionNamed (option, nOption, "x", 0); + y = getFloatOptionNamed (option, nOption, "y", 0); + text = getStringOptionNamed (option, nOption, "text", ""); + family = getStringOptionNamed (option, nOption, "family", + "Sans"); + size = getFloatOptionNamed (option, nOption, "size", 36.0); + + annoDrawText (s, x, y, text, family, size, slant, weight, + fillColor, strokeColor, strokeWidth); + } + } + } + + return FALSE; +} + +static Bool +annoInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + ANNO_SCREEN (s); + + if (otherScreenGrabExist (s, 0)) + return FALSE; + + if (!as->grabIndex) + as->grabIndex = pushScreenGrab (s, None, "annotate"); + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + annoLastPointerX = pointerX; + annoLastPointerY = pointerY; + + as->eraseMode = FALSE; + } + + return TRUE; +} + +static Bool +annoTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + ANNO_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (as->grabIndex) + { + removeScreenGrab (s, as->grabIndex, NULL); + as->grabIndex = 0; + } + } + + action->state &= ~(CompActionStateTermKey | CompActionStateTermButton); + + return FALSE; +} + +static Bool +annoEraseInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + ANNO_SCREEN (s); + + if (otherScreenGrabExist (s, 0)) + return FALSE; + + if (!as->grabIndex) + as->grabIndex = pushScreenGrab (s, None, "annotate"); + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + annoLastPointerX = pointerX; + annoLastPointerY = pointerY; + + as->eraseMode = TRUE; + } + + return FALSE; +} + +static Bool +annoClear (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + ANNO_SCREEN (s); + + if (as->content) + { + cairo_t *cr; + + cr = annoCairoContext (s); + if (cr) + annoCairoClear (s, as->cairo); + + damageScreen (s); + } + + return TRUE; + } + + return FALSE; +} + +static Bool +annoPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + ANNO_SCREEN (s); + + UNWRAP (as, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (as, s, paintOutput, annoPaintOutput); + + if (status && as->content && region->numRects) + { + BoxPtr pBox; + int nBox; + + glPushMatrix (); + + prepareXCoords (s, output, -DEFAULT_Z_CAMERA); + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glEnable (GL_BLEND); + + enableTexture (s, &as->texture, COMP_TEXTURE_FILTER_FAST); + + pBox = region->rects; + nBox = region->numRects; + + glBegin (GL_QUADS); + + while (nBox--) + { + glTexCoord2f (COMP_TEX_COORD_X (&as->texture.matrix, pBox->x1), + COMP_TEX_COORD_Y (&as->texture.matrix, pBox->y2)); + glVertex2i (pBox->x1, pBox->y2); + glTexCoord2f (COMP_TEX_COORD_X (&as->texture.matrix, pBox->x2), + COMP_TEX_COORD_Y (&as->texture.matrix, pBox->y2)); + glVertex2i (pBox->x2, pBox->y2); + glTexCoord2f (COMP_TEX_COORD_X (&as->texture.matrix, pBox->x2), + COMP_TEX_COORD_Y (&as->texture.matrix, pBox->y1)); + glVertex2i (pBox->x2, pBox->y1); + glTexCoord2f (COMP_TEX_COORD_X (&as->texture.matrix, pBox->x1), + COMP_TEX_COORD_Y (&as->texture.matrix, pBox->y1)); + glVertex2i (pBox->x1, pBox->y1); + + pBox++; + } + + glEnd (); + + disableTexture (s, &as->texture); + + glDisable (GL_BLEND); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + + glPopMatrix (); + } + + return status; +} + +static void +annoHandleMotionEvent (CompScreen *s, + int xRoot, + int yRoot) +{ + ANNO_SCREEN (s); + + if (as->grabIndex) + { + if (as->eraseMode) + { + static unsigned short color[] = { 0, 0, 0, 0 }; + + annoDrawLine (s, + annoLastPointerX, annoLastPointerY, + xRoot, yRoot, + 20.0, color); + } + else + { + ANNO_DISPLAY(s->display); + + annoDrawLine (s, + annoLastPointerX, annoLastPointerY, + xRoot, yRoot, + ad->opt[ANNO_DISPLAY_OPTION_LINE_WIDTH].value.f, + ad->opt[ANNO_DISPLAY_OPTION_FILL_COLOR].value.c); + } + + annoLastPointerX = xRoot; + annoLastPointerY = yRoot; + } +} + +static void +annoHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + ANNO_DISPLAY (d); + + switch (event->type) { + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + annoHandleMotionEvent (s, pointerX, pointerY); + break; + case EnterNotify: + case LeaveNotify: + s = findScreenAtDisplay (d, event->xcrossing.root); + if (s) + annoHandleMotionEvent (s, pointerX, pointerY); + default: + break; + } + + UNWRAP (ad, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (ad, d, handleEvent, annoHandleEvent); +} + +static CompOption * +annoGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + ANNO_DISPLAY (display); + + *count = NUM_OPTIONS (ad); + return ad->opt; +} + +static Bool +annoSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + ANNO_DISPLAY (display); + + o = compFindOption (ad->opt, NUM_OPTIONS (ad), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static const CompMetadataOptionInfo annoDisplayOptionInfo[] = { + { "initiate", "action", 0, annoInitiate, annoTerminate }, + { "draw", "action", 0, annoDraw, 0 }, + { "erase", "action", 0, annoEraseInitiate, 0 }, + { "clear", "action", 0, annoClear, 0 }, + { "fill_color", "color", 0, 0, 0 }, + { "stroke_color", "color", 0, 0, 0 }, + { "line_width", "float", 0, 0, 0 }, + { "stroke_width", "float", 0, 0, 0 } +}; + +static Bool +annoInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + AnnoDisplay *ad; + + ad = malloc (sizeof (AnnoDisplay)); + if (!ad) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &annoMetadata, + annoDisplayOptionInfo, + ad->opt, + ANNO_DISPLAY_OPTION_NUM)) + { + free (ad); + return FALSE; + } + + ad->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (ad->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, ad->opt, ANNO_DISPLAY_OPTION_NUM); + free (ad); + return FALSE; + } + + WRAP (ad, d, handleEvent, annoHandleEvent); + + d->privates[displayPrivateIndex].ptr = ad; + + return TRUE; +} + +static void +annoFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + ANNO_DISPLAY (d); + + freeScreenPrivateIndex (d, ad->screenPrivateIndex); + + UNWRAP (ad, d, handleEvent); + + compFiniDisplayOptions (d, ad->opt, ANNO_DISPLAY_OPTION_NUM); + + free (ad); +} + +static Bool +annoInitScreen (CompPlugin *p, + CompScreen *s) +{ + AnnoScreen *as; + + ANNO_DISPLAY (s->display); + + as = malloc (sizeof (AnnoScreen)); + if (!as) + return FALSE; + + as->grabIndex = 0; + as->surface = NULL; + as->pixmap = None; + as->cairo = NULL; + as->content = FALSE; + + initTexture (s, &as->texture); + + WRAP (as, s, paintOutput, annoPaintOutput); + + s->privates[ad->screenPrivateIndex].ptr = as; + + return TRUE; +} + +static void +annoFiniScreen (CompPlugin *p, + CompScreen *s) +{ + ANNO_SCREEN (s); + + if (as->cairo) + cairo_destroy (as->cairo); + + if (as->surface) + cairo_surface_destroy (as->surface); + + finiTexture (s, &as->texture); + + if (as->pixmap) + XFreePixmap (s->display->display, as->pixmap); + + UNWRAP (as, s, paintOutput); + + free (as); +} + +static Bool +annoInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&annoMetadata, + p->vTable->name, + annoDisplayOptionInfo, + ANNO_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&annoMetadata); + return FALSE; + } + + compAddMetadataFromFile (&annoMetadata, p->vTable->name); + + return TRUE; +} + +static void +annoFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&annoMetadata); +} + +static int +annoGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +annoGetMetadata (CompPlugin *plugin) +{ + return &annoMetadata; +} + +static CompPluginVTable annoVTable = { + "annotate", + annoGetVersion, + annoGetMetadata, + annoInit, + annoFini, + annoInitDisplay, + annoFiniDisplay, + annoInitScreen, + annoFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + annoGetDisplayOptions, + annoSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &annoVTable; +} diff --git a/plugins/blur.c b/plugins/blur.c new file mode 100644 index 0000000..f59cc08 --- /dev/null +++ b/plugins/blur.c @@ -0,0 +1,2811 @@ +/* + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include + +#include +#include + +#include +#include + +static CompMetadata blurMetadata; + +#define BLUR_GAUSSIAN_RADIUS_MAX 15 + +#define BLUR_FILTER_4X_BILINEAR 0 +#define BLUR_FILTER_GAUSSIAN 1 +#define BLUR_FILTER_MIPMAP 2 +#define BLUR_FILTER_LAST BLUR_FILTER_MIPMAP + +typedef struct _BlurFunction { + struct _BlurFunction *next; + + int handle; + int target; + int param; + int unit; +} BlurFunction; + +typedef struct _BlurBox { + decor_point_t p1; + decor_point_t p2; +} BlurBox; + +#define BLUR_STATE_CLIENT 0 +#define BLUR_STATE_DECOR 1 +#define BLUR_STATE_NUM 2 + +typedef struct _BlurState { + int threshold; + BlurBox *box; + int nBox; + Bool active; + Bool clipped; +} BlurState; + +static int displayPrivateIndex; + +#define BLUR_DISPLAY_OPTION_PULSE 0 +#define BLUR_DISPLAY_OPTION_NUM 1 + +typedef struct _BlurDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + MatchExpHandlerChangedProc matchExpHandlerChanged; + MatchPropertyChangedProc matchPropertyChanged; + + CompOption opt[BLUR_DISPLAY_OPTION_NUM]; + + Atom blurAtom[BLUR_STATE_NUM]; +} BlurDisplay; + +#define BLUR_SCREEN_OPTION_BLUR_SPEED 0 +#define BLUR_SCREEN_OPTION_FOCUS_BLUR_MATCH 1 +#define BLUR_SCREEN_OPTION_FOCUS_BLUR 2 +#define BLUR_SCREEN_OPTION_ALPHA_BLUR_MATCH 3 +#define BLUR_SCREEN_OPTION_ALPHA_BLUR 4 +#define BLUR_SCREEN_OPTION_FILTER 5 +#define BLUR_SCREEN_OPTION_GAUSSIAN_RADIUS 6 +#define BLUR_SCREEN_OPTION_GAUSSIAN_STRENGTH 7 +#define BLUR_SCREEN_OPTION_MIPMAP_LOD 8 +#define BLUR_SCREEN_OPTION_SATURATION 9 +#define BLUR_SCREEN_OPTION_BLUR_OCCLUSION 10 +#define BLUR_SCREEN_OPTION_NUM 11 + +typedef struct _BlurScreen { + int windowPrivateIndex; + + CompOption opt[BLUR_SCREEN_OPTION_NUM]; + + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintTransformedOutputProc paintTransformedOutput; + PaintWindowProc paintWindow; + DrawWindowProc drawWindow; + DrawWindowTextureProc drawWindowTexture; + + WindowAddNotifyProc windowAddNotify; + WindowResizeNotifyProc windowResizeNotify; + WindowMoveNotifyProc windowMoveNotify; + + Bool alphaBlur; + + int blurTime; + Bool moreBlur; + + Bool blurOcclusion; + + int filterRadius; + + BlurFunction *srcBlurFunctions; + BlurFunction *dstBlurFunctions; + + Region region; + Region tmpRegion; + Region tmpRegion2; + Region tmpRegion3; + Region occlusion; + + BoxRec stencilBox; + GLint stencilBits; + + CompOutput *output; + int count; + + GLuint texture[2]; + + GLenum target; + float tx; + float ty; + int width; + int height; + + GLuint program; + GLuint fbo; + Bool fboStatus; + + float amp[BLUR_GAUSSIAN_RADIUS_MAX]; + float pos[BLUR_GAUSSIAN_RADIUS_MAX]; + int numTexop; +} BlurScreen; + +typedef struct _BlurWindow { + int blur; + Bool pulse; + Bool focusBlur; + + BlurState state[BLUR_STATE_NUM]; + Bool propSet[BLUR_STATE_NUM]; + + Region region; + Region clip; +} BlurWindow; + +#define GET_BLUR_DISPLAY(d) \ + ((BlurDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define BLUR_DISPLAY(d) \ + BlurDisplay *bd = GET_BLUR_DISPLAY (d) + +#define GET_BLUR_SCREEN(s, bd) \ + ((BlurScreen *) (s)->privates[(bd)->screenPrivateIndex].ptr) + +#define BLUR_SCREEN(s) \ + BlurScreen *bs = GET_BLUR_SCREEN (s, GET_BLUR_DISPLAY (s->display)) + +#define GET_BLUR_WINDOW(w, bs) \ + ((BlurWindow *) (w)->privates[(bs)->windowPrivateIndex].ptr) + +#define BLUR_WINDOW(w) \ + BlurWindow *bw = GET_BLUR_WINDOW (w, \ + GET_BLUR_SCREEN (w->screen, \ + GET_BLUR_DISPLAY (w->screen->display))) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +/* pascal triangle based kernel generator */ +static int +blurCreateGaussianLinearKernel (int radius, + float strength, + float *amp, + float *pos, + int *optSize) +{ + float factor = 0.5f + (strength / 2.0f); + float buffer1[BLUR_GAUSSIAN_RADIUS_MAX * 3]; + float buffer2[BLUR_GAUSSIAN_RADIUS_MAX * 3]; + float *ar1 = buffer1; + float *ar2 = buffer2; + float *tmp; + float sum = 0; + int size = (radius * 2) + 1; + int mySize = ceil (radius / 2.0f); + int i, j; + + ar1[0] = 1.0; + ar1[1] = 1.0; + + for (i = 3; i <= size; i++) + { + ar2[0] = 1; + + for (j = 1; j < i - 1; j++) + ar2[j] = (ar1[j - 1] + ar1[j]) * factor; + + ar2[i - 1] = 1; + + tmp = ar1; + ar1 = ar2; + ar2 = tmp; + } + + /* normalize */ + for (i = 0; i < size; i++) + sum += ar1[i]; + + if (sum != 0.0f) + sum = 1.0f / sum; + + for (i = 0; i < size; i++) + ar1[i] *= sum; + + i = 0; + j = 0; + + if (radius & 1) + { + pos[i] = radius; + amp[i] = ar1[i]; + i = 1; + j = 1; + } + + for (; i < mySize; i++) + { + pos[i] = radius - j; + pos[i] -= ar1[j + 1] / (ar1[j] + ar1[j + 1]); + amp[i] = ar1[j] + ar1[j + 1]; + + j += 2; + } + + pos[mySize] = 0.0; + amp[mySize] = ar1[radius]; + + *optSize = mySize; + + return radius; +} + +static void +blurUpdateFilterRadius (CompScreen *s) +{ + BLUR_SCREEN (s); + + switch (bs->opt[BLUR_SCREEN_OPTION_FILTER].value.i) { + case BLUR_FILTER_4X_BILINEAR: + bs->filterRadius = 2; + break; + case BLUR_FILTER_GAUSSIAN: { + int radius = bs->opt[BLUR_SCREEN_OPTION_GAUSSIAN_RADIUS].value.i; + float strength = bs->opt[BLUR_SCREEN_OPTION_GAUSSIAN_STRENGTH].value.f; + + blurCreateGaussianLinearKernel (radius, strength, bs->amp, bs->pos, + &bs->numTexop); + + bs->filterRadius = radius; + } break; + case BLUR_FILTER_MIPMAP: { + float lod = bs->opt[BLUR_SCREEN_OPTION_MIPMAP_LOD].value.f; + + bs->filterRadius = powf (2.0f, ceilf (lod)); + } break; + } +} + +static void +blurDestroyFragmentFunctions (CompScreen *s, + BlurFunction **blurFunctions) +{ + BlurFunction *function, *next; + + function = *blurFunctions; + while (function) + { + destroyFragmentFunction (s, function->handle); + + next = function->next; + free (function); + function = next; + } + + *blurFunctions = NULL; +} + +static void +blurReset (CompScreen *s) +{ + BLUR_SCREEN (s); + + blurUpdateFilterRadius (s); + blurDestroyFragmentFunctions (s, &bs->srcBlurFunctions); + blurDestroyFragmentFunctions (s, &bs->dstBlurFunctions); + + bs->width = bs->height = 0; + + if (bs->program) + { + (*s->deletePrograms) (1, &bs->program); + bs->program = 0; + } +} + +static Region +regionFromBoxes (BlurBox *box, + int nBox, + int width, + int height) +{ + Region region; + REGION r; + int x, y; + + region = XCreateRegion (); + if (!region) + return NULL; + + r.rects = &r.extents; + r.numRects = r.size = 1; + + while (nBox--) + { + decor_apply_gravity (box->p1.gravity, box->p1.x, box->p1.y, + width, height, + &x, &y); + + r.extents.x1 = x; + r.extents.y1 = y; + + decor_apply_gravity (box->p2.gravity, box->p2.x, box->p2.y, + width, height, + &x, &y); + + r.extents.x2 = x; + r.extents.y2 = y; + + if (r.extents.x2 > r.extents.x1 && r.extents.y2 > r.extents.y1) + XUnionRegion (region, &r, region); + + box++; + } + + return region; +} + +static void +blurWindowUpdateRegion (CompWindow *w) +{ + Region region, q; + REGION r; + + BLUR_WINDOW (w); + + region = XCreateRegion (); + if (!region) + return; + + r.rects = &r.extents; + r.numRects = r.size = 1; + + if (bw->state[BLUR_STATE_DECOR].threshold) + { + r.extents.x1 = -w->output.left; + r.extents.y1 = -w->output.top; + r.extents.x2 = w->width + w->output.right; + r.extents.y2 = w->height + w->output.bottom; + + XUnionRegion (&r, region, region); + + r.extents.x1 = 0; + r.extents.y1 = 0; + r.extents.x2 = w->width; + r.extents.y2 = w->height; + + XSubtractRegion (region, &r, region); + + bw->state[BLUR_STATE_DECOR].clipped = FALSE; + + if (bw->state[BLUR_STATE_DECOR].nBox) + { + q = regionFromBoxes (bw->state[BLUR_STATE_DECOR].box, + bw->state[BLUR_STATE_DECOR].nBox, + w->width, w->height); + if (q) + { + XIntersectRegion (q, region, q); + if (!XEqualRegion (q, region)) + { + XSubtractRegion (q, &emptyRegion, region); + bw->state[BLUR_STATE_DECOR].clipped = TRUE; + } + + XDestroyRegion (q); + } + } + } + + if (bw->state[BLUR_STATE_CLIENT].threshold) + { + r.extents.x1 = 0; + r.extents.y1 = 0; + r.extents.x2 = w->width; + r.extents.y2 = w->height; + + bw->state[BLUR_STATE_CLIENT].clipped = FALSE; + + if (bw->state[BLUR_STATE_CLIENT].nBox) + { + q = regionFromBoxes (bw->state[BLUR_STATE_CLIENT].box, + bw->state[BLUR_STATE_CLIENT].nBox, + w->width, w->height); + if (q) + { + XIntersectRegion (q, &r, q); + if (!XEqualRegion (q, &r)) + bw->state[BLUR_STATE_CLIENT].clipped = TRUE; + + XUnionRegion (q, region, region); + XDestroyRegion (q); + } + } + else + { + XUnionRegion (&r, region, region); + } + } + + if (bw->region) + XDestroyRegion (bw->region); + + if (XEmptyRegion (region)) + { + bw->region = NULL; + XDestroyRegion (region); + } + else + { + bw->region = region; + XOffsetRegion (bw->region, w->attrib.x, w->attrib.y); + } +} + +static void +blurSetWindowBlur (CompWindow *w, + int state, + int threshold, + BlurBox *box, + int nBox) +{ + BLUR_WINDOW (w); + + if (bw->state[state].box) + free (bw->state[state].box); + + bw->state[state].threshold = threshold; + bw->state[state].box = box; + bw->state[state].nBox = nBox; + + blurWindowUpdateRegion (w); + + addWindowDamage (w); +} + +static void +blurUpdateAlphaWindowMatch (BlurScreen *bs, + CompWindow *w) +{ + BLUR_WINDOW (w); + + if (!bw->propSet[BLUR_STATE_CLIENT]) + { + CompMatch *match; + + match = &bs->opt[BLUR_SCREEN_OPTION_ALPHA_BLUR_MATCH].value.match; + if (matchEval (match, w)) + { + if (!bw->state[BLUR_STATE_CLIENT].threshold) + blurSetWindowBlur (w, BLUR_STATE_CLIENT, 4, NULL, 0); + } + else + { + if (bw->state[BLUR_STATE_CLIENT].threshold) + blurSetWindowBlur (w, BLUR_STATE_CLIENT, 0, NULL, 0); + } + } +} + +static void +blurUpdateWindowMatch (BlurScreen *bs, + CompWindow *w) +{ + CompMatch *match; + Bool focus; + + BLUR_WINDOW (w); + + blurUpdateAlphaWindowMatch (bs, w); + + match = &bs->opt[BLUR_SCREEN_OPTION_FOCUS_BLUR_MATCH].value.match; + + focus = w->screen->fragmentProgram && matchEval (match, w); + if (focus != bw->focusBlur) + { + bw->focusBlur = focus; + addWindowDamage (w); + } +} + +static CompOption * +blurGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + BLUR_SCREEN (screen); + + *count = NUM_OPTIONS (bs); + return bs->opt; +} + +static Bool +blurSetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index, filter; + + BLUR_SCREEN (screen); + + o = compFindOption (bs->opt, NUM_OPTIONS (bs), name, &index); + if (!o) + return FALSE; + + switch (index) { + case BLUR_SCREEN_OPTION_BLUR_SPEED: + if (compSetFloatOption (o, value)) + { + bs->blurTime = 1000.0f / o->value.f; + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_FOCUS_BLUR_MATCH: + case BLUR_SCREEN_OPTION_ALPHA_BLUR_MATCH: + if (compSetMatchOption (o, value)) + { + CompWindow *w; + + for (w = screen->windows; w; w = w->next) + blurUpdateWindowMatch (bs, w); + + bs->moreBlur = TRUE; + damageScreen (screen); + + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_FOCUS_BLUR: + if (compSetBoolOption (o, value)) + { + bs->moreBlur = TRUE; + damageScreen (screen); + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_ALPHA_BLUR: + if (compSetBoolOption (o, value)) + { + if (screen->fragmentProgram && o->value.b) + bs->alphaBlur = TRUE; + else + bs->alphaBlur = FALSE; + + damageScreen (screen); + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_FILTER: + if (compSetIntOption (o, value)) + { + blurReset (screen); + damageScreen (screen); + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_GAUSSIAN_RADIUS: + if (compSetIntOption (o, value)) + { + filter = bs->opt[BLUR_SCREEN_OPTION_FILTER].value.i; + if (filter == BLUR_FILTER_GAUSSIAN) + { + blurReset (screen); + damageScreen (screen); + } + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_GAUSSIAN_STRENGTH: + if (compSetFloatOption (o, value)) + { + filter = bs->opt[BLUR_SCREEN_OPTION_FILTER].value.i; + if (filter == BLUR_FILTER_GAUSSIAN) + { + blurReset (screen); + damageScreen (screen); + } + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_MIPMAP_LOD: + if (compSetFloatOption (o, value)) + { + filter = bs->opt[BLUR_SCREEN_OPTION_FILTER].value.i; + if (filter == BLUR_FILTER_MIPMAP) + { + blurReset (screen); + damageScreen (screen); + } + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_SATURATION: + if (compSetIntOption (o, value)) + { + blurReset (screen); + damageScreen (screen); + return TRUE; + } + break; + case BLUR_SCREEN_OPTION_BLUR_OCCLUSION: + if (compSetBoolOption (o, value)) + { + bs->blurOcclusion = o->value.b; + blurReset (screen); + damageScreen (screen); + return TRUE; + } + default: + break; + } + + return FALSE; +} + +static void +blurWindowUpdate (CompWindow *w, + int state) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *propData; + int threshold = 0; + BlurBox *box = NULL; + int nBox = 0; + + BLUR_DISPLAY (w->screen->display); + BLUR_SCREEN (w->screen); + BLUR_WINDOW (w); + + result = XGetWindowProperty (w->screen->display->display, w->id, + bd->blurAtom[state], 0L, 8192L, FALSE, + XA_INTEGER, &actual, &format, + &n, &left, &propData); + + if (result == Success && n && propData) + { + bw->propSet[state] = TRUE; + + if (n >= 2) + { + long *data = (long *) propData; + + threshold = data[0]; + + nBox = (n - 2) / 6; + if (nBox) + { + box = malloc (sizeof (BlurBox) * nBox); + if (box) + { + int i; + + data += 2; + + for (i = 0; i < nBox; i++) + { + box[i].p1.gravity = *data++; + box[i].p1.x = *data++; + box[i].p1.y = *data++; + box[i].p2.gravity = *data++; + box[i].p2.x = *data++; + box[i].p2.y = *data++; + } + } + } + } + + XFree (propData); + } + else + { + bw->propSet[state] = FALSE; + } + + blurSetWindowBlur (w, + state, + threshold, + box, + nBox); + + blurUpdateAlphaWindowMatch (bs, w); +} + +static void +blurPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + BLUR_SCREEN (s); + + if (bs->moreBlur) + { + CompWindow *w; + int steps; + Bool focus = bs->opt[BLUR_SCREEN_OPTION_FOCUS_BLUR].value.b; + Bool focusBlur; + + steps = (msSinceLastPaint * 0xffff) / bs->blurTime; + if (steps < 12) + steps = 12; + + bs->moreBlur = FALSE; + + for (w = s->windows; w; w = w->next) + { + BLUR_WINDOW (w); + + focusBlur = bw->focusBlur && focus; + + if (!bw->pulse && (!focusBlur || w->id == s->display->activeWindow)) + { + if (bw->blur) + { + bw->blur -= steps; + if (bw->blur > 0) + bs->moreBlur = TRUE; + else + bw->blur = 0; + } + } + else + { + if (bw->blur < 0xffff) + { + if (bw->pulse) + { + bw->blur += steps * 2; + + if (bw->blur >= 0xffff) + { + bw->blur = 0xffff - 1; + bw->pulse = FALSE; + } + + bs->moreBlur = TRUE; + } + else + { + bw->blur += steps; + if (bw->blur < 0xffff) + bs->moreBlur = TRUE; + else + bw->blur = 0xffff; + } + } + } + } + } + + UNWRAP (bs, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (bs, s, preparePaintScreen, blurPreparePaintScreen); + + if (s->damageMask & COMP_SCREEN_DAMAGE_REGION_MASK) + { + /* walk from bottom to top and expand damage */ + if (bs->alphaBlur) + { + CompWindow *w; + int x1, y1, x2, y2; + int count = 0; + + for (w = s->windows; w; w = w->next) + { + BLUR_WINDOW (w); + + if (w->attrib.map_state != IsViewable || !w->damaged) + continue; + + if (bw->region) + { + x1 = bw->region->extents.x1 - bs->filterRadius; + y1 = bw->region->extents.y1 - bs->filterRadius; + x2 = bw->region->extents.x2 + bs->filterRadius; + y2 = bw->region->extents.y2 + bs->filterRadius; + + if (x1 < s->damage->extents.x2 && + y1 < s->damage->extents.y2 && + x2 > s->damage->extents.x1 && + y2 > s->damage->extents.y1) + { + XShrinkRegion (s->damage, + -bs->filterRadius, + -bs->filterRadius); + + count++; + } + } + } + + bs->count = count; + } + } +} + +static Bool +blurPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + BLUR_SCREEN (s); + + if (bs->alphaBlur) + { + bs->stencilBox = region->extents; + XSubtractRegion (region, &emptyRegion, bs->region); + + if (mask & PAINT_SCREEN_REGION_MASK) + { + /* we need to redraw more than the screen region being updated */ + if (bs->count) + { + XShrinkRegion (bs->region, + -bs->filterRadius * 2, + -bs->filterRadius * 2); + XIntersectRegion (bs->region, &s->region, bs->region); + + region = bs->region; + } + } + } + + if (!bs->blurOcclusion) + { + CompWindow *w; + + XSubtractRegion (&emptyRegion, &emptyRegion, bs->occlusion); + + for (w = s->windows; w; w = w->next) + XSubtractRegion (&emptyRegion, &emptyRegion, + GET_BLUR_WINDOW (w, bs)->clip); + } + + bs->output = output; + + UNWRAP (bs, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (bs, s, paintOutput, blurPaintOutput); + + return status; +} + +static void +blurPaintTransformedOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + BLUR_SCREEN (s); + + if (!bs->blurOcclusion) + { + CompWindow *w; + + XSubtractRegion (&emptyRegion, &emptyRegion, bs->occlusion); + + for (w = s->windows; w; w = w->next) + XSubtractRegion (&emptyRegion, &emptyRegion, + GET_BLUR_WINDOW (w, bs)->clip); + } + + UNWRAP (bs, s, paintTransformedOutput); + (*s->paintTransformedOutput) (s, sAttrib, transform, + region, output, mask); + WRAP (bs, s, paintTransformedOutput, blurPaintTransformedOutput); +} + +static void +blurDonePaintScreen (CompScreen *s) +{ + BLUR_SCREEN (s); + + if (bs->moreBlur) + { + CompWindow *w; + + for (w = s->windows; w; w = w->next) + { + BLUR_WINDOW (w); + + if (bw->blur > 0 && bw->blur < 0xffff) + addWindowDamage (w); + } + } + + UNWRAP (bs, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (bs, s, donePaintScreen, blurDonePaintScreen); +} + +static Bool +blurPaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + BLUR_SCREEN (s); + BLUR_WINDOW (w); + + UNWRAP (bs, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (bs, s, paintWindow, blurPaintWindow); + + if (!bs->blurOcclusion && (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK)) + { + XSubtractRegion (bs->occlusion, &emptyRegion, bw->clip); + + if (!(w->lastMask & PAINT_WINDOW_NO_CORE_INSTANCE_MASK) && + !(w->lastMask & PAINT_WINDOW_TRANSFORMED_MASK) && bw->region) + XUnionRegion (bs->occlusion, bw->region, bs->occlusion); + } + + return status; +} + +static int +getSrcBlurFragmentFunction (CompScreen *s, + CompTexture *texture, + int param) +{ + BlurFunction *function; + CompFunctionData *data; + int target; + + BLUR_SCREEN (s); + + if (texture->target == GL_TEXTURE_2D) + target = COMP_FETCH_TARGET_2D; + else + target = COMP_FETCH_TARGET_RECT; + + for (function = bs->srcBlurFunctions; function; function = function->next) + if (function->param == param && function->target == target) + return function->handle; + + data = createFunctionData (); + if (data) + { + static char *temp[] = { "offset0", "offset1", "sum" }; + int i, handle = 0; + char str[1024]; + Bool ok = TRUE; + + for (i = 0; i < sizeof (temp) / sizeof (temp[0]); i++) + ok &= addTempHeaderOpToFunctionData (data, temp[i]); + + snprintf (str, 1024, + "MUL offset0, program.env[%d].xyzw, { 1.0, 1.0, 0.0, 0.0 };" + "MUL offset1, program.env[%d].zwww, { 1.0, 1.0, 0.0, 0.0 };", + param, param); + + ok &= addDataOpToFunctionData (data, str); + + switch (bs->opt[BLUR_SCREEN_OPTION_FILTER].value.i) { + case BLUR_FILTER_4X_BILINEAR: + default: + ok &= addFetchOpToFunctionData (data, "output", "offset0", target); + ok &= addDataOpToFunctionData (data, "MUL sum, output, 0.25;"); + ok &= addFetchOpToFunctionData (data, "output", "-offset0", target); + ok &= addDataOpToFunctionData (data, "MAD sum, output, 0.25, sum;"); + ok &= addFetchOpToFunctionData (data, "output", "offset1", target); + ok &= addDataOpToFunctionData (data, "MAD sum, output, 0.25, sum;"); + ok &= addFetchOpToFunctionData (data, "output", "-offset1", target); + ok &= addDataOpToFunctionData (data, + "MAD output, output, 0.25, sum;"); + break; + } + + if (!ok) + { + destroyFunctionData (data); + return 0; + } + + function = malloc (sizeof (BlurFunction)); + if (function) + { + handle = createFragmentFunction (s, "blur", data); + + function->handle = handle; + function->target = target; + function->param = param; + function->unit = 0; + + function->next = bs->srcBlurFunctions; + bs->srcBlurFunctions = function; + } + + destroyFunctionData (data); + + return handle; + } + + return 0; +} + +static int +getDstBlurFragmentFunction (CompScreen *s, + CompTexture *texture, + int param, + int unit) +{ + BlurFunction *function; + CompFunctionData *data; + int target; + char *targetString; + + BLUR_SCREEN (s); + + if (texture->target == GL_TEXTURE_2D) + { + target = COMP_FETCH_TARGET_2D; + targetString = "2D"; + } + else + { + target = COMP_FETCH_TARGET_RECT; + targetString = "RECT"; + } + + for (function = bs->dstBlurFunctions; function; function = function->next) + if (function->param == param && + function->target == target && + function->unit == unit) + return function->handle; + + data = createFunctionData (); + if (data) + { + static char *temp[] = { "coord", "mask", "sum", "dst" }; + int i, handle = 0; + char str[1024]; + int saturation = bs->opt[BLUR_SCREEN_OPTION_SATURATION].value.i; + Bool ok = TRUE; + + for (i = 0; i < sizeof (temp) / sizeof (temp[0]); i++) + ok &= addTempHeaderOpToFunctionData (data, temp[i]); + + if (saturation < 100) + ok &= addTempHeaderOpToFunctionData (data, "sat"); + + switch (bs->opt[BLUR_SCREEN_OPTION_FILTER].value.i) { + case BLUR_FILTER_4X_BILINEAR: { + static char *filterTemp[] = { + "t0", "t1", "t2", "t3", + "s0", "s1", "s2", "s3" + }; + + for (i = 0; i < sizeof (filterTemp) / sizeof (filterTemp[0]); i++) + ok &= addTempHeaderOpToFunctionData (data, filterTemp[i]); + + ok &= addFetchOpToFunctionData (data, "output", NULL, target); + ok &= addColorOpToFunctionData (data, "output", "output"); + + snprintf (str, 1024, + "MUL coord, fragment.position, program.env[%d];", + param); + + ok &= addDataOpToFunctionData (data, str); + + snprintf (str, 1024, + "ADD t0, coord, program.env[%d];" + "TEX s0, t0, texture[%d], %s;" + + "SUB t1, coord, program.env[%d];" + "TEX s1, t1, texture[%d], %s;" + + "MAD t2, program.env[%d], { -1.0, 1.0, 0.0, 0.0 }, coord;" + "TEX s2, t2, texture[%d], %s;" + + "MAD t3, program.env[%d], { 1.0, -1.0, 0.0, 0.0 }, coord;" + "TEX s3, t3, texture[%d], %s;" + + "MUL_SAT mask, output.a, program.env[%d];" + + "MUL sum, s0, 0.25;" + "MAD sum, s1, 0.25, sum;" + "MAD sum, s2, 0.25, sum;" + "MAD sum, s3, 0.25, sum;", + + param + 2, unit, targetString, + param + 2, unit, targetString, + param + 2, unit, targetString, + param + 2, unit, targetString, + param + 1); + + ok &= addDataOpToFunctionData (data, str); + } break; + case BLUR_FILTER_GAUSSIAN: { + static char *filterTemp[] = { + "tCoord", "pix" + }; + + for (i = 0; i < sizeof (filterTemp) / sizeof (filterTemp[0]); i++) + ok &= addTempHeaderOpToFunctionData (data, filterTemp[i]); + + ok &= addFetchOpToFunctionData (data, "output", NULL, target); + ok &= addColorOpToFunctionData (data, "output", "output"); + + snprintf (str, 1024, + "MUL coord, fragment.position, program.env[%d];", + param); + + ok &= addDataOpToFunctionData (data, str); + + snprintf (str, 1024, + "TEX sum, coord, texture[%d], %s;", + unit + 1, targetString); + + ok &= addDataOpToFunctionData (data, str); + + snprintf (str, 1024, + "MUL_SAT mask, output.a, program.env[%d];" + "MUL sum, sum, %f;", + param + 1, bs->amp[bs->numTexop]); + + ok &= addDataOpToFunctionData (data, str); + + for (i = 0; i < bs->numTexop; i++) + { + snprintf (str, 1024, + "ADD tCoord, coord, program.env[%d];" + "TEX pix, tCoord, texture[%d], %s;" + "MAD sum, pix, %f, sum;" + "SUB tCoord, coord, program.env[%d];" + "TEX pix, tCoord, texture[%d], %s;" + "MAD sum, pix, %f, sum;", + param + 2 + i, + unit + 1, targetString, + bs->amp[i], + param + 2 + i, + unit + 1, targetString, + bs->amp[i]); + + ok &= addDataOpToFunctionData (data, str); + } + } break; + case BLUR_FILTER_MIPMAP: + ok &= addFetchOpToFunctionData (data, "output", NULL, target); + ok &= addColorOpToFunctionData (data, "output", "output"); + + snprintf (str, 1024, + "MUL coord, fragment.position, program.env[%d].xyzz;" + "MOV coord.w, program.env[%d].w;" + "TXB sum, coord, texture[%d], %s;" + "MUL_SAT mask, output.a, program.env[%d];", + param, param, unit, targetString, + param + 1); + + ok &= addDataOpToFunctionData (data, str); + break; + } + + if (saturation < 100) + { + snprintf (str, 1024, + "MUL sat, sum, { 1.0, 1.0, 1.0, 0.0 };" + "DP3 sat, sat, { %f, %f, %f, %f };" + "LRP sum.xyz, %f, sum, sat;", + RED_SATURATION_WEIGHT, GREEN_SATURATION_WEIGHT, + BLUE_SATURATION_WEIGHT, 0.0f, saturation / 100.0f); + + ok &= addDataOpToFunctionData (data, str); + } + + snprintf (str, 1024, + "MAD dst, mask, -output.a, mask;" + "MAD output.rgb, sum, dst.a, output;" + "ADD output.a, output.a, dst.a;"); + + ok &= addDataOpToFunctionData (data, str); + + if (!ok) + { + destroyFunctionData (data); + return 0; + } + + function = malloc (sizeof (BlurFunction)); + if (function) + { + handle = createFragmentFunction (s, "blur", data); + + function->handle = handle; + function->target = target; + function->param = param; + function->unit = unit; + + function->next = bs->dstBlurFunctions; + bs->dstBlurFunctions = function; + } + + destroyFunctionData (data); + + return handle; + } + + return 0; +} + +static Bool +projectVertices (CompScreen *s, + CompOutput *output, + const CompTransform *transform, + const float *object, + float *screen, + int n) +{ + GLdouble dProjection[16]; + GLdouble dModel[16]; + GLint viewport[4]; + double x, y, z; + int i; + + viewport[0] = output->region.extents.x1; + viewport[1] = s->height - output->region.extents.y2; + viewport[2] = output->width; + viewport[3] = output->height; + + for (i = 0; i < 16; i++) + { + dModel[i] = transform->m[i]; + dProjection[i] = s->projection[i]; + } + + while (n--) + { + if (!gluProject (object[0], object[1], 0.0, + dModel, dProjection, viewport, + &x, &y, &z)) + return FALSE; + + screen[0] = x; + screen[1] = y; + + object += 2; + screen += 2; + } + + return TRUE; +} + +static Bool +loadFragmentProgram (CompScreen *s, + GLuint *program, + const char *string) +{ + GLint errorPos; + + /* clear errors */ + glGetError (); + + if (!*program) + (*s->genPrograms) (1, program); + + (*s->bindProgram) (GL_FRAGMENT_PROGRAM_ARB, *program); + (*s->programString) (GL_FRAGMENT_PROGRAM_ARB, + GL_PROGRAM_FORMAT_ASCII_ARB, + strlen (string), string); + + glGetIntegerv (GL_PROGRAM_ERROR_POSITION_ARB, &errorPos); + if (glGetError () != GL_NO_ERROR || errorPos != -1) + { + compLogMessage (s->display, "blur", CompLogLevelError, + "Failed to load blur program"); + + (*s->deletePrograms) (1, program); + *program = 0; + + return FALSE; + } + + return TRUE; +} + +static Bool +loadFilterProgram (CompScreen *s) +{ + char buffer[2048]; + char *targetString; + char *str = buffer; + int i; + + BLUR_SCREEN (s); + + if (bs->target == GL_TEXTURE_2D) + targetString = "2D"; + else + targetString = "RECT"; + + str += sprintf (str, + "!!ARBfp1.0" + "ATTRIB texcoord = fragment.texcoord[0];" + "TEMP sum;"); + + str += sprintf (str, "TEMP tCoord, pix;"); + + str += sprintf (str, + "TEX sum, texcoord, texture[0], %s;", + targetString); + + str += sprintf (str, + "MUL sum, sum, %f;", + bs->amp[bs->numTexop]); + + for (i = 0; i < bs->numTexop; i++) + str += sprintf (str, + "ADD tCoord, texcoord, program.local[%d];" + "TEX pix, tCoord, texture[0], %s;" + "MAD sum, pix, %f, sum;" + "SUB tCoord, texcoord, program.local[%d];" + "TEX pix, tCoord, texture[0], %s;" + "MAD sum, pix, %f, sum;", + i, targetString, bs->amp[i], + i, targetString, bs->amp[i]); + + str += sprintf (str, + "MOV result.color, sum;" + "END"); + + return loadFragmentProgram (s, &bs->program, buffer); +} + +static int +fboPrologue (CompScreen *s) +{ + BLUR_SCREEN (s); + + if (!bs->fbo) + return FALSE; + + (*s->bindFramebuffer) (GL_FRAMEBUFFER_EXT, bs->fbo); + + /* bind texture and check status the first time */ + if (!bs->fboStatus) + { + (*s->framebufferTexture2D) (GL_FRAMEBUFFER_EXT, + GL_COLOR_ATTACHMENT0_EXT, + bs->target, bs->texture[1], + 0); + + bs->fboStatus = (*s->checkFramebufferStatus) (GL_FRAMEBUFFER_EXT); + if (bs->fboStatus != GL_FRAMEBUFFER_COMPLETE_EXT) + { + compLogMessage (s->display, "blur", CompLogLevelError, + "Framebuffer incomplete"); + + (*s->bindFramebuffer) (GL_FRAMEBUFFER_EXT, 0); + (*s->deleteFramebuffers) (1, &bs->fbo); + + bs->fbo = 0; + + return 0; + } + } + + glPushAttrib (GL_VIEWPORT_BIT | GL_ENABLE_BIT); + + glDrawBuffer (GL_COLOR_ATTACHMENT0_EXT); + glReadBuffer (GL_COLOR_ATTACHMENT0_EXT); + + glDisable (GL_CLIP_PLANE0); + glDisable (GL_CLIP_PLANE1); + glDisable (GL_CLIP_PLANE2); + glDisable (GL_CLIP_PLANE3); + + glViewport (0, 0, bs->width, bs->height); + glMatrixMode (GL_PROJECTION); + glPushMatrix (); + glLoadIdentity (); + glOrtho (0.0, bs->width, 0.0, bs->height, -1.0, 1.0); + glMatrixMode (GL_MODELVIEW); + glPushMatrix (); + glLoadIdentity (); + + return TRUE; +} + +static void +fboEpilogue (CompScreen *s) +{ + (*s->bindFramebuffer) (GL_FRAMEBUFFER_EXT, 0); + + glMatrixMode (GL_PROJECTION); + glLoadIdentity (); + glMatrixMode (GL_MODELVIEW); + glLoadIdentity (); + glDepthRange (0, 1); + glViewport (-1, -1, 2, 2); + glRasterPos2f (0, 0); + + s->rasterX = s->rasterY = 0; + + glMatrixMode (GL_PROJECTION); + glPopMatrix (); + glMatrixMode (GL_MODELVIEW); + glPopMatrix (); + + glDrawBuffer (GL_BACK); + glReadBuffer (GL_BACK); + + glPopAttrib (); +} + +static Bool +fboUpdate (CompScreen *s, + BoxPtr pBox, + int nBox) +{ + int i, y; + + BLUR_SCREEN (s); + + if (!bs->program) + if (!loadFilterProgram (s)) + return FALSE; + + if (!fboPrologue (s)) + return FALSE; + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + + glBindTexture (bs->target, bs->texture[0]); + + glEnable (GL_FRAGMENT_PROGRAM_ARB); + (*s->bindProgram) (GL_FRAGMENT_PROGRAM_ARB, bs->program); + + for (i = 0; i < bs->numTexop; i++) + (*s->programLocalParameter4f) (GL_FRAGMENT_PROGRAM_ARB, i, + bs->tx * bs->pos[i], + 0.0f, 0.0f, 0.0f); + + glBegin (GL_QUADS); + + while (nBox--) + { + y = s->height - pBox->y2; + + glTexCoord2f (bs->tx * pBox->x1, bs->ty * y); + glVertex2i (pBox->x1, y); + glTexCoord2f (bs->tx * pBox->x2, bs->ty * y); + glVertex2i (pBox->x2, y); + + y = s->height - pBox->y1; + + glTexCoord2f (bs->tx * pBox->x2, bs->ty * y); + glVertex2i (pBox->x2, y); + glTexCoord2f (bs->tx * pBox->x1, bs->ty * y); + glVertex2i (pBox->x1, y); + + pBox++; + } + + glEnd (); + + glDisable (GL_FRAGMENT_PROGRAM_ARB); + + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + + fboEpilogue (s); + + return TRUE; +} + +#define MAX_VERTEX_PROJECT_COUNT 20 + +static void +blurProjectRegion (CompWindow *w, + CompOutput *output, + const CompTransform *transform) +{ + CompScreen *s = w->screen; + float screen[MAX_VERTEX_PROJECT_COUNT * 2]; + float vertices[MAX_VERTEX_PROJECT_COUNT * 2]; + int nVertices; + int i, j, stride; + float *v, *vert; + float minX, maxX, minY, maxY; + float *scr; + REGION region; + + BLUR_SCREEN(s); + + w->vCount = w->indexCount = 0; + (*w->screen->addWindowGeometry) (w, NULL, 0, bs->tmpRegion2, + &infiniteRegion); + + if (!w->vCount) + return; + + nVertices = (w->indexCount) ? w->indexCount: w->vCount; + + stride = (1 + w->texUnits) * 2; + vert = w->vertices + (stride - 2); + + /* we need to find the best value here */ + if (nVertices <= MAX_VERTEX_PROJECT_COUNT) + { + for (i = 0; i < nVertices; i++) + { + if (w->indexCount) + { + v = vert + (stride * w->indices[i]); + } + else + { + v = vert + (stride * i); + } + + vertices[i * 2] = v[0]; + vertices[(i * 2) + 1] = v[1]; + } + } + else + { + minX = s->width; + maxX = 0; + minY = s->height; + maxY = 0; + + for (i = 0; i < w->vCount; i++) + { + v = vert + (stride * i); + + if (v[0] < minX) + minX = v[0]; + + if (v[0] > maxX) + maxX = v[0]; + + if (v[1] < minY) + minY = v[1]; + + if (v[1] > maxY) + maxY = v[1]; + } + + vertices[0] = vertices[6] = minX; + vertices[1] = vertices[3] = minY; + vertices[2] = vertices[4] = maxX; + vertices[5] = vertices[7] = maxY; + + nVertices = 4; + } + + if (!projectVertices (w->screen, output, transform, vertices, screen, + nVertices)) + return; + + region.rects = ®ion.extents; + region.numRects = 1; + + for (i = 0; i < nVertices / 4; i++) + { + scr = screen + (i * 4 * 2); + + minX = s->width; + maxX = 0; + minY = s->height; + maxY = 0; + + for (j = 0; j < 8; j += 2) + { + if (scr[j] < minX) + minX = scr[j]; + + if (scr[j] > maxX) + maxX = scr[j]; + + if (scr[j + 1] < minY) + minY = scr[j + 1]; + + if (scr[j + 1] > maxY) + maxY = scr[j + 1]; + } + + region.extents.x1 = minX - bs->filterRadius; + region.extents.y1 = (s->height - maxY - bs->filterRadius); + region.extents.x2 = maxX + bs->filterRadius + 0.5f; + region.extents.y2 = (s->height - minY + bs->filterRadius + 0.5f); + + XUnionRegion (®ion, bs->tmpRegion3, bs->tmpRegion3); + } +} + +static Bool +blurUpdateDstTexture (CompWindow *w, + const CompTransform *transform, + BoxPtr pExtents, + int clientThreshold) +{ + CompScreen *s = w->screen; + BoxPtr pBox; + int nBox; + int y; + int filter; + + BLUR_SCREEN (s); + BLUR_WINDOW (w); + + filter = bs->opt[BLUR_SCREEN_OPTION_FILTER].value.i; + + /* create empty region */ + XSubtractRegion (&emptyRegion, &emptyRegion, bs->tmpRegion3); + + if (filter == BLUR_FILTER_GAUSSIAN) + { + REGION region; + + region.rects = ®ion.extents; + region.numRects = 1; + + if (bw->state[BLUR_STATE_DECOR].threshold) + { + /* top */ + region.extents.x1 = w->attrib.x - w->output.left; + region.extents.y1 = w->attrib.y - w->output.top; + region.extents.x2 = w->attrib.x + w->width + w->output.right; + region.extents.y2 = w->attrib.y; + + XIntersectRegion (bs->tmpRegion, ®ion, bs->tmpRegion2); + if (bs->tmpRegion2->numRects) + blurProjectRegion (w, bs->output, transform); + + /* bottom */ + region.extents.x1 = w->attrib.x - w->output.left; + region.extents.y1 = w->attrib.y + w->height; + region.extents.x2 = w->attrib.x + w->width + w->output.right; + region.extents.y2 = w->attrib.y + w->height + w->output.bottom; + + XIntersectRegion (bs->tmpRegion, ®ion, bs->tmpRegion2); + if (bs->tmpRegion2->numRects) + blurProjectRegion (w, bs->output, transform); + + /* left */ + region.extents.x1 = w->attrib.x - w->output.left; + region.extents.y1 = w->attrib.y; + region.extents.x2 = w->attrib.x; + region.extents.y2 = w->attrib.y + w->height; + + XIntersectRegion (bs->tmpRegion, ®ion, bs->tmpRegion2); + if (bs->tmpRegion2->numRects) + blurProjectRegion (w, bs->output, transform); + + /* right */ + region.extents.x1 = w->attrib.x + w->width; + region.extents.y1 = w->attrib.y; + region.extents.x2 = w->attrib.x + w->width + w->output.right; + region.extents.y2 = w->attrib.y + w->height; + + XIntersectRegion (bs->tmpRegion, ®ion, bs->tmpRegion2); + if (bs->tmpRegion2->numRects) + blurProjectRegion (w, bs->output, transform); + } + + if (clientThreshold) + { + /* center */ + region.extents.x1 = w->attrib.x; + region.extents.y1 = w->attrib.y; + region.extents.x2 = w->attrib.x + w->width; + region.extents.y2 = w->attrib.y + w->height; + + XIntersectRegion (bs->tmpRegion, ®ion, bs->tmpRegion2); + if (bs->tmpRegion2->numRects) + blurProjectRegion (w, bs->output, transform); + } + } + else + { + /* get region that needs blur */ + XSubtractRegion (bs->tmpRegion, &emptyRegion, bs->tmpRegion2); + + if (bs->tmpRegion2->numRects) + blurProjectRegion (w, bs->output, transform); + } + + XIntersectRegion (bs->tmpRegion3, bs->region, bs->tmpRegion); + + if (XEmptyRegion (bs->tmpRegion)) + return FALSE; + + pBox = &bs->tmpRegion->extents; + nBox = 1; + + *pExtents = bs->tmpRegion->extents; + + if (!bs->texture[0] || bs->width != s->width || bs->height != s->height) + { + int i, textures = 1; + + bs->width = s->width; + bs->height = s->height; + + if (s->textureNonPowerOfTwo || + (POWER_OF_TWO (bs->width) && POWER_OF_TWO (bs->height))) + { + bs->target = GL_TEXTURE_2D; + bs->tx = 1.0f / bs->width; + bs->ty = 1.0f / bs->height; + } + else + { + bs->target = GL_TEXTURE_RECTANGLE_NV; + bs->tx = 1; + bs->ty = 1; + } + + if (filter == BLUR_FILTER_GAUSSIAN) + { + if (s->fbo && !bs->fbo) + (*s->genFramebuffers) (1, &bs->fbo); + + if (!bs->fbo) + compLogMessage (s->display, "blur", CompLogLevelError, + "Failed to create framebuffer object"); + + textures = 2; + } + + bs->fboStatus = FALSE; + + for (i = 0; i < textures; i++) + { + if (!bs->texture[i]) + glGenTextures (1, &bs->texture[i]); + + glBindTexture (bs->target, bs->texture[i]); + + glTexImage2D (bs->target, 0, GL_RGB, + bs->width, + bs->height, + 0, GL_BGRA, + +#if IMAGE_BYTE_ORDER == MSBFirst + GL_UNSIGNED_INT_8_8_8_8_REV, +#else + GL_UNSIGNED_BYTE, +#endif + + NULL); + + glTexParameteri (bs->target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri (bs->target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + if (filter == BLUR_FILTER_MIPMAP) + { + if (!s->fbo) + { + compLogMessage (s->display, "blur", CompLogLevelWarn, + "GL_EXT_framebuffer_object extension " + "is required for mipmap filter"); + } + else if (bs->target != GL_TEXTURE_2D) + { + compLogMessage (s->display, "blur", CompLogLevelWarn, + "GL_ARB_texture_non_power_of_two " + "extension is required for mipmap filter"); + } + else + { + glTexParameteri (bs->target, GL_TEXTURE_MIN_FILTER, + GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri (bs->target, GL_TEXTURE_MAG_FILTER, + GL_LINEAR_MIPMAP_LINEAR); + } + } + + glTexParameteri (bs->target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri (bs->target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glCopyTexSubImage2D (bs->target, 0, 0, 0, 0, 0, + bs->width, bs->height); + } + } + else + { + glBindTexture (bs->target, bs->texture[0]); + + while (nBox--) + { + y = s->height - pBox->y2; + + glCopyTexSubImage2D (bs->target, 0, + pBox->x1, y, + pBox->x1, y, + pBox->x2 - pBox->x1, + pBox->y2 - pBox->y1); + + pBox++; + } + } + + switch (filter) { + case BLUR_FILTER_GAUSSIAN: + return fboUpdate (s, bs->tmpRegion->rects, bs->tmpRegion->numRects); + case BLUR_FILTER_MIPMAP: + (*s->generateMipmap) (bs->target); + break; + case BLUR_FILTER_4X_BILINEAR: + break; + } + + glBindTexture (bs->target, 0); + + return TRUE; +} + +static Bool +blurDrawWindow (CompWindow *w, + const CompTransform *transform, + const FragmentAttrib *attrib, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + BLUR_SCREEN (s); + BLUR_WINDOW (w); + + if (bs->alphaBlur && bw->region) + { + int clientThreshold; + + /* only care about client window blurring when it's translucent */ + if (mask & PAINT_WINDOW_TRANSLUCENT_MASK) + clientThreshold = bw->state[BLUR_STATE_CLIENT].threshold; + else + clientThreshold = 0; + + if (bw->state[BLUR_STATE_DECOR].threshold || clientThreshold) + { + Bool clipped = FALSE; + BoxRec box = { 0, 0, 0, 0 }; + Region reg; + + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + reg = &infiniteRegion; + else + reg = region; + + XIntersectRegion (bw->region, reg, bs->tmpRegion); + if (!bs->blurOcclusion && !(mask & PAINT_WINDOW_TRANSFORMED_MASK)) + XSubtractRegion(bs->tmpRegion, bw->clip, bs->tmpRegion); + + if (blurUpdateDstTexture (w, transform, &box, clientThreshold)) + { + if (clientThreshold) + { + if (bw->state[BLUR_STATE_CLIENT].clipped) + { + if (bs->stencilBits) + { + bw->state[BLUR_STATE_CLIENT].active = TRUE; + clipped = TRUE; + } + } + else + { + bw->state[BLUR_STATE_CLIENT].active = TRUE; + } + } + + if (bw->state[BLUR_STATE_DECOR].threshold) + { + if (bw->state[BLUR_STATE_DECOR].clipped) + { + if (bs->stencilBits) + { + bw->state[BLUR_STATE_DECOR].active = TRUE; + clipped = TRUE; + } + } + else + { + bw->state[BLUR_STATE_DECOR].active = TRUE; + } + } + + if (!bs->blurOcclusion && bw->clip->numRects) + clipped = TRUE; + } + + if (!bs->blurOcclusion) + XSubtractRegion (bw->region, bw->clip, bs->tmpRegion); + else + XSubtractRegion (bw->region, &emptyRegion, bs->tmpRegion); + + if (!clientThreshold) + { + REGION wRegion; + wRegion.numRects = 1; + wRegion.rects = &wRegion.extents; + wRegion.extents.x1 = w->attrib.x; + wRegion.extents.y1 = w->attrib.y; + wRegion.extents.x2 = w->attrib.x + w->width; + wRegion.extents.y2 = w->attrib.y + w->height; + XSubtractRegion (bs->tmpRegion, &wRegion, bs->tmpRegion); + } + + if (clipped) + { + w->vCount = w->indexCount = 0; + (*w->screen->addWindowGeometry) (w, NULL, 0, bs->tmpRegion, reg); + if (w->vCount) + { + BoxRec clearBox = bs->stencilBox; + + bs->stencilBox = box; + + glEnable (GL_STENCIL_TEST); + glColorMask (GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); + + if (clearBox.x2 > clearBox.x1 && clearBox.y2 > clearBox.y1) + { + glPushAttrib (GL_SCISSOR_BIT); + glEnable (GL_SCISSOR_TEST); + glScissor (clearBox.x1, + s->height - clearBox.y2, + clearBox.x2 - clearBox.x1, + clearBox.y2 - clearBox.y1); + glClear (GL_STENCIL_BUFFER_BIT); + glPopAttrib (); + } + + glStencilFunc (GL_ALWAYS, 0x1, ~0); + glStencilOp (GL_KEEP, GL_KEEP, GL_REPLACE); + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + (*w->drawWindowGeometry) (w); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + + glColorMask (GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); + glDisable (GL_STENCIL_TEST); + } + } + } + } + + UNWRAP (bs, s, drawWindow); + status = (*s->drawWindow) (w, transform, attrib, region, mask); + WRAP (bs, s, drawWindow, blurDrawWindow); + + bw->state[BLUR_STATE_CLIENT].active = FALSE; + bw->state[BLUR_STATE_DECOR].active = FALSE; + + return status; +} + +static void +blurDrawWindowTexture (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *attrib, + unsigned int mask) +{ + CompScreen *s = w->screen; + int state; + + BLUR_SCREEN (s); + BLUR_WINDOW (w); + + if (texture == w->texture) + state = BLUR_STATE_CLIENT; + else + state = BLUR_STATE_DECOR; + + if (bw->blur || bw->state[state].active) + { + FragmentAttrib fa = *attrib; + int param, function; + int unit = 0; + GLfloat dx, dy; + + if (bw->blur) + { + param = allocFragmentParameters (&fa, 1); + + function = getSrcBlurFragmentFunction (s, texture, param); + if (function) + { + addFragmentFunction (&fa, function); + + dx = ((texture->matrix.xx / 2.1f) * bw->blur) / 65535.0f; + dy = ((texture->matrix.yy / 2.1f) * bw->blur) / 65535.0f; + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param, dx, dy, dx, -dy); + + /* bi-linear filtering is required */ + mask |= PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK; + } + } + + if (bw->state[state].active) + { + FragmentAttrib dstFa = fa; + float threshold = (float) bw->state[state].threshold; + + switch (bs->opt[BLUR_SCREEN_OPTION_FILTER].value.i) { + case BLUR_FILTER_4X_BILINEAR: + dx = bs->tx / 2.1f; + dy = bs->ty / 2.1f; + + param = allocFragmentParameters (&dstFa, 3); + unit = allocFragmentTextureUnits (&dstFa, 1); + + function = getDstBlurFragmentFunction (s, texture, param, unit); + if (function) + { + addFragmentFunction (&dstFa, function); + + (*s->activeTexture) (GL_TEXTURE0_ARB + unit); + glBindTexture (bs->target, bs->texture[0]); + (*s->activeTexture) (GL_TEXTURE0_ARB); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, param, + bs->tx, bs->ty, 0.0f, 0.0f); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param + 1, + threshold, threshold, + threshold, threshold); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param + 2, + dx, dy, 0.0f, 0.0f); + } + break; + case BLUR_FILTER_GAUSSIAN: + param = allocFragmentParameters (&dstFa, 5); + unit = allocFragmentTextureUnits (&dstFa, 2); + + function = getDstBlurFragmentFunction (s, texture, param, unit); + if (function) + { + int i; + + addFragmentFunction (&dstFa, function); + + (*s->activeTexture) (GL_TEXTURE0_ARB + unit); + glBindTexture (bs->target, bs->texture[0]); + (*s->activeTexture) (GL_TEXTURE0_ARB + unit + 1); + glBindTexture (bs->target, bs->texture[1]); + (*s->activeTexture) (GL_TEXTURE0_ARB); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param, + bs->tx, bs->ty, + 0.0f, 0.0f); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param + 1, + threshold, threshold, + threshold, threshold); + + + for (i = 0; i < bs->numTexop; i++) + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param + 2 + i, + 0.0f, bs->ty * bs->pos[i], + 0.0f, 0.0f); + } + break; + case BLUR_FILTER_MIPMAP: + param = allocFragmentParameters (&dstFa, 2); + unit = allocFragmentTextureUnits (&dstFa, 1); + + function = getDstBlurFragmentFunction (s, texture, param, unit); + if (function) + { + float lod = bs->opt[BLUR_SCREEN_OPTION_MIPMAP_LOD].value.f; + + addFragmentFunction (&dstFa, function); + + (*s->activeTexture) (GL_TEXTURE0_ARB + unit); + glBindTexture (bs->target, bs->texture[0]); + (*s->activeTexture) (GL_TEXTURE0_ARB); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param, + bs->tx, bs->ty, + 0.0f, lod); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param + 1, + threshold, threshold, + threshold, threshold); + } + break; + } + + if (bw->state[state].clipped || + (!bs->blurOcclusion && bw->clip->numRects)) + { + glEnable (GL_STENCIL_TEST); + + glStencilOp (GL_KEEP, GL_KEEP, GL_KEEP); + glStencilFunc (GL_EQUAL, 0x1, ~0); + + /* draw region with destination blur */ + UNWRAP (bs, s, drawWindowTexture); + (*s->drawWindowTexture) (w, texture, &dstFa, mask); + + glStencilFunc (GL_EQUAL, 0, ~0); + + /* draw region without destination blur */ + (*s->drawWindowTexture) (w, texture, &fa, mask); + WRAP (bs, s, drawWindowTexture, blurDrawWindowTexture); + + glDisable (GL_STENCIL_TEST); + } + else + { + /* draw with destination blur */ + UNWRAP (bs, s, drawWindowTexture); + (*s->drawWindowTexture) (w, texture, &dstFa, mask); + WRAP (bs, s, drawWindowTexture, blurDrawWindowTexture); + } + } + else + { + UNWRAP (bs, s, drawWindowTexture); + (*s->drawWindowTexture) (w, texture, &fa, mask); + WRAP (bs, s, drawWindowTexture, blurDrawWindowTexture); + } + + if (unit) + { + (*s->activeTexture) (GL_TEXTURE0_ARB + unit); + glBindTexture (bs->target, 0); + (*s->activeTexture) (GL_TEXTURE0_ARB + unit + 1); + glBindTexture (bs->target, 0); + (*s->activeTexture) (GL_TEXTURE0_ARB); + } + } + else + { + UNWRAP (bs, s, drawWindowTexture); + (*s->drawWindowTexture) (w, texture, attrib, mask); + WRAP (bs, s, drawWindowTexture, blurDrawWindowTexture); + } +} + +static void +blurHandleEvent (CompDisplay *d, + XEvent *event) +{ + Window activeWindow = d->activeWindow; + + BLUR_DISPLAY (d); + + UNWRAP (bd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (bd, d, handleEvent, blurHandleEvent); + + if (d->activeWindow != activeWindow) + { + CompWindow *w; + + w = findWindowAtDisplay (d, activeWindow); + if (w) + { + BLUR_SCREEN (w->screen); + + if (bs->opt[BLUR_SCREEN_OPTION_FOCUS_BLUR].value.b) + { + addWindowDamage (w); + bs->moreBlur = TRUE; + } + } + + w = findWindowAtDisplay (d, d->activeWindow); + if (w) + { + BLUR_SCREEN (w->screen); + + if (bs->opt[BLUR_SCREEN_OPTION_FOCUS_BLUR].value.b) + { + addWindowDamage (w); + bs->moreBlur = TRUE; + } + } + } + + if (event->type == PropertyNotify) + { + int i; + + for (i = 0; i < BLUR_STATE_NUM; i++) + { + if (event->xproperty.atom == bd->blurAtom[i]) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + blurWindowUpdate (w, i); + } + } + } +} + +static void +blurWindowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ + BLUR_SCREEN (w->screen); + + if (bs->alphaBlur) + { + BLUR_WINDOW (w); + + if (bw->state[BLUR_STATE_CLIENT].threshold || + bw->state[BLUR_STATE_DECOR].threshold) + blurWindowUpdateRegion (w); + } + + UNWRAP (bs, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP (bs, w->screen, windowResizeNotify, blurWindowResizeNotify); +} + +static void +blurWindowMoveNotify (CompWindow *w, + int dx, + int dy, + Bool immediate) +{ + BLUR_SCREEN (w->screen); + BLUR_WINDOW (w); + + if (bw->region) + XOffsetRegion (bw->region, dx, dy); + + UNWRAP (bs, w->screen, windowMoveNotify); + (*w->screen->windowMoveNotify) (w, dx, dy, immediate); + WRAP (bs, w->screen, windowMoveNotify, blurWindowMoveNotify); +} + +static CompOption * +blurGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + BLUR_DISPLAY (display); + + *count = NUM_OPTIONS (bd); + return bd->opt; +} + +static Bool +blurSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + BLUR_DISPLAY (display); + + o = compFindOption (bd->opt, NUM_OPTIONS (bd), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static Bool +blurPulse (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompWindow *w; + int xid; + + xid = getIntOptionNamed (option, nOption, "window", d->activeWindow); + + w = findWindowAtDisplay (d, xid); + if (w && w->screen->fragmentProgram) + { + BLUR_SCREEN (w->screen); + BLUR_WINDOW (w); + + bw->pulse = TRUE; + bs->moreBlur = TRUE; + + addWindowDamage (w); + } + + return FALSE; +} + +static void +blurMatchExpHandlerChanged (CompDisplay *d) +{ + CompScreen *s; + CompWindow *w; + + BLUR_DISPLAY (d); + + UNWRAP (bd, d, matchExpHandlerChanged); + (*d->matchExpHandlerChanged) (d); + WRAP (bd, d, matchExpHandlerChanged, blurMatchExpHandlerChanged); + + /* match options are up to date after the call to matchExpHandlerChanged */ + for (s = d->screens; s; s = s->next) + { + BLUR_SCREEN (s); + + for (w = s->windows; w; w = w->next) + blurUpdateWindowMatch (bs, w); + } +} + +static void +blurMatchPropertyChanged (CompDisplay *d, + CompWindow *w) +{ + BLUR_DISPLAY (d); + BLUR_SCREEN (w->screen); + + blurUpdateWindowMatch (bs, w); + + UNWRAP (bd, d, matchPropertyChanged); + (*d->matchPropertyChanged) (d, w); + WRAP (bd, d, matchPropertyChanged, blurMatchPropertyChanged); +} + +static void +blurWindowAdd (CompWindow *w) +{ + BLUR_SCREEN (w->screen); + + blurWindowUpdate (w, BLUR_STATE_CLIENT); + blurWindowUpdate (w, BLUR_STATE_DECOR); + + blurUpdateWindowMatch (bs, w); +} + +static void +blurWindowAddNotify (CompWindow *w) +{ + BLUR_SCREEN (w->screen); + + blurWindowAdd (w); + + UNWRAP (bs, w->screen, windowAddNotify); + (*w->screen->windowAddNotify) (w); + WRAP (bs, w->screen, windowAddNotify, blurWindowAddNotify); +} + +static const CompMetadataOptionInfo blurDisplayOptionInfo[] = { + { "pulse", "action", 0, blurPulse, 0 } +}; + +static Bool +blurInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + BlurDisplay *bd; + + bd = malloc (sizeof (BlurDisplay)); + if (!bd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &blurMetadata, + blurDisplayOptionInfo, + bd->opt, + BLUR_DISPLAY_OPTION_NUM)) + { + free (bd); + return FALSE; + } + + bd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (bd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, bd->opt, BLUR_DISPLAY_OPTION_NUM); + free (bd); + return FALSE; + } + + bd->blurAtom[BLUR_STATE_CLIENT] = + XInternAtom (d->display, "_ECOMP_WM_WINDOW_BLUR", 0); + bd->blurAtom[BLUR_STATE_DECOR] = + XInternAtom (d->display, "_ECOMP_WM_WINDOW_BLUR_DECOR", 0); + + WRAP (bd, d, handleEvent, blurHandleEvent); + WRAP (bd, d, matchExpHandlerChanged, blurMatchExpHandlerChanged); + WRAP (bd, d, matchPropertyChanged, blurMatchPropertyChanged); + + d->privates[displayPrivateIndex].ptr = bd; + + return TRUE; +} + +static void +blurFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + BLUR_DISPLAY (d); + + freeScreenPrivateIndex (d, bd->screenPrivateIndex); + + UNWRAP (bd, d, handleEvent); + UNWRAP (bd, d, matchExpHandlerChanged); + UNWRAP (bd, d, matchPropertyChanged); + + compFiniDisplayOptions (d, bd->opt, BLUR_DISPLAY_OPTION_NUM); + + free (bd); +} + +static const CompMetadataOptionInfo blurScreenOptionInfo[] = { + { "blur_speed", "float", "0.1", 0, 0 }, + { "focus_blur_match", "match", 0, 0, 0 }, + { "focus_blur", "bool", 0, 0, 0 }, + { "alpha_blur_match", "match", 0, 0, 0 }, + { "alpha_blur", "bool", 0, 0, 0 }, + { "filter", "int", RESTOSTRING (0, BLUR_FILTER_LAST), 0, 0 }, + { "gaussian_radius", "int", "115", 0, 0 }, + { "gaussian_strength", "float", "0.01.0", 0, 0 }, + { "mipmap_lod", "float", "0.15.0", 0, 0 }, + { "saturation", "int", "0100", 0, 0 }, + { "occlusion", "bool", 0, 0, 0 } +}; + +static Bool +blurInitScreen (CompPlugin *p, + CompScreen *s) +{ + BlurScreen *bs; + int i; + + BLUR_DISPLAY (s->display); + + bs = malloc (sizeof (BlurScreen)); + if (!bs) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &blurMetadata, + blurScreenOptionInfo, + bs->opt, + BLUR_SCREEN_OPTION_NUM)) + { + free (bs); + return FALSE; + } + + bs->region = XCreateRegion (); + if (!bs->region) + { + compFiniScreenOptions (s, bs->opt, BLUR_SCREEN_OPTION_NUM); + free (bs); + return FALSE; + } + + bs->tmpRegion = XCreateRegion (); + if (!bs->tmpRegion) + { + compFiniScreenOptions (s, bs->opt, BLUR_SCREEN_OPTION_NUM); + XDestroyRegion (bs->region); + free (bs); + return FALSE; + } + + bs->tmpRegion2 = XCreateRegion (); + if (!bs->tmpRegion2) + { + compFiniScreenOptions (s, bs->opt, BLUR_SCREEN_OPTION_NUM); + XDestroyRegion (bs->region); + XDestroyRegion (bs->tmpRegion); + free (bs); + return FALSE; + } + + bs->tmpRegion3 = XCreateRegion (); + if (!bs->tmpRegion3) + { + compFiniScreenOptions (s, bs->opt, BLUR_SCREEN_OPTION_NUM); + XDestroyRegion (bs->region); + XDestroyRegion (bs->tmpRegion); + XDestroyRegion (bs->tmpRegion2); + free (bs); + return FALSE; + } + + bs->occlusion = XCreateRegion (); + if (!bs->occlusion) + { + compFiniScreenOptions (s, bs->opt, BLUR_SCREEN_OPTION_NUM); + XDestroyRegion (bs->region); + XDestroyRegion (bs->tmpRegion); + XDestroyRegion (bs->tmpRegion2); + XDestroyRegion (bs->tmpRegion3); + free (bs); + return FALSE; + } + + + bs->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (bs->windowPrivateIndex < 0) + { + compFiniScreenOptions (s, bs->opt, BLUR_SCREEN_OPTION_NUM); + XDestroyRegion (bs->region); + XDestroyRegion (bs->tmpRegion); + XDestroyRegion (bs->tmpRegion2); + XDestroyRegion (bs->tmpRegion3); + XDestroyRegion (bs->occlusion); + free (bs); + return FALSE; + } + + bs->output = NULL; + bs->count = 0; + + bs->filterRadius = 0; + + bs->srcBlurFunctions = NULL; + bs->dstBlurFunctions = NULL; + bs->blurTime = 1000.0f / + bs->opt[BLUR_SCREEN_OPTION_BLUR_SPEED].value.f; + bs->moreBlur = FALSE; + bs->blurOcclusion = + bs->opt[BLUR_SCREEN_OPTION_BLUR_OCCLUSION].value.b; + + for (i = 0; i < 2; i++) + bs->texture[i] = 0; + + bs->program = 0; + bs->fbo = 0; + bs->fboStatus = FALSE; + + glGetIntegerv (GL_STENCIL_BITS, &bs->stencilBits); + if (!bs->stencilBits) + compLogMessage (s->display, "blur", CompLogLevelWarn, + "No stencil buffer. Region based blur disabled"); + + /* We need GL_ARB_fragment_program for blur */ + if (s->fragmentProgram) + bs->alphaBlur = bs->opt[BLUR_SCREEN_OPTION_ALPHA_BLUR].value.b; + else + bs->alphaBlur = FALSE; + + WRAP (bs, s, preparePaintScreen, blurPreparePaintScreen); + WRAP (bs, s, donePaintScreen, blurDonePaintScreen); + WRAP (bs, s, paintOutput, blurPaintOutput); + WRAP (bs, s, paintTransformedOutput, blurPaintTransformedOutput); + WRAP (bs, s, paintWindow, blurPaintWindow); + WRAP (bs, s, drawWindow, blurDrawWindow); + WRAP (bs, s, drawWindowTexture, blurDrawWindowTexture); + WRAP (bs, s, windowAddNotify, blurWindowAddNotify); + WRAP (bs, s, windowResizeNotify, blurWindowResizeNotify); + WRAP (bs, s, windowMoveNotify, blurWindowMoveNotify); + + s->privates[bd->screenPrivateIndex].ptr = bs; + + blurUpdateFilterRadius (s); + + return TRUE; +} + +static void +blurFiniScreen (CompPlugin *p, + CompScreen *s) +{ + int i; + + BLUR_SCREEN (s); + + blurDestroyFragmentFunctions (s, &bs->srcBlurFunctions); + blurDestroyFragmentFunctions (s, &bs->dstBlurFunctions); + + damageScreen (s); + + XDestroyRegion (bs->region); + XDestroyRegion (bs->tmpRegion); + XDestroyRegion (bs->tmpRegion2); + XDestroyRegion (bs->tmpRegion3); + XDestroyRegion (bs->occlusion); + + if (bs->fbo) + (*s->deleteFramebuffers) (1, &bs->fbo); + + for (i = 0; i < 2; i++) + if (bs->texture[i]) + glDeleteTextures (1, &bs->texture[i]); + + freeWindowPrivateIndex (s, bs->windowPrivateIndex); + + UNWRAP (bs, s, preparePaintScreen); + UNWRAP (bs, s, donePaintScreen); + UNWRAP (bs, s, paintOutput); + UNWRAP (bs, s, paintTransformedOutput); + UNWRAP (bs, s, paintWindow); + UNWRAP (bs, s, drawWindow); + UNWRAP (bs, s, drawWindowTexture); + UNWRAP (bs, s, windowAddNotify); + UNWRAP (bs, s, windowResizeNotify); + UNWRAP (bs, s, windowMoveNotify); + + compFiniScreenOptions (s, bs->opt, BLUR_SCREEN_OPTION_NUM); + + free (bs); +} + +static Bool +blurInitWindow (CompPlugin *p, + CompWindow *w) +{ + BlurWindow *bw; + int i; + + BLUR_SCREEN (w->screen); + + bw = malloc (sizeof (BlurWindow)); + if (!bw) + return FALSE; + + bw->blur = 0; + bw->pulse = FALSE; + bw->focusBlur = FALSE; + + for (i = 0; i < BLUR_STATE_NUM; i++) + { + bw->state[i].threshold = 0; + bw->state[i].box = NULL; + bw->state[i].nBox = 0; + bw->state[i].clipped = FALSE; + bw->state[i].active = FALSE; + + bw->propSet[i] = FALSE; + } + + bw->region = NULL; + + bw->clip = XCreateRegion (); + if (!bw->clip) + { + free (bw); + return FALSE; + } + + w->privates[bs->windowPrivateIndex].ptr = bw; + + if (w->added) + blurWindowAdd (w); + + return TRUE; +} + +static void +blurFiniWindow (CompPlugin *p, + CompWindow *w) +{ + int i; + + BLUR_WINDOW (w); + + for (i = 0; i < BLUR_STATE_NUM; i++) + if (bw->state[i].box) + free (bw->state[i].box); + + if (bw->region) + XDestroyRegion (bw->region); + + XDestroyRegion (bw->clip); + + free (bw); +} + +static Bool +blurInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&blurMetadata, + p->vTable->name, + blurDisplayOptionInfo, + BLUR_DISPLAY_OPTION_NUM, + blurScreenOptionInfo, + BLUR_SCREEN_OPTION_NUM)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&blurMetadata); + return FALSE; + } + + compAddMetadataFromFile (&blurMetadata, p->vTable->name); + + return TRUE; +} + +static void +blurFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&blurMetadata); +} + +static int +blurGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +blurGetMetadata (CompPlugin *plugin) +{ + return &blurMetadata; +} + +static CompPluginVTable blurVTable = { + "blur", + blurGetVersion, + blurGetMetadata, + blurInit, + blurFini, + blurInitDisplay, + blurFiniDisplay, + blurInitScreen, + blurFiniScreen, + blurInitWindow, + blurFiniWindow, + blurGetDisplayOptions, + blurSetDisplayOption, + blurGetScreenOptions, + blurSetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &blurVTable; +} diff --git a/plugins/clone.c b/plugins/clone.c new file mode 100644 index 0000000..f73548d --- /dev/null +++ b/plugins/clone.c @@ -0,0 +1,885 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include + +#include + +static CompMetadata cloneMetadata; + +static int displayPrivateIndex; + +#define CLONE_DISPLAY_OPTION_INITIATE 0 +#define CLONE_DISPLAY_OPTION_NUM 1 + +typedef struct _CloneDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[CLONE_DISPLAY_OPTION_NUM]; +} CloneDisplay; + +typedef struct _CloneClone { + int src; + int dst; + Region region; + Window input; +} CloneClone; + +typedef struct _CloneScreen { + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + OutputChangeNotifyProc outputChangeNotify; + + int grabIndex; + Bool grab; + + float offset; + + Bool transformed; + + CloneClone *clone; + int nClone; + + int x, y; + int grabbedOutput; + int src, dst; +} CloneScreen; + +#define GET_CLONE_DISPLAY(d) \ + ((CloneDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define CLONE_DISPLAY(d) \ + CloneDisplay *cd = GET_CLONE_DISPLAY (d) + +#define GET_CLONE_SCREEN(s, cd) \ + ((CloneScreen *) (s)->privates[(cd)->screenPrivateIndex].ptr) + +#define CLONE_SCREEN(s) \ + CloneScreen *cs = GET_CLONE_SCREEN (s, GET_CLONE_DISPLAY (s->display)) + +#define NUM_OPTIONS(d) (sizeof ((d)->opt) / sizeof (CompOption)) + +static void +cloneRemove (CompScreen *s, + int i) +{ + CloneClone *clone; + + CLONE_SCREEN (s); + + clone = malloc (sizeof (CloneClone) * (cs->nClone - 1)); + if (clone) + { + int j, k = 0; + + for (j = 0; j < cs->nClone; j++) + if (j != i) + memcpy (&clone[k++], &cs->clone[j], + sizeof (CloneClone)); + + XDestroyRegion (cs->clone[i].region); + XDestroyWindow (s->display->display, cs->clone[i].input); + + free (cs->clone); + + cs->clone = clone; + cs->nClone--; + } +} + +static void +cloneFinish (CompScreen *s) +{ + CloneClone *clone; + int i; + + CLONE_SCREEN (s); + + cs->grab = FALSE; + + if (cs->src != cs->dst) + { + clone = NULL; + + /* check if we should replace current clone */ + for (i = 0; i < cs->nClone; i++) + { + if (cs->clone[i].dst == cs->dst) + { + clone = &cs->clone[i]; + break; + } + } + + /* no existing clone for this destination, we must allocate one */ + if (!clone) + { + Region region; + + region = XCreateRegion (); + if (region) + { + clone = + realloc (cs->clone, + sizeof (CloneClone) * (cs->nClone + 1)); + if (clone) + { + XSetWindowAttributes attr; + int x, y; + + cs->clone = clone; + clone = &cs->clone[cs->nClone++]; + clone->region = region; + + attr.override_redirect = TRUE; + + x = s->outputDev[cs->dst].region.extents.x1; + y = s->outputDev[cs->dst].region.extents.y1; + + clone->input = + XCreateWindow (s->display->display, + s->root, x, y, + s->outputDev[cs->dst].width, + s->outputDev[cs->dst].height, + 0, 0, InputOnly, CopyFromParent, + CWOverrideRedirect, &attr); + XMapRaised (s->display->display, clone->input); + } + else + { + XDestroyRegion (region); + } + } + } + + if (clone) + { + clone->src = cs->src; + clone->dst = cs->dst; + } + } + + if (cs->grabbedOutput != cs->dst) + { + /* remove clone */ + for (i = 0; i < cs->nClone; i++) + { + if (cs->clone[i].dst == cs->grabbedOutput) + { + cloneRemove (s, i); + break; + } + } + } +} + +static void +clonePreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + int i; + + CLONE_SCREEN (s); + + if (cs->grab) + { + if (cs->grabIndex) + { + cs->offset -= msSinceLastPaint * 0.005f; + if (cs->offset < 0.0f) + cs->offset = 0.0f; + } + else + { + cs->offset += msSinceLastPaint * 0.005f; + if (cs->offset >= 1.0f) + { + cs->offset = 1.0f; + cloneFinish (s); + } + } + + damageScreen (s); + } + + UNWRAP (cs, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (cs, s, preparePaintScreen, clonePreparePaintScreen); + + for (i = 0; i < cs->nClone; i++) + { + CompOutput *src = &s->outputDev[cs->clone[i].src]; + CompOutput *dst = &s->outputDev[cs->clone[i].dst]; + int dx, dy; + + dx = dst->region.extents.x1 - src->region.extents.x1; + dy = dst->region.extents.y1 - src->region.extents.y1; + + if (s->damageMask & COMP_SCREEN_DAMAGE_REGION_MASK) + { + if (src->width != dst->width || src->height != dst->height) + { + XSubtractRegion (&dst->region, &emptyRegion, + cs->clone[i].region); + XUnionRegion (s->damage, cs->clone[i].region, s->damage); + XSubtractRegion (&src->region, &emptyRegion, + cs->clone[i].region); + } + else + { + XSubtractRegion (s->damage, &dst->region, cs->clone[i].region); + XOffsetRegion (cs->clone[i].region, dx, dy); + XUnionRegion (s->damage, cs->clone[i].region, s->damage); + XSubtractRegion (s->damage, &src->region, cs->clone[i].region); + XOffsetRegion (cs->clone[i].region, -dx, -dy); + } + } + else + { + XSubtractRegion (&src->region, &emptyRegion, cs->clone[i].region); + } + } +} + +static void +cloneDonePaintScreen (CompScreen *s) +{ + CLONE_SCREEN (s); + + if (cs->grab && cs->offset) + damageScreen (s); + + UNWRAP (cs, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (cs, s, donePaintScreen, cloneDonePaintScreen); +} + +static Bool +clonePaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *outputPtr, + unsigned int mask) +{ + Bool status; + int i, dst, output = 0; + + CLONE_SCREEN (s); + + dst = output = (outputPtr->id != ~0) ? outputPtr->id : 0; + + if (!cs->grab || cs->grabbedOutput != output) + { + for (i = 0; i < cs->nClone; i++) + { + if (cs->clone[i].dst == output) + { + region = cs->clone[i].region; + dst = cs->clone[i].src; + + if (s->outputDev[dst].width != s->outputDev[output].width || + s->outputDev[dst].height != s->outputDev[output].height ) + cs->transformed = TRUE; + else + cs->transformed = FALSE; + + break; + } + } + } + + UNWRAP (cs, s, paintOutput); + if (outputPtr->id != ~0) + status = (*s->paintOutput) (s, sAttrib, transform, region, + &s->outputDev[dst], mask); + else + status = (*s->paintOutput) (s, sAttrib, transform, region, + outputPtr, mask); + WRAP (cs, s, paintOutput, clonePaintOutput); + + if (cs->grab) + { + CompTransform sTransform = *transform; + CompWindow *w; + GLenum filter; + float zoom1, zoom2x, zoom2y, x1, y1, x2, y2; + float zoomX, zoomY; + int dx, dy; + + zoom1 = 160.0f / s->outputDev[cs->src].height; + + x1 = cs->x - (s->outputDev[cs->src].region.extents.x1 * zoom1); + y1 = cs->y - (s->outputDev[cs->src].region.extents.y1 * zoom1); + + x1 -= (s->outputDev[cs->src].width * zoom1) / 2; + y1 -= (s->outputDev[cs->src].height * zoom1) / 2; + + if (cs->grabIndex) + { + x2 = s->outputDev[cs->grabbedOutput].region.extents.x1 - + s->outputDev[cs->src].region.extents.x1; + y2 = s->outputDev[cs->grabbedOutput].region.extents.y1 - + s->outputDev[cs->src].region.extents.y1; + + zoom2x = (float) s->outputDev[cs->grabbedOutput].width / + s->outputDev[cs->src].width; + zoom2y = (float) s->outputDev[cs->grabbedOutput].height / + s->outputDev[cs->src].height; + } + else + { + x2 = s->outputDev[cs->dst].region.extents.x1 - + s->outputDev[cs->src].region.extents.x1; + y2 = s->outputDev[cs->dst].region.extents.y1 - + s->outputDev[cs->src].region.extents.y1; + + zoom2x = (float) s->outputDev[cs->dst].width / + s->outputDev[cs->src].width; + zoom2y = (float) s->outputDev[cs->dst].height / + s->outputDev[cs->src].height; + } + + /* XXX: hmm.. why do I need this.. */ + if (x2 < 0.0f) + x2 *= zoom2x; + if (y2 < 0.0f) + y2 *= zoom2y; + + dx = x1 * (1.0f - cs->offset) + x2 * cs->offset; + dy = y1 * (1.0f - cs->offset) + y2 * cs->offset; + + zoomX = zoom1 * (1.0f - cs->offset) + zoom2x * cs->offset; + zoomY = zoom1 * (1.0f - cs->offset) + zoom2y * cs->offset; + + matrixTranslate (&sTransform, -0.5f, -0.5f, -DEFAULT_Z_CAMERA); + matrixScale (&sTransform, + 1.0f / s->outputDev[output].width, + -1.0f / s->outputDev[output].height, + 1.0f); + matrixTranslate (&sTransform, + dx - s->outputDev[output].region.extents.x1, + dy - s->outputDev[output].region.extents.y2, + 0.0f); + matrixScale (&sTransform, zoomX, zoomY, 1.0f); + + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + filter = s->display->textureFilter; + + if (cs->offset == 0.0f) + s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; + + for (w = s->windows; w; w = w->next) + { + if (w->destroyed) + continue; + + if (!w->shaded) + { + if (w->attrib.map_state != IsViewable || !w->damaged) + continue; + } + + (*s->paintWindow) (w, &w->paint, &sTransform, + &s->outputDev[cs->src].region, + PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK); + } + + s->display->textureFilter = filter; + + glPopMatrix (); + } + + return status; +} + +static Bool +clonePaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + Bool status; + + CLONE_SCREEN (w->screen); + + if (cs->nClone && cs->transformed) + mask |= PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK; + + UNWRAP (cs, w->screen, paintWindow); + status = (*w->screen->paintWindow) (w, attrib, transform, region, mask); + WRAP (cs, w->screen, paintWindow, clonePaintWindow); + + return status; +} + +static Bool +cloneInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + int i; + + CLONE_SCREEN (s); + + if (cs->grab || otherScreenGrabExist (s, "clone", 0)) + return FALSE; + + if (!cs->grabIndex) + cs->grabIndex = pushScreenGrab (s, None, "clone"); + + cs->grab = TRUE; + + cs->x = getIntOptionNamed (option, nOption, "x", 0); + cs->y = getIntOptionNamed (option, nOption, "y", 0); + + cs->src = cs->grabbedOutput = outputDeviceForPoint (s, cs->x, cs->y); + + /* trace source */ + i = 0; + while (i < cs->nClone) + { + if (cs->clone[i].dst == cs->src) + { + cs->src = cs->clone[i].src; + i = 0; + } + else + { + i++; + } + } + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + } + + return FALSE; +} + +static Bool +cloneTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + CLONE_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (cs->grabIndex) + { + int x, y; + + removeScreenGrab (s, cs->grabIndex, NULL); + cs->grabIndex = 0; + + x = getIntOptionNamed (option, nOption, "x", 0); + y = getIntOptionNamed (option, nOption, "y", 0); + + cs->dst = outputDeviceForPoint (s, x, y); + + damageScreen (s); + } + } + + action->state &= ~(CompActionStateTermKey | CompActionStateTermButton); + + return FALSE; +} + +static void +cloneSetStrutsForCloneWindow (CompScreen *s, + CloneClone *clone) +{ + CompOutput *output = &s->outputDev[clone->dst]; + XRectangle *rect = NULL; + CompStruts *struts; + CompWindow *w; + + w = findWindowAtScreen (s, clone->input); + if (!w) + return; + + struts = malloc (sizeof (CompStruts)); + if (!struts) + return; + + if (w->struts) + free (w->struts); + + struts->left.x = 0; + struts->left.y = 0; + struts->left.width = 0; + struts->left.height = s->height; + + struts->right.x = s->width; + struts->right.y = 0; + struts->right.width = 0; + struts->right.height = s->height; + + struts->top.x = 0; + struts->top.y = 0; + struts->top.width = s->width; + struts->top.height = 0; + + struts->bottom.x = 0; + struts->bottom.y = s->height; + struts->bottom.width = s->width; + struts->bottom.height = 0; + + /* create struts relative to a screen edge that this output is next to */ + if (output->region.extents.x1 == 0) + rect = &struts->left; + else if (output->region.extents.x2 == s->width) + rect = &struts->right; + else if (output->region.extents.y1 == 0) + rect = &struts->top; + else if (output->region.extents.y2 == s->height) + rect = &struts->bottom; + + if (rect) + { + rect->x = output->region.extents.x1; + rect->y = output->region.extents.y1; + rect->width = output->width; + rect->height = output->height; + } + + w->struts = struts; +} + +static void +cloneHandleMotionEvent (CompScreen *s, + int xRoot, + int yRoot) +{ + CLONE_SCREEN (s); + + if (cs->grabIndex) + { + cs->x = xRoot; + cs->y = yRoot; + + damageScreen (s); + } +} + +static void +cloneHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + CLONE_DISPLAY (d); + + switch (event->type) { + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + cloneHandleMotionEvent (s, pointerX, pointerY); + break; + case EnterNotify: + case LeaveNotify: + s = findScreenAtDisplay (d, event->xcrossing.root); + if (s) + cloneHandleMotionEvent (s, pointerX, pointerY); + default: + break; + } + + UNWRAP (cd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (cd, d, handleEvent, cloneHandleEvent); + + switch (event->type) { + case CreateNotify: + s = findScreenAtDisplay (d, event->xcreatewindow.parent); + if (s) + { + int i; + + CLONE_SCREEN (s); + + for (i = 0; i < cs->nClone; i++) + if (event->xcreatewindow.window == cs->clone[i].input) + cloneSetStrutsForCloneWindow (s, &cs->clone[i]); + } + default: + break; + } +} + +static void +cloneOutputChangeNotify (CompScreen *s) +{ + int i; + + CLONE_SCREEN (s); + + /* remove clones with destination or source that doesn't exist */ + for (i = 0; i < cs->nClone; i++) + { + if (cs->clone[i].dst >= s->nOutputDev || + cs->clone[i].src >= s->nOutputDev) + { + cloneRemove (s, i); + i = 0; + continue; + } + } + + UNWRAP (cs, s, outputChangeNotify); + (*s->outputChangeNotify) (s); + WRAP (cs, s, outputChangeNotify, cloneOutputChangeNotify); +} + +static CompOption * +cloneGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + CLONE_DISPLAY (display); + + *count = NUM_OPTIONS (cd); + return cd->opt; +} + +static Bool +cloneSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + CLONE_DISPLAY (display); + + o = compFindOption (cd->opt, NUM_OPTIONS (cd), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static const CompMetadataOptionInfo cloneDisplayOptionInfo[] = { + { "initiate", "action", "", cloneInitiate, + cloneTerminate } +}; + +static Bool +cloneInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + CloneDisplay *cd; + + cd = malloc (sizeof (CloneDisplay)); + if (!cd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &cloneMetadata, + cloneDisplayOptionInfo, + cd->opt, + CLONE_DISPLAY_OPTION_NUM)) + { + free (cd); + return FALSE; + } + + cd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (cd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, cd->opt, CLONE_DISPLAY_OPTION_NUM); + free (cd); + return FALSE; + } + + WRAP (cd, d, handleEvent, cloneHandleEvent); + + d->privates[displayPrivateIndex].ptr = cd; + + return TRUE; +} + +static void +cloneFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + CLONE_DISPLAY (d); + + freeScreenPrivateIndex (d, cd->screenPrivateIndex); + + UNWRAP (cd, d, handleEvent); + + compFiniDisplayOptions (d, cd->opt, CLONE_DISPLAY_OPTION_NUM); + + free (cd); +} + +static Bool +cloneInitScreen (CompPlugin *p, + CompScreen *s) +{ + CloneScreen *cs; + + CLONE_DISPLAY (s->display); + + cs = malloc (sizeof (CloneScreen)); + if (!cs) + return FALSE; + + cs->grabIndex = 0; + cs->grab = FALSE; + + cs->offset = 1.0f; + + cs->transformed = FALSE; + + cs->nClone = 0; + cs->clone = NULL; + + cs->src = 0; + + WRAP (cs, s, preparePaintScreen, clonePreparePaintScreen); + WRAP (cs, s, donePaintScreen, cloneDonePaintScreen); + WRAP (cs, s, paintOutput, clonePaintOutput); + WRAP (cs, s, paintWindow, clonePaintWindow); + WRAP (cs, s, outputChangeNotify, cloneOutputChangeNotify); + + s->privates[cd->screenPrivateIndex].ptr = cs; + + return TRUE; +} + +static void +cloneFiniScreen (CompPlugin *p, + CompScreen *s) +{ + CLONE_SCREEN (s); + + UNWRAP (cs, s, preparePaintScreen); + UNWRAP (cs, s, donePaintScreen); + UNWRAP (cs, s, paintOutput); + UNWRAP (cs, s, paintWindow); + UNWRAP (cs, s, outputChangeNotify); + + free (cs); +} + +static Bool +cloneInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&cloneMetadata, + p->vTable->name, + cloneDisplayOptionInfo, + CLONE_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&cloneMetadata); + return FALSE; + } + + compAddMetadataFromFile (&cloneMetadata, p->vTable->name); + + return TRUE; +} + +static void +cloneFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&cloneMetadata); +} + +static int +cloneGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +cloneGetMetadata (CompPlugin *plugin) +{ + return &cloneMetadata; +} + +CompPluginVTable cloneVTable = { + "clone", + cloneGetVersion, + cloneGetMetadata, + cloneInit, + cloneFini, + cloneInitDisplay, + cloneFiniDisplay, + cloneInitScreen, + cloneFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + cloneGetDisplayOptions, + cloneSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &cloneVTable; +} diff --git a/plugins/cube.c b/plugins/cube.c new file mode 100644 index 0000000..1e288bd --- /dev/null +++ b/plugins/cube.c @@ -0,0 +1,2296 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + * Mirco Müller (Skydome support) + */ + +#include +#include + +#include +#include + +#include + +#define MULTM(x, y, z) \ +z[0] = x[0] * y[0] + x[4] * y[1] + x[8] * y[2] + x[12] * y[3]; \ +z[1] = x[1] * y[0] + x[5] * y[1] + x[9] * y[2] + x[13] * y[3]; \ +z[2] = x[2] * y[0] + x[6] * y[1] + x[10] * y[2] + x[14] * y[3]; \ +z[3] = x[3] * y[0] + x[7] * y[1] + x[11] * y[2] + x[15] * y[3]; \ +z[4] = x[0] * y[4] + x[4] * y[5] + x[8] * y[6] + x[12] * y[7]; \ +z[5] = x[1] * y[4] + x[5] * y[5] + x[9] * y[6] + x[13] * y[7]; \ +z[6] = x[2] * y[4] + x[6] * y[5] + x[10] * y[6] + x[14] * y[7]; \ +z[7] = x[3] * y[4] + x[7] * y[5] + x[11] * y[6] + x[15] * y[7]; \ +z[8] = x[0] * y[8] + x[4] * y[9] + x[8] * y[10] + x[12] * y[11]; \ +z[9] = x[1] * y[8] + x[5] * y[9] + x[9] * y[10] + x[13] * y[11]; \ +z[10] = x[2] * y[8] + x[6] * y[9] + x[10] * y[10] + x[14] * y[11]; \ +z[11] = x[3] * y[8] + x[7] * y[9] + x[11] * y[10] + x[15] * y[11]; \ +z[12] = x[0] * y[12] + x[4] * y[13] + x[8] * y[14] + x[12] * y[15]; \ +z[13] = x[1] * y[12] + x[5] * y[13] + x[9] * y[14] + x[13] * y[15]; \ +z[14] = x[2] * y[12] + x[6] * y[13] + x[10] * y[14] + x[14] * y[15]; \ +z[15] = x[3] * y[12] + x[7] * y[13] + x[11] * y[14] + x[15] * y[15]; + +#define MULTMV(m, v) { \ +float v0 = m[0]*v[0] + m[4]*v[1] + m[8]*v[2] + m[12]*v[3]; \ +float v1 = m[1]*v[0] + m[5]*v[1] + m[9]*v[2] + m[13]*v[3]; \ +float v2 = m[2]*v[0] + m[6]*v[1] + m[10]*v[2] + m[14]*v[3]; \ +float v3 = m[3]*v[0] + m[7]*v[1] + m[11]*v[2] + m[15]*v[3]; \ +v[0] = v0; v[1] = v1; v[2] = v2; v[3] = v3; } + +#define DIVV(v) \ +v[0] /= v[3]; \ +v[1] /= v[3]; \ +v[2] /= v[3]; \ +v[3] /= v[3]; + +static CompMetadata cubeMetadata; + +static int cubeDisplayPrivateIndex; + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static void +cubeLoadImg (CompScreen *s, + int n) +{ + unsigned int width, height; + int pw, ph; + CompOptionValue *imgFiles; + int imgNFile; + + CUBE_SCREEN (s); + + imgFiles = cs->opt[CUBE_SCREEN_OPTION_IMAGES].value.list.value; + imgNFile = cs->opt[CUBE_SCREEN_OPTION_IMAGES].value.list.nValue; + + if (!cs->fullscreenOutput) + { + pw = s->width; + ph = s->height; + } + else + { + pw = s->outputDev[0].width; + ph = s->outputDev[0].height; + } + + if (!imgNFile || cs->pw != pw || cs->ph != ph) + { + finiTexture (s, &cs->texture); + initTexture (s, &cs->texture); + + if (!imgNFile) + return; + } + + cs->imgCurFile = n % imgNFile; + + if (!readImageToTexture (s, &cs->texture, + imgFiles[cs->imgCurFile].s, + &width, &height)) + { + compLogMessage (s->display, "cube", CompLogLevelWarn, + "Failed to load slide: %s", + imgFiles[cs->imgCurFile].s); + + finiTexture (s, &cs->texture); + initTexture (s, &cs->texture); + + return; + } + + cs->tc[0] = COMP_TEX_COORD_X (&cs->texture.matrix, width / 2.0f); + cs->tc[1] = COMP_TEX_COORD_Y (&cs->texture.matrix, height / 2.0f); + + if (cs->opt[CUBE_SCREEN_OPTION_SCALE_IMAGE].value.b) + { + cs->tc[2] = COMP_TEX_COORD_X (&cs->texture.matrix, width); + cs->tc[3] = COMP_TEX_COORD_Y (&cs->texture.matrix, 0.0f); + + cs->tc[4] = COMP_TEX_COORD_X (&cs->texture.matrix, 0.0f); + cs->tc[5] = COMP_TEX_COORD_Y (&cs->texture.matrix, 0.0f); + + cs->tc[6] = COMP_TEX_COORD_X (&cs->texture.matrix, 0.0f); + cs->tc[7] = COMP_TEX_COORD_Y (&cs->texture.matrix, height); + + cs->tc[8] = COMP_TEX_COORD_X (&cs->texture.matrix, width); + cs->tc[9] = COMP_TEX_COORD_Y (&cs->texture.matrix, height); + + cs->tc[10] = COMP_TEX_COORD_X (&cs->texture.matrix, width); + cs->tc[11] = COMP_TEX_COORD_Y (&cs->texture.matrix, 0.0f); + } + else + { + float x1 = width / 2.0f - pw / 2.0f; + float y1 = height / 2.0f - ph / 2.0f; + float x2 = width / 2.0f + pw / 2.0f; + float y2 = height / 2.0f + ph / 2.0f; + + cs->tc[2] = COMP_TEX_COORD_X (&cs->texture.matrix, x2); + cs->tc[3] = COMP_TEX_COORD_Y (&cs->texture.matrix, y1); + + cs->tc[4] = COMP_TEX_COORD_X (&cs->texture.matrix, x1); + cs->tc[5] = COMP_TEX_COORD_Y (&cs->texture.matrix, y1); + + cs->tc[6] = COMP_TEX_COORD_X (&cs->texture.matrix, x1); + cs->tc[7] = COMP_TEX_COORD_Y (&cs->texture.matrix, y2); + + cs->tc[8] = COMP_TEX_COORD_X (&cs->texture.matrix, x2); + cs->tc[9] = COMP_TEX_COORD_Y (&cs->texture.matrix, y2); + + cs->tc[10] = COMP_TEX_COORD_X (&cs->texture.matrix, x2); + cs->tc[11] = COMP_TEX_COORD_Y (&cs->texture.matrix, y1); + } +} + +static Bool +cubeUpdateGeometry (CompScreen *s, + int sides, + Bool invert) +{ + GLfloat radius, distance; + GLfloat *v; + int i, n; + + CUBE_SCREEN (s); + + sides *= cs->nOutput; + + distance = 0.5f / tanf (M_PI / sides); + radius = 0.5f / sinf (M_PI / sides); + + n = (sides + 2) * 2; + + if (cs->nVertices != n) + { + v = realloc (cs->vertices, sizeof (GLfloat) * n * 3); + if (!v) + return FALSE; + + cs->nVertices = n; + cs->vertices = v; + } + else + v = cs->vertices; + + *v++ = 0.0f; + *v++ = 0.5 * invert; + *v++ = 0.0f; + + for (i = 0; i <= sides; i++) + { + *v++ = radius * sinf (i * 2 * M_PI / sides + M_PI / sides); + *v++ = 0.5 * invert; + *v++ = radius * cosf (i * 2 * M_PI / sides + M_PI / sides); + } + + *v++ = 0.0f; + *v++ = -0.5 * invert; + *v++ = 0.0f; + + for (i = sides; i >= 0; i--) + { + *v++ = radius * sinf (i * 2 * M_PI / sides + M_PI / sides); + *v++ = -0.5 * invert; + *v++ = radius * cosf (i * 2 * M_PI / sides + M_PI / sides); + } + + cs->invert = invert; + cs->distance = distance; + + return TRUE; +} + +static void +cubeUpdateOutputs (CompScreen *s) +{ + BoxPtr pBox0, pBox1; + int i, j, k, x; + + CUBE_SCREEN (s); + + k = 0; + + cs->fullscreenOutput = TRUE; + + for (i = 0; i < s->nOutputDev; i++) + { + cs->outputMask[i] = -1; + + /* dimensions must match first output */ + if (s->outputDev[i].width != s->outputDev[0].width || + s->outputDev[i].height != s->outputDev[0].height) + continue; + + pBox0 = &s->outputDev[0].region.extents; + pBox1 = &s->outputDev[i].region.extents; + + /* top and bottom line must match first output */ + if (pBox0->y1 != pBox1->y1 || pBox0->y2 != pBox1->y2) + continue; + + k++; + + for (j = 0; j < s->nOutputDev; j++) + { + pBox0 = &s->outputDev[j].region.extents; + + /* must not intersect other output region */ + if (i != j && pBox0->x2 > pBox1->x1 && pBox0->x1 < pBox1->x2) + { + k--; + break; + } + } + } + + if (cs->moMode == CUBE_MOMODE_ONE) + { + cs->fullscreenOutput = FALSE; + cs->nOutput = 1; + return; + } + + if (cs->moMode == CUBE_MOMODE_MULTI) + { + cs->fullscreenOutput = TRUE; + cs->nOutput = 1; + return; + } + + if (k != s->nOutputDev) + { + cs->fullscreenOutput = FALSE; + cs->nOutput = 1; + return; + } + + /* add output indices from left to right */ + j = 0; + for (;;) + { + x = MAXSHORT; + k = -1; + + for (i = 0; i < s->nOutputDev; i++) + { + if (cs->outputMask[i] != -1) + continue; + + if (s->outputDev[i].region.extents.x1 < x) + { + x = s->outputDev[i].region.extents.x1; + k = i; + } + } + + if (k < 0) + break; + + cs->outputMask[k] = j; + cs->output[j] = k; + + j++; + } + + cs->nOutput = j; + + if (cs->nOutput == 1) + { + if (s->outputDev[0].width != s->width || + s->outputDev[0].height != s->height) + cs->fullscreenOutput = FALSE; + } +} + +static CompOption * +cubeGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + CUBE_SCREEN (screen); + + *count = NUM_OPTIONS (cs); + return cs->opt; +} + +static void +cubeUpdateSkyDomeTexture (CompScreen *screen) +{ + CUBE_SCREEN (screen); + + finiTexture (screen, &cs->sky); + initTexture (screen, &cs->sky); + + if (!cs->opt[CUBE_SCREEN_OPTION_SKYDOME].value.b) + return; + + if (strlen (cs->opt[CUBE_SCREEN_OPTION_SKYDOME_IMG].value.s) == 0 || + !readImageToTexture (screen, + &cs->sky, + cs->opt[CUBE_SCREEN_OPTION_SKYDOME_IMG].value.s, + &cs->skyW, + &cs->skyH)) + { + GLfloat aaafTextureData[128][128][3]; + GLfloat fRStart = (GLfloat) + cs->opt[CUBE_SCREEN_OPTION_SKYDOME_GRAD_START].value.c[0] / 0xffff; + GLfloat fGStart = (GLfloat) + cs->opt[CUBE_SCREEN_OPTION_SKYDOME_GRAD_START].value.c[1] / 0xffff; + GLfloat fBStart = (GLfloat) + cs->opt[CUBE_SCREEN_OPTION_SKYDOME_GRAD_START].value.c[2] / 0xffff; + GLfloat fREnd = (GLfloat) + cs->opt[CUBE_SCREEN_OPTION_SKYDOME_GRAD_END].value.c[0] / 0xffff; + GLfloat fGEnd = (GLfloat) + cs->opt[CUBE_SCREEN_OPTION_SKYDOME_GRAD_END].value.c[1] / 0xffff; + GLfloat fBEnd = (GLfloat) + cs->opt[CUBE_SCREEN_OPTION_SKYDOME_GRAD_END].value.c[2] / 0xffff; + GLfloat fRStep = (fREnd - fRStart) / 128.0f; + GLfloat fGStep = (fGEnd - fGStart) / 128.0f; + GLfloat fBStep = (fBStart - fBEnd) / 128.0f; + GLfloat fR = fRStart; + GLfloat fG = fGStart; + GLfloat fB = fBStart; + + int iX, iY; + + for (iX = 127; iX >= 0; iX--) + { + fR += fRStep; + fG += fGStep; + fB -= fBStep; + + for (iY = 0; iY < 128; iY++) + { + aaafTextureData[iX][iY][0] = fR; + aaafTextureData[iX][iY][1] = fG; + aaafTextureData[iX][iY][2] = fB; + } + } + + cs->sky.target = GL_TEXTURE_2D; + cs->sky.filter = GL_LINEAR; + cs->sky.wrap = GL_CLAMP_TO_EDGE; + + cs->sky.matrix.xx = 1.0 / 128.0; + cs->sky.matrix.yy = -1.0 / 128.0; + cs->sky.matrix.xy = 0; + cs->sky.matrix.yx = 0; + cs->sky.matrix.x0 = 0; + cs->sky.matrix.y0 = 1.0; + + cs->skyW = 128; + cs->skyH = 128; + + glGenTextures (1, &cs->sky.name); + glBindTexture (cs->sky.target, cs->sky.name); + + glTexParameteri (cs->sky.target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri (cs->sky.target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + glTexParameteri (cs->sky.target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri (cs->sky.target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexImage2D (cs->sky.target, + 0, + GL_RGB, + 128, + 128, + 0, + GL_RGB, + GL_FLOAT, + aaafTextureData); + + glBindTexture (cs->sky.target, 0); + } +} + +static Bool +fillCircleTable (GLfloat **ppSint, + GLfloat **ppCost, + const int n) +{ + const GLfloat angle = 2 * M_PI / (GLfloat) ((n == 0) ? 1 : n); + const int size = abs (n); + int i; + + *ppSint = (GLfloat *) calloc (sizeof (GLfloat), size + 1); + *ppCost = (GLfloat *) calloc (sizeof (GLfloat), size + 1); + + if (!(*ppSint) || !(*ppCost)) + { + free (*ppSint); + free (*ppCost); + + return FALSE; + } + + (*ppSint)[0] = 0.0; + (*ppCost)[0] = 1.0; + + for (i = 1; i < size; i++) + { + (*ppSint)[i] = sin (angle * i); + (*ppCost)[i] = cos (angle * i); + } + + (*ppSint)[size] = (*ppSint)[0]; + (*ppCost)[size] = (*ppCost)[0]; + + return TRUE; +} + +static void +cubeUpdateSkyDomeList (CompScreen *s, + GLfloat fRadius) +{ + GLint iSlices = 128; + GLint iStacks = 64; + GLfloat afTexCoordX[4]; + GLfloat afTexCoordY[4]; + GLfloat *sint1; + GLfloat *cost1; + GLfloat *sint2; + GLfloat *cost2; + GLfloat r; + GLfloat x; + GLfloat y; + GLfloat z; + int i; + int j; + int iStacksStart; + int iStacksEnd; + int iSlicesStart; + int iSlicesEnd; + GLfloat fStepX; + GLfloat fStepY; + + CUBE_SCREEN (s); + + if (cs->opt[CUBE_SCREEN_OPTION_SKYDOME_ANIM].value.b) + { + iStacksStart = 11; /* min. 0 */ + iStacksEnd = 53; /* max. 64 */ + iSlicesStart = 0; /* min. 0 */ + iSlicesEnd = 128; /* max. 128 */ + } + else + { + iStacksStart = 21; /* min. 0 */ + iStacksEnd = 43; /* max. 64 */ + iSlicesStart = 21; /* min. 0 */ + iSlicesEnd = 44; /* max. 128 */ + } + + fStepX = 1.0 / (GLfloat) (iSlicesEnd - iSlicesStart); + fStepY = 1.0 / (GLfloat) (iStacksEnd - iStacksStart); + + if (!fillCircleTable (&sint1, &cost1, -iSlices)) + return; + + if (!fillCircleTable (&sint2, &cost2, iStacks * 2)) + { + free (sint1); + free (cost1); + return; + } + + afTexCoordX[0] = 1.0f; + afTexCoordY[0] = 1.0f - fStepY; + afTexCoordX[1] = 1.0f - fStepX; + afTexCoordY[1] = 1.0f - fStepY; + afTexCoordX[2] = 1.0f - fStepX; + afTexCoordY[2] = 1.0f; + afTexCoordX[3] = 1.0f; + afTexCoordY[3] = 1.0f; + + if (!cs->skyListId) + cs->skyListId = glGenLists (1); + + glNewList (cs->skyListId, GL_COMPILE); + + enableTexture (s, &cs->sky, COMP_TEXTURE_FILTER_GOOD); + + glBegin (GL_QUADS); + + for (i = iStacksStart; i < iStacksEnd; i++) + { + afTexCoordX[0] = 1.0f; + afTexCoordX[1] = 1.0f - fStepX; + afTexCoordX[2] = 1.0f - fStepX; + afTexCoordX[3] = 1.0f; + + for (j = iSlicesStart; j < iSlicesEnd; j++) + { + /* bottom-right */ + z = cost2[i]; + r = sint2[i]; + x = cost1[j]; + y = sint1[j]; + + glTexCoord2f ( + COMP_TEX_COORD_X( &cs->sky.matrix, afTexCoordX[3] * cs->skyW), + COMP_TEX_COORD_Y( &cs->sky.matrix, afTexCoordY[3] * cs->skyH)); + glVertex3f (x * r * fRadius, y * r * fRadius, z * fRadius); + + /* top-right */ + z = cost2[i + 1]; + r = sint2[i + 1]; + x = cost1[j]; + y = sint1[j]; + + glTexCoord2f ( + COMP_TEX_COORD_X( &cs->sky.matrix, afTexCoordX[0] * cs->skyW), + COMP_TEX_COORD_Y( &cs->sky.matrix, afTexCoordY[0] * cs->skyH)); + glVertex3f (x * r * fRadius, y * r * fRadius, z * fRadius); + + /* top-left */ + z = cost2[i + 1]; + r = sint2[i + 1]; + x = cost1[j + 1]; + y = sint1[j + 1]; + + glTexCoord2f ( + COMP_TEX_COORD_X( &cs->sky.matrix, afTexCoordX[1] * cs->skyW), + COMP_TEX_COORD_Y( &cs->sky.matrix, afTexCoordY[1] * cs->skyH)); + glVertex3f (x * r * fRadius, y * r * fRadius, z * fRadius); + + /* bottom-left */ + z = cost2[i]; + r = sint2[i]; + x = cost1[j + 1]; + y = sint1[j + 1]; + + glTexCoord2f ( + COMP_TEX_COORD_X( &cs->sky.matrix, afTexCoordX[2] * cs->skyW), + COMP_TEX_COORD_Y( &cs->sky.matrix, afTexCoordY[2] * cs->skyH)); + glVertex3f (x * r * fRadius, y * r * fRadius, z * fRadius); + + afTexCoordX[0] -= fStepX; + afTexCoordX[1] -= fStepX; + afTexCoordX[2] -= fStepX; + afTexCoordX[3] -= fStepX; + } + + afTexCoordY[0] -= fStepY; + afTexCoordY[1] -= fStepY; + afTexCoordY[2] -= fStepY; + afTexCoordY[3] -= fStepY; + } + + glEnd (); + + disableTexture (s, &cs->sky); + + glEndList (); + + free (sint1); + free (cost1); + free (sint2); + free (cost2); +} + +static void +cubeUnloadBackgrounds (CompScreen *s) +{ + CUBE_SCREEN (s); + + if (cs->nBg) + { + int i; + + for (i = 0; i < cs->nBg; i++) + finiTexture (s, &cs->bg[i]); + + free (cs->bg); + + cs->bg = NULL; + cs->nBg = 0; + } +} + +static void +cubeLoadBackground (CompScreen *s, + int n) +{ + CompOptionValue *value; + unsigned int width, height; + int i; + + CUBE_SCREEN (s); + + value = &cs->opt[CUBE_SCREEN_OPTION_BACKGROUNDS].value; + + if (!cs->bg) + { + cs->bg = malloc (sizeof (CompTexture) * value->list.nValue); + if (!cs->bg) + return; + + for (i = 0; i < value->list.nValue; i++) + initTexture (s, &cs->bg[i]); + + cs->nBg = value->list.nValue; + } + + if (cs->bg[n].target) + { + if (readImageToTexture (s, &cs->bg[n], value->list.value[n].s, + &width, &height)) + { + if (cs->fullscreenOutput) + { + cs->bg[n].matrix.xx *= (float) width / s->outputDev[0].width; + cs->bg[n].matrix.yy *= (float) height / s->outputDev[0].height; + } + else + { + cs->bg[n].matrix.xx *= (float) width / s->width; + cs->bg[n].matrix.yy *= (float) height / s->height; + } + } + else + { + cs->bg[n].target = 0; + } + } +} + +static Bool +cubeSetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + CUBE_SCREEN (screen); + + o = compFindOption (cs->opt, NUM_OPTIONS (cs), name, &index); + if (!o) + return FALSE; + + switch (index) { + case CUBE_SCREEN_OPTION_COLOR: + if (compSetColorOption (o, value)) + { + memcpy (cs->color, o->value.c, sizeof (cs->color)); + damageScreen (screen); + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_IN: + if (compSetBoolOption (o, value)) + { + if (cubeUpdateGeometry (screen, screen->hsize, o->value.b ? -1 : 1)) + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_SCALE_IMAGE: + if (compSetBoolOption (o, value)) + { + cubeLoadImg (screen, cs->imgCurFile); + damageScreen (screen); + + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_IMAGES: + if (compSetOptionList (o, value)) + { + cubeLoadImg (screen, cs->imgCurFile); + damageScreen (screen); + + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_SKYDOME: + if (compSetBoolOption (o, value)) + { + cubeUpdateSkyDomeTexture (screen); + cubeUpdateSkyDomeList (screen, 1.0f); + damageScreen (screen); + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_SKYDOME_IMG: + if (compSetStringOption (o, value)) + { + cubeUpdateSkyDomeTexture (screen); + cubeUpdateSkyDomeList (screen, 1.0f); + damageScreen (screen); + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_SKYDOME_ANIM: + if (compSetBoolOption (o, value)) + { + cubeUpdateSkyDomeTexture (screen); + cubeUpdateSkyDomeList (screen, 1.0f); + damageScreen (screen); + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_SKYDOME_GRAD_START: + if (compSetColorOption (o, value)) + { + cubeUpdateSkyDomeTexture (screen); + cubeUpdateSkyDomeList (screen, 1.0f); + damageScreen (screen); + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_SKYDOME_GRAD_END: + if (compSetColorOption (o, value)) + { + cubeUpdateSkyDomeTexture (screen); + cubeUpdateSkyDomeList (screen, 1.0f); + damageScreen (screen); + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_BACKGROUNDS: + if (compSetOptionList (o, value)) + { + cubeUnloadBackgrounds (screen); + damageScreen (screen); + return TRUE; + } + break; + case CUBE_SCREEN_OPTION_MULTIOUTPUT_MODE: + if (compSetIntOption (o, value)) + { + cs->moMode = o->value.i; + cubeUpdateOutputs (screen); + cubeUpdateGeometry (screen, screen->hsize, cs->invert); + damageScreen (screen); + return TRUE; + } + break; + default: + return compSetScreenOption (screen, o, value); + } + + return FALSE; +} + +static int +adjustVelocity (CubeScreen *cs) +{ + float unfold, adjust, amount; + + if (cs->unfolded) + unfold = 1.0f - cs->unfold; + else + unfold = 0.0f - cs->unfold; + + adjust = unfold * 0.02f * cs->opt[CUBE_SCREEN_OPTION_ACCELERATION].value.f; + amount = fabs (unfold); + if (amount < 1.0f) + amount = 1.0f; + else if (amount > 3.0f) + amount = 3.0f; + + cs->unfoldVelocity = (amount * cs->unfoldVelocity + adjust) / + (amount + 2.0f); + + return (fabs (unfold) < 0.002f && fabs (cs->unfoldVelocity) < 0.01f); +} + +static void +cubePreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + int opt; + + CUBE_SCREEN (s); + + if (cs->grabIndex) + { + int steps; + float amount, chunk; + + amount = msSinceLastPaint * 0.2f * + cs->opt[CUBE_SCREEN_OPTION_SPEED].value.f; + steps = amount / (0.5f * cs->opt[CUBE_SCREEN_OPTION_TIMESTEP].value.f); + if (!steps) steps = 1; + chunk = amount / (float) steps; + + while (steps--) + { + cs->unfold += cs->unfoldVelocity * chunk; + if (cs->unfold > 1.0f) + cs->unfold = 1.0f; + + if (adjustVelocity (cs)) + { + if (cs->unfold < 0.5f) + { + if (cs->grabIndex) + { + removeScreenGrab (s, cs->grabIndex, NULL); + cs->grabIndex = 0; + } + + cs->unfold = 0.0f; + } + break; + } + } + } + + memset (cs->cleared, 0, sizeof (Bool) * s->nOutputDev); + memset (cs->capsPainted, 0, sizeof (Bool) * s->nOutputDev); + + /* Transparency handling */ + if (cs->rotationState == RotationManual || + (cs->rotationState == RotationChange && + !cs->opt[CUBE_SCREEN_OPTION_TRANSPARENT_MANUAL_ONLY].value.b)) + { + opt = CUBE_SCREEN_OPTION_ACTIVE_OPACITY; + } + else + { + opt = CUBE_SCREEN_OPTION_INACTIVE_OPACITY; + } + + cs->toOpacity = (cs->opt[opt].value.f / 100.0f) * OPAQUE; + + if (cs->opt[CUBE_SCREEN_OPTION_FADE_TIME].value.f == 0.0f) + cs->desktopOpacity = cs->toOpacity; + else if (cs->desktopOpacity != cs->toOpacity) + { + float steps = (msSinceLastPaint * OPAQUE / 1000.0) / + cs->opt[CUBE_SCREEN_OPTION_FADE_TIME].value.f; + + if (steps < 12) + steps = 12; + + if (cs->toOpacity > cs->desktopOpacity) + { + cs->desktopOpacity += steps; + cs->desktopOpacity = MIN (cs->toOpacity, cs->desktopOpacity); + } + if (cs->toOpacity < cs->desktopOpacity) + { + cs->desktopOpacity -= steps; + cs->desktopOpacity = MAX (cs->toOpacity, cs->desktopOpacity); + } + } + + UNWRAP (cs, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (cs, s, preparePaintScreen, cubePreparePaintScreen); +} + +static Bool +cubePaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + CUBE_SCREEN (s); + + if (cs->grabIndex || cs->desktopOpacity != OPAQUE) + { + mask &= ~PAINT_SCREEN_REGION_MASK; + mask |= PAINT_SCREEN_TRANSFORMED_MASK; + } + + cs->srcOutput = (output->id != ~0) ? output->id : 0; + /* Always use BTF painting on non-transformed screen */ + cs->paintOrder = BTF; + + UNWRAP (cs, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (cs, s, paintOutput, cubePaintOutput); + + return status; +} + +static void +cubeDonePaintScreen (CompScreen *s) +{ + CUBE_SCREEN (s); + + if (cs->grabIndex || cs->desktopOpacity != cs->toOpacity) + damageScreen (s); + + UNWRAP (cs, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (cs, s, donePaintScreen, cubeDonePaintScreen); +} + +static Bool +cubeCheckOrientation (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *outputPtr, + float points[3][3]) +{ + CompTransform sTransform = *transform; + float mvp[16]; + float pntA[4], pntB[4], pntC[4]; + float vecA[3], vecB[3]; + float ortho[3]; + Bool rv = FALSE; + + CUBE_SCREEN (s); + + (*s->applyScreenTransform) (s, sAttrib, outputPtr, &sTransform); + matrixTranslate (&sTransform, cs->outputXOffset, -cs->outputYOffset, 0.0f); + matrixScale (&sTransform, cs->outputXScale, cs->outputYScale, 1.0f); + + MULTM (s->projection, sTransform.m, mvp); + + pntA[0] = points[0][0]; + pntA[1] = points[0][1]; + pntA[2] = points[0][2]; + pntA[3] = 1.0f; + + pntB[0] = points[1][0]; + pntB[1] = points[1][1]; + pntB[2] = points[1][2]; + pntB[3] = 1.0f; + + pntC[0] = points[2][0]; + pntC[1] = points[2][1]; + pntC[2] = points[2][2]; + pntC[3] = 1.0f; + + MULTMV (mvp, pntA); + + if (pntA[3] < 0.0f) + rv = !rv; + + DIVV (pntA); + + MULTMV (mvp, pntB); + + if (pntB[3] < 0.0f) + rv = !rv; + + DIVV (pntB); + + MULTMV (mvp, pntC); + DIVV (pntC); + + vecA[0] = pntC[0] - pntA[0]; + vecA[1] = pntC[1] - pntA[1]; + vecA[2] = pntC[2] - pntA[2]; + + vecB[0] = pntC[0] - pntB[0]; + vecB[1] = pntC[1] - pntB[1]; + vecB[2] = pntC[2] - pntB[2]; + + ortho[0] = vecA[1] * vecB[2] - vecA[2] * vecB[1]; + ortho[1] = vecA[2] * vecB[0] - vecA[0] * vecB[2]; + ortho[2] = vecA[0] * vecB[1] - vecA[1] * vecB[0]; + + if (ortho[2] > 0.0f) + rv = !rv; + + return rv; +} + +static void +cubeMoveViewportAndPaint (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *outputPtr, + unsigned int mask, + PaintOrder paintOrder, + int dx) +{ + Bool ftb; + int output; + + CUBE_SCREEN (s); + + float vPoints[3][3] = { { -0.5, 0.0, cs->invert * cs->distance}, + { 0.0, 0.5, cs->invert * cs->distance}, + { 0.0, 0.0, cs->invert * cs->distance}}; + + ftb = cs->checkOrientation (s, sAttrib, transform, outputPtr, vPoints); + + if ((paintOrder == FTB && !ftb) || + (paintOrder == BTF && ftb)) + return; + + output = (outputPtr->id != ~0) ? outputPtr->id : 0; + + cs->paintOrder = paintOrder; + + if (cs->nOutput > 1) + { + int cubeOutput, dView; + + /* translate to cube output */ + cubeOutput = cs->outputMask[output]; + + /* convert from window movement to viewport movement */ + dView = -dx; + + cubeOutput += dView; + + dView = cubeOutput / cs->nOutput; + cubeOutput = cubeOutput % cs->nOutput; + + if (cubeOutput < 0) + { + cubeOutput += cs->nOutput; + dView--; + } + + /* translate back to ecomp output */ + output = cs->srcOutput = cs->output[cubeOutput]; + + moveScreenViewport (s, -dView, 0, FALSE); + (*s->paintTransformedOutput) (s, sAttrib, transform, + &s->outputDev[output].region, + &s->outputDev[output], mask); + moveScreenViewport (s, dView, 0, FALSE); + } + else + { + moveScreenViewport (s, dx, 0, FALSE); + if (cs->moMode == CUBE_MOMODE_MULTI) + (*s->paintTransformedOutput) (s, sAttrib, transform, + &outputPtr->region, outputPtr, + mask); + else + (*s->paintTransformedOutput) (s, sAttrib, transform, &s->region, + outputPtr, mask); + moveScreenViewport (s, -dx, 0, FALSE); + } +} + +static void +cubePaintAllViewports (CompScreen *s, + ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *outputPtr, + unsigned int mask, + int xMove, + float size, + int hsize, + PaintOrder paintOrder) +{ + ScreenPaintAttrib sa = *sAttrib; + + int i; + int xMoveAdd; + int origXMoveAdd = 0; /* dx for the viewport we start + painting with (back-most). */ + int iFirstSign; /* 1 if we do xMove += i first and + -1 if we do xMove -= i first. */ + + CUBE_SCREEN (s); + + if (cs->invert == 1) + { + /* xMove ==> dx for the viewport which is the + nearest to the viewer in z axis. + xMove +/- hsize / 2 ==> dx for the viewport + which is the farthest to the viewer in z axis. */ + + if ((sa.xRotate < 0.0f && hsize % 2 == 1) || + (sa.xRotate > 0.0f && hsize % 2 == 0)) + { + origXMoveAdd = hsize / 2; + iFirstSign = 1; + } + else + { + origXMoveAdd = -hsize / 2; + iFirstSign = -1; + } + } + else + { + /* xMove is already the dx for farthest viewport. */ + if (sa.xRotate > 0.0f) + iFirstSign = -1; + else + iFirstSign = 1; + } + + for (i = 0; i <= hsize / 2; i++) + { + /* move to the correct viewport (back to front). */ + xMoveAdd = origXMoveAdd; /* move to farthest viewport. */ + xMoveAdd += iFirstSign * i; /* move i more viewports to + the right / left. */ + + /* Needed especially for unfold. + We paint the viewports around xMove viewport. + Adding or subtracting hsize from xMove has no effect on + what viewport we paint, but can make shorter paths. */ + if (xMoveAdd < -hsize / 2) + xMoveAdd += hsize; + else if (xMoveAdd > hsize / 2) + xMoveAdd -= hsize; + + /* Paint the viewport. */ + xMove += xMoveAdd; + + sa.yRotate -= cs->invert * xMoveAdd * 360.0f / size; + cubeMoveViewportAndPaint (s, &sa, transform, outputPtr, mask, + paintOrder, xMove); + sa.yRotate += cs->invert * xMoveAdd * 360.0f / size; + + xMove -= xMoveAdd; + + /* do the same for an equally far viewport. */ + if (i == 0 || i * 2 == hsize) + continue; + + xMoveAdd = origXMoveAdd; /* move to farthest viewport. */ + xMoveAdd -= iFirstSign * i; /* move i more viewports to the + left / right (opposite side + from the one chosen first) */ + + if (xMoveAdd < -hsize / 2) + xMoveAdd += hsize; + else if (xMoveAdd > hsize / 2) + xMoveAdd -= hsize; + + xMove += xMoveAdd; + + sa.yRotate -= cs->invert * xMoveAdd * 360.0f / size; + cubeMoveViewportAndPaint (s, &sa, transform, outputPtr, mask, + paintOrder, xMove); + sa.yRotate += cs->invert * xMoveAdd * 360.0f / size; + + xMove -= xMoveAdd; + } +} + +static void +cubeGetRotation (CompScreen *s, + float *x, + float *v) +{ + *x = 0.0f; + *v = 0.0f; +} + +static void +cubeClearTargetOutput (CompScreen *s, + float xRotate, + float vRotate) +{ + CUBE_SCREEN (s); + + if (cs->sky.name) + { + screenLighting (s, FALSE); + + glPushMatrix (); + + if (cs->opt[CUBE_SCREEN_OPTION_SKYDOME_ANIM].value.b && + cs->grabIndex == 0) + { + glRotatef (xRotate, 0.0f, 1.0f, 0.0f); + glRotatef (vRotate / 5.0f + 90.0f, 1.0f, 0.0f, 0.0f); + } + else + { + glRotatef (90.0f, 1.0f, 0.0f, 0.0f); + } + + glCallList (cs->skyListId); + glPopMatrix (); + } + else + { + clearTargetOutput (s->display, GL_COLOR_BUFFER_BIT); + } +} + +static void +cubePaintTop (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *output, + int size) +{ + ScreenPaintAttrib sa = *sAttrib; + CompTransform sTransform = *transform; + + CUBE_SCREEN (s); + + screenLighting (s, TRUE); + + glColor4us (cs->color[0], cs->color[1], cs->color[2], cs->desktopOpacity); + + glPushMatrix (); + + sa.yRotate += (360.0f / size) * (cs->xRotations + 1); + if (!cs->opt[CUBE_SCREEN_OPTION_ADJUST_IMAGE].value.b) + sa.yRotate -= (360.0f / size) * s->x; + + (*s->applyScreenTransform) (s, &sa, output, &sTransform); + + glLoadMatrixf (sTransform.m); + glTranslatef (cs->outputXOffset, -cs->outputYOffset, 0.0f); + glScalef (cs->outputXScale, cs->outputYScale, 1.0f); + + if (cs->desktopOpacity != OPAQUE) + { + screenTexEnvMode (s, GL_MODULATE); + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + + glVertexPointer (3, GL_FLOAT, 0, cs->vertices); + + if (cs->invert == 1 && size == 4 && cs->texture.name) + { + enableTexture (s, &cs->texture, COMP_TEXTURE_FILTER_GOOD); + glTexCoordPointer (2, GL_FLOAT, 0, cs->tc); + glDrawArrays (GL_TRIANGLE_FAN, 0, cs->nVertices >> 1); + disableTexture (s, &cs->texture); + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + } + else + { + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glDrawArrays (GL_TRIANGLE_FAN, 0, cs->nVertices >> 1); + } + + glPopMatrix (); + + glColor4usv (defaultColor); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + + screenTexEnvMode (s, GL_REPLACE); + glDisable (GL_BLEND); + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); +} + +static void +cubePaintBottom (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *output, + int size) +{ + ScreenPaintAttrib sa = *sAttrib; + CompTransform sTransform = *transform; + + CUBE_SCREEN (s); + + screenLighting (s, TRUE); + + glColor4us (cs->color[0], cs->color[1], cs->color[2], cs->desktopOpacity); + + glPushMatrix (); + + sa.yRotate += (360.0f / size) * (cs->xRotations + 1); + if (!cs->opt[CUBE_SCREEN_OPTION_ADJUST_IMAGE].value.b) + sa.yRotate -= (360.0f / size) * s->x; + + (*s->applyScreenTransform) (s, &sa, output, &sTransform); + + glLoadMatrixf (sTransform.m); + glTranslatef (cs->outputXOffset, -cs->outputYOffset, 0.0f); + glScalef (cs->outputXScale, cs->outputYScale, 1.0f); + + if (cs->desktopOpacity != OPAQUE) + { + screenTexEnvMode (s, GL_MODULATE); + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } + + glVertexPointer (3, GL_FLOAT, 0, cs->vertices); + + glDrawArrays (GL_TRIANGLE_FAN, cs->nVertices >> 1, + cs->nVertices >> 1); + + glPopMatrix (); + + glColor4usv (defaultColor); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + + screenTexEnvMode (s, GL_REPLACE); + glDisable (GL_BLEND); + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); +} + +static void +cubePaintInside (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + CompOutput *output, + int size) +{ +} + +static void +cubePaintTransformedOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *outputPtr, + unsigned int mask) +{ + ScreenPaintAttrib sa = *sAttrib; + float xRotate, vRotate, rRotate; + int hsize, xMove = 0; + float size; + GLenum filter = s->display->textureFilter; + PaintOrder paintOrder; + Bool capsPainted; + Bool wasCulled = FALSE; + Bool topDir, bottomDir, allCaps; + int output = 0; + + CUBE_SCREEN (s); + + output = (outputPtr->id != ~0) ? outputPtr->id : 0; + + if (((outputPtr->id != ~0) && cs->recalcOutput) || + ((outputPtr->id == ~0) && !cs->recalcOutput && cs->nOutput > 1)) + { + cs->recalcOutput = (outputPtr->id == ~0); + cs->nOutput = 1; + cubeUpdateGeometry (s, s->hsize, cs->invert); + } + + hsize = s->hsize * cs->nOutput; + size = hsize; + + wasCulled = glIsEnabled (GL_CULL_FACE); + + if (!cs->fullscreenOutput) + { + cs->outputXScale = (float) s->width / outputPtr->width; + cs->outputYScale = (float) s->height / outputPtr->height; + + cs->outputXOffset = + (s->width / 2.0f - + (outputPtr->region.extents.x1 + + outputPtr->region.extents.x2) / 2.0f) / + (float) outputPtr->width; + + cs->outputYOffset = + (s->height / 2.0f - + (outputPtr->region.extents.y1 + + outputPtr->region.extents.y2) / 2.0f) / + (float) outputPtr->height; + } + else + { + cs->outputXScale = 1.0f; + cs->outputYScale = 1.0f; + cs->outputXOffset = 0.0f; + cs->outputYOffset = 0.0f; + } + + (*cs->getRotation) (s, &xRotate, &vRotate); + + sa.xRotate += xRotate; + sa.vRotate += vRotate; + + if (!cs->cleared[output]) + { + rRotate = xRotate - ((360.0f / hsize) * (s->x * cs->nOutput)); + (*cs->clearTargetOutput) (s, rRotate, vRotate); + cs->cleared[output] = TRUE; + } + + mask &= ~PAINT_SCREEN_CLEAR_MASK; + + UNWRAP (cs, s, paintTransformedOutput); + + if (cs->grabIndex) + { + sa.vRotate = 0.0f; + + size += cs->unfold * 8.0f; + size += powf (cs->unfold, 6) * 64.0; + size += powf (cs->unfold, 16) * 8192.0; + + sa.zTranslate = -cs->invert * (0.5f / tanf (M_PI / size)); + + /* distance we move the camera back when unfolding the cube. + currently hardcoded to 1.5 but it should probably be optional. */ + sa.zCamera -= cs->unfold * 1.5f; + } + else + { + if (vRotate > 100.0f) + sa.vRotate = 100.0f; + else if (vRotate < -100.0f) + sa.vRotate = -100.0f; + else + sa.vRotate = vRotate; + + sa.zTranslate = -cs->invert * cs->distance; + } + + if (sa.xRotate > 0.0f) + cs->xRotations = (int) (hsize * sa.xRotate + 180.0f) / 360.0f; + else + cs->xRotations = (int) (hsize * sa.xRotate - 180.0f) / 360.0f; + + sa.xRotate -= (360.0f * cs->xRotations) / hsize; + sa.xRotate *= cs->invert; + + sa.xRotate = sa.xRotate / size * hsize; + + xMove = cs->xRotations; + + if (cs->grabIndex && cs->opt[CUBE_SCREEN_OPTION_MIPMAP].value.b) + s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; + + if (cs->invert == 1) + { + /* Outside cube - start with FTB faces */ + paintOrder = FTB; + if (wasCulled && cs->desktopOpacity != OPAQUE) + glDisable (GL_CULL_FACE); + } + else + { + /* Inside cube - start with BTF faces */ + paintOrder = BTF; + } + + if (cs->invert == -1 || cs->desktopOpacity != OPAQUE) + cubePaintAllViewports (s, &sa,transform, region, + outputPtr, mask, xMove, + size, hsize, paintOrder); + + if (wasCulled && cs->desktopOpacity != OPAQUE) + glDisable (GL_CULL_FACE); + + capsPainted = cs->capsPainted[output]; + + if (cs->grabIndex == 0 && hsize > 2 && !capsPainted && + (cs->invert != 1 || cs->desktopOpacity != OPAQUE || + sa.vRotate != 0.0f || sa.yTranslate != 0.0f)) + { + static float top[3][3] = { { 0.5, 0.5, 0.0}, + { 0.0, 0.5, -0.5}, + { 0.0, 0.5, 0.0}}; + static float bottom[3][3] = { { 0.5, -0.5, 0.0}, + { 0.0, -0.5, -0.5}, + { 0.0, -0.5, 0.0}}; + topDir = cs->checkOrientation(s, &sa, transform, outputPtr, top); + bottomDir = cs->checkOrientation(s, &sa, transform, outputPtr, bottom); + + cs->capsPainted[output] = TRUE; + + allCaps = cs->desktopOpacity != OPAQUE || cs->invert != 1; + + if (topDir && bottomDir) + { + glNormal3f (0.0f, -1.0f, 0.0f); + if (allCaps) + { + (*cs->paintBottom) (s, &sa, transform, outputPtr, hsize); + glNormal3f (0.0f, 0.0f, -1.0f); + (*cs->paintInside) (s, &sa, transform, outputPtr, hsize); + glNormal3f (0.0f, -1.0f, 0.0f); + } + (*cs->paintTop) (s, &sa, transform, outputPtr, hsize); + } + else if (!topDir && !bottomDir) + { + glNormal3f (0.0f, 1.0f, 0.0f); + if (allCaps) + { + (*cs->paintTop) (s, &sa, transform, outputPtr, hsize); + glNormal3f (0.0f, 0.0f, -1.0f); + (*cs->paintInside) (s, &sa, transform, outputPtr, hsize); + glNormal3f (0.0f, 1.0f, 0.0f); + } + (*cs->paintBottom) (s, &sa, transform, outputPtr, hsize); + } + else if (allCaps) + { + glNormal3f (0.0f, 1.0f, 0.0f); + (*cs->paintTop) (s, &sa, transform, outputPtr, hsize); + glNormal3f (0.0f, -1.0f, 0.0f); + (*cs->paintBottom) (s, &sa, transform, outputPtr, hsize); + glNormal3f (0.0f, 0.0f, -1.0f); + (*cs->paintInside) (s, &sa, transform, outputPtr, hsize); + } + glNormal3f (0.0f, 0.0f, -1.0f); + } + + if (cs->invert == 1) + { + /* Outside cube - continue with BTF faces */ + paintOrder = BTF; + if (wasCulled && cs->desktopOpacity != OPAQUE) + glEnable (GL_CULL_FACE); + } + else + { + /* Inside cube - continue with FTB faces */ + paintOrder = FTB; + } + + if (cs->invert == 1 || cs->desktopOpacity != OPAQUE) + cubePaintAllViewports (s, &sa, transform, region, + outputPtr, mask, xMove, + size, hsize, paintOrder); + + s->display->textureFilter = filter; + + if (wasCulled) + glEnable (GL_CULL_FACE); + + WRAP (cs, s, paintTransformedOutput, cubePaintTransformedOutput); +} + +static void +cubeSetBackgroundOpacity (CompScreen* s) +{ + CUBE_SCREEN (s); + + if (cs->desktopOpacity != OPAQUE) + { + if (s->desktopWindowCount) + { + glColor4us (0, 0, 0, 0); + glEnable (GL_BLEND); + } + else + { + glColor4us (0xffff, 0xffff, 0xffff, cs->desktopOpacity); + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + } + } +} + +static void +cubeUnSetBackgroundOpacity (CompScreen* s) +{ + CUBE_SCREEN (s); + + if (cs->desktopOpacity != OPAQUE) + { + if (s->desktopWindowCount) + { + glColor3usv (defaultColor); + glDisable (GL_BLEND); + } + else + { + glColor3usv (defaultColor); + glDisable (GL_BLEND); + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + screenTexEnvMode(s, GL_REPLACE); + } + } +} + +static void +cubePaintBackground (CompScreen *s, + Region region, + unsigned int mask) +{ + int n; + + CUBE_SCREEN (s); + + cubeSetBackgroundOpacity(s); + + n = cs->opt[CUBE_SCREEN_OPTION_BACKGROUNDS].value.list.nValue; + if (n) + { + CompTexture *bg; + CompMatrix matrix; + BoxPtr pBox = region->rects; + int nBox = region->numRects; + GLfloat *d, *data; + + if (!nBox) + { + cubeUnSetBackgroundOpacity(s); + return; + } + + n = (s->x * cs->nOutput + cs->srcOutput) % n; + + if (s->desktopWindowCount) + { + cubeUnloadBackgrounds (s); + cubeUnSetBackgroundOpacity(s); + return; + } + else + { + if (!cs->nBg || !cs->bg[n].name) + cubeLoadBackground (s, n); + } + + bg = &cs->bg[n]; + + matrix = bg->matrix; + matrix.x0 -= (cs->srcOutput * s->outputDev[0].width) * matrix.xx; + + data = malloc (sizeof (GLfloat) * nBox * 16); + if (!data) + { + cubeUnSetBackgroundOpacity(s); + return; + } + + d = data; + n = nBox; + while (n--) + { + *d++ = COMP_TEX_COORD_X (&matrix, pBox->x1); + *d++ = COMP_TEX_COORD_Y (&matrix, pBox->y2); + + *d++ = pBox->x1; + *d++ = pBox->y2; + + *d++ = COMP_TEX_COORD_X (&matrix, pBox->x2); + *d++ = COMP_TEX_COORD_Y (&matrix, pBox->y2); + + *d++ = pBox->x2; + *d++ = pBox->y2; + + *d++ = COMP_TEX_COORD_X (&matrix, pBox->x2); + *d++ = COMP_TEX_COORD_Y (&matrix, pBox->y1); + + *d++ = pBox->x2; + *d++ = pBox->y1; + + *d++ = COMP_TEX_COORD_X (&matrix, pBox->x1); + *d++ = COMP_TEX_COORD_Y (&matrix, pBox->y1); + + *d++ = pBox->x1; + *d++ = pBox->y1; + + pBox++; + } + + glTexCoordPointer (2, GL_FLOAT, sizeof (GLfloat) * 4, data); + glVertexPointer (2, GL_FLOAT, sizeof (GLfloat) * 4, data + 2); + + if (bg->name) + { + enableTexture (s, bg, COMP_TEXTURE_FILTER_GOOD); + glDrawArrays (GL_QUADS, 0, nBox * 4); + disableTexture (s, bg); + } + else + { + glColor4us (0, 0, 0, 0); + glDrawArrays (GL_QUADS, 0, nBox * 4); + glColor4usv (defaultColor); + } + + free (data); + } + else + { + UNWRAP (cs, s, paintBackground); + (*s->paintBackground) (s, region, mask); + WRAP (cs, s, paintBackground, cubePaintBackground); + } + + cubeUnSetBackgroundOpacity(s); +} + +static Bool +cubePaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + Bool status; + CompScreen* s = w->screen; + CUBE_SCREEN(s); + + WindowPaintAttrib wa = *attrib; + + if (w->type & CompWindowTypeDesktopMask) + wa.opacity = cs->desktopOpacity; + + UNWRAP (cs, s, paintWindow); + status = (*s->paintWindow) (w, &wa, transform, region, mask); + WRAP (cs, s, paintWindow, cubePaintWindow); + + return status; +} + +static void +cubeInitWindowWalker (CompScreen *s, CompWalker* walker) +{ + CUBE_SCREEN (s); + + UNWRAP (cs, s, initWindowWalker); + (*s->initWindowWalker) (s, walker); + WRAP (cs, s, initWindowWalker, cubeInitWindowWalker); + + if (cs->paintOrder == FTB) + { + WalkInitProc tmpInit = walker->first; + WalkStepProc tmpStep = walker->next; + + walker->first = walker->last; + walker->last = tmpInit; + + walker->next = walker->prev; + walker->prev = tmpStep; + } +} + +static void +cubeApplyScreenTransform (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + CompOutput *output, + CompTransform *transform) +{ + CUBE_SCREEN (s); + + matrixTranslate (transform, cs->outputXOffset, -cs->outputYOffset, 0.0f); + matrixScale (transform, cs->outputXScale, cs->outputYScale, 1.0f); + + UNWRAP (cs, s, applyScreenTransform); + (*s->applyScreenTransform) (s, sAttrib, output, transform); + WRAP (cs, s, applyScreenTransform, cubeApplyScreenTransform); + + matrixScale (transform, 1.0f / cs->outputXScale, + 1.0f / cs->outputYScale, 1.0f); + matrixTranslate (transform, -cs->outputXOffset, cs->outputYOffset, 0.0f); +} + +static Bool +cubeUnfold (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + CUBE_SCREEN (s); + + if (s->hsize * cs->nOutput < 4) + return FALSE; + + if (otherScreenGrabExist (s, "rotate", "switcher", "cube", 0)) + return FALSE; + + if (!cs->grabIndex) + cs->grabIndex = pushScreenGrab (s, s->invisibleCursor, "cube"); + + if (cs->grabIndex) + { + cs->unfolded = TRUE; + damageScreen (s); + } + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + } + + return FALSE; +} + +static Bool +cubeFold (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + CUBE_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (cs->grabIndex) + { + cs->unfolded = FALSE; + damageScreen (s); + } + } + + action->state &= ~(CompActionStateTermButton | CompActionStateTermKey); + + return FALSE; +} + +static Bool +cubeNextImage (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + int imgNFile; + + CUBE_SCREEN (s); + + imgNFile = cs->opt[CUBE_SCREEN_OPTION_IMAGES].value.list.nValue; + if (imgNFile) + { + cubeLoadImg (s, (cs->imgCurFile + 1) % imgNFile); + damageScreen (s); + } + } + + return FALSE; +} + +static Bool +cubePrevImage (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + int imgNFile; + + CUBE_SCREEN (s); + + imgNFile = cs->opt[CUBE_SCREEN_OPTION_IMAGES].value.list.nValue; + if (imgNFile) + { + cubeLoadImg (s, (cs->imgCurFile - 1 + imgNFile) % imgNFile); + damageScreen (s); + } + } + + return FALSE; +} + +static void +cubeOutputChangeNotify (CompScreen *s) +{ + CUBE_SCREEN (s); + + cubeUpdateOutputs (s); + cubeUnloadBackgrounds (s); + cubeUpdateGeometry (s, s->hsize, cs->invert); + + if (cs->opt[CUBE_SCREEN_OPTION_IMAGES].value.list.nValue) + cubeLoadImg (s, cs->imgCurFile); + + UNWRAP (cs, s, outputChangeNotify); + (*s->outputChangeNotify) (s); + WRAP (cs, s, outputChangeNotify, cubeOutputChangeNotify); +} + +static Bool +cubeSetGlobalScreenOption (CompScreen *s, + char *name, + CompOptionValue *value) +{ + Bool status; + + CUBE_SCREEN (s); + + UNWRAP (cs, s, setScreenOption); + status = (*s->setScreenOption) (s, name, value); + WRAP (cs, s, setScreenOption, cubeSetGlobalScreenOption); + + if (status && strcmp (name, "hsize") == 0) + { + cubeUpdateGeometry (s, s->hsize, cs->invert); + cubeUnloadBackgrounds (s); + } + + return status; +} + +static CompOption * +cubeGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + CUBE_DISPLAY (display); + + *count = NUM_OPTIONS (cd); + return cd->opt; +} + +static Bool +cubeSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + CUBE_DISPLAY (display); + + o = compFindOption (cd->opt, NUM_OPTIONS (cd), name, &index); + if (!o) + return FALSE; + + switch (index) { + case CUBE_DISPLAY_OPTION_ABI: + case CUBE_DISPLAY_OPTION_INDEX: + break; + default: + return compSetDisplayOption (display, o, value); + } + + return FALSE; +} + +static const CompMetadataOptionInfo cubeDisplayOptionInfo[] = { + { "abi", "int", 0, 0, 0 }, + { "index", "int", 0, 0, 0 }, + { "unfold", "action", 0, cubeUnfold, cubeFold }, + { "next_slide", "action", "false", + cubeNextImage, 0 }, + { "prev_slide", "action", "false", + cubePrevImage, 0 } +}; + +static Bool +cubeInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + CubeDisplay *cd; + + cd = malloc (sizeof (CubeDisplay)); + if (!cd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &cubeMetadata, + cubeDisplayOptionInfo, + cd->opt, + CUBE_DISPLAY_OPTION_NUM)) + { + free (cd); + return FALSE; + } + + cd->opt[CUBE_DISPLAY_OPTION_ABI].value.i = CUBE_ABIVERSION; + cd->opt[CUBE_DISPLAY_OPTION_INDEX].value.i = cubeDisplayPrivateIndex; + + cd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (cd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, cd->opt, CUBE_DISPLAY_OPTION_NUM); + free (cd); + return FALSE; + } + + d->privates[cubeDisplayPrivateIndex].ptr = cd; + + return TRUE; +} + +static void +cubeFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + CUBE_DISPLAY (d); + + freeScreenPrivateIndex (d, cd->screenPrivateIndex); + + compFiniDisplayOptions (d, cd->opt, CUBE_DISPLAY_OPTION_NUM); + + free (cd); +} + +static const CompMetadataOptionInfo cubeScreenOptionInfo[] = { + { "color", "color", 0, 0, 0 }, + { "in", "bool", 0, 0, 0 }, + { "scale_image", "bool", 0, 0, 0 }, + { "images", "list", "string", 0, 0 }, + { "skydome", "bool", 0, 0, 0 }, + { "skydome_image", "string", 0, 0, 0 }, + { "skydome_animated", "bool", 0, 0, 0 }, + { "skydome_gradient_start_color", "color", 0, 0, 0 }, + { "skydome_gradient_end_color", "color", 0, 0, 0 }, + { "acceleration", "float", "1.0", 0, 0 }, + { "speed", "float", "0.1", 0, 0 }, + { "timestep", "float", "0.1", 0, 0 }, + { "mipmap", "bool", 0, 0, 0 }, + { "backgrounds", "list", "string", 0, 0 }, + { "adjust_image", "bool", 0, 0, 0 }, + { "active_opacity", "float", "0.0100.0", 0, 0 }, + { "inactive_opacity", "float", "0.0100.0", 0, 0 }, + { "fade_time", "float", "0.0", 0, 0 }, + { "transparent_manual_only", "bool", 0, 0, 0 }, + { "multioutput_mode", "int", "02", 0, 0 } +}; + +static Bool +cubeInitScreen (CompPlugin *p, + CompScreen *s) +{ + CubeScreen *cs; + + CUBE_DISPLAY (s->display); + + cs = malloc (sizeof (CubeScreen)); + if (!cs) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &cubeMetadata, + cubeScreenOptionInfo, + cs->opt, + CUBE_SCREEN_OPTION_NUM)) + { + free (cs); + return FALSE; + } + + cs->pw = 0; + cs->ph = 0; + + cs->invert = 1; + + cs->tc[0] = cs->tc[1] = cs->tc[2] = cs->tc[3] = 0.0f; + cs->tc[4] = cs->tc[5] = cs->tc[6] = cs->tc[7] = 0.0f; + + memcpy (cs->color, cs->opt[CUBE_SCREEN_OPTION_COLOR].value.c, + sizeof (cs->color)); + + cs->nVertices = 0; + cs->vertices = NULL; + + cs->grabIndex = 0; + + cs->srcOutput = 0; + + cs->skyListId = 0; + + cs->getRotation = cubeGetRotation; + cs->clearTargetOutput = cubeClearTargetOutput; + cs->paintTop = cubePaintTop; + cs->paintBottom = cubePaintBottom; + cs->paintInside = cubePaintInside; + cs->checkOrientation = cubeCheckOrientation; + + s->privates[cd->screenPrivateIndex].ptr = cs; + + initTexture (s, &cs->texture); + initTexture (s, &cs->sky); + + cs->imgCurFile = 0; + + cs->unfolded = FALSE; + cs->unfold = 0.0f; + + cs->unfoldVelocity = 0.0f; + + cs->fullscreenOutput = TRUE; + + cs->bg = NULL; + cs->nBg = 0; + + cs->outputXScale = 1.0f; + cs->outputYScale = 1.0f; + cs->outputXOffset = 0.0f; + cs->outputYOffset = 0.0f; + + cs->rotationState = RotationNone; + + cs->desktopOpacity = OPAQUE; + + cs->moMode = cs->opt[CUBE_SCREEN_OPTION_MULTIOUTPUT_MODE].value.i; + + cs->recalcOutput = FALSE; + + memset (cs->cleared, 0, sizeof (cs->cleared)); + + cubeUpdateOutputs (s); + + if (!cubeUpdateGeometry (s, s->hsize, cs->invert)) + { + compFiniScreenOptions (s, cs->opt, CUBE_SCREEN_OPTION_NUM); + free (cs); + return FALSE; + } + + if (cs->opt[CUBE_SCREEN_OPTION_IMAGES].value.list.nValue) + { + cubeLoadImg (s, cs->imgCurFile); + damageScreen (s); + } + + WRAP (cs, s, preparePaintScreen, cubePreparePaintScreen); + WRAP (cs, s, donePaintScreen, cubeDonePaintScreen); + WRAP (cs, s, paintOutput, cubePaintOutput); + WRAP (cs, s, paintTransformedOutput, cubePaintTransformedOutput); + WRAP (cs, s, paintBackground, cubePaintBackground); + WRAP (cs, s, paintWindow, cubePaintWindow); + WRAP (cs, s, applyScreenTransform, cubeApplyScreenTransform); + WRAP (cs, s, setScreenOption, cubeSetGlobalScreenOption); + WRAP (cs, s, outputChangeNotify, cubeOutputChangeNotify); + WRAP (cs, s, initWindowWalker, cubeInitWindowWalker); + + return TRUE; +} + +static void +cubeFiniScreen (CompPlugin *p, + CompScreen *s) +{ + CUBE_SCREEN (s); + + if (cs->vertices) + free (cs->vertices); + + if (cs->skyListId) + glDeleteLists (cs->skyListId, 1); + + UNWRAP (cs, s, preparePaintScreen); + UNWRAP (cs, s, donePaintScreen); + UNWRAP (cs, s, paintOutput); + UNWRAP (cs, s, paintTransformedOutput); + UNWRAP (cs, s, paintBackground); + UNWRAP (cs, s, paintWindow); + UNWRAP (cs, s, applyScreenTransform); + UNWRAP (cs, s, setScreenOption); + UNWRAP (cs, s, outputChangeNotify); + UNWRAP (cs, s, initWindowWalker); + + finiTexture (s, &cs->texture); + finiTexture (s, &cs->sky); + + cubeUnloadBackgrounds (s); + + compFiniScreenOptions (s, cs->opt, CUBE_SCREEN_OPTION_NUM); + + free (cs); +} + +static Bool +cubeInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&cubeMetadata, + p->vTable->name, + cubeDisplayOptionInfo, + CUBE_DISPLAY_OPTION_NUM, + cubeScreenOptionInfo, + CUBE_SCREEN_OPTION_NUM)) + return FALSE; + + cubeDisplayPrivateIndex = allocateDisplayPrivateIndex (); + if (cubeDisplayPrivateIndex < 0) + { + compFiniMetadata (&cubeMetadata); + return FALSE; + } + + compAddMetadataFromFile (&cubeMetadata, p->vTable->name); + + return TRUE; +} + +static void +cubeFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (cubeDisplayPrivateIndex); + compFiniMetadata (&cubeMetadata); +} + +static int +cubeGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +cubeGetMetadata (CompPlugin *plugin) +{ + return &cubeMetadata; +} + +CompPluginVTable cubeVTable = { + "cube", + cubeGetVersion, + cubeGetMetadata, + cubeInit, + cubeFini, + cubeInitDisplay, + cubeFiniDisplay, + cubeInitScreen, + cubeFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + cubeGetDisplayOptions, + cubeSetDisplayOption, + cubeGetScreenOptions, + cubeSetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &cubeVTable; +} diff --git a/plugins/dbus.c b/plugins/dbus.c new file mode 100644 index 0000000..fa4f5f8 --- /dev/null +++ b/plugins/dbus.c @@ -0,0 +1,2741 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include + +#define DBUS_API_SUBJECT_TO_CHANGE +#include +#include + +#include + +static CompMetadata dbusMetadata; + +#define ECOMP_DBUS_SERVICE_NAME "org.freedesktop.ecomp" +#define ECOMP_DBUS_INTERFACE "org.freedesktop.ecomp" +#define ECOMP_DBUS_ROOT_PATH "/org/freedesktop/ecomp" + +#define ECOMP_DBUS_ACTIVATE_MEMBER_NAME "activate" +#define ECOMP_DBUS_DEACTIVATE_MEMBER_NAME "deactivate" +#define ECOMP_DBUS_SET_MEMBER_NAME "set" +#define ECOMP_DBUS_GET_MEMBER_NAME "get" +#define ECOMP_DBUS_GET_METADATA_MEMBER_NAME "getMetadata" +#define ECOMP_DBUS_LIST_MEMBER_NAME "list" +#define ECOMP_DBUS_GET_PLUGINS_MEMBER_NAME "getPlugins" +#define ECOMP_DBUS_GET_PLUGIN_METADATA_MEMBER_NAME "getPluginMetadata" + +#define ECOMP_DBUS_CHANGED_SIGNAL_NAME "changed" +#define ECOMP_DBUS_PLUGINS_CHANGED_SIGNAL_NAME "pluginsChanged" + +#define DBUS_FILE_WATCH_CURRENT 0 +#define DBUS_FILE_WATCH_PLUGIN 1 +#define DBUS_FILE_WATCH_HOME 2 +#define DBUS_FILE_WATCH_NUM 3 + +typedef enum { + DbusActionIndexKeyBinding = 0, + DbusActionIndexButtonBinding = 1, + DbusActionIndexBell = 2, + DbusActionIndexEdge = 3, + DbusActionIndexEdgeButton = 4 +} DbusActionIndex; + +static int displayPrivateIndex; + +typedef struct _DbusDisplay { + int screenPrivateIndex; + + DBusConnection *connection; + CompWatchFdHandle watchFdHandle; + + CompFileWatchHandle fileWatch[DBUS_FILE_WATCH_NUM]; + + SetDisplayOptionProc setDisplayOption; + SetDisplayOptionForPluginProc setDisplayOptionForPlugin; + InitPluginForDisplayProc initPluginForDisplay; +} DbusDisplay; + +typedef struct _DbusScreen { + SetScreenOptionProc setScreenOption; + SetScreenOptionForPluginProc setScreenOptionForPlugin; + InitPluginForScreenProc initPluginForScreen; +} DbusScreen; + +static DBusHandlerResult dbusHandleMessage (DBusConnection *, + DBusMessage *, + void *); + +static DBusObjectPathVTable dbusMessagesVTable = { + NULL, dbusHandleMessage, /* handler function */ + NULL, NULL, NULL, NULL +}; + +#define GET_DBUS_DISPLAY(d) \ + ((DbusDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define DBUS_DISPLAY(d) \ + DbusDisplay *dd = GET_DBUS_DISPLAY (d) + +#define GET_DBUS_SCREEN(s, dd) \ + ((DbusScreen *) (s)->privates[(dd)->screenPrivateIndex].ptr) + +#define DBUS_SCREEN(s) \ + DbusScreen *ds = GET_DBUS_SCREEN (s, GET_DBUS_DISPLAY (s->display)) + + +static CompOption * +dbusGetOptionsFromPath (CompDisplay *d, + char **path, + CompScreen **returnScreen, + CompMetadata **returnMetadata, + int *nOption) +{ + CompScreen *s = NULL; + + if (strcmp (path[1], "allscreens")) + { + int screenNum; + + if (sscanf (path[1], "screen%d", &screenNum) != 1) + return FALSE; + + for (s = d->screens; s; s = s->next) + if (s->screenNum == screenNum) + break; + + if (!s) + return NULL; + } + + if (returnScreen) + *returnScreen = s; + + if (strcmp (path[0], "core") == 0) + { + if (returnMetadata) + *returnMetadata = &coreMetadata; + + if (s) + return compGetScreenOptions (s, nOption); + else + return compGetDisplayOptions (d, nOption); + } + else + { + CompPlugin *p; + + for (p = getPlugins (); p; p = p->next) + if (strcmp (p->vTable->name, path[0]) == 0) + break; + + if (returnMetadata) + { + if (p && p->vTable->getMetadata) + *returnMetadata = (*p->vTable->getMetadata) (p); + else + *returnMetadata = NULL; + } + + if (!p) + return NULL; + + if (s) + { + if (p->vTable->getScreenOptions) + return (*p->vTable->getScreenOptions) (p, s, nOption); + } + else + { + if (p->vTable->getDisplayOptions) + return (*p->vTable->getDisplayOptions) (p, d, nOption); + } + } + + return NULL; +} + +/* functions to create introspection XML */ +static void +dbusIntrospectStartInterface (xmlTextWriterPtr writer) +{ + xmlTextWriterStartElement (writer, BAD_CAST "interface"); + xmlTextWriterWriteAttribute (writer, BAD_CAST "name", + BAD_CAST ECOMP_DBUS_SERVICE_NAME); +} + +static void +dbusIntrospectEndInterface (xmlTextWriterPtr writer) +{ + xmlTextWriterEndElement (writer); +} + +static void +dbusIntrospectAddArgument (xmlTextWriterPtr writer, + char *type, + char *direction) +{ + xmlTextWriterStartElement (writer, BAD_CAST "arg"); + xmlTextWriterWriteAttribute (writer, BAD_CAST "type", BAD_CAST type); + xmlTextWriterWriteAttribute (writer, BAD_CAST "direction", + BAD_CAST direction); + xmlTextWriterEndElement (writer); +} + +static void +dbusIntrospectAddMethod (xmlTextWriterPtr writer, + char *name, + int nArgs, + ...) +{ + va_list var_args; + char *type, *direction; + + xmlTextWriterStartElement (writer, BAD_CAST "method"); + xmlTextWriterWriteAttribute (writer, BAD_CAST "name", BAD_CAST name); + + va_start (var_args, nArgs); + while (nArgs) + { + type = va_arg (var_args, char *); + direction = va_arg (var_args, char *); + dbusIntrospectAddArgument (writer, type, direction); + nArgs--; + } + va_end (var_args); + + xmlTextWriterEndElement (writer); +} + +static void +dbusIntrospectAddSignal (xmlTextWriterPtr writer, + char *name, + int nArgs, + ...) +{ + va_list var_args; + char *type; + + xmlTextWriterStartElement (writer, BAD_CAST "signal"); + xmlTextWriterWriteAttribute (writer, BAD_CAST "name", BAD_CAST name); + + va_start (var_args, nArgs); + while (nArgs) + { + type = va_arg (var_args, char *); + dbusIntrospectAddArgument (writer, type, "out"); + nArgs--; + } + va_end (var_args); + + xmlTextWriterEndElement (writer); +} + +static void +dbusIntrospectAddNode (xmlTextWriterPtr writer, + char *name) +{ + xmlTextWriterStartElement (writer, BAD_CAST "node"); + xmlTextWriterWriteAttribute (writer, BAD_CAST "name", BAD_CAST name); + xmlTextWriterEndElement (writer); +} + +static void +dbusIntrospectStartRoot (xmlTextWriterPtr writer) +{ + xmlTextWriterStartElement (writer, BAD_CAST "node"); + + xmlTextWriterStartElement (writer, BAD_CAST "interface"); + xmlTextWriterWriteAttribute (writer, BAD_CAST "name", + BAD_CAST "org.freedesktop.DBus.Introspectable"); + + dbusIntrospectAddMethod (writer, "Introspect", 1, "s", "out"); + + xmlTextWriterEndElement (writer); +} + +static void +dbusIntrospectEndRoot (xmlTextWriterPtr writer) +{ + xmlTextWriterEndDocument (writer); +} + +/* introspection handlers */ +static Bool +dbusHandleRootIntrospectMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d) +{ + char **plugins, **pluginName; + int nPlugins; + + xmlTextWriterPtr writer; + xmlBufferPtr buf; + + buf = xmlBufferCreate (); + writer = xmlNewTextWriterMemory (buf, 0); + + dbusIntrospectStartRoot (writer); + dbusIntrospectStartInterface (writer); + + dbusIntrospectAddMethod (writer, ECOMP_DBUS_GET_PLUGINS_MEMBER_NAME, 1, + "as", "out"); + dbusIntrospectAddMethod (writer, + ECOMP_DBUS_GET_PLUGIN_METADATA_MEMBER_NAME, 7, + "s", "in", "s", "out", "s", "out", "s", "out", + "b", "out", "as", "out", "as", "out"); + dbusIntrospectAddSignal (writer, + ECOMP_DBUS_PLUGINS_CHANGED_SIGNAL_NAME, 0); + + dbusIntrospectEndInterface (writer); + + plugins = availablePlugins (&nPlugins); + if (plugins) + { + pluginName = plugins; + + while (nPlugins--) + { + dbusIntrospectAddNode (writer, *pluginName); + free (*pluginName); + pluginName++; + } + + free (plugins); + } + else + { + xmlFreeTextWriter (writer); + xmlBufferFree (buf); + return FALSE; + } + + dbusIntrospectAddNode (writer, "core"); + + dbusIntrospectEndRoot (writer); + + xmlFreeTextWriter (writer); + + DBusMessage *reply = dbus_message_new_method_return (message); + if (!reply) + { + xmlBufferFree (buf); + return FALSE; + } + + DBusMessageIter args; + dbus_message_iter_init_append (reply, &args); + + if (!dbus_message_iter_append_basic (&args, DBUS_TYPE_STRING, + &buf->content)) + { + xmlBufferFree (buf); + return FALSE; + } + + xmlBufferFree (buf); + + if (!dbus_connection_send (connection, reply, NULL)) + { + return FALSE; + } + + dbus_connection_flush (connection); + dbus_message_unref (reply); + + return TRUE; +} + +static Bool +dbusHandlePluginIntrospectMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d, + char **path) +{ + CompScreen *s; + char screenName[256]; + + xmlTextWriterPtr writer; + xmlBufferPtr buf; + + buf = xmlBufferCreate (); + writer = xmlNewTextWriterMemory (buf, 0); + + dbusIntrospectStartRoot (writer); + + dbusIntrospectAddNode (writer, "allscreens"); + + for (s = d->screens; s; s = s->next) + { + sprintf (screenName, "screen%d", s->screenNum); + dbusIntrospectAddNode (writer, screenName); + } + + dbusIntrospectEndRoot (writer); + + xmlFreeTextWriter (writer); + + DBusMessage *reply = dbus_message_new_method_return (message); + if (!reply) + { + xmlBufferFree (buf); + return FALSE; + } + + DBusMessageIter args; + dbus_message_iter_init_append (reply, &args); + + if (!dbus_message_iter_append_basic (&args, DBUS_TYPE_STRING, + &buf->content)) + { + xmlBufferFree (buf); + return FALSE; + } + + xmlBufferFree (buf); + + if (!dbus_connection_send (connection, reply, NULL)) + { + return FALSE; + } + + dbus_connection_flush (connection); + dbus_message_unref (reply); + + return TRUE; +} + +static Bool +dbusHandleScreenIntrospectMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d, + char **path) +{ + CompOption *option = NULL; + int nOptions; + + xmlTextWriterPtr writer; + xmlBufferPtr buf; + + buf = xmlBufferCreate (); + writer = xmlNewTextWriterMemory (buf, 0); + + dbusIntrospectStartRoot (writer); + dbusIntrospectStartInterface (writer); + + dbusIntrospectAddMethod (writer, ECOMP_DBUS_LIST_MEMBER_NAME, 1, + "as", "out"); + + dbusIntrospectEndInterface (writer); + + option = dbusGetOptionsFromPath (d, path, NULL, NULL, &nOptions); + if (option) + { + while (nOptions--) + { + dbusIntrospectAddNode (writer, option->name); + option++; + } + } + + dbusIntrospectEndRoot (writer); + + xmlFreeTextWriter (writer); + + DBusMessage *reply = dbus_message_new_method_return (message); + if (!reply) + { + xmlBufferFree (buf); + return FALSE; + } + + DBusMessageIter args; + dbus_message_iter_init_append (reply, &args); + + if (!dbus_message_iter_append_basic (&args, DBUS_TYPE_STRING, + &buf->content)) + { + xmlBufferFree (buf); + return FALSE; + } + + xmlBufferFree (buf); + + if (!dbus_connection_send (connection, reply, NULL)) + { + return FALSE; + } + + dbus_connection_flush (connection); + dbus_message_unref (reply); + + return TRUE; +} + +static Bool +dbusHandleOptionIntrospectMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d, + char **path) +{ + CompOption *option; + int nOptions; + CompOptionType restrictionType; + Bool getHandled, metadataHandled; + char type[3]; + xmlTextWriterPtr writer; + xmlBufferPtr buf; + Bool isList = FALSE; + + buf = xmlBufferCreate (); + writer = xmlNewTextWriterMemory (buf, 0); + + dbusIntrospectStartRoot (writer); + dbusIntrospectStartInterface (writer); + + option = dbusGetOptionsFromPath (d, path, NULL, NULL, &nOptions); + if (!option) + { + xmlFreeTextWriter (writer); + xmlBufferFree (buf); + return FALSE; + } + + while (nOptions--) + { + if (strcmp (option->name, path[2]) == 0) + { + restrictionType = option->type; + if (restrictionType == CompOptionTypeList) + { + restrictionType = option->value.list.type; + isList = TRUE; + } + + getHandled = metadataHandled = FALSE; + switch (restrictionType) + { + case CompOptionTypeInt: + if (isList) + strcpy (type, "ai"); + else + strcpy (type, "i"); + + dbusIntrospectAddMethod (writer, + ECOMP_DBUS_GET_METADATA_MEMBER_NAME, + 6, "s", "out", "s", "out", + "b", "out", "s", "out", + "i", "out", "i", "out"); + metadataHandled = TRUE; + break; + case CompOptionTypeFloat: + if (isList) + strcpy (type, "ad"); + else + strcpy (type, "d"); + + dbusIntrospectAddMethod (writer, + ECOMP_DBUS_GET_METADATA_MEMBER_NAME, + 7, "s", "out", "s", "out", + "b", "out", "s", "out", + "d", "out", "d", "out", + "d", "out"); + metadataHandled = TRUE; + break; + case CompOptionTypeString: + if (isList) + strcpy (type, "as"); + else + strcpy (type, "s"); + + dbusIntrospectAddMethod (writer, + ECOMP_DBUS_GET_METADATA_MEMBER_NAME, + 5, "s", "out", "s", "out", + "b", "out", "s", "out", + "as", "out"); + metadataHandled = TRUE; + break; + case CompOptionTypeBool: + if (isList) + strcpy (type, "ab"); + else + strcpy (type, "b"); + + break; + case CompOptionTypeAction: + dbusIntrospectAddMethod (writer, ECOMP_DBUS_GET_MEMBER_NAME, + 5, "s", "out", "s", "out", + "b", "out", "s", "out", "i", "out"); + dbusIntrospectAddMethod (writer, ECOMP_DBUS_SET_MEMBER_NAME, + 5, "s", "in", "s", "in", + "b", "in", "s", "in", "i", "in"); + dbusIntrospectAddSignal (writer, + ECOMP_DBUS_CHANGED_SIGNAL_NAME, 5, + "s", "out", "s", "out", "b", "out", + "s", "out", "i", "out"); + getHandled = TRUE; + break; + case CompOptionTypeColor: + case CompOptionTypeMatch: + if (isList) + strcpy (type, "as"); + else + strcpy (type, "s"); + + default: + break; + } + + if (!getHandled) + { + dbusIntrospectAddMethod (writer, + ECOMP_DBUS_GET_MEMBER_NAME, 1, + type, "out"); + dbusIntrospectAddMethod (writer, + ECOMP_DBUS_SET_MEMBER_NAME, 1, + type, "in"); + dbusIntrospectAddSignal (writer, + ECOMP_DBUS_CHANGED_SIGNAL_NAME, 1, + type, "out"); + } + + if (!metadataHandled) + dbusIntrospectAddMethod (writer, + ECOMP_DBUS_GET_METADATA_MEMBER_NAME, + 4, "s", "out", "s", "out", + "b", "out", "s", "out"); + break; + } + + option++; + } + + dbusIntrospectEndInterface (writer); + dbusIntrospectEndRoot (writer); + + xmlFreeTextWriter (writer); + + DBusMessage *reply = dbus_message_new_method_return (message); + if (!reply) + { + xmlBufferFree (buf); + return FALSE; + } + + DBusMessageIter args; + dbus_message_iter_init_append (reply, &args); + + if (!dbus_message_iter_append_basic (&args, DBUS_TYPE_STRING, + &buf->content)) + { + xmlBufferFree (buf); + return FALSE; + } + + xmlBufferFree (buf); + + if (!dbus_connection_send (connection, reply, NULL)) + { + return FALSE; + } + + dbus_connection_flush (connection); + dbus_message_unref (reply); + + return TRUE; +} + + +/* + * Activate can be used to trigger any existing action. Arguments + * should be a pair of { string, bool|int32|double|string }. + * + * Example (rotate to face 1): + * + * dbus-send --type=method_call --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/rotate/allscreens/rotate_to \ + * org.freedesktop.ecomp.activate \ + * string:'root' \ + * int32:`xwininfo -root | grep id: | awk '{ print $4 }'` \ + * string:'face' int32:1 + * + * + * You can also call the terminate function + * + * Example unfold and refold cube: + * dbus-send --type=method_call --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/cube/allscreens/unfold \ + * org.freedesktop.ecomp.activate \ + * string:'root' \ + * int32:`xwininfo -root | grep id: | awk '{ print $4 }'` + * + * dbus-send --type=method_call --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/cube/allscreens/unfold \ + * org.freedesktop.ecomp.deactivate \ + * string:'root' \ + * int32:`xwininfo -root | grep id: | awk '{ print $4 }'` + * + */ +static Bool +dbusHandleActionMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d, + char **path, + Bool activate) +{ + CompOption *option; + int nOption; + struct timeval tv; + gettimeofday (&tv, 0); + + option = dbusGetOptionsFromPath (d, path, NULL, NULL, &nOption); + if (!option) + return FALSE; + + while (nOption--) + { + if (strcmp (option->name, path[2]) == 0) + { + CompOption *argument = NULL; + int i, nArgument = 0; + DBusMessageIter iter; + + if (option->type != CompOptionTypeAction) + return FALSE; + + if (activate) + { + if (!option->value.action.initiate) + return FALSE; + } + else + { + if (!option->value.action.terminate) + return FALSE; + } + + if (dbus_message_iter_init (message, &iter)) + { + CompOptionValue value; + CompOptionType type = 0; + char *name; + Bool hasValue; + + do + { + name = NULL; + hasValue = FALSE; + + while (!name) + { + switch (dbus_message_iter_get_arg_type (&iter)) { + case DBUS_TYPE_STRING: + dbus_message_iter_get_basic (&iter, &name); + default: + break; + } + + if (!dbus_message_iter_next (&iter)) + break; + } + + while (!hasValue) + { + double tmp; + + switch (dbus_message_iter_get_arg_type (&iter)) { + case DBUS_TYPE_BOOLEAN: + hasValue = TRUE; + type = CompOptionTypeBool; + + dbus_message_iter_get_basic (&iter, &value.b); + break; + case DBUS_TYPE_INT32: + hasValue = TRUE; + type = CompOptionTypeInt; + + dbus_message_iter_get_basic (&iter, &value.i); + + break; + case DBUS_TYPE_DOUBLE: + hasValue = TRUE; + type = CompOptionTypeFloat; + + dbus_message_iter_get_basic (&iter, &tmp); + + value.f = tmp; + break; + case DBUS_TYPE_STRING: + hasValue = TRUE; + + /* XXX: use match option type if name is "match" */ + if (name && strcmp (name, "match") == 0) + { + char *s; + + type = CompOptionTypeMatch; + + dbus_message_iter_get_basic (&iter, &s); + + matchInit (&value.match); + matchAddFromString (&value.match, s); + } + else + { + type = CompOptionTypeString; + + dbus_message_iter_get_basic (&iter, &value.s); + } + default: + break; + } + + if (!dbus_message_iter_next (&iter)) + break; + } + + if (name && hasValue) + { + CompOption *a; + + a = realloc (argument, + sizeof (CompOption) * (nArgument + 1)); + if (a) + { + argument = a; + + argument[nArgument].name = name; + argument[nArgument].type = type; + argument[nArgument].value = value; + + nArgument++; + } + } + } while (dbus_message_iter_has_next (&iter)); + } + + if (activate) + { + (*option->value.action.initiate) (d, + &option->value.action, + 0, + argument, nArgument); + } + else + { + (*option->value.action.terminate) (d, + &option->value.action, + 0, + argument, nArgument); + } + + for (i = 0; i < nArgument; i++) + if (argument[i].type == CompOptionTypeMatch) + matchFini (&argument[i].value.match); + + if (argument) + free (argument); + + if (!dbus_message_get_no_reply (message)) + { + DBusMessage *reply; + + reply = dbus_message_new_method_return (message); + + dbus_connection_send (connection, reply, NULL); + dbus_connection_flush (connection); + + dbus_message_unref (reply); + } + + return TRUE; + } + + option++; + } + + return FALSE; +} + +static Bool +dbusTryGetValueWithType (DBusMessageIter *iter, + int type, + void *value) +{ + if (dbus_message_iter_get_arg_type (iter) == type) + { + dbus_message_iter_get_basic (iter, value); + + return TRUE; + } + + return FALSE; +} + +static Bool +dbusGetOptionValue (DBusMessageIter *iter, + CompOptionType type, + CompOptionValue *value) +{ + double d; + char *s; + + switch (type) { + case CompOptionTypeBool: + return dbusTryGetValueWithType (iter, + DBUS_TYPE_BOOLEAN, + &value->b); + break; + case CompOptionTypeInt: + return dbusTryGetValueWithType (iter, + DBUS_TYPE_INT32, + &value->i); + break; + case CompOptionTypeFloat: + if (dbusTryGetValueWithType (iter, + DBUS_TYPE_DOUBLE, + &d)) + { + value->f = d; + return TRUE; + } + break; + case CompOptionTypeString: + return dbusTryGetValueWithType (iter, + DBUS_TYPE_STRING, + &value->s); + break; + case CompOptionTypeColor: + if (dbusTryGetValueWithType (iter, + DBUS_TYPE_STRING, + &s)) + { + if (stringToColor (s, value->c)) + return TRUE; + } + break; + case CompOptionTypeMatch: + if (dbusTryGetValueWithType (iter, + DBUS_TYPE_STRING, + &s)) + { + matchAddFromString (&value->match, s); + return TRUE; + } + + default: + break; + } + + return FALSE; +} + +/* + * 'Set' can be used to change any existing option. Argument + * should be the new value for the option. + * + * Example (will set command0 option to firefox): + * + * dbus-send --type=method_call --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/core/allscreens/command0 \ + * org.freedesktop.ecomp.set \ + * string:'firefox' + * + * List and action options can be changed using more than one + * argument. + * + * Example (will set active_plugins option to + * [dbus,decoration,place]): + * + * dbus-send --type=method_call --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/core/allscreens/active_plugins \ + * org.freedesktop.ecomp.set \ + * array:string:'dbus','decoration','place' + * + * Example (will set run_command0 option to trigger on key + * binding Return and not trigger on any button + * bindings, screen edges or bell notifications): + * + * dbus-send --type=method_call --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/core/allscreens/run_command0 \ + * org.freedesktop.ecomp.set \ + * string:'Return' \ + * string:'Disabled' \ + * boolean:'false' \ + * string:'' \ + * int32:'0' + */ +static Bool +dbusHandleSetOptionMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d, + char **path) +{ + CompScreen *s; + CompOption *option; + int nOption; + + option = dbusGetOptionsFromPath (d, path, &s, NULL, &nOption); + if (!option) + return FALSE; + + while (nOption--) + { + if (strcmp (option->name, path[2]) == 0) + { + DBusMessageIter iter, aiter; + CompOptionValue value, tmpValue; + Bool status = FALSE; + + memset (&value, 0, sizeof (value)); + + if (option->type == CompOptionTypeList) + { + if (dbus_message_iter_init (message, &iter) && + dbus_message_iter_get_arg_type (&iter) == DBUS_TYPE_ARRAY) + { + dbus_message_iter_recurse (&iter, &aiter); + + do + { + if (dbusGetOptionValue (&aiter, + option->value.list.type, + &tmpValue)) + { + CompOptionValue *v; + + v = realloc (value.list.value, + sizeof (CompOptionValue) * + (value.list.nValue + 1)); + if (v) + { + v[value.list.nValue++] = tmpValue; + value.list.value = v; + } + } + } while (dbus_message_iter_next (&aiter)); + + status = TRUE; + } + } + else if (dbus_message_iter_init (message, &iter)) + { + DbusActionIndex actionIndex = DbusActionIndexKeyBinding; + + do + { + if (option->type == CompOptionTypeAction) + { + CompAction *a = &value.action; + char *str; + + status = TRUE; + + switch (actionIndex) { + case DbusActionIndexKeyBinding: + if (dbusTryGetValueWithType (&iter, + DBUS_TYPE_STRING, + &str)) + { + if (stringToKeyBinding (d, str, &a->key)) + a->type |= CompBindingTypeKey; + } + break; + case DbusActionIndexButtonBinding: + if (dbusTryGetValueWithType (&iter, + DBUS_TYPE_STRING, + &str)) + { + if (stringToButtonBinding (d, str, &a->button)) + a->type |= CompBindingTypeButton; + } + break; + case DbusActionIndexBell: + dbusTryGetValueWithType (&iter, + DBUS_TYPE_BOOLEAN, + &a->bell); + break; + case DbusActionIndexEdge: + if (dbusTryGetValueWithType (&iter, + DBUS_TYPE_STRING, + &str)) + { + status |= TRUE; + + while (strlen (str)) + { + char *edge; + int len, i = SCREEN_EDGE_NUM; + + for (;;) + { + edge = edgeToString (--i); + len = strlen (edge); + + if (strncasecmp (str, edge, len) == 0) + { + a->edgeMask |= 1 << i; + + str += len; + break; + } + + if (!i) + { + str++; + break; + } + } + } + } + break; + case DbusActionIndexEdgeButton: + if (dbusTryGetValueWithType (&iter, + DBUS_TYPE_INT32, + &a->edgeButton)) + { + if (a->edgeButton) + a->type |= CompBindingTypeEdgeButton; + } + default: + break; + } + + actionIndex++; + } + else if (dbusGetOptionValue (&iter, option->type, &value)) + { + status |= TRUE; + } + } while (dbus_message_iter_next (&iter)); + } + + if (status) + { + if (s) + { + if (strcmp (path[0], "core")) + (*s->setScreenOptionForPlugin) (s, + path[0], + option->name, + &value); + else + (*s->setScreenOption) (s, option->name, &value); + } + else + { + if (strcmp (path[0], "core")) + (*d->setDisplayOptionForPlugin) (d, + path[0], + option->name, + &value); + else + (*d->setDisplayOption) (d, option->name, &value); + } + + if (!dbus_message_get_no_reply (message)) + { + DBusMessage *reply; + + reply = dbus_message_new_method_return (message); + + dbus_connection_send (connection, reply, NULL); + dbus_connection_flush (connection); + + dbus_message_unref (reply); + } + + return TRUE; + } + else + { + return FALSE; + } + } + + option++; + } + + return FALSE; +} + +static void +dbusAppendSimpleOptionValue (DBusMessage *message, + CompOptionType type, + CompOptionValue *value) +{ + double d; + char *s; + + switch (type) { + case CompOptionTypeBool: + dbus_message_append_args (message, + DBUS_TYPE_BOOLEAN, &value->b, + DBUS_TYPE_INVALID); + break; + case CompOptionTypeInt: + dbus_message_append_args (message, + DBUS_TYPE_INT32, &value->i, + DBUS_TYPE_INVALID); + break; + case CompOptionTypeFloat: + d = value->f; + + dbus_message_append_args (message, + DBUS_TYPE_DOUBLE, &d, + DBUS_TYPE_INVALID); + break; + case CompOptionTypeString: + dbus_message_append_args (message, + DBUS_TYPE_STRING, &value->s, + DBUS_TYPE_INVALID); + break; + case CompOptionTypeColor: + s = colorToString (value->c); + if (s) + { + dbus_message_append_args (message, + DBUS_TYPE_STRING, &s, + DBUS_TYPE_INVALID); + free (s); + } + break; + case CompOptionTypeMatch: + s = matchToString (&value->match); + if (s) + { + dbus_message_append_args (message, + DBUS_TYPE_STRING, &s, + DBUS_TYPE_INVALID); + free (s); + } + default: + break; + } +} + +static void +dbusAppendOptionValue (CompDisplay *d, + DBusMessage *message, + CompOptionType type, + CompOptionValue *value) +{ + int i; + char *s; + + if (type == CompOptionTypeList) + { + DBusMessageIter iter; + DBusMessageIter listIter; + char sig[2]; + + switch (value->list.type) + { + case CompOptionTypeInt: + sig[0] = DBUS_TYPE_INT32; + break; + case CompOptionTypeFloat: + sig[0] = DBUS_TYPE_DOUBLE; + break; + case CompOptionTypeBool: + sig[0] = DBUS_TYPE_BOOLEAN; + break; + default: + sig[0] = DBUS_TYPE_STRING; + break; + } + sig[1] = '\0'; + + dbus_message_iter_init_append (message, &iter); + dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, + sig, &listIter); + + for (i = 0; i < value->list.nValue; i++) + { + switch (value->list.type) + { + case CompOptionTypeInt: + dbus_message_iter_append_basic (&listIter, + sig[0], + &value->list.value[i].i); + break; + case CompOptionTypeFloat: + dbus_message_iter_append_basic (&listIter, + sig[0], + &value->list.value[i].f); + break; + case CompOptionTypeBool: + dbus_message_iter_append_basic (&listIter, + sig[0], + &value->list.value[i].b); + break; + case CompOptionTypeString: + dbus_message_iter_append_basic (&listIter, + sig[0], + &value->list.value[i].s); + break; + case CompOptionTypeMatch: + s = matchToString (&value->list.value[i].match); + if (s) + { + dbus_message_iter_append_basic (&listIter, sig[0], &s); + free (s); + } + break; + case CompOptionTypeColor: + s = colorToString (value->list.value[i].c); + if (s) + { + dbus_message_iter_append_basic (&listIter, sig[0], &s); + free (s); + } + break; + default: + break; + } + } + + dbus_message_iter_close_container (&iter, &listIter); + } + else if (type == CompOptionTypeAction) + { + CompAction *a = &value->action; + char *key = "Disabled"; + char *button = "Disabled"; + char *edge = ""; + char *keyValue = NULL; + char *buttonValue = NULL; + char *edgeValue = NULL; + int edgeButton = 0; + + if (a->type & CompBindingTypeKey) + { + keyValue = keyBindingToString (d, &a->key); + if (keyValue) + key = keyValue; + } + + if (a->type & CompBindingTypeButton) + { + buttonValue = buttonBindingToString (d, &a->button); + if (buttonValue) + button = buttonValue; + } + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (a->edgeMask & (1 << i)) + { + if (strlen (edge)) + { + char *e; + + e = malloc (strlen (edge) + strlen (edgeToString (i)) + 2); + if (e) + { + sprintf (e, "%s,%s", edge, edgeToString (i)); + if (edgeValue) + free (edgeValue); + + edge = edgeValue = e; + } + } + else + { + edge = edgeToString (i); + } + } + } + + if (a->type & CompBindingTypeEdgeButton) + edgeButton = a->edgeButton; + + dbus_message_append_args (message, + DBUS_TYPE_STRING, &key, + DBUS_TYPE_STRING, &button, + DBUS_TYPE_BOOLEAN, &a->bell, + DBUS_TYPE_STRING, &edge, + DBUS_TYPE_INT32, &edgeButton, + DBUS_TYPE_INVALID); + + if (keyValue) + free (keyValue); + + if (buttonValue) + free (buttonValue); + + if (edgeValue) + free (edgeValue); + } + else + { + dbusAppendSimpleOptionValue (message, type, value); + } + +} + +/* + * 'Get' can be used to retrieve the value of any existing option. + * + * Example (will retrieve the current value of command0 option): + * + * dbus-send --print-reply --type=method_call \ + * --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/core/allscreens/command0 \ + * org.freedesktop.ecomp.get + */ +static Bool +dbusHandleGetOptionMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d, + char **path) +{ + CompScreen *s; + CompOption *option; + int nOption = 0; + DBusMessage *reply = NULL; + + option = dbusGetOptionsFromPath (d, path, &s, NULL, &nOption); + + while (nOption--) + { + if (strcmp (option->name, path[2]) == 0) + { + reply = dbus_message_new_method_return (message); + dbusAppendOptionValue (d, reply, option->type, &option->value); + break; + } + + option++; + } + + if (!reply) + reply = dbus_message_new_error (message, + DBUS_ERROR_FAILED, + "No such option"); + + dbus_connection_send (connection, reply, NULL); + dbus_connection_flush (connection); + + dbus_message_unref (reply); + + return TRUE; +} + +/* + * 'List' can be used to retrieve a list of available options. + * + * Example: + * + * dbus-send --print-reply --type=method_call \ + * --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/core/allscreens \ + * org.freedesktop.ecomp.list + */ +static Bool +dbusHandleListMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d, + char **path) +{ + CompScreen *s; + CompOption *option; + int nOption = 0; + DBusMessage *reply; + + option = dbusGetOptionsFromPath (d, path, &s, NULL, &nOption); + + reply = dbus_message_new_method_return (message); + + while (nOption--) + { + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &option->name, + DBUS_TYPE_INVALID); + option++; + } + + dbus_connection_send (connection, reply, NULL); + dbus_connection_flush (connection); + + dbus_message_unref (reply); + + return TRUE; +} + +/* + * 'GetMetadata' can be used to retrieve metadata for an option. + * + * Example: + * + * dbus-send --print-reply --type=method_call \ + * --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp/core/allscreens/run_command0 \ + * org.freedesktop.ecomp.getMetadata + */ +static Bool +dbusHandleGetMetadataMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d, + char **path) +{ + CompScreen *s; + CompOption *option; + int nOption = 0; + DBusMessage *reply = NULL; + CompMetadata *m; + + option = dbusGetOptionsFromPath (d, path, &s, &m, &nOption); + + while (nOption--) + { + if (strcmp (option->name, path[2]) == 0) + { + CompOptionType restrictionType = option->type; + char *type; + char *shortDesc = NULL; + char *longDesc = NULL; + const char *blankStr = ""; + + reply = dbus_message_new_method_return (message); + + type = optionTypeToString (option->type); + + if (m) + { + if (s) + { + shortDesc = compGetShortScreenOptionDescription (m, option); + longDesc = compGetLongScreenOptionDescription (m, option); + } + else + { + shortDesc = + compGetShortDisplayOptionDescription (m, option); + longDesc = compGetLongDisplayOptionDescription (m, option); + } + } + + if (shortDesc) + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &shortDesc, + DBUS_TYPE_INVALID); + else + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &blankStr, + DBUS_TYPE_INVALID); + + if (longDesc) + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &longDesc, + DBUS_TYPE_INVALID); + else + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &blankStr, + DBUS_TYPE_INVALID); + + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &type, + DBUS_TYPE_INVALID); + + if (shortDesc) + free (shortDesc); + if (longDesc) + free (longDesc); + + if (restrictionType == CompOptionTypeList) + { + type = optionTypeToString (option->value.list.type); + restrictionType = option->value.list.type; + + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &type, + DBUS_TYPE_INVALID); + } + + switch (restrictionType) { + case CompOptionTypeInt: + dbus_message_append_args (reply, + DBUS_TYPE_INT32, &option->rest.i.min, + DBUS_TYPE_INT32, &option->rest.i.max, + DBUS_TYPE_INVALID); + break; + case CompOptionTypeFloat: { + double min, max, precision; + + min = option->rest.f.min; + max = option->rest.f.max; + precision = option->rest.f.precision; + + dbus_message_append_args (reply, + DBUS_TYPE_DOUBLE, &min, + DBUS_TYPE_DOUBLE, &max, + DBUS_TYPE_DOUBLE, &precision, + DBUS_TYPE_INVALID); + } break; + default: + break; + } + break; + } + + option++; + } + + if (!reply) + reply = dbus_message_new_error (message, + DBUS_ERROR_FAILED, + "No such option"); + + dbus_connection_send (connection, reply, NULL); + dbus_connection_flush (connection); + + dbus_message_unref (reply); + + return TRUE; +} + +/* + * 'GetPlugins' can be used to retrieve a list of available plugins. There's + * no guarantee that a plugin in this list can actually be loaded. + * + * Example: + * + * dbus-send --print-reply --type=method_call \ + * --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp \ + * org.freedesktop.ecomp.getPlugins + */ +static Bool +dbusHandleGetPluginsMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d) +{ + DBusMessage *reply; + char **plugins, **p; + int n; + + reply = dbus_message_new_method_return (message); + + plugins = availablePlugins (&n); + if (plugins) + { + p = plugins; + + while (n--) + { + dbus_message_append_args (reply, + DBUS_TYPE_STRING, p, + DBUS_TYPE_INVALID); + free (*p); + + p++; + } + + free (plugins); + } + + dbus_connection_send (connection, reply, NULL); + dbus_connection_flush (connection); + + dbus_message_unref (reply); + + return TRUE; +} + +/* + * 'GetPluginMetadata' can be used to retrieve metadata for a plugin. + * + * Example: + * + * dbus-send --print-reply --type=method_call \ + * --dest=org.freedesktop.ecomp \ + * /org/freedesktop/ecomp \ + * org.freedesktop.ecomp.getPluginMetadata \ + * string:'png' + */ +static Bool +dbusHandleGetPluginMetadataMessage (DBusConnection *connection, + DBusMessage *message, + CompDisplay *d) +{ + DBusMessage *reply; + DBusMessageIter iter; + char *name; + CompPlugin *p, *loadedPlugin = NULL; + + if (!dbus_message_iter_init (message, &iter)) + return FALSE; + + if (!dbusTryGetValueWithType (&iter, + DBUS_TYPE_STRING, + &name)) + return FALSE; + + p = findActivePlugin (name); + if (!p) + p = loadedPlugin = loadPlugin (name); + + if (p) + { + dbus_bool_t supportedABI; + int version; + char *shortDesc = NULL; + char *longDesc = NULL; + const char *blankStr = ""; + + version = (*p->vTable->getVersion) (p, ABIVERSION); + supportedABI = (version == ABIVERSION) ? TRUE : FALSE; + + reply = dbus_message_new_method_return (message); + + if (supportedABI && loadedPlugin) + (*p->vTable->init) (p); + + if (supportedABI && p->vTable->getMetadata) + { + CompMetadata *m; + + m = (*p->vTable->getMetadata) (p); + if (m) + { + shortDesc = compGetShortPluginDescription (m); + longDesc = compGetLongPluginDescription (m); + } + } + + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &p->vTable->name, + DBUS_TYPE_INVALID); + + if (shortDesc) + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &shortDesc, + DBUS_TYPE_INVALID); + else + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &blankStr, + DBUS_TYPE_INVALID); + + if (longDesc) + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &longDesc, + DBUS_TYPE_INVALID); + else + dbus_message_append_args (reply, + DBUS_TYPE_STRING, &blankStr, + DBUS_TYPE_INVALID); + + if (shortDesc) + free (shortDesc); + if (longDesc) + free (longDesc); + + dbus_message_append_args (reply, + DBUS_TYPE_BOOLEAN, &supportedABI, + DBUS_TYPE_INVALID); + + if (supportedABI && loadedPlugin) + (*p->vTable->fini) (p); + } + else + { + char *str; + + str = malloc (strlen (name) + 256); + if (!str) + return FALSE; + + sprintf (str, "Plugin '%s' could not be loaded", name); + + reply = dbus_message_new_error (message, + DBUS_ERROR_FAILED, + str); + + free (str); + } + + if (loadedPlugin) + unloadPlugin (loadedPlugin); + + dbus_connection_send (connection, reply, NULL); + dbus_connection_flush (connection); + + dbus_message_unref (reply); + + return TRUE; +} + +static DBusHandlerResult +dbusHandleMessage (DBusConnection *connection, + DBusMessage *message, + void *userData) +{ + CompDisplay *d = (CompDisplay *) userData; + Bool status = FALSE; + char **path; + + if (!dbus_message_get_path_decomposed (message, &path)) + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + + if (!path[0] || !path[1] || !path[2]) + { + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + + /* root messages */ + if (!path[3]) + { + if (dbus_message_is_method_call (message, DBUS_INTERFACE_INTROSPECTABLE, + "Introspect")) + { + if (dbusHandleRootIntrospectMessage (connection, message, d)) + { + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_HANDLED; + } + } + else if (dbus_message_is_method_call (message, ECOMP_DBUS_INTERFACE, + ECOMP_DBUS_GET_PLUGIN_METADATA_MEMBER_NAME)) + { + if (dbusHandleGetPluginMetadataMessage (connection, message, d)) + { + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_HANDLED; + } + } + else if (dbus_message_is_method_call (message, ECOMP_DBUS_INTERFACE, + ECOMP_DBUS_GET_PLUGINS_MEMBER_NAME)) + { + if (dbusHandleGetPluginsMessage (connection, message, d)) + { + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_HANDLED; + } + } + + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + /* plugin message */ + else if (!path[4]) + { + if (dbus_message_is_method_call (message, DBUS_INTERFACE_INTROSPECTABLE, + "Introspect")) + { + if (dbusHandlePluginIntrospectMessage (connection, message, d, + &path[3])) + { + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_HANDLED; + } + } + + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + /* screen message */ + else if (!path[5]) + { + if (dbus_message_is_method_call (message, DBUS_INTERFACE_INTROSPECTABLE, + "Introspect")) + { + if (dbusHandleScreenIntrospectMessage (connection, message, d, + &path[3])) + { + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_HANDLED; + } + } + else if (dbus_message_is_method_call (message, ECOMP_DBUS_INTERFACE, + ECOMP_DBUS_LIST_MEMBER_NAME)) + { + if (dbusHandleListMessage (connection, message, d, &path[3])) + { + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_HANDLED; + } + } + + dbus_free_string_array (path); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + /* option message */ + if (dbus_message_is_method_call (message, DBUS_INTERFACE_INTROSPECTABLE, + "Introspect")) + { + status = dbusHandleOptionIntrospectMessage (connection, message, d, + &path[3]); + } + else if (dbus_message_is_method_call (message, ECOMP_DBUS_INTERFACE, + ECOMP_DBUS_ACTIVATE_MEMBER_NAME)) + { + status = dbusHandleActionMessage (connection, message, d, &path[3], + TRUE); + } + else if (dbus_message_is_method_call (message, ECOMP_DBUS_INTERFACE, + ECOMP_DBUS_DEACTIVATE_MEMBER_NAME)) + { + status = dbusHandleActionMessage (connection, message, d, &path[3], + FALSE); + } + else if (dbus_message_is_method_call (message, ECOMP_DBUS_INTERFACE, + ECOMP_DBUS_SET_MEMBER_NAME)) + { + status = dbusHandleSetOptionMessage (connection, message, d, &path[3]); + } + else if (dbus_message_is_method_call (message, ECOMP_DBUS_INTERFACE, + ECOMP_DBUS_GET_MEMBER_NAME)) + { + status = dbusHandleGetOptionMessage (connection, message, d, &path[3]); + } + else if (dbus_message_is_method_call (message, ECOMP_DBUS_INTERFACE, + ECOMP_DBUS_GET_METADATA_MEMBER_NAME)) + { + status = dbusHandleGetMetadataMessage (connection, message, d, + &path[3]); + } + + dbus_free_string_array (path); + + if (status) + return DBUS_HANDLER_RESULT_HANDLED; + + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; +} + +static Bool +dbusProcessMessages (void *data) +{ + CompDisplay *d = (CompDisplay *) data; + DBusDispatchStatus status; + + DBUS_DISPLAY (d); + + do + { + dbus_connection_read_write_dispatch (dd->connection, 0); + status = dbus_connection_get_dispatch_status (dd->connection); + } + while (status == DBUS_DISPATCH_DATA_REMAINS); + + return TRUE; +} + +static void +dbusSendChangeSignalForOption (CompDisplay *d, + CompOptionType type, + CompOptionValue *value, + char *path) +{ + DBusMessage *signal; + + DBUS_DISPLAY (d); + + signal = dbus_message_new_signal (path, + ECOMP_DBUS_SERVICE_NAME, + ECOMP_DBUS_CHANGED_SIGNAL_NAME); + + dbusAppendOptionValue (d, signal, type, value); + + dbus_connection_send (dd->connection, signal, NULL); + dbus_connection_flush (dd->connection); + + dbus_message_unref (signal); +} + +static void +dbusSendChangeSignalForDisplayOption (CompDisplay *d, + CompOption *o, + char *plugin) +{ + char path[256]; + + if (o) + { + sprintf (path, "%s/%s/allscreens/%s", ECOMP_DBUS_ROOT_PATH, + plugin, o->name); + dbusSendChangeSignalForOption (d, o->type, &o->value, path); + } +} + +static void +dbusSendChangeSignalForScreenOption (CompScreen *s, + CompOption *o, + char *plugin) +{ + char path[256]; + + if (o) + { + sprintf (path, "%s/%s/screens%d/%s", ECOMP_DBUS_ROOT_PATH, + plugin, s->screenNum, o->name); + dbusSendChangeSignalForOption (s->display, o->type, &o->value, path); + } +} + +static Bool +dbusGetPathDecomposed (char *data, + char ***path) +{ + char **retval; + char *temp; + char *token; + int nComponents; + int i; + + nComponents = 0; + if (strlen (data) > 1) + { + i = 0; + while (i < strlen (data)) + { + if (data[i] == '/') + nComponents += 1; + ++i; + } + } + + retval = malloc (sizeof (char*) * (nComponents + 1)); + + if (nComponents == 0) + { + retval[0] = malloc (sizeof (char)); + retval[0][0] = '\0'; + *path = retval; + return TRUE; + } + + temp = strdup (data); + + i = 0; + token = strtok (temp, "/"); + while (token != NULL) + { + retval[i] = strdup (token); + token = strtok (NULL, "/"); + i++; + } + retval[i] = malloc (sizeof (char)); + retval[i][0] = '\0'; + + free (temp); + + *path = retval; + return TRUE; +} + +/* dbus registration */ + +static Bool +dbusRegisterOptions (DBusConnection *connection, + CompDisplay *d, + char *screenPath) +{ + CompOption *option = NULL; + int nOptions; + char objectPath[256]; + char **path; + + dbusGetPathDecomposed (screenPath, &path); + + option = dbusGetOptionsFromPath (d, &path[3], NULL, NULL, &nOptions); + + if (!option) { + free(path); + return FALSE; + } + + while (nOptions--) + { + snprintf (objectPath, 256, "%s/%s", screenPath, option->name); + + dbus_connection_register_object_path (connection, objectPath, + &dbusMessagesVTable, d); + option++; + } + + free(path); + + return TRUE; +} + +static Bool +dbusUnregisterOptions (DBusConnection *connection, + CompDisplay *d, + char *screenPath) +{ + CompOption *option = NULL; + int nOptions; + char objectPath[256]; + char **path; + + dbusGetPathDecomposed (screenPath, &path); + + option = dbusGetOptionsFromPath (d, &path[3], NULL, NULL, &nOptions); + + free (path); + + if (!option) + return FALSE; + + while (nOptions--) + { + snprintf (objectPath, 256, "%s/%s", screenPath, option->name); + + dbus_connection_unregister_object_path (connection, objectPath); + option++; + } + + return TRUE; +} + +static void +dbusRegisterPluginForDisplay (DBusConnection *connection, + CompDisplay *d, + char *pluginName) +{ + char objectPath[256]; + + /* register plugin root path */ + snprintf (objectPath, 256, "%s/%s", ECOMP_DBUS_ROOT_PATH, pluginName); + dbus_connection_register_object_path (connection, objectPath, + &dbusMessagesVTable, d); + + /* register plugin/screen path */ + snprintf (objectPath, 256, "%s/%s/%s", ECOMP_DBUS_ROOT_PATH, + pluginName, "allscreens"); + dbus_connection_register_object_path (connection, objectPath, + &dbusMessagesVTable, d); +} + +static void +dbusRegisterPluginForScreen (DBusConnection *connection, + CompScreen *s, + char *pluginName) +{ + char objectPath[256]; + + /* register plugin/screen path */ + snprintf (objectPath, 256, "%s/%s/screen%d", ECOMP_DBUS_ROOT_PATH, + pluginName, s->screenNum); + dbus_connection_register_object_path (connection, objectPath, + &dbusMessagesVTable, s->display); +} + +static void +dbusRegisterPluginsForDisplay (DBusConnection *connection, + CompDisplay *d) +{ + CompListValue *pl; + int nPlugins; + char path[256]; + + pl = &d->opt[COMP_DISPLAY_OPTION_ACTIVE_PLUGINS].value.list; + + nPlugins = pl->nValue; + + while (nPlugins--) + { + snprintf (path, 256, "%s/%s/allscreens", ECOMP_DBUS_ROOT_PATH, + pl->value[nPlugins].s); + dbusRegisterPluginForDisplay (connection, d, pl->value[nPlugins].s); + dbusRegisterOptions (connection, d, path); + } +} + +static void +dbusRegisterPluginsForScreen (DBusConnection *connection, + CompScreen *s) +{ + CompListValue *pl; + int nPlugins; + char path[256]; + + pl = &s->display->opt[COMP_DISPLAY_OPTION_ACTIVE_PLUGINS].value.list; + + nPlugins = pl->nValue; + + while (nPlugins--) + { + snprintf (path, 256, "%s/%s/screen%d", ECOMP_DBUS_ROOT_PATH, + pl->value[nPlugins].s, + s->screenNum); + dbusRegisterPluginForScreen (connection, s, pl->value[nPlugins].s); + dbusRegisterOptions (connection, s->display, path); + } +} + +static void +dbusUnregisterPluginForDisplay (DBusConnection *connection, + CompDisplay *d, + char *pluginName) +{ + char objectPath[256]; + + snprintf (objectPath, 256, "%s/%s/%s", ECOMP_DBUS_ROOT_PATH, + pluginName, "allscreens"); + + dbusUnregisterOptions (connection, d, objectPath); + dbus_connection_unregister_object_path (connection, objectPath); + + snprintf (objectPath, 256, "%s/%s", ECOMP_DBUS_ROOT_PATH, pluginName); + dbus_connection_unregister_object_path (connection, objectPath); +} + +static void +dbusUnregisterPluginsForDisplay (DBusConnection *connection, + CompDisplay *d) +{ + CompListValue *pl; + int nPlugins; + + pl = &d->opt[COMP_DISPLAY_OPTION_ACTIVE_PLUGINS].value.list; + + nPlugins = pl->nValue; + + while (nPlugins--) + dbusUnregisterPluginForDisplay (connection, d, pl->value[nPlugins].s); +} + +static void +dbusUnregisterPluginForScreen (DBusConnection *connection, + CompScreen *s, + char *pluginName) +{ + char objectPath[256]; + + snprintf (objectPath, 256, "%s/%s/screen%d", ECOMP_DBUS_ROOT_PATH, + pluginName, s->screenNum); + + dbusUnregisterOptions (connection, s->display, objectPath); + dbus_connection_unregister_object_path (connection, objectPath); +} + +static void +dbusUnregisterPluginsForScreen (DBusConnection *connection, + CompScreen *s) +{ + CompListValue *pl; + int nPlugins; + + pl = &s->display->opt[COMP_DISPLAY_OPTION_ACTIVE_PLUGINS].value.list; + + nPlugins = pl->nValue; + + while (nPlugins--) + dbusUnregisterPluginForScreen (connection, s, pl->value[nPlugins].s); +} + +static Bool +dbusInitPluginForDisplay (CompPlugin *p, + CompDisplay *d) +{ + Bool status; + char objectPath[256]; + + DBUS_DISPLAY (d); + + UNWRAP (dd, d, initPluginForDisplay); + status = (*d->initPluginForDisplay) (p, d); + WRAP (dd, d, initPluginForDisplay, dbusInitPluginForDisplay); + + if (status) + { + snprintf (objectPath, 256, "%s/%s/%s", ECOMP_DBUS_ROOT_PATH, p->vTable->name, "allscreens"); + dbusRegisterOptions (dd->connection, d, objectPath); + } + + return status; +} + +static Bool +dbusInitPluginForScreen (CompPlugin *p, + CompScreen *s) +{ + Bool status; + char objectPath[256]; + + DBUS_SCREEN (s); + DBUS_DISPLAY (s->display); + + UNWRAP (ds, s, initPluginForScreen); + status = (*s->initPluginForScreen) (p, s); + WRAP (ds, s, initPluginForScreen, dbusInitPluginForScreen); + + if (status) + { + snprintf (objectPath, 256, "%s/%s/screen%d", ECOMP_DBUS_ROOT_PATH, p->vTable->name, s->screenNum); + dbusRegisterOptions (dd->connection, s->display, objectPath); + } + + return status; +} + +static Bool +dbusSetDisplayOption (CompDisplay *d, + char *name, + CompOptionValue *value) +{ + CompScreen *s; + Bool status; + + DBUS_DISPLAY (d); + + UNWRAP (dd, d, setDisplayOption); + status = (*d->setDisplayOption) (d, name, value); + WRAP (dd, d, setDisplayOption, dbusSetDisplayOption); + + if (status) + { + CompOption *option; + int nOption; + + option = compGetDisplayOptions (d, &nOption); + dbusSendChangeSignalForDisplayOption (d, + compFindOption (option, nOption, + name, 0), + "core"); + + if (strcmp (name, "active_plugins") == 0) + { + dbusUnregisterPluginsForDisplay (dd->connection, d); + dbusRegisterPluginsForDisplay (dd->connection, d); + for (s = d->screens; s; s = s->next) + { + dbusUnregisterPluginsForScreen (dd->connection, s); + dbusRegisterPluginsForScreen (dd->connection, s); + } + } + } + + return status; +} + +static Bool +dbusSetDisplayOptionForPlugin (CompDisplay *d, + char *plugin, + char *name, + CompOptionValue *value) +{ + Bool status; + + DBUS_DISPLAY (d); + + UNWRAP (dd, d, setDisplayOptionForPlugin); + status = (*d->setDisplayOptionForPlugin) (d, plugin, name, value); + WRAP (dd, d, setDisplayOptionForPlugin, dbusSetDisplayOptionForPlugin); + + if (status) + { + CompPlugin *p; + + p = findActivePlugin (plugin); + if (p && p->vTable->getDisplayOptions) + { + CompOption *option; + int nOption; + + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + dbusSendChangeSignalForDisplayOption (d, + compFindOption (option, + nOption, + name, 0), + p->vTable->name); + } + } + + return status; +} + +static Bool +dbusSetScreenOption (CompScreen *s, + char *name, + CompOptionValue *value) +{ + Bool status; + + DBUS_SCREEN (s); + + UNWRAP (ds, s, setScreenOption); + status = (*s->setScreenOption) (s, name, value); + WRAP (ds, s, setScreenOption, dbusSetScreenOption); + + if (status) + { + CompOption *option; + int nOption; + + option = compGetScreenOptions (s, &nOption); + dbusSendChangeSignalForScreenOption (s, + compFindOption (option, + nOption, + name, 0), + "core"); + } + + return status; +} + +static Bool +dbusSetScreenOptionForPlugin (CompScreen *s, + char *plugin, + char *name, + CompOptionValue *value) +{ + Bool status; + + DBUS_SCREEN (s); + + UNWRAP (ds, s, setScreenOptionForPlugin); + status = (*s->setScreenOptionForPlugin) (s, plugin, name, value); + WRAP (ds, s, setScreenOptionForPlugin, dbusSetScreenOptionForPlugin); + + if (status) + { + CompPlugin *p; + + p = findActivePlugin (plugin); + if (p && p->vTable->getScreenOptions) + { + CompOption *option; + int nOption; + + option = (*p->vTable->getScreenOptions) (p, s, &nOption); + dbusSendChangeSignalForScreenOption (s, + compFindOption (option, + nOption, + name, 0), + p->vTable->name); + } + } + + return status; +} + +static void +dbusSendPluginsChangedSignal (const char *name, + void *closure) +{ + CompDisplay *d = (CompDisplay *) closure; + DBusMessage *signal; + + DBUS_DISPLAY (d); + + signal = dbus_message_new_signal (ECOMP_DBUS_ROOT_PATH, + ECOMP_DBUS_SERVICE_NAME, + ECOMP_DBUS_PLUGINS_CHANGED_SIGNAL_NAME); + + dbus_connection_send (dd->connection, signal, NULL); + dbus_connection_flush (dd->connection); + + dbus_message_unref (signal); +} + +static Bool +dbusInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + DbusDisplay *dd; + DBusError error; + dbus_bool_t status; + int fd, ret, mask; + char *home, *plugindir, objectPath[256]; + + dd = malloc (sizeof (DbusDisplay)); + if (!dd) + return FALSE; + + dd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (dd->screenPrivateIndex < 0) + { + free (dd); + return FALSE; + } + + dbus_error_init (&error); + + dd->connection = dbus_bus_get (DBUS_BUS_SESSION, &error); + if (dbus_error_is_set (&error)) + { + compLogMessage (d, "dbus", CompLogLevelError, + "dbus_bus_get error: %s", error.message); + + dbus_error_free (&error); + free (dd); + + return FALSE; + } + + ret = dbus_bus_request_name (dd->connection, + ECOMP_DBUS_SERVICE_NAME, + DBUS_NAME_FLAG_REPLACE_EXISTING | + DBUS_NAME_FLAG_ALLOW_REPLACEMENT, + &error); + + if (dbus_error_is_set (&error)) + { + compLogMessage (d, "dbus", CompLogLevelError, + "dbus_bus_request_name error: %s", error.message); + + /* dbus_connection_unref (dd->connection); */ + dbus_error_free (&error); + free (dd); + + return FALSE; + } + + dbus_error_free (&error); + + if (ret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) + { + compLogMessage (d, "dbus", CompLogLevelError, + "dbus_bus_request_name reply is not primary owner"); + + /* dbus_connection_unref (dd->connection); */ + free (dd); + + return FALSE; + } + + status = dbus_connection_get_unix_fd (dd->connection, &fd); + if (!status) + { + compLogMessage (d, "dbus", CompLogLevelError, + "dbus_connection_get_unix_fd failed"); + + /* dbus_connection_unref (dd->connection); */ + free (dd); + + return FALSE; + } + + dd->watchFdHandle = compAddWatchFd (fd, + POLLIN | POLLPRI | POLLHUP | POLLERR, + dbusProcessMessages, + d); + + mask = NOTIFY_CREATE_MASK | NOTIFY_DELETE_MASK | NOTIFY_MOVE_MASK; + + dd->fileWatch[DBUS_FILE_WATCH_CURRENT] = + addFileWatch (d, + ".", + mask, + dbusSendPluginsChangedSignal, + (void *) d); + dd->fileWatch[DBUS_FILE_WATCH_PLUGIN] = + addFileWatch (d, + PLUGINDIR, + mask, + dbusSendPluginsChangedSignal, + (void *) d); + dd->fileWatch[DBUS_FILE_WATCH_HOME] = 0; + + home = getenv ("HOME"); + if (home) + { + plugindir = malloc (strlen (home) + strlen (HOME_PLUGINDIR) + 3); + if (plugindir) + { + sprintf (plugindir, "%s/%s", home, HOME_PLUGINDIR); + + dd->fileWatch[DBUS_FILE_WATCH_HOME] = + addFileWatch (d, + plugindir, + mask, + dbusSendPluginsChangedSignal, + (void *) d); + + free (plugindir); + } + } + + WRAP (dd, d, setDisplayOption, dbusSetDisplayOption); + WRAP (dd, d, setDisplayOptionForPlugin, dbusSetDisplayOptionForPlugin); + WRAP (dd, d, initPluginForDisplay, dbusInitPluginForDisplay); + + d->privates[displayPrivateIndex].ptr = dd; + + /* register the objects */ + dbus_connection_register_object_path (dd->connection, + ECOMP_DBUS_ROOT_PATH, + &dbusMessagesVTable, d); + + /* register core 'plugin' */ + dbusRegisterPluginForDisplay (dd->connection, d, "core"); + dbusRegisterPluginsForDisplay (dd->connection, d); + + snprintf (objectPath, 256, "%s/core/allscreens", ECOMP_DBUS_ROOT_PATH); + + dbusRegisterOptions (dd->connection, d, objectPath); + + return TRUE; +} + +static void +dbusFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + CompScreen *s; + int i; + + DBUS_DISPLAY (d); + + dbusUnregisterPluginForDisplay (dd->connection, d, "core"); + dbusUnregisterPluginsForDisplay (dd->connection, d); + + /* we must unregister the screens here not in finiScreen + because when finiScreen is called the connection has + been dropped */ + for (s = d->screens; s; s = s->next) + { + dbusUnregisterPluginForScreen (dd->connection, s, "core"); + dbusUnregisterPluginsForScreen (dd->connection, s); + } + + for (i = 0; i < DBUS_FILE_WATCH_NUM; i++) + removeFileWatch (d, dd->fileWatch[i]); + + compRemoveWatchFd (dd->watchFdHandle); + + dbus_bus_release_name (dd->connection, ECOMP_DBUS_SERVICE_NAME, NULL); + + /* + can't unref the connection returned by dbus_bus_get as it's + shared and we can't know if it's closed or not. + + dbus_connection_unref (dd->connection); + */ + + UNWRAP (dd, d, setDisplayOption); + UNWRAP (dd, d, setDisplayOptionForPlugin); + UNWRAP (dd, d, initPluginForDisplay); + + free (dd); +} + +static Bool +dbusInitScreen (CompPlugin *p, + CompScreen *s) +{ + char objectPath[256]; + DbusScreen *ds; + + DBUS_DISPLAY (s->display); + + ds = malloc (sizeof (DbusScreen)); + if (!ds) + return FALSE; + + WRAP (ds, s, setScreenOption, dbusSetScreenOption); + WRAP (ds, s, setScreenOptionForPlugin, dbusSetScreenOptionForPlugin); + WRAP (ds, s, initPluginForScreen, dbusInitPluginForScreen); + + s->privates[dd->screenPrivateIndex].ptr = ds; + + snprintf (objectPath, 256, "%s/%s/screen%d", ECOMP_DBUS_ROOT_PATH, "core", s->screenNum); + + dbusRegisterPluginForScreen (dd->connection, s, "core"); + dbusRegisterPluginsForScreen (dd->connection, s); + dbusRegisterOptions (dd->connection, s->display, objectPath); + + return TRUE; +} + +static void +dbusFiniScreen (CompPlugin *p, + CompScreen *s) +{ + DBUS_SCREEN (s); + + UNWRAP (ds, s, setScreenOption); + UNWRAP (ds, s, setScreenOptionForPlugin); + UNWRAP (ds, s, initPluginForScreen); + + free (ds); +} + +static Bool +dbusInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&dbusMetadata, p->vTable->name, + 0, 0, 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&dbusMetadata); + return FALSE; + } + + return TRUE; +} + +static void +dbusFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&dbusMetadata); +} + +static int +dbusGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +dbusGetMetadata (CompPlugin *plugin) +{ + return &dbusMetadata; +} + +CompPluginVTable dbusVTable = { + "dbus", + dbusGetVersion, + dbusGetMetadata, + dbusInit, + dbusFini, + dbusInitDisplay, + dbusFiniDisplay, + dbusInitScreen, + dbusFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + 0, /* GetDisplayOptions */ + 0, /* SetDisplayOption */ + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &dbusVTable; +} diff --git a/plugins/decoration.c b/plugins/decoration.c new file mode 100644 index 0000000..d28c788 --- /dev/null +++ b/plugins/decoration.c @@ -0,0 +1,1561 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include + +static CompMetadata decorMetadata; + +typedef struct _Vector { + int dx; + int dy; + int x0; + int y0; +} Vector; + +#define DECOR_BARE 0 +#define DECOR_NORMAL 1 +#define DECOR_ACTIVE 2 +#define DECOR_NUM 3 + +typedef struct _DecorTexture { + struct _DecorTexture *next; + int refCount; + Pixmap pixmap; + Damage damage; + CompTexture texture; +} DecorTexture; + +typedef struct _Decoration { + int refCount; + DecorTexture *texture; + CompWindowExtents output; + CompWindowExtents input; + CompWindowExtents maxInput; + int minWidth; + int minHeight; + decor_quad_t *quad; + int nQuad; +} Decoration; + +typedef struct _ScaledQuad { + CompMatrix matrix; + BoxRec box; + float sx; + float sy; +} ScaledQuad; + +typedef struct _WindowDecoration { + Decoration *decor; + ScaledQuad *quad; + int nQuad; +} WindowDecoration; + +#define DECOR_DISPLAY_OPTION_SHADOW_RADIUS 0 +#define DECOR_DISPLAY_OPTION_SHADOW_OPACITY 1 +#define DECOR_DISPLAY_OPTION_SHADOW_COLOR 2 +#define DECOR_DISPLAY_OPTION_SHADOW_OFFSET_X 3 +#define DECOR_DISPLAY_OPTION_SHADOW_OFFSET_Y 4 +#define DECOR_DISPLAY_OPTION_COMMAND 5 +#define DECOR_DISPLAY_OPTION_MIPMAP 6 +#define DECOR_DISPLAY_OPTION_DECOR_MATCH 7 +#define DECOR_DISPLAY_OPTION_SHADOW_MATCH 8 +#define DECOR_DISPLAY_OPTION_NUM 9 + +static int displayPrivateIndex; + +typedef struct _DecorDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + MatchPropertyChangedProc matchPropertyChanged; + DecorTexture *textures; + Atom supportingDmCheckAtom; + Atom winDecorAtom; + Atom decorAtom[DECOR_NUM]; + + CompOption opt[DECOR_DISPLAY_OPTION_NUM]; +} DecorDisplay; + +typedef struct _DecorScreen { + int windowPrivateIndex; + + Window dmWin; + + Decoration *decor[DECOR_NUM]; + + DrawWindowProc drawWindow; + DamageWindowRectProc damageWindowRect; + GetOutputExtentsForWindowProc getOutputExtentsForWindow; + + WindowAddNotifyProc windowAddNotify; + WindowMoveNotifyProc windowMoveNotify; + WindowResizeNotifyProc windowResizeNotify; + + WindowStateChangeNotifyProc windowStateChangeNotify; +} DecorScreen; + +typedef struct _DecorWindow { + WindowDecoration *wd; + Decoration *decor; + + CompTimeoutHandle resizeUpdateHandle; +} DecorWindow; + +#define GET_DECOR_DISPLAY(d) \ + ((DecorDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define DECOR_DISPLAY(d) \ + DecorDisplay *dd = GET_DECOR_DISPLAY (d) + +#define GET_DECOR_SCREEN(s, dd) \ + ((DecorScreen *) (s)->privates[(dd)->screenPrivateIndex].ptr) + +#define DECOR_SCREEN(s) \ + DecorScreen *ds = GET_DECOR_SCREEN (s, GET_DECOR_DISPLAY (s->display)) + +#define GET_DECOR_WINDOW(w, ds) \ + ((DecorWindow *) (w)->privates[(ds)->windowPrivateIndex].ptr) + +#define DECOR_WINDOW(w) \ + DecorWindow *dw = GET_DECOR_WINDOW (w, \ + GET_DECOR_SCREEN (w->screen, \ + GET_DECOR_DISPLAY (w->screen->display))) + +#define NUM_OPTIONS(d) (sizeof ((d)->opt) / sizeof (CompOption)) + +static Bool +decorDrawWindow (CompWindow *w, + const CompTransform *transform, + const FragmentAttrib *attrib, + Region region, + unsigned int mask) +{ + Bool status; + + DECOR_SCREEN (w->screen); + DECOR_WINDOW (w); + + UNWRAP (ds, w->screen, drawWindow); + status = (*w->screen->drawWindow) (w, transform, attrib, region, mask); + WRAP (ds, w->screen, drawWindow, decorDrawWindow); + + if ((mask & PAINT_WINDOW_TRANSFORMED_MASK) || + !((w->state & (MAXIMIZE_STATE | CompWindowStateFullscreenMask)) || + (w->type & CompWindowTypeDesktopMask))) + { + + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + region = &infiniteRegion; + + if (dw->wd && region->numRects) + { + WindowDecoration *wd = dw->wd; + REGION box; + int i; + + mask |= PAINT_WINDOW_BLEND_MASK; + + box.rects = &box.extents; + box.numRects = 1; + + w->vCount = w->indexCount = 0; + + for (i = 0; i < wd->nQuad; i++) + { + box.extents = wd->quad[i].box; + + if (box.extents.x1 < box.extents.x2 && + box.extents.y1 < box.extents.y2) + { + (*w->screen->addWindowGeometry) (w, + &wd->quad[i].matrix, 1, + &box, + region); + } + } + + if (w->vCount) + (*w->screen->drawWindowTexture) (w, + &wd->decor->texture->texture, + attrib, mask); + } + } + + return status; +} + +static DecorTexture * +decorGetTexture (CompScreen *screen, + Pixmap pixmap) +{ + DecorTexture *texture; + unsigned int width, height, depth, ui; + Window root; + int i; + + DECOR_DISPLAY (screen->display); + + for (texture = dd->textures; texture; texture = texture->next) + { + if (texture->pixmap == pixmap) + { + texture->refCount++; + return texture; + } + } + + texture = malloc (sizeof (DecorTexture)); + if (!texture) + return NULL; + + initTexture (screen, &texture->texture); + + if (!XGetGeometry (screen->display->display, pixmap, &root, + &i, &i, &width, &height, &ui, &depth)) + { + finiTexture (screen, &texture->texture); + free (texture); + return NULL; + } + + if (!bindPixmapToTexture (screen, &texture->texture, pixmap, + width, height, depth)) + { + finiTexture (screen, &texture->texture); + free (texture); + return NULL; + } + + if (!dd->opt[DECOR_DISPLAY_OPTION_MIPMAP].value.b) + texture->texture.mipmap = FALSE; + + texture->damage = XDamageCreate (screen->display->display, pixmap, + XDamageReportRawRectangles); + + texture->refCount = 1; + texture->pixmap = pixmap; + texture->next = dd->textures; + + dd->textures = texture; + + return texture; +} + +static void +decorReleaseTexture (CompScreen *screen, + DecorTexture *texture) +{ + DECOR_DISPLAY (screen->display); + + texture->refCount--; + if (texture->refCount) + return; + + if (texture == dd->textures) + { + dd->textures = texture->next; + } + else + { + DecorTexture *t; + + for (t = dd->textures; t; t = t->next) + { + if (t->next == texture) + { + t->next = texture->next; + break; + } + } + } + + finiTexture (screen, &texture->texture); + free (texture); +} + +static void +computeQuadBox (decor_quad_t *q, + int width, + int height, + int *return_x1, + int *return_y1, + int *return_x2, + int *return_y2, + float *return_sx, + float *return_sy) +{ + int x1, y1, x2, y2; + float sx = 1.0f; + float sy = 1.0f; + + decor_apply_gravity (q->p1.gravity, q->p1.x, q->p1.y, width, height, + &x1, &y1); + decor_apply_gravity (q->p2.gravity, q->p2.x, q->p2.y, width, height, + &x2, &y2); + + if (q->clamp & CLAMP_HORZ) + { + if (x1 < 0) + x1 = 0; + if (x2 > width) + x2 = width; + } + + if (q->clamp & CLAMP_VERT) + { + if (y1 < 0) + y1 = 0; + if (y2 > height) + y2 = height; + } + + if (q->stretch & STRETCH_X) + { + sx = (float)q->max_width / ((float)(x2 - x1)); + } + else if (q->max_width < x2 - x1) + { + if (q->align & ALIGN_RIGHT) + x1 = x2 - q->max_width; + else + x2 = x1 + q->max_width; + } + + if (q->stretch & STRETCH_Y) + { + sy = (float)q->max_height / ((float)(y2 - y1)); + } + else if (q->max_height < y2 - y1) + { + if (q->align & ALIGN_BOTTOM) + y1 = y2 - q->max_height; + else + y2 = y1 + q->max_height; + } + + *return_x1 = x1; + *return_y1 = y1; + *return_x2 = x2; + *return_y2 = y2; + + if (return_sx) + *return_sx = sx; + if (return_sy) + *return_sy = sy; +} + +static Decoration * +decorCreateDecoration (CompScreen *screen, + Window id, + Atom decorAtom) +{ + Decoration *decoration; + Atom actual; + int result, format; + unsigned long n, nleft; + unsigned char *data; + long *prop; + Pixmap pixmap; + decor_extents_t input; + decor_extents_t maxInput; + decor_quad_t *quad; + int nQuad; + int minWidth; + int minHeight; + int left, right, top, bottom; + int x1, y1, x2, y2; + + result = XGetWindowProperty (screen->display->display, id, + decorAtom, 0L, 1024L, FALSE, + XA_INTEGER, &actual, &format, + &n, &nleft, &data); + + if (result != Success || !n || !data) + return NULL; + + prop = (long *) data; + + if (decor_property_get_version (prop) != decor_version ()) + { + compLogMessage (screen->display, "decoration", CompLogLevelWarn, + "Property ignored because " + "version is %d and decoration plugin version is %d\n", + decor_property_get_version (prop), decor_version ()); + + XFree (data); + return NULL; + } + + nQuad = (n - BASE_PROP_SIZE) / QUAD_PROP_SIZE; + + quad = malloc (sizeof (decor_quad_t) * nQuad); + if (!quad) + { + XFree (data); + return NULL; + } + + nQuad = decor_property_to_quads (prop, + n, + &pixmap, + &input, + &maxInput, + &minWidth, + &minHeight, + quad); + + XFree (data); + + if (!nQuad) + { + free (quad); + return NULL; + } + + decoration = malloc (sizeof (Decoration)); + if (!decoration) + { + free (quad); + return NULL; + } + + decoration->texture = decorGetTexture (screen, pixmap); + if (!decoration->texture) + { + free (decoration); + free (quad); + return NULL; + } + + decoration->minWidth = minWidth; + decoration->minHeight = minHeight; + decoration->quad = quad; + decoration->nQuad = nQuad; + + left = 0; + right = minWidth; + top = 0; + bottom = minHeight; + + while (nQuad--) + { + computeQuadBox (quad, minWidth, minHeight, &x1, &y1, &x2, &y2, + NULL, NULL); + + if (x1 < left) + left = x1; + if (y1 < top) + top = y1; + if (x2 > right) + right = x2; + if (y2 > bottom) + bottom = y2; + + quad++; + } + + decoration->output.left = -left; + decoration->output.right = right - minWidth; + decoration->output.top = -top; + decoration->output.bottom = bottom - minHeight; + + decoration->input.left = input.left; + decoration->input.right = input.right; + decoration->input.top = input.top; + decoration->input.bottom = input.bottom; + + decoration->maxInput.left = maxInput.left; + decoration->maxInput.right = maxInput.right; + decoration->maxInput.top = maxInput.top; + decoration->maxInput.bottom = maxInput.bottom; + + decoration->refCount = 1; + + return decoration; +} + +static void +decorReleaseDecoration (CompScreen *screen, + Decoration *decoration) +{ + decoration->refCount--; + if (decoration->refCount) + return; + + decorReleaseTexture (screen, decoration->texture); + + free (decoration->quad); + free (decoration); +} + +static void +decorWindowUpdateDecoration (CompWindow *w) +{ + Decoration *decoration; + + DECOR_DISPLAY (w->screen->display); + DECOR_WINDOW (w); + + decoration = decorCreateDecoration (w->screen, w->id, dd->winDecorAtom); + + if (dw->decor) + decorReleaseDecoration (w->screen, dw->decor); + + dw->decor = decoration; +} + +static WindowDecoration * +createWindowDecoration (Decoration *d) +{ + WindowDecoration *wd; + + wd = malloc (sizeof (WindowDecoration) + + sizeof (ScaledQuad) * d->nQuad); + if (!wd) + return NULL; + + d->refCount++; + + wd->decor = d; + wd->quad = (ScaledQuad *) (wd + 1); + wd->nQuad = d->nQuad; + + return wd; +} + +static void +destroyWindowDecoration (CompScreen *screen, + WindowDecoration *wd) +{ + decorReleaseDecoration (screen, wd->decor); + free (wd); +} + +static void +setDecorationMatrices (CompWindow *w) +{ + WindowDecoration *wd; + int i; + float x0, y0; + decor_matrix_t a; + CompMatrix b; + + + DECOR_WINDOW (w); + + wd = dw->wd; + if (!wd) + return; + + for (i = 0; i < wd->nQuad; i++) + { + wd->quad[i].matrix = wd->decor->texture->texture.matrix; + + x0 = wd->decor->quad[i].m.x0; + y0 = wd->decor->quad[i].m.y0; + + a = wd->decor->quad[i].m; + b = wd->quad[i].matrix; + + wd->quad[i].matrix.xx = a.xx * b.xx + a.yx * b.xy; + wd->quad[i].matrix.yx = a.xx * b.yx + a.yx * b.yy; + wd->quad[i].matrix.xy = a.xy * b.xx + a.yy * b.xy; + wd->quad[i].matrix.yy = a.xy * b.yx + a.yy * b.yy; + wd->quad[i].matrix.x0 = x0 * b.xx + y0 * b.xy + b.x0; + wd->quad[i].matrix.y0 = x0 * b.yx + y0 * b.yy + b.y0; + + wd->quad[i].matrix.xx *= wd->quad[i].sx; + wd->quad[i].matrix.yx *= wd->quad[i].sx; + wd->quad[i].matrix.xy *= wd->quad[i].sy; + wd->quad[i].matrix.yy *= wd->quad[i].sy; + + if (wd->decor->quad[i].align & ALIGN_RIGHT) + x0 = wd->quad[i].box.x2 - wd->quad[i].box.x1; + else + x0 = 0.0f; + + if (wd->decor->quad[i].align & ALIGN_BOTTOM) + y0 = wd->quad[i].box.y2 - wd->quad[i].box.y1; + else + y0 = 0.0f; + + wd->quad[i].matrix.x0 -= + x0 * wd->quad[i].matrix.xx + + y0 * wd->quad[i].matrix.xy; + + wd->quad[i].matrix.y0 -= + y0 * wd->quad[i].matrix.yy + + x0 * wd->quad[i].matrix.yx; + + wd->quad[i].matrix.x0 -= + wd->quad[i].box.x1 * wd->quad[i].matrix.xx + + wd->quad[i].box.y1 * wd->quad[i].matrix.xy; + + wd->quad[i].matrix.y0 -= + wd->quad[i].box.y1 * wd->quad[i].matrix.yy + + wd->quad[i].box.x1 * wd->quad[i].matrix.yx; + } +} + +static void +updateWindowDecorationScale (CompWindow *w) +{ + WindowDecoration *wd; + int x1, y1, x2, y2; + float sx, sy; + int i; + + DECOR_WINDOW (w); + + wd = dw->wd; + if (!wd) + return; + + for (i = 0; i < wd->nQuad; i++) + { + computeQuadBox (&wd->decor->quad[i], w->width, w->height, + &x1, &y1, &x2, &y2, &sx, &sy); + + wd->quad[i].box.x1 = x1 + w->attrib.x; + wd->quad[i].box.y1 = y1 + w->attrib.y; + wd->quad[i].box.x2 = x2 + w->attrib.x; + wd->quad[i].box.y2 = y2 + w->attrib.y; + wd->quad[i].sx = sx; + wd->quad[i].sy = sy; + } + + setDecorationMatrices (w); +} + +static Bool +decorCheckSize (CompWindow *w, + Decoration *decor) +{ + return (decor->minWidth <= w->width && decor->minHeight <= w->height); +} + +static int +decorWindowShiftX (CompWindow *w) +{ + switch (w->sizeHints.win_gravity) { + case WestGravity: + case NorthWestGravity: + case SouthWestGravity: + return w->input.left; + case EastGravity: + case NorthEastGravity: + case SouthEastGravity: + return -w->input.right; + } + + return 0; +} + +static int +decorWindowShiftY (CompWindow *w) +{ + switch (w->sizeHints.win_gravity) { + case NorthGravity: + case NorthWestGravity: + case NorthEastGravity: + return w->input.top; + case SouthGravity: + case SouthWestGravity: + case SouthEastGravity: + return -w->input.bottom; + } + + return 0; +} + +static Bool +decorWindowUpdate (CompWindow *w, + Bool allowDecoration) +{ + WindowDecoration *wd; + Decoration *old, *decor = NULL; + Bool decorate = FALSE; + CompMatch *match; + int moveDx, moveDy; + int oldShiftX = 0; + int oldShiftY = 0; + + DECOR_DISPLAY (w->screen->display); + DECOR_SCREEN (w->screen); + DECOR_WINDOW (w); + + wd = dw->wd; + old = (wd) ? wd->decor : NULL; + + switch (w->type) { + case CompWindowTypeDialogMask: + case CompWindowTypeModalDialogMask: + case CompWindowTypeUtilMask: + case CompWindowTypeNormalMask: + if (w->mwmDecor & (MwmDecorAll | MwmDecorTitle)) + decorate = TRUE; + default: + break; + } + + // if (w->attrib.override_redirect) + // decorate = FALSE; + + if (w->region->numRects == 1 && !w->alpha) + decor = ds->decor[DECOR_BARE]; + + /* if (decorate) + { + match = &dd->opt[DECOR_DISPLAY_OPTION_DECOR_MATCH].value.match; + if (!matchEval (match, w)) + decorate = FALSE; + } + + if (decorate) + { + if (dw->decor && decorCheckSize (w, dw->decor)) + { + decor = dw->decor; + } + else + { + if (w->id == w->screen->display->activeWindow) + decor = ds->decor[DECOR_ACTIVE]; + else + decor = ds->decor[DECOR_NORMAL]; + } + } + else + { + match = &dd->opt[DECOR_DISPLAY_OPTION_SHADOW_MATCH].value.match; + if (matchEval (match, w)) + { + if (w->region->numRects == 1 && !w->alpha) + decor = ds->decor[DECOR_BARE]; + + // no decoration on windows with below state + if (w->state & CompWindowStateBelowMask) + decor = NULL; + + if (decor) + { + if (!decorCheckSize (w, decor)) + decor = NULL; + } + } + } + */ + /**>**/ + // if (w->region->numRects == 1 && !w->alpha) + // decor = ds->decor[DECOR_BARE]; + //else + // decor = FALSE; + + /**<**/ + + if (!ds->dmWin || !allowDecoration) + decor = NULL; + + if (decor == old) + return FALSE; + + damageWindowOutputExtents (w); + + if (old) + { + oldShiftX = decorWindowShiftX (w); + oldShiftY = decorWindowShiftY (w); + + destroyWindowDecoration (w->screen, wd); + } + + if (decor) + { + dw->wd = createWindowDecoration (decor); + if (!dw->wd) + return FALSE; + + /*if ((w->state & MAXIMIZE_STATE) == MAXIMIZE_STATE) + setWindowFrameExtents (w, &decor->maxInput); + else + setWindowFrameExtents (w, &decor->input); + */ + moveDx = decorWindowShiftX (w) - oldShiftX; + moveDy = decorWindowShiftY (w) - oldShiftY; + + updateWindowOutputExtents (w); + damageWindowOutputExtents (w); + updateWindowDecorationScale (w); + } + else + { + CompWindowExtents emptyInput; + + memset (&emptyInput, 0, sizeof (emptyInput)); + //setWindowFrameExtents (w, &emptyInput); + + dw->wd = NULL; + + moveDx = -oldShiftX; + moveDy = -oldShiftY; + } + + if (!w->attrib.override_redirect && (moveDx || moveDy)) + { + XWindowChanges xwc; + unsigned int mask = CWX | CWY; + + xwc.x = w->serverX + moveDx; + xwc.y = w->serverY + moveDy; + + if (w->state & CompWindowStateFullscreenMask) + mask &= ~(CWX | CWY); + + if (w->state & CompWindowStateMaximizedHorzMask) + mask &= ~CWX; + + if (w->state & CompWindowStateMaximizedVertMask) + mask &= ~CWY; + + if (mask) + configureXWindow (w, mask, &xwc); + } + + return TRUE; +} + +static void +decorCheckForDmOnScreen (CompScreen *s, + Bool updateWindows) +{ + CompDisplay *d = s->display; + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + Window dmWin = None; + + DECOR_DISPLAY (s->display); + DECOR_SCREEN (s); + + result = XGetWindowProperty (d->display, s->root, + dd->supportingDmCheckAtom, 0L, 1L, FALSE, + XA_WINDOW, &actual, &format, + &n, &left, &data); + + if (result == Success && n && data) + { + XWindowAttributes attr; + + memcpy (&dmWin, data, sizeof (Window)); + XFree (data); + + compCheckForError (d->display); + + XGetWindowAttributes (d->display, dmWin, &attr); + + if (compCheckForError (d->display)) + dmWin = None; + } + + if (dmWin != ds->dmWin) + { + CompWindow *w; + int i; + + if (dmWin) + { + for (i = 0; i < DECOR_NUM; i++) + ds->decor[i] = + decorCreateDecoration (s, s->root, dd->decorAtom[i]); + } + else + { + for (i = 0; i < DECOR_NUM; i++) + { + if (ds->decor[i]) + { + decorReleaseDecoration (s, ds->decor[i]); + ds->decor[i] = 0; + } + } + + for (w = s->windows; w; w = w->next) + { + DECOR_WINDOW (w); + + if (dw->decor) + { + decorReleaseDecoration (s, dw->decor); + dw->decor = 0; + } + } + } + + ds->dmWin = dmWin; + + if (updateWindows) + { + for (w = s->windows; w; w = w->next) + decorWindowUpdate (w, TRUE); + } + } +} + +static void +decorHandleEvent (CompDisplay *d, + XEvent *event) +{ + Window activeWindow = d->activeWindow; + CompWindow *w; + + DECOR_DISPLAY (d); + + switch (event->type) { + case DestroyNotify: + w = findWindowAtDisplay (d, event->xdestroywindow.window); + if (w) + { + DECOR_SCREEN (w->screen); + + if (w->id == ds->dmWin) + decorCheckForDmOnScreen (w->screen, TRUE); + } + break; + case MapRequest: + w = findWindowAtDisplay (d, event->xmaprequest.window); + if (w) + decorWindowUpdate (w, TRUE); + break; + default: + if (event->type == d->damageEvent + XDamageNotify) + { + XDamageNotifyEvent *de = (XDamageNotifyEvent *) event; + DecorTexture *t; + + for (t = dd->textures; t; t = t->next) + { + if (t->pixmap == de->drawable) + { + DecorWindow *dw; + DecorScreen *ds; + CompScreen *s; + + t->texture.oldMipmaps = TRUE; + + for (s = d->screens; s; s = s->next) + { + ds = GET_DECOR_SCREEN (s, dd); + + for (w = s->windows; w; w = w->next) + { + if (w->shaded || w->mapNum) + { + dw = GET_DECOR_WINDOW (w, ds); + + if (dw->wd && dw->wd->decor->texture == t) + damageWindowOutputExtents (w); + } + } + } + return; + } + } + } + break; + } + + UNWRAP (dd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (dd, d, handleEvent, decorHandleEvent); + + if (d->activeWindow != activeWindow) + { + w = findWindowAtDisplay (d, activeWindow); + if (w) + decorWindowUpdate (w, TRUE); + + w = findWindowAtDisplay (d, d->activeWindow); + if (w) + decorWindowUpdate (w, TRUE); + } + + switch (event->type) { + case PropertyNotify: + if (event->xproperty.atom == dd->winDecorAtom) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + decorWindowUpdateDecoration (w); + decorWindowUpdate (w, TRUE); + } + } + else if (event->xproperty.atom == d->mwmHintsAtom) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + decorWindowUpdate (w, TRUE); + } + else + { + CompScreen *s; + + s = findScreenAtDisplay (d, event->xproperty.window); + if (s) + { + if (event->xproperty.atom == dd->supportingDmCheckAtom) + { + decorCheckForDmOnScreen (s, TRUE); + } + else + { + int i; + + for (i = 0; i < DECOR_NUM; i++) + { + if (event->xproperty.atom == dd->decorAtom[i]) + { + DECOR_SCREEN (s); + + if (ds->decor[i]) + decorReleaseDecoration (s, ds->decor[i]); + + ds->decor[i] = + decorCreateDecoration (s, s->root, + dd->decorAtom[i]); + + for (w = s->windows; w; w = w->next) + decorWindowUpdate (w, TRUE); + } + } + } + } + } + break; + default: + if (d->shapeExtension && event->type == d->shapeEvent + ShapeNotify) + { + w = findWindowAtDisplay (d, ((XShapeEvent *) event)->window); + if (w) + decorWindowUpdate (w, TRUE); + } + break; + } +} + +static Bool +decorDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status; + + DECOR_SCREEN (w->screen); + + if (initial) + decorWindowUpdate (w, TRUE); + + UNWRAP (ds, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (ds, w->screen, damageWindowRect, decorDamageWindowRect); + + return status; +} + +static void +decorGetOutputExtentsForWindow (CompWindow *w, + CompWindowExtents *output) +{ + DECOR_SCREEN (w->screen); + DECOR_WINDOW (w); + + UNWRAP (ds, w->screen, getOutputExtentsForWindow); + (*w->screen->getOutputExtentsForWindow) (w, output); + WRAP (ds, w->screen, getOutputExtentsForWindow, + decorGetOutputExtentsForWindow); + + if (dw->wd) + { + CompWindowExtents *e = &dw->wd->decor->output; + + if (e->left > output->left) + output->left = e->left; + if (e->right > output->right) + output->right = e->right; + if (e->top > output->top) + output->top = e->top; + if (e->bottom > output->bottom) + output->bottom = e->bottom; + } +} + +static CompOption * +decorGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + DECOR_DISPLAY (display); + + *count = NUM_OPTIONS (dd); + return dd->opt; +} + +static Bool +decorSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + DECOR_DISPLAY (display); + + o = compFindOption (dd->opt, NUM_OPTIONS (dd), name, &index); + if (!o) + return FALSE; + + switch (index) { + // case DECOR_DISPLAY_OPTION_COMMAND: + // if (compSetStringOption (o, value)) + // { + // CompScreen *s; + // + // for (s = display->screens; s; s = s->next) + // { + // DECOR_SCREEN (s); + // + // if (!ds->dmWin) + // runCommand (s, o->value.s); + // } + // + // return TRUE; + // } + // break; + case DECOR_DISPLAY_OPTION_DECOR_MATCH: + case DECOR_DISPLAY_OPTION_SHADOW_MATCH: + if (compSetMatchOption (o, value)) + { + CompScreen *s; + CompWindow *w; + + for (s = display->screens; s; s = s->next) + for (w = s->windows; w; w = w->next) + decorWindowUpdate (w, TRUE); + } + break; + default: + if (compSetOption (o, value)) + return TRUE; + break; + } + + return FALSE; +} + +static void +decorWindowMoveNotify (CompWindow *w, + int dx, + int dy, + Bool immediate) +{ + DECOR_SCREEN (w->screen); + DECOR_WINDOW (w); + + if (dw->wd) + { + WindowDecoration *wd = dw->wd; + int i; + + for (i = 0; i < wd->nQuad; i++) + { + wd->quad[i].box.x1 += dx; + wd->quad[i].box.y1 += dy; + wd->quad[i].box.x2 += dx; + wd->quad[i].box.y2 += dy; + } + + setDecorationMatrices (w); + } + + UNWRAP (ds, w->screen, windowMoveNotify); + (*w->screen->windowMoveNotify) (w, dx, dy, immediate); + WRAP (ds, w->screen, windowMoveNotify, decorWindowMoveNotify); +} + +static Bool +decorResizeUpdateTimeout (void *closure) +{ + CompWindow *w = (CompWindow *) closure; + + DECOR_WINDOW (w); + + decorWindowUpdate (w, TRUE); + + dw->resizeUpdateHandle = 0; + + return FALSE; +} + +static void +decorWindowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ + DECOR_SCREEN (w->screen); + DECOR_WINDOW (w); + + /* FIXME: we should not need a timer for calling decorWindowUpdate, and only call + updateWindowDecorationScale if decorWindowUpdate returns FALSE. Unfortunately, + decorWindowUpdate may call updateWindowOutputExtents, which may call + WindowResizeNotify. As we never should call a wrapped function that's currently + processed, we need the timer for the moment. updateWindowOutputExtents should be + fixed so that it does not emit a resize notification. */ + dw->resizeUpdateHandle = compAddTimeout (0, decorResizeUpdateTimeout, w); + updateWindowDecorationScale (w); + + UNWRAP (ds, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP (ds, w->screen, windowResizeNotify, decorWindowResizeNotify); +} + +static void +decorWindowStateChangeNotify (CompWindow *w, + unsigned int lastState) +{ + DECOR_SCREEN (w->screen); + DECOR_WINDOW (w); + + if (!decorWindowUpdate (w, TRUE)) + { + if (dw->decor) + { + /* if ((w->state & MAXIMIZE_STATE) == MAXIMIZE_STATE) + setWindowFrameExtents (w, &dw->decor->maxInput); + else + setWindowFrameExtents (w, &dw->decor->input);*/ + } + } + + UNWRAP (ds, w->screen, windowStateChangeNotify); + (*w->screen->windowStateChangeNotify) (w, lastState); + WRAP (ds, w->screen, windowStateChangeNotify, decorWindowStateChangeNotify); +} + +static void +decorMatchPropertyChanged (CompDisplay *d, + CompWindow *w) +{ + DECOR_DISPLAY (d); + + decorWindowUpdate (w, TRUE); + + UNWRAP (dd, d, matchPropertyChanged); + (*d->matchPropertyChanged) (d, w); + WRAP (dd, d, matchPropertyChanged, decorMatchPropertyChanged); +} + +static void +decorWindowAddNotify (CompWindow *w) +{ + DECOR_SCREEN (w->screen); + + if (w->shaded || w->attrib.map_state == IsViewable) + decorWindowUpdate (w, TRUE); + + UNWRAP (ds, w->screen, windowAddNotify); + (*w->screen->windowAddNotify) (w); + WRAP (ds, w->screen, windowAddNotify, decorWindowAddNotify); +} + +static const CompMetadataOptionInfo decorDisplayOptionInfo[] = { + { "shadow_radius", "float", "0.048.0", 0, 0 }, + { "shadow_opacity", "float", "0.0", 0, 0 }, + { "shadow_color", "color", 0, 0, 0 }, + { "shadow_x_offset", "int", "-1616", 0, 0 }, + { "shadow_y_offset", "int", "-1616", 0, 0 }, + { "command", "string", 0, 0, 0 }, + { "mipmap", "bool", 0, 0, 0 }, + { "decoration_match", "match", 0, 0, 0 }, + { "shadow_match", "match", 0, 0, 0 } +}; + +static Bool +decorInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + DecorDisplay *dd; + + dd = malloc (sizeof (DecorDisplay)); + if (!dd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &decorMetadata, + decorDisplayOptionInfo, + dd->opt, + DECOR_DISPLAY_OPTION_NUM)) + { + free (dd); + return FALSE; + } + + dd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (dd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, dd->opt, DECOR_DISPLAY_OPTION_NUM); + free (dd); + return FALSE; + } + + dd->textures = 0; + + dd->supportingDmCheckAtom = + XInternAtom (d->display, DECOR_SUPPORTING_DM_CHECK_ATOM_NAME, 0); + dd->winDecorAtom = + XInternAtom (d->display, DECOR_WINDOW_ATOM_NAME, 0); + dd->decorAtom[DECOR_BARE] = + XInternAtom (d->display, DECOR_BARE_ATOM_NAME, 0); + dd->decorAtom[DECOR_NORMAL] = + XInternAtom (d->display, DECOR_NORMAL_ATOM_NAME, 0); + dd->decorAtom[DECOR_ACTIVE] = + XInternAtom (d->display, DECOR_ACTIVE_ATOM_NAME, 0); + + WRAP (dd, d, handleEvent, decorHandleEvent); + WRAP (dd, d, matchPropertyChanged, decorMatchPropertyChanged); + + d->privates[displayPrivateIndex].ptr = dd; + + return TRUE; +} + +static void +decorFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + DECOR_DISPLAY (d); + + freeScreenPrivateIndex (d, dd->screenPrivateIndex); + + UNWRAP (dd, d, handleEvent); + UNWRAP (dd, d, matchPropertyChanged); + + compFiniDisplayOptions (d, dd->opt, DECOR_DISPLAY_OPTION_NUM); + + free (dd); +} + +static Bool +decorInitScreen (CompPlugin *p, + CompScreen *s) +{ + DecorScreen *ds; + + DECOR_DISPLAY (s->display); + + ds = malloc (sizeof (DecorScreen)); + if (!ds) + return FALSE; + + ds->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (ds->windowPrivateIndex < 0) + { + free (ds); + return FALSE; + } + + memset (ds->decor, 0, sizeof (ds->decor)); + + ds->dmWin = None; + + WRAP (ds, s, drawWindow, decorDrawWindow); + WRAP (ds, s, damageWindowRect, decorDamageWindowRect); + WRAP (ds, s, getOutputExtentsForWindow, decorGetOutputExtentsForWindow); + WRAP (ds, s, windowAddNotify, decorWindowAddNotify); + WRAP (ds, s, windowMoveNotify, decorWindowMoveNotify); + WRAP (ds, s, windowResizeNotify, decorWindowResizeNotify); + WRAP (ds, s, windowStateChangeNotify, decorWindowStateChangeNotify); + + s->privates[dd->screenPrivateIndex].ptr = ds; + + decorCheckForDmOnScreen (s, FALSE); + + return TRUE; +} + +static void +decorFiniScreen (CompPlugin *p, + CompScreen *s) +{ + int i; + + DECOR_SCREEN (s); + + for (i = 0; i < DECOR_NUM; i++) + if (ds->decor[i]) + decorReleaseDecoration (s, ds->decor[i]); + + UNWRAP (ds, s, drawWindow); + UNWRAP (ds, s, damageWindowRect); + UNWRAP (ds, s, getOutputExtentsForWindow); + UNWRAP (ds, s, windowAddNotify); + UNWRAP (ds, s, windowMoveNotify); + UNWRAP (ds, s, windowResizeNotify); + UNWRAP (ds, s, windowStateChangeNotify); + + free (ds); +} + +static Bool +decorInitWindow (CompPlugin *p, + CompWindow *w) +{ + DecorWindow *dw; + + DECOR_SCREEN (w->screen); + + dw = malloc (sizeof (DecorWindow)); + if (!dw) + return FALSE; + + dw->wd = NULL; + dw->decor = NULL; + + dw->resizeUpdateHandle = 0; + + w->privates[ds->windowPrivateIndex].ptr = dw; + + if (!w->attrib.override_redirect) + decorWindowUpdateDecoration (w); + + if (w->added && (w->shaded || w->attrib.map_state == IsViewable)) + decorWindowUpdate (w, TRUE); + + return TRUE; +} + +static void +decorFiniWindow (CompPlugin *p, + CompWindow *w) +{ + DECOR_WINDOW (w); + + if (!w->destroyed) + decorWindowUpdate (w, FALSE); + + if (dw->resizeUpdateHandle) + compRemoveTimeout (dw->resizeUpdateHandle); + + if (dw->wd) + destroyWindowDecoration (w->screen, dw->wd); + + if (dw->decor) + decorReleaseDecoration (w->screen, dw->decor); + + free (dw); +} + +static Bool +decorInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&decorMetadata, + p->vTable->name, + decorDisplayOptionInfo, + DECOR_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&decorMetadata); + return FALSE; + } + + compAddMetadataFromFile (&decorMetadata, p->vTable->name); + + return TRUE; +} + +static void +decorFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&decorMetadata); +} + +static int +decorGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +decorGetMetadata (CompPlugin *plugin) +{ + return &decorMetadata; +} + +static CompPluginVTable decorVTable = { + "decoration", + decorGetVersion, + decorGetMetadata, + decorInit, + decorFini, + decorInitDisplay, + decorFiniDisplay, + decorInitScreen, + decorFiniScreen, + decorInitWindow, + decorFiniWindow, + decorGetDisplayOptions, + decorSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &decorVTable; +} diff --git a/plugins/fade.c b/plugins/fade.c new file mode 100644 index 0000000..bb94444 --- /dev/null +++ b/plugins/fade.c @@ -0,0 +1,880 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include + +#include + +static CompMetadata fadeMetadata; + +static int displayPrivateIndex; + +typedef struct _FadeDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + MatchExpHandlerChangedProc matchExpHandlerChanged; + int displayModals; + Bool suppressMinimizeOpenClose; +} FadeDisplay; + +#define FADE_SCREEN_OPTION_FADE_SPEED 0 +#define FADE_SCREEN_OPTION_WINDOW_MATCH 1 +#define FADE_SCREEN_OPTION_VISUAL_BELL 2 +#define FADE_SCREEN_OPTION_FULLSCREEN_VISUAL_BELL 3 +#define FADE_SCREEN_OPTION_NUM 4 + +typedef struct _FadeScreen { + int windowPrivateIndex; + int fadeTime; + + CompOption opt[FADE_SCREEN_OPTION_NUM]; + + PreparePaintScreenProc preparePaintScreen; + PaintWindowProc paintWindow; + DamageWindowRectProc damageWindowRect; + FocusWindowProc focusWindow; + WindowResizeNotifyProc windowResizeNotify; + + CompMatch match; +} FadeScreen; + +typedef struct _FadeWindow { + GLushort opacity; + GLushort brightness; + GLushort saturation; + + int dModal; + + int destroyCnt; + int unmapCnt; + + Bool shaded; + Bool fadeOut; + + int steps; +} FadeWindow; + +#define GET_FADE_DISPLAY(d) \ + ((FadeDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define FADE_DISPLAY(d) \ + FadeDisplay *fd = GET_FADE_DISPLAY (d) + +#define GET_FADE_SCREEN(s, fd) \ + ((FadeScreen *) (s)->privates[(fd)->screenPrivateIndex].ptr) + +#define FADE_SCREEN(s) \ + FadeScreen *fs = GET_FADE_SCREEN (s, GET_FADE_DISPLAY (s->display)) + +#define GET_FADE_WINDOW(w, fs) \ + ((FadeWindow *) (w)->privates[(fs)->windowPrivateIndex].ptr) + +#define FADE_WINDOW(w) \ + FadeWindow *fw = GET_FADE_WINDOW (w, \ + GET_FADE_SCREEN (w->screen, \ + GET_FADE_DISPLAY (w->screen->display))) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static void +fadeUpdateWindowFadeMatch (CompDisplay *display, + CompOptionValue *value, + CompMatch *match) +{ + matchFini (match); + matchInit (match); + matchAddFromString (match, "!type=desktop"); + matchAddGroup (match, MATCH_OP_AND_MASK, &value->match); + matchUpdate (display, match); +} + +static CompOption * +fadeGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + FADE_SCREEN (screen); + + *count = NUM_OPTIONS (fs); + return fs->opt; +} + +static Bool +fadeSetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + FADE_SCREEN (screen); + + o = compFindOption (fs->opt, NUM_OPTIONS (fs), name, &index); + if (!o) + return FALSE; + + switch (index) { + case FADE_SCREEN_OPTION_FADE_SPEED: + if (compSetFloatOption (o, value)) + { + fs->fadeTime = 1000.0f / o->value.f; + return TRUE; + } + break; + case FADE_SCREEN_OPTION_WINDOW_MATCH: + if (compSetMatchOption (o, value)) + { + fadeUpdateWindowFadeMatch (screen->display, &o->value, &fs->match); + return TRUE; + } + break; + default: + if (compSetOption (o, value)) + return TRUE; + break; + } + + return FALSE; +} + +static void +fadePreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + CompWindow *w; + int steps; + + FADE_SCREEN (s); + + steps = (msSinceLastPaint * OPAQUE) / fs->fadeTime; + if (steps < 12) + steps = 12; + + for (w = s->windows; w; w = w->next) + GET_FADE_WINDOW (w, fs)->steps = steps; + + UNWRAP (fs, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (fs, s, preparePaintScreen, fadePreparePaintScreen); +} + +static void +fadeWindowStop (CompWindow *w) +{ + FADE_WINDOW (w); + + while (fw->unmapCnt) + { + unmapWindow (w); + fw->unmapCnt--; + } + + while (fw->destroyCnt) + { + destroyWindow (w); + fw->destroyCnt--; + } +} + +static Bool +fadePaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + FADE_SCREEN (s); + FADE_WINDOW (w); + + if (!w->screen->canDoSlightlySaturated) + fw->saturation = attrib->saturation; + + if (fw->destroyCnt || + fw->unmapCnt || + fw->opacity != attrib->opacity || + fw->brightness != attrib->brightness || + fw->saturation != attrib->saturation) + { + WindowPaintAttrib fAttrib = *attrib; + + if (fw->fadeOut) + fAttrib.opacity = 0; + + if (fw->steps) + { + GLint opacity; + GLint brightness; + GLint saturation; + + opacity = fw->opacity; + if (fAttrib.opacity > fw->opacity) + { + opacity = fw->opacity + fw->steps; + if (opacity > fAttrib.opacity) + opacity = fAttrib.opacity; + } + else if (fAttrib.opacity < fw->opacity) + { + if (w->type & CompWindowTypeUnknownMask) + opacity = fw->opacity - (fw->steps >> 1); + else + opacity = fw->opacity - fw->steps; + + if (opacity < fAttrib.opacity) + opacity = fAttrib.opacity; + } + + brightness = fw->brightness; + if (attrib->brightness > fw->brightness) + { + brightness = fw->brightness + (fw->steps / 12); + if (brightness > attrib->brightness) + brightness = attrib->brightness; + } + else if (attrib->brightness < fw->brightness) + { + brightness = fw->brightness - (fw->steps / 12); + if (brightness < attrib->brightness) + brightness = attrib->brightness; + } + + saturation = fw->saturation; + if (attrib->saturation > fw->saturation) + { + saturation = fw->saturation + (fw->steps / 6); + if (saturation > attrib->saturation) + saturation = attrib->saturation; + } + else if (attrib->saturation < fw->saturation) + { + saturation = fw->saturation - (fw->steps / 6); + if (saturation < attrib->saturation) + saturation = attrib->saturation; + } + + fw->steps = 0; + + if (opacity > 0) + { + fw->opacity = opacity; + fw->brightness = brightness; + fw->saturation = saturation; + + if (opacity != attrib->opacity || + brightness != attrib->brightness || + saturation != attrib->saturation) + addWindowDamage (w); + } + else + { + fw->opacity = 0; + + fadeWindowStop (w); + } + } + + fAttrib.opacity = fw->opacity; + fAttrib.brightness = fw->brightness; + fAttrib.saturation = fw->saturation; + + UNWRAP (fs, s, paintWindow); + status = (*s->paintWindow) (w, &fAttrib, transform, region, mask); + WRAP (fs, s, paintWindow, fadePaintWindow); + } + else + { + UNWRAP (fs, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (fs, s, paintWindow, fadePaintWindow); + } + + return status; +} + +static void +fadeAddDisplayModal (CompDisplay *d, + CompWindow *w) +{ + FADE_DISPLAY (d); + FADE_WINDOW (w); + + if (!(w->state & CompWindowStateDisplayModalMask)) + return; + + if (fw->dModal) + return; + + fw->dModal = 1; + + fd->displayModals++; + if (fd->displayModals == 1) + { + CompScreen *s; + + for (s = d->screens; s; s = s->next) + { + for (w = s->windows; w; w = w->next) + { + FADE_WINDOW (w); + + if (fw->dModal) + continue; + + w->paint.brightness = 0xa8a8; + w->paint.saturation = 0; + } + + damageScreen (s); + } + } +} + +static void +fadeRemoveDisplayModal (CompDisplay *d, + CompWindow *w) +{ + FADE_DISPLAY (d); + FADE_WINDOW (w); + + if (!fw->dModal) + return; + + fw->dModal = 0; + + fd->displayModals--; + if (fd->displayModals == 0) + { + CompScreen *s; + + for (s = d->screens; s; s = s->next) + { + for (w = s->windows; w; w = w->next) + { + FADE_WINDOW (w); + + if (fw->dModal) + continue; + + if (w->alive) + { + w->paint.brightness = w->brightness; + w->paint.saturation = w->saturation; + } + } + + damageScreen (s); + } + } +} + +static void +fadeHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompWindow *w; + + FADE_DISPLAY (d); + + switch (event->type) { + case DestroyNotify: + w = findWindowAtDisplay (d, event->xdestroywindow.window); + if (w) + { + FADE_SCREEN (w->screen); + + if (fd->suppressMinimizeOpenClose) + break; + + if (w->texture->pixmap && matchEval (&fs->match, w)) + { + FADE_WINDOW (w); + + if (fw->opacity == 0xffff) + fw->opacity = 0xfffe; + + fw->destroyCnt++; + w->destroyRefCnt++; + + fw->fadeOut = TRUE; + + addWindowDamage (w); + } + + fadeRemoveDisplayModal (d, w); + } + break; + case UnmapNotify: + w = findWindowAtDisplay (d, event->xunmap.window); + if (w) + { + FADE_SCREEN (w->screen); + FADE_WINDOW (w); + + fw->shaded = w->shaded; + + if (fd->suppressMinimizeOpenClose) + break; + + if (!fw->shaded && w->texture->pixmap && matchEval (&fs->match, w)) + { + if (fw->opacity == 0xffff) + fw->opacity = 0xfffe; + + fw->unmapCnt++; + w->unmapRefCnt++; + + fw->fadeOut = TRUE; + + addWindowDamage (w); + } + + fadeRemoveDisplayModal (d, w); + } + break; + case MapNotify: + w = findWindowAtDisplay (d, event->xmap.window); + if (w) + { + if (fd->suppressMinimizeOpenClose) + break; + + fadeWindowStop (w); + + if (w->state & CompWindowStateDisplayModalMask) + fadeAddDisplayModal (d, w); + } + break; + default: + if (event->type == d->xkbEvent) + { + XkbAnyEvent *xkbEvent = (XkbAnyEvent *) event; + + if (xkbEvent->xkb_type == XkbBellNotify) + { + XkbBellNotifyEvent *xkbBellEvent = (XkbBellNotifyEvent *) + xkbEvent; + + w = findWindowAtDisplay (d, xkbBellEvent->window); + if (!w) + w = findWindowAtDisplay (d, d->activeWindow); + + if (w) + { + CompScreen *s = w->screen; + + FADE_SCREEN (s); + + if (fs->opt[FADE_SCREEN_OPTION_VISUAL_BELL].value.b) + { + int option; + + option = FADE_SCREEN_OPTION_FULLSCREEN_VISUAL_BELL; + if (fs->opt[option].value.b) + { + for (w = s->windows; w; w = w->next) + { + if (w->destroyed) + continue; + + if (w->attrib.map_state != IsViewable) + continue; + + if (w->damaged) + { + FADE_WINDOW (w); + + fw->brightness = w->paint.brightness / 2; + } + } + + damageScreen (s); + } + else + { + FADE_WINDOW (w); + + fw->brightness = w->paint.brightness / 2; + + addWindowDamage (w); + } + } + } + } + } + break; + } + + UNWRAP (fd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (fd, d, handleEvent, fadeHandleEvent); + + switch (event->type) { + case PropertyNotify: + if (event->xproperty.atom == d->winStateAtom) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w && w->attrib.map_state == IsViewable) + { + if (w->state & CompWindowStateDisplayModalMask) + fadeAddDisplayModal (d, w); + else + fadeRemoveDisplayModal (d, w); + } + } + break; + } +} + +static Bool +fadeDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status; + + FADE_SCREEN (w->screen); + + if (initial) + { + FADE_WINDOW (w); + + fw->fadeOut = FALSE; + + if (fw->shaded) + { + fw->shaded = w->shaded; + } + else if (matchEval (&fs->match, w)) + { + FADE_DISPLAY (w->screen->display); + + if (!fd->suppressMinimizeOpenClose) + { + fw->opacity = 0; + } + } + } + + UNWRAP (fs, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (fs, w->screen, damageWindowRect, fadeDamageWindowRect); + + return status; +} + +static Bool +fadeFocusWindow (CompWindow *w) +{ + Bool status; + + FADE_SCREEN (w->screen); + FADE_WINDOW (w); + + if (fw->destroyCnt || fw->unmapCnt) + return FALSE; + + UNWRAP (fs, w->screen, focusWindow); + status = (*w->screen->focusWindow) (w); + WRAP (fs, w->screen, focusWindow, fadeFocusWindow); + + return status; +} + +static void +fadeWindowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ + FADE_SCREEN (w->screen); + + if (!w->mapNum) + fadeWindowStop (w); + + UNWRAP (fs, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP (fs, w->screen, windowResizeNotify, fadeWindowResizeNotify); +} + +static void +fadeMatchExpHandlerChanged (CompDisplay *d) +{ + CompScreen *s; + + FADE_DISPLAY (d); + + for (s = d->screens; s; s = s->next) + matchUpdate (d, &GET_FADE_SCREEN (s,fd)->match); + + UNWRAP (fd, d, matchExpHandlerChanged); + (*d->matchExpHandlerChanged) (d); + WRAP (fd, d, matchExpHandlerChanged, fadeMatchExpHandlerChanged); +} + +static Bool +fadeInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + FadeDisplay *fd; + + fd = malloc (sizeof (FadeDisplay)); + if (!fd) + return FALSE; + + fd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (fd->screenPrivateIndex < 0) + { + free (fd); + return FALSE; + } + + fd->displayModals = 0; + + /* FIXME: workaround for conflict between fade and animation plugins. + If anybody has enabled the animation plugin, he most likely doesn't + want to have fade's map and unmap effects. A better solution for that + is having a generic animation framework, that's why this workaround + shouldn't be merged into the master branch. */ + fd->suppressMinimizeOpenClose = + (findActivePlugin ("animation") != NULL); + + WRAP (fd, d, handleEvent, fadeHandleEvent); + WRAP (fd, d, matchExpHandlerChanged, fadeMatchExpHandlerChanged); + + d->privates[displayPrivateIndex].ptr = fd; + + return TRUE; +} + +static void +fadeFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + FADE_DISPLAY (d); + + freeScreenPrivateIndex (d, fd->screenPrivateIndex); + + UNWRAP (fd, d, handleEvent); + UNWRAP (fd, d, matchExpHandlerChanged); + + free (fd); +} + +static const CompMetadataOptionInfo fadeScreenOptionInfo[] = { + { "fade_speed", "float", "0.1", 0, 0 }, + { "window_match", "match", "true", 0, 0 }, + { "visual_bell", "bool", 0, 0, 0 }, + { "fullscreen_visual_bell", "bool", 0, 0, 0 } +}; + +static Bool +fadeInitScreen (CompPlugin *p, + CompScreen *s) +{ + FadeScreen *fs; + + FADE_DISPLAY (s->display); + + fs = malloc (sizeof (FadeScreen)); + if (!fs) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &fadeMetadata, + fadeScreenOptionInfo, + fs->opt, + FADE_SCREEN_OPTION_NUM)) + { + free (fs); + return FALSE; + } + + fs->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (fs->windowPrivateIndex < 0) + { + compFiniScreenOptions (s, fs->opt, FADE_SCREEN_OPTION_NUM); + free (fs); + return FALSE; + } + + fs->fadeTime = 1000.0f / fs->opt[FADE_SCREEN_OPTION_FADE_SPEED].value.f; + + matchInit (&fs->match); + + fadeUpdateWindowFadeMatch (s->display, + &fs->opt[FADE_SCREEN_OPTION_WINDOW_MATCH].value, + &fs->match); + + WRAP (fs, s, preparePaintScreen, fadePreparePaintScreen); + WRAP (fs, s, paintWindow, fadePaintWindow); + WRAP (fs, s, damageWindowRect, fadeDamageWindowRect); + WRAP (fs, s, focusWindow, fadeFocusWindow); + WRAP (fs, s, windowResizeNotify, fadeWindowResizeNotify); + + s->privates[fd->screenPrivateIndex].ptr = fs; + + return TRUE; +} + +static void +fadeFiniScreen (CompPlugin *p, + CompScreen *s) +{ + FADE_SCREEN (s); + + matchFini (&fs->match); + + freeWindowPrivateIndex (s, fs->windowPrivateIndex); + + UNWRAP (fs, s, preparePaintScreen); + UNWRAP (fs, s, paintWindow); + UNWRAP (fs, s, damageWindowRect); + UNWRAP (fs, s, focusWindow); + UNWRAP (fs, s, windowResizeNotify); + + compFiniScreenOptions (s, fs->opt, FADE_SCREEN_OPTION_NUM); + + free (fs); +} + +static Bool +fadeInitWindow (CompPlugin *p, + CompWindow *w) +{ + FadeWindow *fw; + + FADE_SCREEN (w->screen); + + fw = malloc (sizeof (FadeWindow)); + if (!fw) + return FALSE; + + fw->opacity = w->paint.opacity; + fw->brightness = w->paint.brightness; + fw->saturation = w->paint.saturation; + + fw->dModal = 0; + + fw->destroyCnt = 0; + fw->unmapCnt = 0; + fw->shaded = w->shaded; + fw->fadeOut = FALSE; + + w->privates[fs->windowPrivateIndex].ptr = fw; + + if (w->attrib.map_state == IsViewable) + { + if (w->state & CompWindowStateDisplayModalMask) + fadeAddDisplayModal (w->screen->display, w); + } + + return TRUE; +} + +static void +fadeFiniWindow (CompPlugin *p, + CompWindow *w) +{ + FADE_WINDOW (w); + + fadeRemoveDisplayModal (w->screen->display, w); + fadeWindowStop (w); + + w->paint.opacity = w->opacity; + w->paint.brightness = w->brightness; + w->paint.saturation = w->saturation; + + free (fw); +} + +static Bool +fadeInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&fadeMetadata, p->vTable->name, 0, 0, + fadeScreenOptionInfo, + FADE_SCREEN_OPTION_NUM)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&fadeMetadata); + return FALSE; + } + + compAddMetadataFromFile (&fadeMetadata, p->vTable->name); + + return TRUE; +} + +static void +fadeFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&fadeMetadata); +} + +static int +fadeGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +fadeGetMetadata (CompPlugin *plugin) +{ + return &fadeMetadata; +} + +static CompPluginVTable fadeVTable = { + "fade", + fadeGetVersion, + fadeGetMetadata, + fadeInit, + fadeFini, + fadeInitDisplay, + fadeFiniDisplay, + fadeInitScreen, + fadeFiniScreen, + fadeInitWindow, + fadeFiniWindow, + 0, /* GetDisplayOptions */ + 0, /* SetDisplayOption */ + fadeGetScreenOptions, + fadeSetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &fadeVTable; +} diff --git a/plugins/fuse.c b/plugins/fuse.c new file mode 100644 index 0000000..eb5de11 --- /dev/null +++ b/plugins/fuse.c @@ -0,0 +1,1572 @@ +/* + * Copyright © 2007 David Reveman + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * David Reveman not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * David Reveman makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * DAVID REVEMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL DAVID REVEMAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +static CompMetadata fuseMetadata; + +#define FUSE_INODE_TYPE_ROOT (1 << 0) +#define FUSE_INODE_TYPE_CORE (1 << 1) +#define FUSE_INODE_TYPE_PLUGIN (1 << 2) +#define FUSE_INODE_TYPE_SCREEN (1 << 3) +#define FUSE_INODE_TYPE_DISPLAY (1 << 4) +#define FUSE_INODE_TYPE_OPTION (1 << 5) +#define FUSE_INODE_TYPE_TYPE (1 << 6) +#define FUSE_INODE_TYPE_VALUE (1 << 7) +#define FUSE_INODE_TYPE_ITEM_COUNT (1 << 8) +#define FUSE_INODE_TYPE_ITEM_TYPE (1 << 9) +#define FUSE_INODE_TYPE_ITEMS (1 << 10) +#define FUSE_INODE_TYPE_ITEM_VALUE (1 << 11) +#define FUSE_INODE_TYPE_KEY (1 << 12) +#define FUSE_INODE_TYPE_BUTTON (1 << 13) +#define FUSE_INODE_TYPE_EDGE (1 << 14) +#define FUSE_INODE_TYPE_EDGE_BUTTON (1 << 15) +#define FUSE_INODE_TYPE_BELL (1 << 16) +#define FUSE_INODE_TYPE_MIN (1 << 17) +#define FUSE_INODE_TYPE_MAX (1 << 18) +#define FUSE_INODE_TYPE_PRECISION (1 << 19) + +#define DIR_MASK (FUSE_INODE_TYPE_ROOT | \ + FUSE_INODE_TYPE_CORE | \ + FUSE_INODE_TYPE_PLUGIN | \ + FUSE_INODE_TYPE_SCREEN | \ + FUSE_INODE_TYPE_DISPLAY | \ + FUSE_INODE_TYPE_OPTION | \ + FUSE_INODE_TYPE_ITEMS) + +#define CONST_DIR_MASK (FUSE_INODE_TYPE_CORE | \ + FUSE_INODE_TYPE_PLUGIN | \ + FUSE_INODE_TYPE_SCREEN | \ + FUSE_INODE_TYPE_DISPLAY | \ + FUSE_INODE_TYPE_OPTION) + +#define ACTION_MASK (FUSE_INODE_TYPE_KEY | \ + FUSE_INODE_TYPE_BUTTON | \ + FUSE_INODE_TYPE_EDGE | \ + FUSE_INODE_TYPE_EDGE_BUTTON | \ + FUSE_INODE_TYPE_BELL) + +#define WRITE_MASK (FUSE_INODE_TYPE_VALUE | \ + FUSE_INODE_TYPE_ITEM_VALUE | \ + FUSE_INODE_TYPE_KEY | \ + FUSE_INODE_TYPE_BUTTON | \ + FUSE_INODE_TYPE_EDGE | \ + FUSE_INODE_TYPE_EDGE_BUTTON | \ + FUSE_INODE_TYPE_BELL) + +#define FUSE_INODE_FLAG_TRUNC (1 << 0) + +typedef struct _FuseInode { + struct _FuseInode *parent; + struct _FuseInode *child; + struct _FuseInode *sibling; + + int type; + int flags; + fuse_ino_t ino; + char *name; +} FuseInode; + +typedef struct _FuseWriteBuffer { + char *data; + int size; + Bool dirty; +} FuseWriteBuffer; + +static int displayPrivateIndex; + +#define FUSE_DISPLAY_OPTION_MOUNT_POINT 0 +#define FUSE_DISPLAY_OPTION_NUM 1 + +typedef struct _FuseDisplay { + CompOption opt[FUSE_DISPLAY_OPTION_NUM]; + + struct fuse_session *session; + struct fuse_chan *channel; + char *mountPoint; + CompWatchFdHandle watchFdHandle; + char *buffer; +} FuseDisplay; + +#define GET_FUSE_DISPLAY(d) \ + ((FuseDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define FUSE_DISPLAY(d) \ + FuseDisplay *fd = GET_FUSE_DISPLAY (d) + +#define NUM_OPTIONS(d) (sizeof ((d)->opt) / sizeof (CompOption)) + +static const char *edgeName[] = { + "edge_left", + "edge_right", + "edge_top", + "edge_bottom", + "edge_top_left", + "edge_top_right", + "edge_bottom_left", + "edge_bottom_right" +}; + +static fuse_ino_t nextIno = 1; +static FuseInode *inodes = NULL; + +static FuseInode * +fuseAddInode (FuseInode *parent, + int type, + const char *name) +{ + FuseInode *inode; + + inode = malloc (sizeof (FuseInode)); + if (!inode) + return NULL; + + inode->parent = parent; + inode->sibling = NULL; + inode->child = NULL; + inode->type = type; + inode->flags = 0; + inode->ino = nextIno++; + inode->name = strdup (name); + + if (parent) + { + if (parent->child) + inode->sibling = parent->child; + + parent->child = inode; + } + + return inode; +} + +static void +fuseRemoveInode (FuseInode *parent, + FuseInode *inode) +{ + while (inode->child) + fuseRemoveInode (inode, inode->child); + + if (parent) + { + FuseInode *s, *prev = NULL; + + for (s = parent->child; s; s = s->sibling) + { + if (s == inode) + break; + + prev = s; + } + + if (prev) + prev->sibling = inode->sibling; + else + parent->child = NULL; + } + + if (inode->name) + free (inode->name); + + free (inode); +} + +static FuseInode * +fuseFindInode (FuseInode *inode, + fuse_ino_t ino, + int mask) +{ + if (inode->ino != ino) + { + FuseInode *c = inode->child; + + inode = NULL; + while (c) + { + inode = fuseFindInode (c, ino, ~0); + if (inode) + break; + + c = c->sibling; + } + } + + if (inode && (inode->type & mask)) + return inode; + + return NULL; +} + +static FuseInode * +fuseLookupChild (FuseInode *inode, + const char *name) +{ + FuseInode *c; + + for (c = inode->child; c; c = c->sibling) + if (strcmp (c->name, name) == 0) + return c; + + return NULL; +} + +static CompOption * +fuseGetDisplayOptionsFromInode (CompDisplay *d, + FuseInode *inode, + int *nOption) +{ + CompOption *option = NULL; + + if (inode->type & FUSE_INODE_TYPE_CORE) + { + option = compGetDisplayOptions (d, nOption); + } + else if (inode->type & FUSE_INODE_TYPE_PLUGIN) + { + CompPlugin *p; + + p = findActivePlugin (inode->name); + if (p && p->vTable->getDisplayOptions) + option = (*p->vTable->getDisplayOptions) (p, d, nOption); + } + + return option; +} + +static CompOption * +fuseGetScreenOptionsFromInode (CompScreen *s, + FuseInode *inode, + int *nOption) +{ + CompOption *option = NULL; + + if (inode->type & FUSE_INODE_TYPE_CORE) + { + option = compGetScreenOptions (s, nOption); + } + else if (inode->type & FUSE_INODE_TYPE_PLUGIN) + { + CompPlugin *p; + + p = findActivePlugin (inode->name); + if (p && p->vTable->getScreenOptions) + option = (*p->vTable->getScreenOptions) (p, s, nOption); + } + + return option; +} + +static CompOption * +fuseGetOptionsFromInode (CompDisplay *d, + FuseInode *inode, + int *nOption) +{ + CompOption *option = NULL; + + if (inode->type & FUSE_INODE_TYPE_SCREEN) + { + CompScreen *s; + int screenNum = -1; + + sscanf (inode->name, "screen%d", &screenNum); + + for (s = d->screens; s; s = s->next) + if (s->screenNum == screenNum) + break; + + if (s) + option = fuseGetScreenOptionsFromInode (s, inode->parent, nOption); + } + else if (inode->type & FUSE_INODE_TYPE_DISPLAY) + { + option = fuseGetDisplayOptionsFromInode (d, inode->parent, nOption); + } + + return option; +} + +static CompOption * +fuseGetOptionFromInode (CompDisplay *d, + FuseInode *inode) +{ + if (inode->type & (FUSE_INODE_TYPE_OPTION | + FUSE_INODE_TYPE_ITEMS)) + { + CompOption *option; + int nOption; + + if (inode->type & FUSE_INODE_TYPE_ITEMS) + inode = inode->parent; + + option = fuseGetOptionsFromInode (d, inode->parent, &nOption); + if (option) + { + while (nOption--) + { + if (strcmp (inode->name, option->name) == 0) + return option; + + option++; + } + } + } + + return NULL; +} + +static char * +fuseGetStringFromInode (CompDisplay *d, + FuseInode *inode) +{ + CompOption *option; + char str[256]; + + if (!inode->parent) + return NULL; + + option = fuseGetOptionFromInode (d, inode->parent); + if (!option) + return NULL; + + if (inode->flags & FUSE_INODE_FLAG_TRUNC) + return strdup (""); + + if (inode->type & FUSE_INODE_TYPE_TYPE) + { + return strdup (optionTypeToString (option->type)); + } + else if (inode->type & (FUSE_INODE_TYPE_VALUE | FUSE_INODE_TYPE_ITEM_VALUE)) + { + CompOptionValue *value = NULL; + CompOptionType type; + + if (inode->type & FUSE_INODE_TYPE_ITEM_VALUE) + { + int i; + + if (sscanf (inode->name, "value%d", &i)) + { + if (i < option->value.list.nValue) + { + value = &option->value.list.value[i]; + type = option->value.list.type; + } + } + } + else + { + value = &option->value; + type = option->type; + } + + if (value) + { + switch (type) { + case CompOptionTypeBool: + return strdup (value->b ? "true" : "false"); + case CompOptionTypeInt: + snprintf (str, 256, "%d", value->i); + return strdup (str); + case CompOptionTypeFloat: + snprintf (str, 256, "%f", value->f); + return strdup (str); + case CompOptionTypeString: + return strdup (value->s); + case CompOptionTypeColor: + return colorToString (value->c); + case CompOptionTypeMatch: + return matchToString (&value->match); + default: + break; + } + } + } + else if (inode->type & FUSE_INODE_TYPE_MIN) + { + if (option->type == CompOptionTypeInt) + snprintf (str, 256, "%d", option->rest.i.min); + else + snprintf (str, 256, "%f", option->rest.f.min); + + return strdup (str); + } + else if (inode->type & FUSE_INODE_TYPE_MAX) + { + if (option->type == CompOptionTypeInt) + snprintf (str, 256, "%d", option->rest.i.max); + else + snprintf (str, 256, "%f", option->rest.f.max); + + return strdup (str); + } + else if (inode->type & FUSE_INODE_TYPE_PRECISION) + { + snprintf (str, 256, "%f", option->rest.f.precision); + return strdup (str); + } + else if (inode->type & FUSE_INODE_TYPE_ITEM_COUNT) + { + snprintf (str, 256, "%d", option->value.list.nValue); + return strdup (str); + } + else if (inode->type & FUSE_INODE_TYPE_ITEM_TYPE) + { + return strdup (optionTypeToString (option->value.list.type)); + } + else if (inode->type & FUSE_INODE_TYPE_KEY) + { + if (option->value.action.type & CompBindingTypeKey) + return keyBindingToString (d, &option->value.action.key); + else + return strdup ("Disabled"); + } + else if (inode->type & FUSE_INODE_TYPE_BUTTON) + { + if (option->value.action.type & CompBindingTypeButton) + return buttonBindingToString (d, &option->value.action.button); + else + return strdup ("Disabled"); + } + else if (inode->type & FUSE_INODE_TYPE_EDGE) + { + int i; + + for (i = 0; i < sizeof (edgeName) / sizeof (edgeName[0]); i++) + { + if (strcmp (inode->name, edgeName[i]) == 0) + { + if (option->value.action.edgeMask & (1 << i)) + return strdup ("true"); + else + return strdup ("false"); + } + } + } + else if (inode->type & FUSE_INODE_TYPE_EDGE_BUTTON) + { + if (option->value.action.type & CompBindingTypeEdgeButton) + { + snprintf (str, 256, "Button%d", option->value.action.edgeButton); + return strdup (str); + } + else + { + return strdup ("Disabled"); + } + } + else if (inode->type & FUSE_INODE_TYPE_BELL) + { + return strdup (option->value.action.bell ? "true" : "false"); + } + + return NULL; +} + +static void +fuseUpdateInode (CompDisplay *d, + FuseInode *inode) +{ + CompScreen *s; + CompPlugin *p; + CompOption *option; + char str[256]; + + if (inode->type & FUSE_INODE_TYPE_ROOT) + { + FuseInode *c; + + if (!fuseLookupChild (inode, "core")) + fuseAddInode (inode, FUSE_INODE_TYPE_CORE, "core"); + + for (c = inode->child; c; c = c->sibling) + { + if (c->type & FUSE_INODE_TYPE_CORE) + continue; + + if (!findActivePlugin (c->name)) + fuseRemoveInode (inode, c); + } + + for (p = getPlugins (); p; p = p->next) + if (!fuseLookupChild (inode, p->vTable->name)) + fuseAddInode (inode, FUSE_INODE_TYPE_PLUGIN, + p->vTable->name); + } + else if (inode->type & (FUSE_INODE_TYPE_CORE | FUSE_INODE_TYPE_PLUGIN)) + { + int n; + + if (fuseGetDisplayOptionsFromInode (d, inode, &n)) + fuseAddInode (inode, FUSE_INODE_TYPE_DISPLAY, "allscreen"); + + for (s = d->screens; s; s = s->next) + { + if (fuseGetScreenOptionsFromInode (s, inode, &n)) + { + sprintf (str, "screen%d", s->screenNum); + fuseAddInode (inode, FUSE_INODE_TYPE_SCREEN, str); + } + } + } + else if (inode->type & (FUSE_INODE_TYPE_DISPLAY | FUSE_INODE_TYPE_SCREEN)) + { + int nOption; + + option = fuseGetOptionsFromInode (d, inode, &nOption); + if (option) + { + while (nOption--) + { + fuseAddInode (inode, FUSE_INODE_TYPE_OPTION, option->name); + + option++; + } + } + } + else if (inode->type & FUSE_INODE_TYPE_OPTION) + { + option = fuseGetOptionFromInode (d, inode); + if (option) + { + int i; + + fuseAddInode (inode, FUSE_INODE_TYPE_TYPE, "type"); + + switch (option->type) { + case CompOptionTypeFloat: + fuseAddInode (inode, FUSE_INODE_TYPE_PRECISION, "precision"); + /* fall-through */ + case CompOptionTypeInt: + fuseAddInode (inode, FUSE_INODE_TYPE_MIN, "min"); + fuseAddInode (inode, FUSE_INODE_TYPE_MAX, "max"); + /* fall-through */ + case CompOptionTypeBool: + case CompOptionTypeColor: + case CompOptionTypeMatch: + fuseAddInode (inode, FUSE_INODE_TYPE_VALUE, "value"); + break; + case CompOptionTypeString: + fuseAddInode (inode, FUSE_INODE_TYPE_VALUE, "value"); + break; + case CompOptionTypeAction: + fuseAddInode (inode, FUSE_INODE_TYPE_KEY, "key"); + fuseAddInode (inode, FUSE_INODE_TYPE_BUTTON, "button"); + + for (i = 0; i < sizeof (edgeName) / sizeof (edgeName[0]); i++) + fuseAddInode (inode, FUSE_INODE_TYPE_EDGE, edgeName[i]); + + fuseAddInode (inode, FUSE_INODE_TYPE_EDGE_BUTTON, + "edge_button"); + fuseAddInode (inode, FUSE_INODE_TYPE_BELL, "bell"); + break; + case CompOptionTypeList: + fuseAddInode (inode, FUSE_INODE_TYPE_ITEMS, "items"); + fuseAddInode (inode, FUSE_INODE_TYPE_ITEM_COUNT, + "number_of_items"); + fuseAddInode (inode, FUSE_INODE_TYPE_ITEM_TYPE, "item_type"); + default: + break; + } + } + } + else if (inode->type & FUSE_INODE_TYPE_ITEMS) + { + option = fuseGetOptionFromInode (d, inode->parent); + if (option && option->type == CompOptionTypeList) + { + FuseInode *c, *next; + int i, nValue = option->value.list.nValue; + + for (i = 0; i < option->value.list.nValue; i++) + { + sprintf (str, "value%d", i); + if (!fuseLookupChild (inode, str)) + fuseAddInode (inode, FUSE_INODE_TYPE_ITEM_VALUE, str); + } + + for (c = inode->child; c; c = next) + { + next = c->sibling; + + if (sscanf (c->name, "value%d", &i) == 0 || i >= nValue) + fuseRemoveInode (inode, c); + } + } + } +} + +static void +fuseInodeStat (CompDisplay *d, + FuseInode *inode, + struct stat *stbuf) +{ + stbuf->st_ino = inode->ino; + + if (inode->type & DIR_MASK) + { + stbuf->st_mode = S_IFDIR | 0755; + stbuf->st_nlink = 2; + } + else + { + char *str; + + if (inode->type & WRITE_MASK) + stbuf->st_mode = S_IFREG | 0666; + else + stbuf->st_mode = S_IFREG | 0444; + + stbuf->st_nlink = 1; + stbuf->st_size = 0; + + str = fuseGetStringFromInode (d, inode); + if (str) + { + stbuf->st_size = strlen (str); + free (str); + } + } +} + +static Bool +fuseInitValue (CompOptionValue *value, + CompOptionType type, + CompOptionValue *src) +{ + switch (type) { + case CompOptionTypeBool: + value->b = src->b; + break; + case CompOptionTypeInt: + value->i = src->i; + break; + case CompOptionTypeFloat: + value->f = src->f; + break; + case CompOptionTypeString: + value->s = strdup (src->s); + break; + case CompOptionTypeColor: + memcpy (value->c, src->c, sizeof (*src->c)); + break; + case CompOptionTypeMatch: + matchInit (&value->match); + matchCopy (&value->match, &src->match); + break; + default: + return FALSE; + } + + return TRUE; +} + +static Bool +fuseInitValueFromString (CompOptionValue *value, + CompOptionType type, + char *str) +{ + switch (type) { + case CompOptionTypeBool: + value->b = strcmp (str, "true") ? FALSE : TRUE; + break; + case CompOptionTypeInt: + value->i = atoi (str); + break; + case CompOptionTypeFloat: + value->f = strtod (str, NULL); + break; + case CompOptionTypeString: + value->s = strdup (str); + break; + case CompOptionTypeColor: + if (!stringToColor (str, value->c)) + return FALSE; + break; + case CompOptionTypeMatch: + matchInit (&value->match); + matchAddFromString (&value->match, str); + break; + default: + return FALSE; + } + + return TRUE; +} + +static void +fuseFiniValue (CompOptionValue *value, + CompOptionType type) +{ + int i; + + switch (type) { + case CompOptionTypeString: + if (value->s) + free (value->s); + break; + case CompOptionTypeMatch: + matchFini (&value->match); + break; + case CompOptionTypeList: + if (value->list.nValue) + { + for (i = 0; i < value->list.nValue; i++) + fuseFiniValue (&value->list.value[i], value->list.type); + + free (value->list.value); + } + default: + break; + } +} + +static void +fuseSetInodeOptionUsingString (CompDisplay *d, + FuseInode *inode, + char *str) +{ + CompOption *option; + + option = fuseGetOptionFromInode (d, inode->parent); + if (option) + { + CompOptionValue value; + CompScreen *s = NULL; + char *plugin = NULL; + FuseInode *screenInode = NULL; + + if (inode->type & FUSE_INODE_TYPE_VALUE) + { + if (!fuseInitValueFromString (&value, option->type, str)) + return; + + screenInode = inode->parent->parent; + } + else if (inode->type & ACTION_MASK) + { + value.action = option->value.action; + + if (inode->type & FUSE_INODE_TYPE_KEY) + { + if (!stringToKeyBinding (d, str, &value.action.key)) + return; + } + else if (inode->type & FUSE_INODE_TYPE_BUTTON) + { + if (!stringToButtonBinding (d, str, &value.action.button)) + return; + } + else if (inode->type & FUSE_INODE_TYPE_BELL) + { + value.action.bell = strcmp (str, "true") ? FALSE : TRUE; + } + else if (inode->type & FUSE_INODE_TYPE_EDGE) + { + int i; + + for (i = 0; i < sizeof (edgeName) / sizeof (edgeName[0]); i++) + { + if (strcmp (inode->name, edgeName[i]) == 0) + { + if (strcmp (str, "true") == 0) + value.action.edgeMask |= (1 << i); + else + value.action.edgeMask &= ~(1 << i); + + break; + } + } + } + else if (inode->type & FUSE_INODE_TYPE_EDGE_BUTTON) + { + value.action.edgeButton = atoi (str); + } + + screenInode = inode->parent->parent; + } + else if (inode->type & FUSE_INODE_TYPE_ITEM_VALUE) + { + int i, item, nValue = option->value.list.nValue; + + if (!sscanf (inode->name, "value%d", &item)) + return; + + if (item >= nValue) + return; + + value.list.value = malloc (sizeof (CompOptionValue) * nValue); + if (!value.list.value) + return; + + value.list.type = option->value.list.type; + value.list.nValue = 0; + + for (i = 0; i < nValue; i++) + { + if (i == item) + { + if (!fuseInitValueFromString (&value.list.value[i], + value.list.type, + str)) + break; + } + else + { + if (!fuseInitValue (&value.list.value[i], + value.list.type, + &option->value.list.value[i])) + break; + } + + value.list.nValue++; + } + + /* failed */ + if (value.list.nValue < nValue) + { + fuseFiniValue (&value, option->type); + return; + } + + screenInode = inode->parent->parent->parent; + } + + if (!screenInode) + return; + + if (screenInode->type & FUSE_INODE_TYPE_SCREEN) + { + int screenNum = -1; + + sscanf (screenInode->name, "screen%d", &screenNum); + + for (s = d->screens; s; s = s->next) + if (s->screenNum == screenNum) + break; + } + + if (screenInode->parent->type & FUSE_INODE_TYPE_PLUGIN) + plugin = screenInode->parent->name; + + if (s) + { + if (plugin) + (*s->setScreenOptionForPlugin) (s, + plugin, + option->name, + &value); + else + (*s->setScreenOption) (s, option->name, &value); + } + else + { + if (plugin) + (*d->setDisplayOptionForPlugin) (d, + plugin, + option->name, + &value); + else + (*d->setDisplayOption) (d, option->name, &value); + } + + fuseFiniValue (&value, option->type); + } +} + +static void +ecomp_getattr (fuse_req_t req, + fuse_ino_t ino, + struct fuse_file_info *fi) +{ + CompDisplay *d = (CompDisplay *) fuse_req_userdata (req); + FuseInode *inode; + + inode = fuseFindInode (inodes, ino, ~0); + if (inode) + { + struct stat stbuf; + + memset (&stbuf, 0, sizeof (stbuf)); + + fuseInodeStat (d, inode, &stbuf); + + fuse_reply_attr (req, &stbuf, 1.0); + } + else + { + fuse_reply_err (req, ENOENT); + } +} + +static void +ecomp_setattr (fuse_req_t req, + fuse_ino_t ino, + struct stat *attr, + int to_set, + struct fuse_file_info *fi) +{ + CompDisplay *d = (CompDisplay *) fuse_req_userdata (req); + FuseInode *inode; + + inode = fuseFindInode (inodes, ino, WRITE_MASK); + if (inode) + { + struct stat stbuf; + + if ((to_set & FUSE_SET_ATTR_SIZE) != FUSE_SET_ATTR_SIZE) + { + fuse_reply_err (req, EACCES); + return; + } + + if (attr->st_size != 0) + { + fuse_reply_err (req, EACCES); + return; + } + + inode->flags |= FUSE_INODE_FLAG_TRUNC; + + memset (&stbuf, 0, sizeof (stbuf)); + + fuseInodeStat (d, inode, &stbuf); + + fuse_reply_attr (req, &stbuf, 1.0); + } + else + { + fuse_reply_err (req, ENOENT); + } +} + +static void +ecomp_lookup (fuse_req_t req, + fuse_ino_t parent, + const char *name) +{ + CompDisplay *d = (CompDisplay *) fuse_req_userdata (req); + FuseInode *inode; + struct fuse_entry_param e; + + inode = fuseFindInode (inodes, parent, DIR_MASK); + if (!inode) + { + fuse_reply_err (req, ENOENT); + return; + } + + if (!inode->child || !(inode->type & CONST_DIR_MASK)) + fuseUpdateInode (d, inode); + + inode = fuseLookupChild (inode, name); + if (!inode) + { + fuse_reply_err (req, ENOENT); + return; + } + + memset (&e, 0, sizeof (e)); + + e.attr_timeout = 1.0; + e.entry_timeout = 1.0; + e.ino = inode->ino; + + fuseInodeStat (d, inode, &e.attr); + + fuse_reply_entry (req, &e); +} + +struct dirbuf { + char *p; + size_t size; +}; + +static void +dirbuf_add (fuse_req_t req, + struct dirbuf *b, + const char *name, + fuse_ino_t ino) +{ + struct stat stbuf; + size_t oldSize = b->size; + + b->size += fuse_add_direntry (req, NULL, 0, name, NULL, 0); + b->p = (char *) realloc (b->p, b->size); + + memset (&stbuf, 0, sizeof (stbuf)); + + stbuf.st_ino = ino; + + fuse_add_direntry (req, b->p + oldSize, b->size - oldSize, name, &stbuf, + b->size); +} + +static int +reply_buf_limited (fuse_req_t req, + const char *buf, + size_t bufsize, + off_t off, + size_t maxsize) +{ + if (off < bufsize) + return fuse_reply_buf (req, buf + off, MIN (bufsize - off, maxsize)); + else + return fuse_reply_buf (req, NULL, 0); +} + +static void +ecomp_readdir (fuse_req_t req, + fuse_ino_t ino, + size_t size, + off_t off, + struct fuse_file_info *fi) +{ + CompDisplay *d = (CompDisplay *) fuse_req_userdata (req); + FuseInode *inode, *c; + struct dirbuf b; + + inode = fuseFindInode (inodes, ino, DIR_MASK); + if (!inode) + { + fuse_reply_err (req, ENOTDIR); + return; + } + + memset (&b, 0, sizeof (b)); + + dirbuf_add (req, &b, ".", ino); + dirbuf_add (req, &b, "..", inode->parent ? inode->parent->ino : ino); + + if (!inode->child || !(inode->type & CONST_DIR_MASK)) + fuseUpdateInode (d, inode); + + for (c = inode->child; c; c = c->sibling) + dirbuf_add (req, &b, c->name, c->ino); + + reply_buf_limited (req, b.p, b.size, off, size); + + free (b.p); +} + +static void +ecomp_open (fuse_req_t req, + fuse_ino_t ino, + struct fuse_file_info *fi) +{ + CompDisplay *d = (CompDisplay *) fuse_req_userdata (req); + FuseInode *inode; + + inode = fuseFindInode (inodes, ino, ~0); + if (!inode) + { + fuse_reply_err (req, ENOENT); + return; + } + + fi->fh = 0; + + if (inode->type & DIR_MASK) + { + fuse_reply_err (req, EISDIR); + } + else if (inode->type & WRITE_MASK) + { + if ((fi->flags & 3) != O_RDONLY) + { + char *data; + + if (fi->flags & O_TRUNC) + data = strdup (""); + else + data = fuseGetStringFromInode (d, inode); + + if (data) + { + FuseWriteBuffer *wb; + + wb = malloc (sizeof (FuseWriteBuffer)); + if (wb) + { + wb->data = data; + wb->size = strlen (wb->data); + wb->dirty = TRUE; + + fi->fh = (unsigned long) wb; + } + else + { + free (data); + } + } + } + + fuse_reply_open (req, fi); + } + else if ((fi->flags & 3) != O_RDONLY) + { + fuse_reply_err (req, EACCES); + } + else + { + fuse_reply_open (req, fi); + } +} + +static void +ecomp_read (fuse_req_t req, + fuse_ino_t ino, + size_t size, + off_t off, + struct fuse_file_info *fi) +{ + CompDisplay *d = (CompDisplay *) fuse_req_userdata (req); + FuseInode *inode; + char *str = NULL; + + inode = fuseFindInode (inodes, ino, ~0); + if (inode) + str = fuseGetStringFromInode (d, inode); + + if (str) + { + reply_buf_limited (req, str, strlen (str), off, size); + free (str); + } + else + { + reply_buf_limited (req, NULL, 0, off, size); + } +} + +static void +ecomp_write (fuse_req_t req, + fuse_ino_t ino, + const char *buf, + size_t size, + off_t off, + struct fuse_file_info *fi) +{ + FuseInode *inode; + + inode = fuseFindInode (inodes, ino, WRITE_MASK); + if (inode && fi->fh) + { + FuseWriteBuffer *wb = (FuseWriteBuffer *) (uintptr_t) fi->fh; + + if (off + size > wb->size) + { + char *data; + + data = realloc (wb->data, off + size + 1); + if (!data) + { + fuse_reply_err (req, ENOBUFS); + return; + } + + data[off + size] = '\0'; + + wb->data = data; + wb->size = off + size; + } + + memcpy (wb->data + off, buf, size); + + wb->dirty = TRUE; + + fuse_reply_write (req, size); + } + else + { + fuse_reply_err (req, ENOENT); + } +} + +static void +ecomp_release (fuse_req_t req, + fuse_ino_t ino, + struct fuse_file_info *fi) +{ + CompDisplay *d = (CompDisplay *) fuse_req_userdata (req); + + if (fi->fh) + { + FuseWriteBuffer *wb = (FuseWriteBuffer *) (uintptr_t) fi->fh; + FuseInode *inode; + + inode = fuseFindInode (inodes, ino, WRITE_MASK); + if (inode && wb->dirty) + { + fuseSetInodeOptionUsingString (d, inode, wb->data); + + inode->flags &= ~FUSE_INODE_FLAG_TRUNC; + } + + free (wb->data); + free (wb); + } + + fuse_reply_err (req, 0); +} + +static void +ecomp_fsync (fuse_req_t req, + fuse_ino_t ino, + int datasync, + struct fuse_file_info *fi) +{ + CompDisplay *d = (CompDisplay *) fuse_req_userdata (req); + + if (fi->fh) + { + FuseWriteBuffer *wb = (FuseWriteBuffer *) (uintptr_t) fi->fh; + FuseInode *inode; + + inode = fuseFindInode (inodes, ino, WRITE_MASK); + if (inode && wb->dirty) + { + fuseSetInodeOptionUsingString (d, inode, wb->data); + + inode->flags &= ~FUSE_INODE_FLAG_TRUNC; + + wb->dirty = FALSE; + } + } + + fuse_reply_err (req, 0); +} + +static struct fuse_lowlevel_ops ecomp_ll_oper = { + .lookup = ecomp_lookup, + .getattr = ecomp_getattr, + .setattr = ecomp_setattr, + .readdir = ecomp_readdir, + .open = ecomp_open, + .read = ecomp_read, + .write = ecomp_write, + .release = ecomp_release, + .fsync = ecomp_fsync +}; + +static void +fuseUnmount (CompDisplay *d) +{ + FUSE_DISPLAY (d); + + if (fd->watchFdHandle) + { + compRemoveWatchFd (fd->watchFdHandle); + fd->watchFdHandle = 0; + } + + if (fd->mountPoint) + { + /* unmount will destroy the channel */ + fuse_unmount (fd->mountPoint, fd->channel); + free (fd->mountPoint); + fd->mountPoint = NULL; + fd->channel = NULL; + } + + if (fd->buffer) + { + free (fd->buffer); + fd->buffer = NULL; + } +} + +static Bool +fuseProcessMessages (void *data) +{ + CompDisplay *d = (CompDisplay *) data; + struct fuse_chan *channel; + size_t bufferSize; + int res = 0; + + FUSE_DISPLAY (d); + + channel = fuse_session_next_chan (fd->session, NULL); + bufferSize = fuse_chan_bufsize (channel); + + if (fuse_session_exited (fd->session)) + return FALSE; + + for (;;) + { + struct fuse_chan *tmpch = channel; + + res = fuse_chan_recv (&tmpch, fd->buffer, bufferSize); + if (res == -EINTR) + continue; + + if (res > 0) + fuse_session_process (fd->session, fd->buffer, res, tmpch); + + break; + } + + return TRUE; +} + +static void +fuseMount (CompDisplay *d) +{ + char *mountPoint; + struct fuse_args args = FUSE_ARGS_INIT (0, NULL); + + FUSE_DISPLAY (d); + + mountPoint = strdup (fd->opt[FUSE_DISPLAY_OPTION_MOUNT_POINT].value.s); + if (!mountPoint) + return; + + fuse_opt_add_arg (&args, ""); + fuse_opt_add_arg (&args, "-o"); + fuse_opt_add_arg (&args, "allow_root"); + + fd->channel = fuse_mount (mountPoint, &args); + if (!fd->channel) + { + fuse_opt_free_args (&args); + free (mountPoint); + return; + } + + fuse_opt_free_args (&args); + + fd->buffer = malloc (fuse_chan_bufsize (fd->channel)); + if (!fd->buffer) + { + fuse_unmount (mountPoint, fd->channel); + free (mountPoint); + fd->channel = NULL; + return; + } + + fd->mountPoint = mountPoint; + + fuse_session_add_chan (fd->session, fd->channel); + + fd->watchFdHandle = compAddWatchFd (fuse_chan_fd (fd->channel), + POLLIN | POLLPRI | POLLHUP | POLLERR, + fuseProcessMessages, + d); +} + +static CompOption * +fuseGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + FUSE_DISPLAY (display); + + *count = NUM_OPTIONS (fd); + return fd->opt; +} + +static Bool +fuseSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + FUSE_DISPLAY (display); + + o = compFindOption (fd->opt, NUM_OPTIONS (fd), name, &index); + if (!o) + return FALSE; + + switch (index) { + case FUSE_DISPLAY_OPTION_MOUNT_POINT: + if (compSetStringOption (o, value)) + { + fuseUnmount (display); + fuseMount (display); + return TRUE; + } + default: + break; + } + + return FALSE; +} + +static const CompMetadataOptionInfo fuseDisplayOptionInfo[] = { + { "mount_point", "string", 0, 0, 0 } +}; + +static Bool +fuseInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + FuseDisplay *fd; + struct sigaction sa; + + memset (&sa, 0, sizeof (struct sigaction)); + + sa.sa_handler = SIG_IGN; + sigemptyset (&sa.sa_mask); + sa.sa_flags = 0; + + if (sigaction (SIGPIPE, &sa, NULL) == -1) + return FALSE; + + fd = malloc (sizeof (FuseDisplay)); + if (!fd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &fuseMetadata, + fuseDisplayOptionInfo, + fd->opt, + FUSE_DISPLAY_OPTION_NUM)) + { + free (fd); + return FALSE; + } + + fd->session = fuse_lowlevel_new (NULL, + &ecomp_ll_oper, sizeof (ecomp_ll_oper), + (void *) d); + if (!fd->session) + { + compFiniDisplayOptions (d, fd->opt, FUSE_DISPLAY_OPTION_NUM); + free (fd); + return FALSE; + } + + fd->watchFdHandle = 0; + fd->channel = NULL; + fd->buffer = NULL; + fd->mountPoint = NULL; + + d->privates[displayPrivateIndex].ptr = fd; + + fuseMount (d); + + return TRUE; +} + +static void +fuseFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + FUSE_DISPLAY (d); + + fuseUnmount (d); + + fuse_session_destroy (fd->session); + + compFiniDisplayOptions (d, fd->opt, FUSE_DISPLAY_OPTION_NUM); + + free (fd); +} + +static Bool +fuseInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&fuseMetadata, + p->vTable->name, + fuseDisplayOptionInfo, + FUSE_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + inodes = fuseAddInode (NULL, FUSE_INODE_TYPE_ROOT, "."); + if (!inodes) + { + compFiniMetadata (&fuseMetadata); + return FALSE; + } + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + fuseRemoveInode (NULL, inodes); + compFiniMetadata (&fuseMetadata); + return FALSE; + } + + compAddMetadataFromFile (&fuseMetadata, p->vTable->name); + + return TRUE; +} + +static void +fuseFini (CompPlugin *p) +{ + fuseRemoveInode (NULL, inodes); + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&fuseMetadata); +} + +static int +fuseGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +fuseGetMetadata (CompPlugin *plugin) +{ + return &fuseMetadata; +} + +CompPluginVTable fuseVTable = { + "fs", + fuseGetVersion, + fuseGetMetadata, + fuseInit, + fuseFini, + fuseInitDisplay, + fuseFiniDisplay, + 0, /* InitScreen */ + 0, /* FiniScreen */ + 0, /* InitWindow */ + 0, /* FiniWindow */ + fuseGetDisplayOptions, + fuseSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &fuseVTable; +} diff --git a/plugins/gconf.c b/plugins/gconf.c new file mode 100644 index 0000000..34de5b7 --- /dev/null +++ b/plugins/gconf.c @@ -0,0 +1,1225 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#define _GNU_SOURCE +#include +#include +#include +#include + +#include + +#include +#include +#include + +static CompMetadata gconfMetadata; + +#define APP_NAME "/apps/ecomp" + +/* From gconf-internal.h. Bleah. */ +int gconf_value_compare (const GConfValue *value_a, + const GConfValue *value_b); + +static int displayPrivateIndex; + +typedef struct _GConfDisplay { + int screenPrivateIndex; + + GConfClient *client; + + InitPluginForDisplayProc initPluginForDisplay; + SetDisplayOptionProc setDisplayOption; + SetDisplayOptionForPluginProc setDisplayOptionForPlugin; +} GConfDisplay; + +typedef struct _GConfScreen { + InitPluginForScreenProc initPluginForScreen; + SetScreenOptionProc setScreenOption; + SetScreenOptionForPluginProc setScreenOptionForPlugin; +} GConfScreen; + +#define GET_GCONF_DISPLAY(d) \ + ((GConfDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define GCONF_DISPLAY(d) \ + GConfDisplay *gd = GET_GCONF_DISPLAY (d) + +#define GET_GCONF_SCREEN(s, gd) \ + ((GConfScreen *) (s)->privates[(gd)->screenPrivateIndex].ptr) + +#define GCONF_SCREEN(s) \ + GConfScreen *gs = GET_GCONF_SCREEN (s, GET_GCONF_DISPLAY (s->display)) + +static int +strcmpskipifequal (char **ptr, + char *s) +{ + int ret, len; + + len = strlen (s); + ret = strncmp (*ptr, s, len); + if (ret == 0) + *ptr = (*ptr) + len; + + return ret; +} + +static GConfValueType +gconfTypeFromCompType (CompOptionType type) +{ + switch (type) { + case CompOptionTypeBool: + return GCONF_VALUE_BOOL; + case CompOptionTypeInt: + return GCONF_VALUE_INT; + case CompOptionTypeFloat: + return GCONF_VALUE_FLOAT; + case CompOptionTypeString: + return GCONF_VALUE_STRING; + case CompOptionTypeColor: + return GCONF_VALUE_STRING; + case CompOptionTypeAction: + return GCONF_VALUE_STRING; + case CompOptionTypeMatch: + return GCONF_VALUE_STRING; + case CompOptionTypeList: + return GCONF_VALUE_LIST; + default: + break; + } + + return GCONF_VALUE_INVALID; +} + +static void +gconfSetValue (CompDisplay *d, + CompOptionValue *value, + CompOptionType type, + GConfValue *gvalue) +{ + switch (type) { + case CompOptionTypeBool: + gconf_value_set_bool (gvalue, value->b); + break; + case CompOptionTypeInt: + gconf_value_set_int (gvalue, value->i); + break; + case CompOptionTypeFloat: + gconf_value_set_float (gvalue, value->f); + break; + case CompOptionTypeString: + gconf_value_set_string (gvalue, value->s); + break; + case CompOptionTypeColor: { + gchar *color; + + color = colorToString (value->c); + gconf_value_set_string (gvalue, color); + + free (color); + } break; + case CompOptionTypeMatch: { + gchar *match; + + match = matchToString (&value->match); + gconf_value_set_string (gvalue, match); + + free (match); + } break; + default: + break; + } +} + +static void +gconfSetActionValue (CompDisplay *d, + CompOptionValue *value, + CompOptionType type, + GConfValue *gvalue, + CompBindingType bindingType) +{ + char *binding = NULL; + + if (bindingType == CompBindingTypeKey) + { + if (value->action.type & CompBindingTypeKey) + binding = keyBindingToString (d, &value->action.key); + } + else + { + if (value->action.type & CompBindingTypeButton) + binding = buttonBindingToString (d, &value->action.button); + } + + if (!binding) + binding = strdup ("Disabled"); + + gconf_value_set_string (gvalue, binding); + + free (binding); +} + +static void +gconfSetOption (CompDisplay *d, + CompOption *o, + gchar *screen, + gchar *plugin) +{ + GConfValue *gvalue, *existingValue = NULL; + gchar *key; + + GCONF_DISPLAY (d); + + if (plugin) + { + key = g_strjoin ("/", APP_NAME "/plugins", plugin, screen, "options", + o->name, NULL); + } + else + { + key = g_strjoin ("/", APP_NAME "/general", screen, "options", o->name, + NULL); + } + + switch (o->type) { + case CompOptionTypeBool: + case CompOptionTypeInt: + case CompOptionTypeFloat: + case CompOptionTypeString: + case CompOptionTypeColor: + case CompOptionTypeMatch: + existingValue = gconf_client_get (gd->client, key, NULL); + gvalue = gconf_value_new (gconfTypeFromCompType (o->type)); + gconfSetValue (d, &o->value, o->type, gvalue); + if (!existingValue || gconf_value_compare (existingValue, gvalue)) + gconf_client_set (gd->client, key, gvalue, NULL); + gconf_value_free (gvalue); + break; + case CompOptionTypeAction: { + gchar *key1, *key2, *key3, *key4, *key5; + GSList *node, *list = NULL; + GConfValue *gv; + int i; + + key1 = g_strdup_printf ("%s_%s", key, "key"); + key2 = g_strdup_printf ("%s_%s", key, "button"); + key3 = g_strdup_printf ("%s_%s", key, "bell"); + key4 = g_strdup_printf ("%s_%s", key, "edge"); + key5 = g_strdup_printf ("%s_%s", key, "edgebutton"); + + gvalue = gconf_value_new (GCONF_VALUE_STRING); + + gconfSetActionValue (d, &o->value, o->type, gvalue, + CompBindingTypeKey); + + existingValue = gconf_client_get (gd->client, key1, NULL); + if (!existingValue || gconf_value_compare (existingValue, gvalue)) + gconf_client_set (gd->client, key1, gvalue, NULL); + + if (existingValue) + gconf_value_free (existingValue); + + gconfSetActionValue (d, &o->value, o->type, gvalue, + CompBindingTypeButton); + + existingValue = gconf_client_get (gd->client, key2, NULL); + if (!existingValue || gconf_value_compare (existingValue, gvalue)) + gconf_client_set (gd->client, key2, gvalue, NULL); + + if (existingValue) + gconf_value_free (existingValue); + + gconf_value_free (gvalue); + + gvalue = gconf_value_new (GCONF_VALUE_BOOL); + gconf_value_set_bool (gvalue, o->value.action.bell); + existingValue = gconf_client_get (gd->client, key3, NULL); + if (!existingValue || gconf_value_compare (existingValue, gvalue)) + gconf_client_set (gd->client, key3, gvalue, NULL); + + if (existingValue) + gconf_value_free (existingValue); + + gconf_value_free (gvalue); + + existingValue = gconf_client_get (gd->client, key4, NULL); + + gvalue = gconf_value_new (GCONF_VALUE_LIST); + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (o->value.action.edgeMask & (1 << i)) + { + gv = gconf_value_new (GCONF_VALUE_STRING); + gconf_value_set_string (gv, edgeToString (i)); + list = g_slist_append (list, gv); + } + } + + gconf_value_set_list_type (gvalue, GCONF_VALUE_STRING); + gconf_value_set_list (gvalue, list); + if (!existingValue || gconf_value_compare (existingValue, gvalue)) + gconf_client_set (gd->client, key4, gvalue, NULL); + + for (node = list; node; node = node->next) + gconf_value_free ((GConfValue *) node->data); + + if (existingValue) + gconf_value_free (existingValue); + + g_slist_free (list); + gconf_value_free (gvalue); + + gvalue = gconf_value_new (GCONF_VALUE_INT); + if (o->value.action.type & CompBindingTypeEdgeButton) + gconf_value_set_int (gvalue, o->value.action.edgeButton); + else + gconf_value_set_int (gvalue, 0); + + existingValue = gconf_client_get (gd->client, key5, NULL); + if (!existingValue || gconf_value_compare (existingValue, gvalue)) + gconf_client_set (gd->client, key5, gvalue, NULL); + + gconf_value_free (gvalue); + + g_free (key1); + g_free (key2); + g_free (key3); + g_free (key4); + g_free (key5); + } break; + case CompOptionTypeList: { + GConfValueType type; + GSList *node, *list = NULL; + GConfValue *gv; + int i; + + existingValue = gconf_client_get (gd->client, key, NULL); + + gvalue = gconf_value_new (GCONF_VALUE_LIST); + + type = gconfTypeFromCompType (o->value.list.type); + + for (i = 0; i < o->value.list.nValue; i++) + { + gv = gconf_value_new (type); + gconfSetValue (d, &o->value.list.value[i], o->value.list.type, gv); + list = g_slist_append (list, gv); + } + + gconf_value_set_list_type (gvalue, type); + gconf_value_set_list (gvalue, list); + if (!existingValue || gconf_value_compare (existingValue, gvalue)) + gconf_client_set (gd->client, key, gvalue, NULL); + + for (node = list; node; node = node->next) + gconf_value_free ((GConfValue *) node->data); + + g_slist_free (list); + gconf_value_free (gvalue); + } break; + default: + break; + } + + if (existingValue) + gconf_value_free (existingValue); + + g_free (key); +} + +static Bool +gconfGetValue (CompDisplay *d, + CompOptionValue *value, + CompOptionType type, + GConfValue *gvalue) + +{ + if (type == CompOptionTypeBool && + gvalue->type == GCONF_VALUE_BOOL) + { + value->b = gconf_value_get_bool (gvalue); + return TRUE; + } + else if (type == CompOptionTypeInt && + gvalue->type == GCONF_VALUE_INT) + { + value->i = gconf_value_get_int (gvalue); + return TRUE; + } + else if (type == CompOptionTypeFloat && + gvalue->type == GCONF_VALUE_FLOAT) + { + value->f = gconf_value_get_float (gvalue); + return TRUE; + } + else if (type == CompOptionTypeString && + gvalue->type == GCONF_VALUE_STRING) + { + value->s = (char *) gconf_value_get_string (gvalue); + return TRUE; + } + else if (type == CompOptionTypeColor && + gvalue->type == GCONF_VALUE_STRING) + { + const gchar *color; + + color = gconf_value_get_string (gvalue); + + if (stringToColor (color, value->c)) + return TRUE; + } + else if (type == CompOptionTypeMatch && + gvalue->type == GCONF_VALUE_STRING) + { + const gchar *match; + + match = gconf_value_get_string (gvalue); + + matchInit (&value->match); + matchAddFromString (&value->match, match); + + return TRUE; + } + + return FALSE; +} + +static Bool +gconfGetOptionValue (CompDisplay *d, + gchar *key) +{ + GConfValue *gvalue; + GConfEntry *entry; + CompOptionValue value; + CompPlugin *p = 0; + CompScreen *s = 0; + CompOption *o, *option; + gchar *ptr = key; + gchar *pluginPtr = 0; + gint pluginLen = 0; + gint nOption; + Bool status = FALSE; + + GCONF_DISPLAY (d); + + if (strncmp (ptr, APP_NAME, strlen (APP_NAME))) + return FALSE; + + ptr += strlen (APP_NAME); + + if (strcmpskipifequal (&ptr, "/plugins/") == 0) + { + pluginPtr = ptr; + ptr = strchr (ptr, '/'); + if (!ptr) + return FALSE; + + pluginLen = ptr - pluginPtr; + if (pluginLen < 1) + return FALSE; + } + else if (strcmpskipifequal (&ptr, "/general")) + return FALSE; + + if (strcmpskipifequal (&ptr, "/screen") == 0) + { + int screenNum; + + screenNum = strtol (ptr, &ptr, 0); + + for (s = d->screens; s; s = s->next) + if (s->screenNum == screenNum) + break; + + if (!s || !ptr) + return FALSE; + } + else if (strcmpskipifequal (&ptr, "/allscreens")) + return FALSE; + + if (strcmpskipifequal (&ptr, "/options/")) + return FALSE; + + if (pluginPtr) + { + pluginPtr = g_strndup (pluginPtr, pluginLen); + + option = 0; + nOption = 0; + + p = findActivePlugin (pluginPtr); + if (p) + { + if (s) + { + if (p->vTable->getScreenOptions) + option = (*p->vTable->getScreenOptions) (p, s, &nOption); + } + else + { + if (p->vTable->getDisplayOptions) + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + } + } + } + else + { + if (s) + option = compGetScreenOptions (s, &nOption); + else + option = compGetDisplayOptions (d, &nOption); + } + + o = compFindOption (option, nOption, ptr, 0); + if (!o) + { + if (pluginPtr) + g_free (pluginPtr); + + return FALSE; + } + + if (o->type == CompOptionTypeAction) + { + gchar *key1, *key2, *key3, *key4, *key5; + + key1 = g_strdup_printf ("%s_%s", key, "key"); + key2 = g_strdup_printf ("%s_%s", key, "button"); + key3 = g_strdup_printf ("%s_%s", key, "bell"); + key4 = g_strdup_printf ("%s_%s", key, "edge"); + key5 = g_strdup_printf ("%s_%s", key, "edgebutton"); + + value = o->value; + + entry = gconf_client_get_entry (gd->client, key1, NULL, TRUE, NULL); + if (entry) + { + gvalue = gconf_entry_get_value (entry); + if (gvalue && gvalue->type == GCONF_VALUE_STRING) + { + const char *binding; + + binding = gconf_value_get_string (gvalue); + if (!binding) + binding = ""; + + if (strcasecmp (binding, "disabled") == 0 || !*binding) + { + value.action.type &= ~CompBindingTypeKey; + status = TRUE; + } + else + { + value.action.type |= CompBindingTypeKey; + status = stringToKeyBinding (d, binding, + &value.action.key); + } + } + + gconf_entry_free (entry); + } + + entry = gconf_client_get_entry (gd->client, key2, NULL, TRUE, NULL); + if (entry) + { + gvalue = gconf_entry_get_value (entry); + if (gvalue && gvalue->type == GCONF_VALUE_STRING) + { + const char *binding; + + binding = gconf_value_get_string (gvalue); + if (!binding) + binding = ""; + + if (strcasecmp (binding, "disabled") == 0 || !*binding) + { + value.action.type &= ~CompBindingTypeButton; + status = TRUE; + } + else + { + value.action.type |= CompBindingTypeButton; + status = stringToButtonBinding (d, binding, + &value.action.button); + } + } + + gconf_entry_free (entry); + } + + entry = gconf_client_get_entry (gd->client, key3, NULL, TRUE, NULL); + if (entry) + { + gvalue = gconf_entry_get_value (entry); + if (gvalue && gvalue->type == GCONF_VALUE_BOOL) + { + value.action.bell = gconf_value_get_bool (gvalue); + status = TRUE; + } + + gconf_entry_free (entry); + } + + entry = gconf_client_get_entry (gd->client, key4, NULL, TRUE, NULL); + if (entry) + { + gvalue = gconf_entry_get_value (entry); + if (gvalue && gvalue->type == GCONF_VALUE_LIST) + { + if (gconf_value_get_list_type (gvalue) == GCONF_VALUE_STRING) + { + GSList *list; + gchar *edge; + int i; + + value.action.edgeMask = 0; + + status = TRUE; + + list = gconf_value_get_list (gvalue); + while (list) + { + GConfValue *gv; + + gv = (GConfValue *) list->data; + edge = (gchar *) gconf_value_get_string (gv); + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (strcasecmp (edge, edgeToString (i)) == 0) + value.action.edgeMask |= 1 << i; + } + + list = g_slist_next (list); + } + } + } + + gconf_entry_free (entry); + } + + entry = gconf_client_get_entry (gd->client, key5, NULL, TRUE, NULL); + if (entry) + { + gvalue = gconf_entry_get_value (entry); + if (gvalue && gvalue->type == GCONF_VALUE_INT) + { + value.action.edgeButton = gconf_value_get_int (gvalue); + + if (value.action.edgeButton) + value.action.type |= CompBindingTypeEdgeButton; + else + value.action.type &= ~CompBindingTypeEdgeButton; + + status = TRUE; + } + + gconf_entry_free (entry); + } + + if (status) + { + if (s) + { + if (pluginPtr) + status = (*s->setScreenOptionForPlugin) (s, + pluginPtr, + ptr, + &value); + else + status = (*s->setScreenOption) (s, ptr, &value); + } + else + { + if (pluginPtr) + status = (*d->setDisplayOptionForPlugin) (d, + pluginPtr, + ptr, + &value); + else + status = (*d->setDisplayOption) (d, ptr, &value); + } + } + + g_free (key1); + g_free (key2); + g_free (key3); + g_free (key4); + g_free (key5); + } + else + { + entry = gconf_client_get_entry (gd->client, key, NULL, TRUE, NULL); + if (entry) + { + gvalue = gconf_entry_get_value (entry); + if (gvalue) + { + if (o->type == CompOptionTypeList && + gvalue->type == GCONF_VALUE_LIST) + { + GConfValueType type; + + value.list.value = 0; + value.list.nValue = 0; + + type = gconf_value_get_list_type (gvalue); + if (type == gconfTypeFromCompType (o->value.list.type)) + { + GSList *list; + int i, length; + + status = TRUE; + + list = gconf_value_get_list (gvalue); + + length = g_slist_length (list); + + if (length) + { + value.list.value = + malloc (sizeof (CompOptionValue) * length); + if (value.list.value) + { + for (i = 0; i < length; i++) + { + if (!gconfGetValue (d, &value.list.value[i], + o->value.list.type, + (GConfValue *) + list->data)) + { + status = FALSE; + break; + } + + value.list.nValue++; + + list = g_slist_next (list); + } + } + else + status = FALSE; + + if (!status) + { + free (value.list.value); + } + } + } + } + else + { + status = gconfGetValue (d, &value, o->type, gvalue); + } + + if (status) + { + if (s) + { + if (pluginPtr) + status = (*s->setScreenOptionForPlugin) (s, + pluginPtr, + ptr, + &value); + else + status = (*s->setScreenOption) (s, ptr, &value); + } + else + { + if (pluginPtr) + status = (*d->setDisplayOptionForPlugin) (d, + pluginPtr, + ptr, + &value); + else + status = (*d->setDisplayOption) (d, ptr, &value); + } + + if (o->type == CompOptionTypeList) + { + if (o->value.list.type == CompOptionTypeMatch) + { + int i; + + for (i = 0; i < value.list.nValue; i++) + matchFini (&value.list.value[i].match); + } + + if (value.list.value) + free (value.list.value); + } + else if (o->type == CompOptionTypeMatch) + { + matchFini (&value.match); + } + } + } + + gconf_entry_free (entry); + } + } + + if (pluginPtr) + g_free (pluginPtr); + + return status; +} + +static void +gconfInitOption (CompDisplay *d, + CompOption *o, + gchar *screen, + gchar *plugin) +{ + gchar *key; + + if (plugin) + { + key = g_strjoin ("/", APP_NAME "/plugins", plugin, screen, + "options", o->name, NULL); + } + else + { + key = g_strjoin ("/", APP_NAME "/general", screen, "options", + o->name, NULL); + } + + gconfGetOptionValue (d, key); + + g_free (key); +} + +static Bool +gconfSetDisplayOption (CompDisplay *d, + char *name, + CompOptionValue *value) +{ + Bool status; + + GCONF_DISPLAY (d); + + UNWRAP (gd, d, setDisplayOption); + status = (*d->setDisplayOption) (d, name, value); + WRAP (gd, d, setDisplayOption, gconfSetDisplayOption); + + if (status) + { + CompOption *option, *o; + int nOption; + + option = compGetDisplayOptions (d, &nOption); + o = compFindOption (option, nOption, name, 0); + + if (!o) + return FALSE; + + gconfSetOption (d, o, "allscreens", 0); + } + + return status; +} + +static Bool +gconfSetDisplayOptionForPlugin (CompDisplay *d, + char *plugin, + char *name, + CompOptionValue *value) +{ + Bool status; + + GCONF_DISPLAY (d); + + UNWRAP (gd, d, setDisplayOptionForPlugin); + status = (*d->setDisplayOptionForPlugin) (d, plugin, name, value); + WRAP (gd, d, setDisplayOptionForPlugin, gconfSetDisplayOptionForPlugin); + + if (status) + { + CompPlugin *p; + + p = findActivePlugin (plugin); + if (p && p->vTable->getDisplayOptions) + { + CompOption *option, *o; + int nOption; + + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + o = compFindOption (option, nOption, name, 0); + + if (!o) + return FALSE; + + gconfSetOption (d, o, "allscreens", plugin); + } + } + + return status; +} + +static Bool +gconfSetScreenOption (CompScreen *s, + char *name, + CompOptionValue *value) +{ + Bool status; + + GCONF_SCREEN (s); + + UNWRAP (gs, s, setScreenOption); + status = (*s->setScreenOption) (s, name, value); + WRAP (gs, s, setScreenOption, gconfSetScreenOption); + + if (status) + { + CompOption *option, *o; + int nOption; + gchar *screen; + + screen = g_strdup_printf ("screen%d", s->screenNum); + + option = compGetScreenOptions (s, &nOption); + o = compFindOption (option, nOption, name, 0); + + if (o) + gconfSetOption (s->display, o, screen, 0); + + g_free (screen); + } + + return status; +} + +static Bool +gconfSetScreenOptionForPlugin (CompScreen *s, + char *plugin, + char *name, + CompOptionValue *value) +{ + Bool status; + + GCONF_SCREEN (s); + + UNWRAP (gs, s, setScreenOptionForPlugin); + status = (*s->setScreenOptionForPlugin) (s, plugin, name, value); + WRAP (gs, s, setScreenOptionForPlugin, gconfSetScreenOptionForPlugin); + + if (status) + { + CompPlugin *p; + + p = findActivePlugin (plugin); + if (p && p->vTable->getScreenOptions) + { + CompOption *option, *o; + int nOption; + gchar *screen; + + screen = g_strdup_printf ("screen%d", s->screenNum); + + option = (*p->vTable->getScreenOptions) (p, s, &nOption); + o = compFindOption (option, nOption, name, 0); + + if (o) + gconfSetOption (s->display,o, screen, plugin); + + g_free (screen); + } + } + + return status; +} + +static Bool +gconfInitPluginForDisplay (CompPlugin *p, + CompDisplay *d) +{ + Bool status; + + GCONF_DISPLAY (d); + + UNWRAP (gd, d, initPluginForDisplay); + status = (*d->initPluginForDisplay) (p, d); + WRAP (gd, d, initPluginForDisplay, gconfInitPluginForDisplay); + + if (status && p->vTable->getDisplayOptions) + { + CompOption *option; + int nOption; + + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + while (nOption--) + gconfInitOption (d, option++, "allscreens", p->vTable->name); + } + + return status; +} + +static Bool +gconfInitPluginForScreen (CompPlugin *p, + CompScreen *s) +{ + Bool status; + + GCONF_SCREEN (s); + + UNWRAP (gs, s, initPluginForScreen); + status = (*s->initPluginForScreen) (p, s); + WRAP (gs, s, initPluginForScreen, gconfInitPluginForScreen); + + if (status && p->vTable->getScreenOptions) + { + CompOption *option; + int nOption; + gchar *screen; + + screen = g_strdup_printf ("screen%d", s->screenNum); + + option = (*p->vTable->getScreenOptions) (p, s, &nOption); + while (nOption--) + gconfInitOption (s->display, option++, screen, p->vTable->name); + + g_free (screen); + } + + return status; +} + +static void +gconfKeyChanged (GConfClient *client, + guint cnxn_id, + GConfEntry *entry, + gpointer user_data) +{ + static int tail[] = { 0, 4, 5, 7, 11 }; + CompDisplay *display = (CompDisplay *) user_data; + gchar *key = g_strdup (entry->key); + int i; + + for (i = 0; i < sizeof (tail) / sizeof (tail[0]); i++) + { + if (strlen (entry->key) > tail[i]) + { + key[strlen (entry->key) - tail[i]] = '\0'; + if (gconfGetOptionValue (display, key)) + break; + } + } + + if (key) + g_free (key); +} + +static void +gconfSendGLibNotify (CompDisplay *d) +{ + Display *dpy = d->display; + XEvent xev; + + xev.xclient.type = ClientMessage; + xev.xclient.display = dpy; + xev.xclient.format = 32; + + xev.xclient.message_type = XInternAtom (dpy, "_ECOMP_GLIB_NOTIFY", 0); + xev.xclient.window = d->screens->root; + + memset (xev.xclient.data.l, 0, sizeof (xev.xclient.data.l)); + + XSendEvent (dpy, + d->screens->root, + FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); +} + +static Bool +gconfInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + CompOption *option; + int nOption; + GConfDisplay *gd; + + gd = malloc (sizeof (GConfDisplay)); + if (!gd) + return FALSE; + + gd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (gd->screenPrivateIndex < 0) + { + free (gd); + return FALSE; + } + + g_type_init (); + + gd->client = gconf_client_get_default (); + + gconf_client_add_dir (gd->client, APP_NAME, + GCONF_CLIENT_PRELOAD_NONE, NULL); + + WRAP (gd, d, initPluginForDisplay, gconfInitPluginForDisplay); + WRAP (gd, d, setDisplayOption, gconfSetDisplayOption); + WRAP (gd, d, setDisplayOptionForPlugin, gconfSetDisplayOptionForPlugin); + + d->privates[displayPrivateIndex].ptr = gd; + + option = compGetDisplayOptions (d, &nOption); + while (nOption--) + gconfInitOption (d, option++, "allscreens", 0); + + gconf_client_notify_add (gd->client, APP_NAME, gconfKeyChanged, d, + NULL, NULL); + + gconfSendGLibNotify (d); + + return TRUE; +} + +static void +gconfFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + GCONF_DISPLAY (d); + + g_object_unref (gd->client); + + UNWRAP (gd, d, initPluginForDisplay); + UNWRAP (gd, d, setDisplayOption); + UNWRAP (gd, d, setDisplayOptionForPlugin); + + freeScreenPrivateIndex (d, gd->screenPrivateIndex); + + free (gd); +} + +static Bool +gconfInitScreen (CompPlugin *p, + CompScreen *s) +{ + CompOption *option; + int nOption; + GConfScreen *gs; + gchar *screen; + + GCONF_DISPLAY (s->display); + + gs = malloc (sizeof (GConfScreen)); + if (!gs) + return FALSE; + + WRAP (gs, s, initPluginForScreen, gconfInitPluginForScreen); + WRAP (gs, s, setScreenOption, gconfSetScreenOption); + WRAP (gs, s, setScreenOptionForPlugin, gconfSetScreenOptionForPlugin); + + s->privates[gd->screenPrivateIndex].ptr = gs; + + screen = g_strdup_printf ("screen%d", s->screenNum); + + option = compGetScreenOptions (s, &nOption); + while (nOption--) + gconfInitOption (s->display, option++, screen, 0); + + g_free (screen); + + return TRUE; +} + +static void +gconfFiniScreen (CompPlugin *p, + CompScreen *s) +{ + GCONF_SCREEN (s); + + UNWRAP (gs, s, initPluginForScreen); + UNWRAP (gs, s, setScreenOption); + UNWRAP (gs, s, setScreenOptionForPlugin); + + free (gs); +} + +static Bool +gconfInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&gconfMetadata, p->vTable->name, + 0, 0, 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&gconfMetadata); + return FALSE; + } + + compAddMetadataFromFile (&gconfMetadata, p->vTable->name); + + return TRUE; +} + +static void +gconfFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&gconfMetadata); +} + +static int +gconfGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +gconfGetMetadata (CompPlugin *plugin) +{ + return &gconfMetadata; +} + +CompPluginVTable gconfVTable = { + "gconf", + gconfGetVersion, + gconfGetMetadata, + gconfInit, + gconfFini, + gconfInitDisplay, + gconfFiniDisplay, + gconfInitScreen, + gconfFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + 0, /* GetDisplayOptions */ + 0, /* SetDisplayOption */ + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &gconfVTable; +} diff --git a/plugins/glib.c b/plugins/glib.c new file mode 100644 index 0000000..4626a98 --- /dev/null +++ b/plugins/glib.c @@ -0,0 +1,292 @@ +/* + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include + +static CompMetadata glibMetadata; + +static int displayPrivateIndex; + +typedef struct _GLibWatch { + CompWatchFdHandle handle; + int index; + CompDisplay *display; +} GLibWatch; + +typedef struct _GConfDisplay { + HandleEventProc handleEvent; + CompTimeoutHandle timeoutHandle; + gint maxPriority; + GPollFD *fds; + gint fdsSize; + gint nFds; + GLibWatch *watch; + Atom notifyAtom; +} GLibDisplay; + +#define GET_GLIB_DISPLAY(d) \ + ((GLibDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define GLIB_DISPLAY(d) \ + GLibDisplay *gd = GET_GLIB_DISPLAY (d) + +static void +glibDispatch (CompDisplay *display, + GMainContext *context) +{ + int i; + + GLIB_DISPLAY (display); + + g_main_context_check (context, gd->maxPriority, gd->fds, gd->nFds); + g_main_context_dispatch (context); + + for (i = 0; i < gd->nFds; i++) + compRemoveWatchFd (gd->watch[i].handle); +} + +static void +glibPrepare (CompDisplay *display, + GMainContext *context); + +static Bool +glibDispatchAndPrepare (void *closure) +{ + CompDisplay *display = (CompDisplay *) closure; + GMainContext *context = g_main_context_default (); + + glibDispatch (display, context); + glibPrepare (display, context); + + return FALSE; +} + +static void +glibWakeup (CompDisplay *display) +{ + GLIB_DISPLAY (display); + + if (gd->timeoutHandle) + { + compRemoveTimeout (gd->timeoutHandle); + compAddTimeout (0, glibDispatchAndPrepare, (void *) display); + + gd->timeoutHandle = 0; + } +} + +static Bool +glibCollectEvents (void *closure) +{ + GLibWatch *watch = (GLibWatch *) closure; + CompDisplay *display = watch->display; + + GLIB_DISPLAY (display); + + gd->fds[watch->index].revents |= compWatchFdEvents (watch->handle); + + glibWakeup (display); + + return TRUE; +} + +static void +glibPrepare (CompDisplay *display, + GMainContext *context) +{ + int nFds = 0; + int timeout = -1; + int i; + + GLIB_DISPLAY (display); + + g_main_context_prepare (context, &gd->maxPriority); + + do + { + if (nFds > gd->fdsSize) + { + if (gd->fds) + free (gd->fds); + + gd->fds = malloc ((sizeof (GPollFD) + sizeof (GLibWatch)) * nFds); + if (!gd->fds) + { + nFds = 0; + break; + } + + gd->watch = (GLibWatch *) (gd->fds + nFds); + gd->fdsSize = nFds; + } + + nFds = g_main_context_query (context, + gd->maxPriority, + &timeout, + gd->fds, + gd->fdsSize); + } while (nFds > gd->fdsSize); + + if (timeout < 0) + timeout = INT_MAX; + + for (i = 0; i < nFds; i++) + { + gd->watch[i].display = display; + gd->watch[i].index = i; + gd->watch[i].handle = compAddWatchFd (gd->fds[i].fd, + gd->fds[i].events, + glibCollectEvents, + &gd->watch[i]); + } + + gd->nFds = nFds; + gd->timeoutHandle = + compAddTimeout (timeout, glibDispatchAndPrepare, display); +} + +static void +glibHandleEvent (CompDisplay *d, + XEvent *event) +{ + GLIB_DISPLAY (d); + + if (event->type == ClientMessage) + { + if (event->xclient.message_type == gd->notifyAtom) + glibWakeup (d); + } + + UNWRAP (gd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (gd, d, handleEvent, glibHandleEvent); +} + +static Bool +glibInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + GLibDisplay *gd; + + gd = malloc (sizeof (GLibDisplay)); + if (!gd) + return FALSE; + + gd->fds = NULL; + gd->fdsSize = 0; + gd->timeoutHandle = 0; + gd->notifyAtom = XInternAtom (d->display, "_ECOMP_GLIB_NOTIFY", 0); + + WRAP (gd, d, handleEvent, glibHandleEvent); + + d->privates[displayPrivateIndex].ptr = gd; + + glibPrepare (d, g_main_context_default ()); + + return TRUE; +} + +static void +glibFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + GLIB_DISPLAY (d); + + if (gd->timeoutHandle) + compRemoveTimeout (gd->timeoutHandle); + + glibDispatch (d, g_main_context_default ()); + + UNWRAP (gd, d, handleEvent); + + if (gd->fds) + free (gd->fds); + + free (gd); +} + +static Bool +glibInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&glibMetadata, p->vTable->name, + 0, 0, 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&glibMetadata); + return FALSE; + } + + compAddMetadataFromFile (&glibMetadata, p->vTable->name); + + return TRUE; +} + +static void +glibFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&glibMetadata); +} + +static int +glibGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +glibGetMetadata (CompPlugin *plugin) +{ + return &glibMetadata; +} + +CompPluginVTable glibVTable = { + "glib", + glibGetVersion, + glibGetMetadata, + glibInit, + glibFini, + glibInitDisplay, + glibFiniDisplay, + 0, /* InitScreen */ + 0, /* FiniScreen */ + 0, /* InitWindow */ + 0, /* FiniWindow */ + 0, /* GetDisplayOptions */ + 0, /* SetDisplayOption */ + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &glibVTable; +} diff --git a/plugins/ini.c b/plugins/ini.c new file mode 100644 index 0000000..719e628 --- /dev/null +++ b/plugins/ini.c @@ -0,0 +1,1554 @@ +/* + * Copyright © 2007 Mike Dransfield + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Mike Dransfield not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Mike Dransfield makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * MIKE DRANSFIELD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL MIKE DRANSFIELD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Mike Dransfield + * + * Some code taken from gconf.c by : + * David Reveman + */ + +#define _GNU_SOURCE /* for asprintf */ +#include +#include +#include +#include +#include + +#define DEFAULT_PLUGINS "ini,inotify,png,decoration,move,resize,switcher" +#define NUM_DEFAULT_PLUGINS 7 +#define MAX_OPTION_LENGTH 1024 +#define HOME_OPTIONDIR ".ecomp/options" +#define CORE_NAME "general" +#define FILE_SUFFIX ".conf" + +#define GET_INI_DISPLAY(d) \ + ((IniDisplay *) (d)->privates[displayPrivateIndex].ptr) +#define INI_DISPLAY(d) \ + IniDisplay *id = GET_INI_DISPLAY (d) +#define GET_INI_SCREEN(s, id) \ + ((IniScreen *) (s)->privates[(id)->screenPrivateIndex].ptr) +#define INI_SCREEN(s) \ + IniScreen *is = GET_INI_SCREEN (s, GET_INI_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static int displayPrivateIndex; + +static CompMetadata iniMetadata; + +static Bool iniSaveOptions (CompDisplay *d, + int screen, + char *plugin); + +/* + * IniFileData + */ +typedef struct _IniFileData IniFileData; +struct _IniFileData { + char *filename; + char *plugin; + int screen; + + Bool blockWrites; + Bool blockReads; + + IniFileData *next; + IniFileData *prev; +}; + +/* + * IniDisplay + */ +typedef struct _IniDisplay { + int screenPrivateIndex; + + CompFileWatchHandle directoryWatch; + + InitPluginForDisplayProc initPluginForDisplay; + SetDisplayOptionProc setDisplayOption; + SetDisplayOptionForPluginProc setDisplayOptionForPlugin; + + IniFileData *fileData; +} IniDisplay; + +/* + * IniScreeen + */ +typedef struct _IniScreen { + InitPluginForScreenProc initPluginForScreen; + SetScreenOptionProc setScreenOption; + SetScreenOptionForPluginProc setScreenOptionForPlugin; +} IniScreen; + +/* + * IniAction + */ +static char * validActionTypes[] = { + "key", + "button", + "bell", + "edge", + "edgebutton"}; + +#define ACTION_VALUE_KEY (1 << 0) +#define ACTION_VALUE_BUTTON (1 << 1) +#define ACTION_VALUE_BELL (1 << 2) +#define ACTION_VALUE_EDGE (1 << 3) +#define ACTION_VALUE_EDGEBUTTON (1 << 4) +#define ACTION_VALUES_ALL \ + ( ACTION_VALUE_KEY \ + | ACTION_VALUE_BUTTON \ + | ACTION_VALUE_BELL \ + | ACTION_VALUE_EDGE \ + | ACTION_VALUE_EDGEBUTTON ) + +static int actionValueMasks[] = { + ACTION_VALUE_KEY, + ACTION_VALUE_BUTTON, + ACTION_VALUE_BELL, + ACTION_VALUE_EDGE, + ACTION_VALUE_EDGEBUTTON +}; + +enum { + ACTION_TYPE_KEY = 0, + ACTION_TYPE_BUTTON, + ACTION_TYPE_BELL, + ACTION_TYPE_EDGE, + ACTION_TYPE_EDGEBUTTON, + ACTION_TYPES_NUM +}; + +typedef struct _IniAction { + char *realOptionName; + unsigned int valueMasks; + CompAction a; +} IniAction; + + +static IniFileData * +iniGetFileDataFromFilename (CompDisplay *d, + const char *filename) +{ + int len, i; + int pluginSep = 0, screenSep = 0; + char *pluginStr, *screenStr; + IniFileData *fd; + + INI_DISPLAY (d); + + if (!filename) + return NULL; + + len = strlen (filename); + + if (len < (strlen(FILE_SUFFIX) + 2)) + return NULL; + + if ((filename[0]=='.') || (filename[len-1]=='~')) + return NULL; + + for (fd = id->fileData; fd; fd = fd->next) + if (strcmp (fd->filename, filename) == 0) + return fd; + + for (i=0; inext = newFd; + else + */ + id->fileData = newFd; + + newFd->prev = fd; + newFd->next = NULL; + + newFd->filename = strdup (filename); + + pluginStr = calloc (1, sizeof (char) * pluginSep + 2); + if (!pluginStr) + return NULL; + + screenStr = calloc (1, sizeof (char) * (screenSep - pluginSep)); + if (!screenStr) { + free(pluginStr); + return NULL; + } + + strncpy (pluginStr, filename, pluginSep + 1); + strncpy (screenStr, &filename[pluginSep+2], (screenSep - pluginSep) - 1); + + if (strcmp (pluginStr, CORE_NAME) == 0) + newFd->plugin = NULL; + else + newFd->plugin = strdup (pluginStr); + + if (strcmp (screenStr, "allscreens") == 0) + newFd->screen = -1; + else + newFd->screen = atoi(&screenStr[6]); + + newFd->blockReads = FALSE; + newFd->blockWrites = FALSE; + + free (pluginStr); + free (screenStr); + + return newFd; +} + +static char * +iniOptionValueToString (CompOptionValue *value, CompOptionType type) +{ + char tmp[MAX_OPTION_LENGTH]; + tmp[0] = '\0'; + + switch (type) + { + case CompOptionTypeBool: + case CompOptionTypeInt: + snprintf(tmp, 256, "%i", (int)value->i); + break; + case CompOptionTypeFloat: + snprintf(tmp, 256, "%f", value->f); + break; + case CompOptionTypeString: + snprintf (tmp, MAX_OPTION_LENGTH, "%s", strdup (value->s)); + break; + case CompOptionTypeColor: + snprintf (tmp, 10, "%s", colorToString (value->c)); + break; + case CompOptionTypeMatch: + { + char *s = matchToString (&value->match); + snprintf (tmp, MAX_OPTION_LENGTH, "%s", s); + free(s); + } + break; + default: + break; + } + + return strdup (tmp); +} + +static Bool +iniGetHomeDir (char **homeDir) +{ + char *home = NULL, *tmp; + + home = getenv ("HOME"); + if (home) + { + tmp = malloc (strlen (home) + strlen (HOME_OPTIONDIR) + 2); + if (tmp) + { + sprintf (tmp, "%s/%s", home, HOME_OPTIONDIR); + (*homeDir) = strdup (tmp); + free (tmp); + + return TRUE; + } + } + + return FALSE; +} + +static Bool +iniGetFilename (CompDisplay *d, + int screen, + char *plugin, + char **filename) +{ + CompScreen *s; + int len; + char *fn = NULL, *screenStr; + + screenStr = malloc (sizeof(char) * 12); + if (!screenStr) + return FALSE; + + if (screen > -1) + { + for (s = d->screens; s ; s = s->next) + if (s && (s->screenNum == screen)) + break; + + if (!s) + { + compLogMessage (d, "ini", CompLogLevelWarn, + "Invalid screen number passed " \ + "to iniGetFilename %d", screen); + free(screenStr); + return FALSE; + } + snprintf (screenStr, 12, "screen%d", screen); + } + else + { + strncpy (screenStr, "allscreens", 12); + } + + len = strlen (screenStr) + strlen (FILE_SUFFIX) + 2; + + if (plugin) + len += strlen (plugin); + else + len += strlen (CORE_NAME); + + fn = malloc (sizeof (char) * len); + if (fn) + { + sprintf (fn, "%s-%s%s", + plugin ? plugin : CORE_NAME, screenStr, FILE_SUFFIX); + + *filename = strdup (fn); + + free (screenStr); + free (fn); + + return TRUE; + } + + free (screenStr); + + return FALSE; +} + +static Bool +iniParseLine (char *line, char **optionName, char **optionValue) +{ + char *splitPos; + int length, optionLength; + + if (line[0] == '\0' || line[0] == '\n') + return FALSE; + + splitPos = strchr (line, '='); + if (!splitPos) + return FALSE; + + length = strlen (line) - strlen (splitPos); + *optionName = malloc (sizeof (char) * (length + 1)); + if (*optionName) + { + strncpy (*optionName, line, length); + *optionName[length] = 0; + } + splitPos++; + optionLength = strlen (splitPos); + if (splitPos[optionLength-1] == '\n') + optionLength--; + *optionValue = malloc (sizeof (char) * (optionLength +1)); + if (*optionValue) + { + strncpy (*optionValue, splitPos, optionLength); + *optionValue[optionLength] = 0; + } + return TRUE; +} + +static Bool +csvToList (char *csv, CompListValue *list, CompOptionType type) +{ + char *splitStart = NULL; + char *splitEnd = NULL; + char *item = NULL; + int itemLength, count, i; + + if (csv[0] == '\0') + { + list->nValue = 0; + return FALSE; + } + + int length = strlen (csv); + count = 1; + for (i = 0; csv[i] != '\0'; i++) + if (csv[i] == ',' && i != length-1) + count++; + + splitStart = csv; + list->value = malloc (sizeof (CompOptionValue) * count); + list->nValue = count; + + if (list->value) + { + for (i = 0; i < count; i++) + { + splitEnd = strchr (splitStart, ','); + + if (splitEnd) + { + itemLength = strlen (splitStart) - strlen (splitEnd); + item = malloc (sizeof (char) * (itemLength + 1)); + if (item) + { + strncpy (item, splitStart, itemLength); + item[itemLength] = 0; + } + } + else // last value + { + item = strdup (splitStart); + } + + if (!item) { + compLogMessage (NULL, "ini", CompLogLevelError, + "Not enough memory"); + list->nValue = 0; + return FALSE; + } + + switch (type) + { + case CompOptionTypeString: + list->value[i].s = strdup (item); + break; + case CompOptionTypeBool: + list->value[i].b = item[0] ? (Bool) atoi (item) : FALSE; + break; + case CompOptionTypeInt: + list->value[i].i = item[0] ? atoi (item) : 0; + break; + case CompOptionTypeFloat: + list->value[i].f = item[0] ? atof (item) : 0.0f; + break; + case CompOptionTypeMatch: + matchInit (&list->value[i].match); + matchAddFromString (&list->value[i].match, item); + break; + default: + break; + } + + splitStart = ++splitEnd; + if (item) + { + free (item); + item = NULL; + } + } + } + + return TRUE; +} + +static Bool +iniMakeDirectories (void) +{ + char *homeDir; + + if (iniGetHomeDir (&homeDir)) + { + mkdir (homeDir, 0700); + free (homeDir); + + return TRUE; + } + else + { + compLogMessage (NULL, "ini", CompLogLevelWarn, + "Could not get HOME environmental variable"); + return FALSE; + } +} + +static Bool +findActionType (char *optionName, int *type) +{ + char * optionType = strrchr (optionName, '_'); + if (!optionType) + return FALSE; + + optionType++; /* skip the '_' */ + + int i; + for (i = 0; i < ACTION_TYPES_NUM; i++) + { + if (strcmp (optionType, validActionTypes[i]) == 0) + { + if (type) + *type = i; + return TRUE; + } + } + + return FALSE; +} + +static Bool +parseAction (CompDisplay *d, + char *optionName, + char *optionValue, + IniAction *action) +{ + int type; + + if (!findActionType (optionName, &type)) + return FALSE; /* no action, exit the loop */ + + /* we have a new action */ + if (!action->realOptionName) + { + char *optionType = strrchr (optionName, '_'); + /* chars until the last "_" */ + int len = strlen (optionName) - strlen (optionType); + + action->realOptionName = malloc (sizeof (char) * (len+1)); + if (!action->realOptionName) + return FALSE; + + strncpy (action->realOptionName, optionName, len); + action->realOptionName[len] = '\0'; + + /* make sure all defaults are set */ + action->a.type = 0; + action->a.key.keycode = 0; + action->a.key.modifiers = 0; + action->a.button.button = 0; + action->a.button.modifiers = 0; + action->a.bell = FALSE; + action->a.edgeMask = 0; + action->a.edgeButton = 0; + action->valueMasks = 0; + } + /* detect a new option (might happen when the options are incomplete) */ + else if (action->valueMasks != ACTION_VALUES_ALL) + { + char *optionType = strrchr (optionName, '_'); + /* chars until the last "_" */ + int len = strlen (optionName) - strlen (optionType); + + char *realOptionName = malloc (sizeof (char) * (len+1)); + strncpy (realOptionName, optionName, len); + realOptionName[len] = '\0'; + + if (strcmp (action->realOptionName, realOptionName) != 0) + { + free (realOptionName); + return FALSE; + } + + free (realOptionName); + } + + int i, j; + CompListValue edges; + switch (type) + { + case ACTION_TYPE_KEY: + if (optionValue[0] != '\0' && + strcasecmp (optionValue, "disabled") != 0 && + stringToKeyBinding (d, optionValue, &action->a.key)) + action->a.type |= CompBindingTypeKey; + break; + + case ACTION_TYPE_BUTTON: + if (optionValue[0] != '\0' && + strcasecmp (optionValue, "disabled") != 0 && + stringToButtonBinding (d, optionValue, &action->a.button)) + action->a.type |= CompBindingTypeButton; + break; + + case ACTION_TYPE_BELL: + action->a.bell = (Bool) atoi (optionValue); + break; + + case ACTION_TYPE_EDGE: + if (optionValue[0] != '\0' && + csvToList (optionValue, &edges, CompOptionTypeString)) + { + for (i = 0; i < edges.nValue; i++) + { + for (j = 0; j < SCREEN_EDGE_NUM; j++) + { + if (strcasecmp (edges.value[i].s, edgeToString(j)) == 0) + { + action->a.edgeMask |= (1 << j); + + /* found corresponding mask, next value */ + break; + } + } + } + } + break; + + case ACTION_TYPE_EDGEBUTTON: + action->a.edgeButton = atoi (optionValue); + if (action->a.edgeButton != 0) + action->a.type |= CompBindingTypeEdgeButton; + break; + + default: + break; + } + + action->valueMasks |= actionValueMasks[type]; + + /* no need to read any further since all value are set */ + if (action->valueMasks == ACTION_VALUES_ALL) + return FALSE; + + return TRUE; /* continue loop, not finished parsing yet */ +} + +static Bool +iniLoadOptionsFromFile (CompDisplay *d, + FILE *optionFile, + char *plugin, + int screen, + Bool *reSave) +{ + CompOption *option = NULL, *o; + CompScreen *s = NULL; + CompPlugin *p = NULL; + CompOptionValue value; + char *optionName = NULL, *optionValue = NULL; + char tmp[MAX_OPTION_LENGTH]; + int nOption, nOptionRead = 0; + Bool status = FALSE, hasValue = FALSE; + + if (plugin) + { + p = findActivePlugin (plugin); + if (!p) + { + compLogMessage (d, "ini", CompLogLevelWarn, + "Could not find running plugin " \ + "%s (iniLoadOptionsFromFile)", plugin); + return FALSE; + } + } + + if (screen > -1) + { + for (s = d->screens; s; s = s->next) + if (s && s->screenNum == screen) + break; + + if (!s) + { + compLogMessage (d, "ini", CompLogLevelWarn, + "Invalid screen number passed to " \ + "iniLoadOptionsFromFile %d", screen); + return FALSE; + } + } + + if (plugin && p) + { + if (s && p->vTable->getScreenOptions) + { + option = (*p->vTable->getScreenOptions) (p, s, &nOption); + } + else if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + } + } + else + { + if (s) + option = compGetScreenOptions (s, &nOption); + else + option = compGetDisplayOptions (d, &nOption); + } + + IniAction action; + action.realOptionName = NULL; + Bool continueReading; + while (fgets (tmp, MAX_OPTION_LENGTH, optionFile) != NULL) + { + status = FALSE; + continueReading = FALSE; + + if (!iniParseLine (tmp, &optionName, &optionValue)) + { + compLogMessage (d, "ini", CompLogLevelWarn, + "Ignoring line '%s' in %s %i", tmp, plugin, screen); + continue; + } + + if (option) + { + o = compFindOption (option, nOption, optionName, 0); + if (o) + { + value = o->value; + + switch (o->type) + { + case CompOptionTypeBool: + hasValue = TRUE; + value.b = (Bool) atoi (optionValue); + break; + case CompOptionTypeInt: + hasValue = TRUE; + value.i = atoi (optionValue); + break; + case CompOptionTypeFloat: + hasValue = TRUE; + value.f = atof (optionValue); + break; + case CompOptionTypeString: + hasValue = TRUE; + value.s = strdup (optionValue); + break; + case CompOptionTypeColor: + hasValue = stringToColor (optionValue, value.c); + break; + case CompOptionTypeList: + hasValue = csvToList (optionValue, &value.list, value.list.type); + break; + case CompOptionTypeMatch: + hasValue = TRUE; + matchInit (&value.match); + matchAddFromString (&value.match, optionValue); + break; + default: + break; + } + + if (hasValue) + { + if (plugin && p) + { + if (s) + status = (*s->setScreenOptionForPlugin) (s, + plugin, + optionName, + &value); + else + status = (*d->setDisplayOptionForPlugin) (d, plugin, + optionName, + &value); + } + else + { + if (s) + status = (*s->setScreenOption) + (s, optionName, &value); + else + status = (*d->setDisplayOption) + (d, optionName, &value); + } + if (o->type == CompOptionTypeMatch) + { + matchFini (&value.match); + } + } + + nOptionRead++; + } + else + { + /* an action has several values, so we need + to read more then one line into our buffer */ + continueReading = parseAction (d, optionName, optionValue, &action); + } + + /* parsing action finished, write it */ + if (action.realOptionName && + !continueReading) + { + CompOption *realOption = compFindOption (option, nOption, action.realOptionName, 0); + if (realOption) + { + value = realOption->value; + + value.action.type = action.a.type; + value.action.key = action.a.key; + value.action.button = action.a.button; + value.action.bell = action.a.bell; + value.action.edgeMask = action.a.edgeMask; + value.action.edgeButton = action.a.edgeButton; + + if (plugin) + { + if (s) + status = (*s->setScreenOptionForPlugin) (s, plugin, action.realOptionName, &value); + else + status = (*d->setDisplayOptionForPlugin) (d, plugin, action.realOptionName, &value); + } + else + { + if (s) + status = (*s->setScreenOption) (s, action.realOptionName, &value); + else + status = (*d->setDisplayOption) (d, action.realOptionName, &value); + } + + /* clear the buffer */ + free(action.realOptionName); + action.realOptionName = NULL; + + /* we missed the current line because we exited it in the first call. + we also need to check wether we have a incomplete options here, + because otherwise parsing the last line again, would cause real + trouble. ;-) */ + if (!o && action.valueMasks != ACTION_VALUES_ALL) + parseAction (d, optionName, optionValue, &action); + + nOptionRead++; + } + } + } + + /* clear up */ + if (optionName) + free (optionName); + if (optionValue) + free (optionValue); + } + + if (nOption != nOptionRead) + { + *reSave = TRUE; + } + + return TRUE; +} + +static Bool +iniSaveOptions (CompDisplay *d, + int screen, + char *plugin) +{ + CompScreen *s = NULL; + CompOption *option; + int nOption = 0; + char *filename, *directory, *fullPath, *strVal = NULL; + + if (screen > -1) + { + for (s = d->screens; s; s = s->next) + if (s && s->screenNum == screen) + break; + + if (!s) + { + compLogMessage (d, "ini", CompLogLevelWarn, + "Invalid screen number passed to " \ + "iniSaveOptions %d", screen); + return FALSE; + } + } + + if (plugin) + { + CompPlugin *p; + p = findActivePlugin (plugin); + if (!p) + return FALSE; + + if (s) + option = (*p->vTable->getScreenOptions) (p, s, &nOption); + else + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + } + else + { + /* core (general) setting */ + if (s) + option = compGetScreenOptions (s, &nOption); + else + option = compGetDisplayOptions (d, &nOption); + } + + if (!option) + return FALSE; + + if (!iniGetFilename (d, screen, plugin, &filename)) + return FALSE; + + IniFileData *fileData; + + fileData = iniGetFileDataFromFilename (d, filename); + if (!fileData || (fileData && fileData->blockWrites)) + { + free (filename); + return FALSE; + } + + if (!iniGetHomeDir (&directory)) + return FALSE; + + fullPath = malloc (sizeof (char) * (strlen (filename) + strlen (directory) + 2)); + if (!fullPath) + { + free (filename); + free (directory); + return FALSE; + } + + sprintf (fullPath, "%s/%s", directory, filename); + + FILE *optionFile = fopen (fullPath, "w"); + + if (!optionFile && iniMakeDirectories ()) + optionFile = fopen (fullPath, "w"); + + if (!optionFile) + { + compLogMessage (d, "ini", CompLogLevelError, + "Failed to write to %s, check you " \ + "have the correct permissions", fullPath); + free (filename); + free (directory); + free (fullPath); + return FALSE; + } + + fileData->blockReads = TRUE; + + Bool status, firstInList; + while (nOption--) + { + status = FALSE; + int i; + + switch (option->type) + { + case CompOptionTypeBool: + case CompOptionTypeInt: + case CompOptionTypeFloat: + case CompOptionTypeString: + case CompOptionTypeColor: + case CompOptionTypeMatch: + strVal = iniOptionValueToString (&option->value, option->type); + if (strVal) + { + fprintf (optionFile, "%s=%s\n", option->name, strVal); + free (strVal); + } + else + fprintf (optionFile, "%s=\n", option->name); + break; + case CompOptionTypeAction: + firstInList = TRUE; + if (option->value.action.type & CompBindingTypeKey) + strVal = keyBindingToString (d, &option->value.action.key); + else + strVal = strdup (""); + fprintf (optionFile, "%s_%s=%s\n", option->name, "key", strVal); + free (strVal); + + if (option->value.action.type & CompBindingTypeButton) + strVal = buttonBindingToString (d, &option->value.action.button); + else + strVal = strdup (""); + fprintf (optionFile, "%s_%s=%s\n", option->name, "button", strVal); + free (strVal); + + fprintf (optionFile, "%s_%s=%i\n", option->name, "bell", + option->value.action.bell); + + strVal = malloc (sizeof(char) * MAX_OPTION_LENGTH); + strcpy (strVal, ""); + firstInList = TRUE; + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (option->value.action.edgeMask & (1 << i)) + { + if (!firstInList) + strncat (strVal, ",", MAX_OPTION_LENGTH); + firstInList = FALSE; + + strncat (strVal, edgeToString (i), MAX_OPTION_LENGTH); + } + } + fprintf (optionFile, "%s_%s=%s\n", option->name, "edge", strVal); + free (strVal); + + fprintf (optionFile, "%s_%s=%i\n", option->name, "edgebutton", + (option->value.action.type & CompBindingTypeEdgeButton) ? + option->value.action.edgeButton : 0); + break; + case CompOptionTypeList: + firstInList = TRUE; + switch (option->value.list.type) + { + case CompOptionTypeBool: + case CompOptionTypeInt: + case CompOptionTypeFloat: + case CompOptionTypeString: + case CompOptionTypeColor: + case CompOptionTypeMatch: + { + int stringLen = MAX_OPTION_LENGTH * option->value.list.nValue; + char *itemVal; + + strVal = malloc (sizeof(char) * stringLen); + if (!strVal) { + fclose(optionFile); + free(fullPath); + return FALSE; + } + strcpy (strVal, ""); + firstInList = TRUE; + + for (i = 0; i < option->value.list.nValue; i++) + { + itemVal = iniOptionValueToString ( + &option->value.list.value[i], + option->value.list.type); + if (!firstInList) + strncat (strVal, ",", stringLen); + firstInList = FALSE; + + if (itemVal) + { + strncat (strVal, itemVal, stringLen); + free (itemVal); + } + } + + fprintf (optionFile, "%s=%s\n", option->name, strVal); + free (strVal); + break; + } + default: + compLogMessage (d, "ini", CompLogLevelWarn, + "Unknown list option type %d, %s\n", + option->value.list.type, + optionTypeToString (option->value.list.type)); + break; + } + break; + default: + break; + } + + option++; + } + + fileData->blockReads = FALSE; + + fclose (optionFile); + + free (filename); + free (directory); + free (fullPath); + + return TRUE; +} + +static Bool +iniLoadOptions (CompDisplay *d, + int screen, + char *plugin) +{ + char *filename, *directory, *fullPath; + FILE *optionFile; + Bool loadRes, reSave = FALSE; + IniFileData *fileData; + + filename = directory = fullPath = NULL; + optionFile = NULL; + fileData = NULL; + + if (!iniGetFilename (d, screen, plugin, &filename)) + return FALSE; + + fileData = iniGetFileDataFromFilename (d, filename); + if (!fileData || (fileData && fileData->blockReads)) + { + free(filename); + return FALSE; + } + + if (!iniGetHomeDir (&directory)) + { + free (filename); + return FALSE; + } + + fullPath = malloc (sizeof (char) * (strlen (filename) + strlen (directory) + 2)); + if (!fullPath) + { + free (filename); + free (directory); + return FALSE; + } + + sprintf(fullPath, "%s/%s", directory, filename); + + optionFile = fopen (fullPath, "r"); + + if (!optionFile && iniMakeDirectories ()) + optionFile = fopen (fullPath, "r"); + + if (!optionFile) + { + if (!plugin && (screen == -1)) + { + CompOptionValue value; + value.list.value = malloc (NUM_DEFAULT_PLUGINS * sizeof (CompListValue)); + if (!value.list.value) + { + free (filename); + free (directory); + free (fullPath); + return FALSE; + } + + if (!csvToList (DEFAULT_PLUGINS, + &value.list, + CompOptionTypeString)) + { + free (filename); + free (directory); + free (fullPath); + return FALSE; + } + + value.list.type = CompOptionTypeString; + + compLogMessage (d, "ini", CompLogLevelWarn, + "Could not open main display config file %s", fullPath); + compLogMessage (d, "ini", CompLogLevelWarn, + "Loading default plugins (%s)", DEFAULT_PLUGINS); + + (*d->setDisplayOption) (d, "active_plugins", &value); + + free (value.list.value); + + fileData->blockWrites = FALSE; + + iniSaveOptions (d, screen, plugin); + + fileData->blockWrites = TRUE; + + optionFile = fopen (fullPath, "r"); + + if (!optionFile) + { + free (filename); + free (directory); + free (fullPath); + return FALSE; + } + } + else + { + compLogMessage (d, "ini", CompLogLevelWarn, + "Could not open config file %s - using " \ + "defaults for %s", fullPath, (plugin)?plugin:"core"); + + fileData->blockWrites = FALSE; + + iniSaveOptions (d, screen, plugin); + + fileData->blockWrites = TRUE; + + optionFile = fopen (fullPath, "r"); + if (!optionFile) + { + free (filename); + free (directory); + free (fullPath); + return FALSE; + } + } + } + + fileData->blockWrites = TRUE; + + loadRes = iniLoadOptionsFromFile (d, optionFile, plugin, screen, &reSave); + + fileData->blockWrites = FALSE; + + fclose (optionFile); + + if (loadRes && reSave) + { + fileData->blockReads = TRUE; + iniSaveOptions (d, screen, plugin); + fileData->blockReads = FALSE; + } + + free (filename); + free (directory); + free (fullPath); + + return TRUE; +} + +static void +iniFileModified (const char *name, + void *closure) +{ + CompDisplay *d; + IniFileData *fd; + + d = (CompDisplay *) closure; + + fd = iniGetFileDataFromFilename (d, name); + if (fd) + { + iniLoadOptions (d, fd->screen, fd->plugin); + } +} + +static void +iniFreeFileData (CompDisplay *d) +{ + IniFileData *fd, *tmp; + + INI_DISPLAY (d); + + fd = id->fileData; + + while (fd) + { + tmp = fd; + fd = fd->next; + free (tmp); + } +} + +/* +CORE FUNCTIONS +*/ + +static Bool +iniInitPluginForDisplay (CompPlugin *p, + CompDisplay *d) +{ + Bool status; + + INI_DISPLAY (d); + + UNWRAP (id, d, initPluginForDisplay); + status = (*d->initPluginForDisplay) (p, d); + WRAP (id, d, initPluginForDisplay, iniInitPluginForDisplay); + + if (status && p->vTable->getDisplayOptions) + { + iniLoadOptions (d, -1, p->vTable->name); + } + else if (!status) + { + compLogMessage (d, "ini", CompLogLevelWarn, + "Plugin '%s' failed to initialize " \ + "display settings", p->vTable->name); + } + + return status; +} + +static Bool +iniInitPluginForScreen (CompPlugin *p, + CompScreen *s) +{ + Bool status; + + INI_SCREEN (s); + + UNWRAP (is, s, initPluginForScreen); + status = (*s->initPluginForScreen) (p, s); + WRAP (is, s, initPluginForScreen, iniInitPluginForScreen); + + if (status && p->vTable->getScreenOptions) + { + iniLoadOptions (s->display, s->screenNum, p->vTable->name); + } + else if (!status) + { + compLogMessage (s->display, "ini", CompLogLevelWarn, + "Plugin '%s' failed to initialize " \ + "screen %d settings", p->vTable->name, s->screenNum); + } + + return status; +} + +static Bool +iniSetScreenOption (CompScreen *s, char *name, CompOptionValue *value) +{ + Bool status; + + INI_SCREEN (s); + + UNWRAP (is, s, setScreenOption); + status = (*s->setScreenOption) (s, name, value); + WRAP (is, s, setScreenOption, iniSetScreenOption); + + if (status) + { + iniSaveOptions (s->display, s->screenNum, NULL); + } + + return status; +} + +static Bool +iniSetDisplayOption (CompDisplay *d, char *name, CompOptionValue *value) +{ + Bool status; + + INI_DISPLAY (d); + + UNWRAP (id, d, setDisplayOption); + status = (*d->setDisplayOption) (d, name, value); + WRAP (id, d, setDisplayOption, iniSetDisplayOption); + + if (status) + { + iniSaveOptions (d, -1, NULL); + } + + return status; +} + +static Bool +iniSetDisplayOptionForPlugin (CompDisplay *d, + char *plugin, + char *name, + CompOptionValue *value) +{ + Bool status; + + INI_DISPLAY (d); + + UNWRAP (id, d, setDisplayOptionForPlugin); + status = (*d->setDisplayOptionForPlugin) (d, plugin, name, value); + WRAP (id, d, setDisplayOptionForPlugin, iniSetDisplayOptionForPlugin); + + if (status) + { + CompPlugin *p; + + p = findActivePlugin (plugin); + if (p && p->vTable->getDisplayOptions) + iniSaveOptions (d, -1, plugin); + } + + return status; +} + +static Bool +iniSetScreenOptionForPlugin (CompScreen *s, + char *plugin, + char *name, + CompOptionValue *value) +{ + Bool status; + + INI_SCREEN (s); + + UNWRAP (is, s, setScreenOptionForPlugin); + status = (*s->setScreenOptionForPlugin) (s, plugin, name, value); + WRAP (is, s, setScreenOptionForPlugin, iniSetScreenOptionForPlugin); + + if (status) + { + CompPlugin *p; + + p = findActivePlugin (plugin); + if (p && p->vTable->getScreenOptions) + iniSaveOptions (s->display, s->screenNum, plugin); + } + + return status; +} + +static Bool +iniInitDisplay (CompPlugin *p, CompDisplay *d) +{ + IniDisplay *id; + char *homeDir; + + id = malloc (sizeof (IniDisplay)); + if (!id) + return FALSE; + + id->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (id->screenPrivateIndex < 0) + { + free (id); + return FALSE; + } + + id->fileData = NULL; + id->directoryWatch = 0; + + WRAP (id, d, initPluginForDisplay, iniInitPluginForDisplay); + WRAP (id, d, setDisplayOption, iniSetDisplayOption); + WRAP (id, d, setDisplayOptionForPlugin, iniSetDisplayOptionForPlugin); + + d->privates[displayPrivateIndex].ptr = id; + + iniLoadOptions (d, -1, NULL); + + if (iniGetHomeDir (&homeDir)) + { + id->directoryWatch = addFileWatch (d, homeDir, + NOTIFY_DELETE_MASK | + NOTIFY_CREATE_MASK | + NOTIFY_MODIFY_MASK, + iniFileModified, (void *) d); + free (homeDir); + } + + return TRUE; +} + +static void +iniFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + INI_DISPLAY (d); + + if (id->directoryWatch) + removeFileWatch (d, id->directoryWatch); + + iniFreeFileData (d); + + freeScreenPrivateIndex (d, id->screenPrivateIndex); + + UNWRAP (id, d, initPluginForDisplay); + UNWRAP (id, d, setDisplayOption); + UNWRAP (id, d, setDisplayOptionForPlugin); + + free (id); +} + +static Bool +iniInitScreen (CompPlugin *p, CompScreen *s) +{ + IniScreen *is; + + INI_DISPLAY (s->display); + + is = malloc (sizeof (IniScreen)); + if (!is) + return FALSE; + + s->privates[id->screenPrivateIndex].ptr = is; + + WRAP (is, s, initPluginForScreen, iniInitPluginForScreen); + WRAP (is, s, setScreenOption, iniSetScreenOption); + WRAP (is, s, setScreenOptionForPlugin, iniSetScreenOptionForPlugin); + + iniLoadOptions (s->display, s->screenNum, NULL); + + return TRUE; +} + +static void +iniFiniScreen (CompPlugin *p, CompScreen *s) +{ + INI_SCREEN (s); + + UNWRAP (is, s, initPluginForScreen); + UNWRAP (is, s, setScreenOption); + UNWRAP (is, s, setScreenOptionForPlugin); + + free (is); +} + +static Bool +iniInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&iniMetadata, p->vTable->name, + 0, 0, 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&iniMetadata); + return FALSE; + } + + compAddMetadataFromFile (&iniMetadata, p->vTable->name); + + return TRUE; +} + +static void +iniFini (CompPlugin *p) +{ + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +iniGetVersion (CompPlugin *plugin, int version) +{ + return ABIVERSION; +} + +static CompMetadata * +iniGetMetadata (CompPlugin *plugin) +{ + return &iniMetadata; +} + +CompPluginVTable iniVTable = { + "ini", + iniGetVersion, + iniGetMetadata, + iniInit, + iniFini, + iniInitDisplay, + iniFiniDisplay, + iniInitScreen, + iniFiniScreen, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &iniVTable; +} diff --git a/plugins/inotify.c b/plugins/inotify.c new file mode 100644 index 0000000..d368de2 --- /dev/null +++ b/plugins/inotify.c @@ -0,0 +1,301 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include + +#include + +static CompMetadata inotifyMetadata; + +static int displayPrivateIndex; + +typedef struct _CompInotifyWatch { + struct _CompInotifyWatch *next; + CompFileWatchHandle handle; + int wd; +} CompInotifyWatch; + +typedef struct _InotifyDisplay { + int fd; + CompInotifyWatch *watch; + CompWatchFdHandle watchFdHandle; + + FileWatchAddedProc fileWatchAdded; + FileWatchRemovedProc fileWatchRemoved; +} InotifyDisplay; + +#define GET_INOTIFY_DISPLAY(d) \ + ((InotifyDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define INOTIFY_DISPLAY(d) \ + InotifyDisplay *id = GET_INOTIFY_DISPLAY (d) + + +static Bool +inotifyProcessEvents (void *data) +{ + char buf[256 * (sizeof (struct inotify_event) + 16)]; + CompDisplay *d = (CompDisplay *) data; + int len; + + INOTIFY_DISPLAY (d); + + len = read (id->fd, buf, sizeof (buf)); + if (len < 0) + { + perror ("read"); + } + else + { + struct inotify_event *event; + CompInotifyWatch *iw; + CompFileWatch *fw; + int i = 0; + + while (i < len) + { + event = (struct inotify_event *) &buf[i]; + + for (iw = id->watch; iw; iw = iw->next) + if (iw->wd == event->wd) + break; + + if (iw) + { + for (fw = d->fileWatch; fw; fw = fw->next) + if (fw->handle == iw->handle) + break; + + if (fw) + { + if (event->len) + (*fw->callBack) (event->name, fw->closure); + else + (*fw->callBack) (NULL, fw->closure); + } + } + + i += sizeof (*event) + event->len; + } + } + + return TRUE; +} + +static int +inotifyMask (CompFileWatch *fileWatch) +{ + int mask = 0; + + if (fileWatch->mask & NOTIFY_CREATE_MASK) + mask |= IN_CREATE; + + if (fileWatch->mask & NOTIFY_DELETE_MASK) + mask |= IN_DELETE; + + if (fileWatch->mask & NOTIFY_MOVE_MASK) + mask |= IN_MOVE; + + if (fileWatch->mask & NOTIFY_MODIFY_MASK) + mask |= IN_MODIFY; + + return mask; +} + +static void +inotifyFileWatchAdded (CompDisplay *d, + CompFileWatch *fileWatch) +{ + CompInotifyWatch *iw; + + INOTIFY_DISPLAY (d); + + iw = malloc (sizeof (CompInotifyWatch)); + if (!iw) + return; + + iw->handle = fileWatch->handle; + iw->wd = inotify_add_watch (id->fd, + fileWatch->path, + inotifyMask (fileWatch)); + if (iw->wd < 0) + { + perror ("inotify_add_watch"); + free (iw); + return; + } + + iw->next = id->watch; + id->watch = iw; +} + +static void +inotifyFileWatchRemoved (CompDisplay *d, + CompFileWatch *fileWatch) +{ + CompInotifyWatch *p = 0, *iw; + + INOTIFY_DISPLAY (d); + + for (iw = id->watch; iw; iw = iw->next) + { + if (iw->handle == fileWatch->handle) + break; + + p = iw; + } + + if (iw) + { + if (p) + p->next = iw->next; + else + id->watch = iw->next; + + if (inotify_rm_watch (id->fd, iw->wd)) + perror ("inotify_rm_watch"); + + free (iw); + } +} + +static Bool +inotifyInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + InotifyDisplay *id; + CompFileWatch *fw; + + id = malloc (sizeof (InotifyDisplay)); + if (!id) + return FALSE; + + id->fd = inotify_init (); + if (id->fd < 0) + { + perror ("inotify_init"); + free (id); + return FALSE; + } + + id->watch = NULL; + + id->watchFdHandle = compAddWatchFd (id->fd, + POLLIN | POLLPRI | POLLHUP | POLLERR, + inotifyProcessEvents, + d); + + WRAP (id, d, fileWatchAdded, inotifyFileWatchAdded); + WRAP (id, d, fileWatchRemoved, inotifyFileWatchRemoved); + + d->privates[displayPrivateIndex].ptr = id; + + for (fw = d->fileWatch; fw; fw = fw->next) + inotifyFileWatchAdded (d, fw); + + return TRUE; +} + +static void +inotifyFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + INOTIFY_DISPLAY (d); + + compRemoveWatchFd (id->watchFdHandle); + + close (id->fd); + + UNWRAP (id, d, fileWatchAdded); + UNWRAP (id, d, fileWatchRemoved); + + free (id); +} + +static Bool +inotifyInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&inotifyMetadata, p->vTable->name, + 0, 0, 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&inotifyMetadata); + return FALSE; + } + + compAddMetadataFromFile (&inotifyMetadata, p->vTable->name); + + return TRUE; +} + +static void +inotifyFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&inotifyMetadata); +} + +static int +inotifyGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +inotifyGetMetadata (CompPlugin *plugin) +{ + return &inotifyMetadata; +} + +CompPluginVTable inotifyVTable = { + "inotify", + inotifyGetVersion, + inotifyGetMetadata, + inotifyInit, + inotifyFini, + inotifyInitDisplay, + inotifyFiniDisplay, + 0, /* InitScreen */ + 0, /* FiniScreen */ + 0, /* InitWindow */ + 0, /* FiniWindow */ + 0, /* GetDisplayOptions */ + 0, /* SetDisplayOption */ + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &inotifyVTable; +} diff --git a/plugins/minimize.c b/plugins/minimize.c new file mode 100644 index 0000000..37f5525 --- /dev/null +++ b/plugins/minimize.c @@ -0,0 +1,1039 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include + +#include +#include +#include + +#include + +static CompMetadata minMetadata; + +static int displayPrivateIndex; + +typedef struct _MinDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + Atom winChangeStateAtom; + Atom winIconGeometryAtom; +} MinDisplay; + +#define MIN_SCREEN_OPTION_SPEED 0 +#define MIN_SCREEN_OPTION_TIMESTEP 1 +#define MIN_SCREEN_OPTION_WINDOW_MATCH 2 +#define MIN_SCREEN_OPTION_SHADE_RESISTANCE 3 +#define MIN_SCREEN_OPTION_NUM 4 + +typedef struct _MinScreen { + int windowPrivateIndex; + + CompOption opt[MIN_SCREEN_OPTION_NUM]; + + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + DamageWindowRectProc damageWindowRect; + FocusWindowProc focusWindow; + + int shadeStep; + int moreAdjust; +} MinScreen; + +typedef struct _MinWindow { + GLfloat xVelocity, yVelocity, xScaleVelocity, yScaleVelocity; + GLfloat xScale, yScale; + GLfloat tx, ty; + + Bool adjust; + + XRectangle icon; + + int state, newState; + + int shade; + Region region; + + int unmapCnt; +} MinWindow; + +#define GET_MIN_DISPLAY(d) \ + ((MinDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define MIN_DISPLAY(d) \ + MinDisplay *md = GET_MIN_DISPLAY (d) + +#define GET_MIN_SCREEN(s, md) \ + ((MinScreen *) (s)->privates[(md)->screenPrivateIndex].ptr) + +#define MIN_SCREEN(s) \ + MinScreen *ms = GET_MIN_SCREEN (s, GET_MIN_DISPLAY (s->display)) + +#define GET_MIN_WINDOW(w, ms) \ + ((MinWindow *) (w)->privates[(ms)->windowPrivateIndex].ptr) + +#define MIN_WINDOW(w) \ + MinWindow *mw = GET_MIN_WINDOW (w, \ + GET_MIN_SCREEN (w->screen, \ + GET_MIN_DISPLAY (w->screen->display))) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static CompOption * +minGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + MIN_SCREEN (screen); + + *count = NUM_OPTIONS (ms); + return ms->opt; +} + +static Bool +minSetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + MIN_SCREEN (screen); + + o = compFindOption (ms->opt, NUM_OPTIONS (ms), name, &index); + if (!o) + return FALSE; + + switch (index) { + case MIN_SCREEN_OPTION_SHADE_RESISTANCE: + if (compSetIntOption (o, value)) + { + if (o->value.i) + ms->shadeStep = o->rest.i.max - o->value.i + 1; + else + ms->shadeStep = 0; + + return TRUE; + } + break; + default: + if (compSetOption (o, value)) + return TRUE; + break; + } + + return FALSE; +} + +static void +minSetShade (CompWindow *w, + int shade) +{ + REGION rect; + int h = w->attrib.height + w->attrib.border_width * 2; + + MIN_WINDOW (w); + + EMPTY_REGION (w->region); + + rect.rects = &rect.extents; + rect.numRects = rect.size = 1; + + w->height = shade; + + rect.extents.x1 = 0; + rect.extents.y1 = h - shade; + rect.extents.x2 = w->width; + rect.extents.y2 = h; + + XIntersectRegion (mw->region, &rect, w->region); + XOffsetRegion (w->region, w->attrib.x, w->attrib.y - (h - shade)); + + w->matrix = w->texture->matrix; + w->matrix.x0 -= (w->attrib.x * w->matrix.xx); + w->matrix.y0 -= ((w->attrib.y - (h - shade)) * w->matrix.yy); + + (*w->screen->windowResizeNotify) (w, 0, 0, 0, 0); +} + +static Bool +minGetWindowIconGeometry (CompWindow *w, + XRectangle *rect) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + MIN_DISPLAY (w->screen->display); + + result = XGetWindowProperty (w->screen->display->display, w->id, + md->winIconGeometryAtom, + 0L, 4L, FALSE, XA_CARDINAL, &actual, &format, + &n, &left, &data); + + if (result == Success && n && data) + { + if (n == 4) + { + unsigned long *geometry = (unsigned long *) data; + + rect->x = geometry[0]; + rect->y = geometry[1]; + rect->width = geometry[2]; + rect->height = geometry[3]; + + XFree (data); + + return TRUE; + } + + XFree (data); + } + + return FALSE; +} + +static int +minGetWindowState (CompWindow *w) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + result = XGetWindowProperty (w->screen->display->display, w->id, + w->screen->display->wmStateAtom, 0L, 1L, FALSE, + w->screen->display->wmStateAtom, + &actual, &format, &n, &left, &data); + + if (result == Success && n && data) + { + int state; + + memcpy (&state, data, sizeof (int)); + XFree ((void *) data); + + return state; + } + + return WithdrawnState; +} + +static int +adjustMinVelocity (CompWindow *w) +{ + float dx, dy, dxs, dys, adjust, amount; + float x1, y1, xScale, yScale; + + MIN_WINDOW (w); + + if (mw->newState == IconicState) + { + x1 = mw->icon.x; + y1 = mw->icon.y; + xScale = (float) mw->icon.width / w->width; + yScale = (float) mw->icon.height / w->height; + } + else + { + x1 = w->serverX; + y1 = w->serverY; + xScale = yScale = 1.0f; + } + + dx = x1 - (w->attrib.x + mw->tx); + + adjust = dx * 0.15f; + amount = fabs (dx) * 1.5f; + if (amount < 0.5f) + amount = 0.5f; + else if (amount > 5.0f) + amount = 5.0f; + + mw->xVelocity = (amount * mw->xVelocity + adjust) / (amount + 1.0f); + + dy = y1 - (w->attrib.y + mw->ty); + + adjust = dy * 0.15f; + amount = fabs (dy) * 1.5f; + if (amount < 0.5f) + amount = 0.5f; + else if (amount > 5.0f) + amount = 5.0f; + + mw->yVelocity = (amount * mw->yVelocity + adjust) / (amount + 1.0f); + + dxs = xScale - mw->xScale; + + adjust = dxs * 0.15f; + amount = fabs (dxs) * 10.0f; + if (amount < 0.01f) + amount = 0.01f; + else if (amount > 0.15f) + amount = 0.15f; + + mw->xScaleVelocity = (amount * mw->xScaleVelocity + adjust) / + (amount + 1.0f); + + dys = yScale - mw->yScale; + + adjust = dys * 0.15f; + amount = fabs (dys) * 10.0f; + if (amount < 0.01f) + amount = 0.01f; + else if (amount > 0.15f) + amount = 0.15f; + + mw->yScaleVelocity = (amount * mw->yScaleVelocity + adjust) / + (amount + 1.0f); + + if (fabs (dx) < 0.1f && fabs (mw->xVelocity) < 0.2f && + fabs (dy) < 0.1f && fabs (mw->yVelocity) < 0.2f && + fabs (dxs) < 0.001f && fabs (mw->xScaleVelocity) < 0.002f && + fabs (dys) < 0.001f && fabs (mw->yScaleVelocity) < 0.002f) + { + mw->xVelocity = mw->yVelocity = mw->xScaleVelocity = + mw->yScaleVelocity = 0.0f; + mw->tx = x1 - w->attrib.x; + mw->ty = y1 - w->attrib.y; + mw->xScale = xScale; + mw->yScale = yScale; + + return 0; + } + + return 1; +} + +static void +minPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + MIN_SCREEN (s); + + if (ms->moreAdjust) + { + CompWindow *w; + int steps, h; + float amount, chunk; + + amount = msSinceLastPaint * 0.05f * + ms->opt[MIN_SCREEN_OPTION_SPEED].value.f; + steps = amount / (0.5f * ms->opt[MIN_SCREEN_OPTION_TIMESTEP].value.f); + if (!steps) steps = 1; + chunk = amount / (float) steps; + + while (steps--) + { + ms->moreAdjust = 0; + + for (w = s->windows; w; w = w->next) + { + MIN_WINDOW (w); + + if (mw->adjust) + { + mw->adjust = adjustMinVelocity (w); + + ms->moreAdjust |= mw->adjust; + + mw->tx += mw->xVelocity * chunk; + mw->ty += mw->yVelocity * chunk; + mw->xScale += mw->xScaleVelocity * chunk; + mw->yScale += mw->yScaleVelocity * chunk; + + if (!mw->adjust) + { + mw->state = mw->newState; + + while (mw->unmapCnt) + { + unmapWindow (w); + mw->unmapCnt--; + } + } + } + else if (mw->region && w->damaged) + { + if (w->shaded) + { + if (mw->shade > 0) + { + mw->shade -= (chunk * ms->shadeStep) + 1; + + if (mw->shade > 0) + { + ms->moreAdjust = TRUE; + } + else + { + mw->shade = 0; + + while (mw->unmapCnt) + { + unmapWindow (w); + mw->unmapCnt--; + } + } + } + } + else + { + h = w->attrib.height + w->attrib.border_width * 2; + if (mw->shade < h) + { + mw->shade += (chunk * ms->shadeStep) + 1; + + if (mw->shade < h) + { + ms->moreAdjust = TRUE; + } + else + { + mw->shade = MAXSHORT; + + minSetShade (w, h); + + XDestroyRegion (mw->region); + mw->region = NULL; + + addWindowDamage (w); + } + } + } + } + } + + if (!ms->moreAdjust) + break; + } + + if (ms->moreAdjust) + { + for (w = s->windows; w; w = w->next) + { + MIN_WINDOW (w); + + if (mw->adjust) + { + addWindowDamage (w); + } + else if (mw->region && w->damaged) + { + h = w->attrib.height + w->attrib.border_width * 2; + if (mw->shade && mw->shade < h) + { + minSetShade (w, mw->shade); + addWindowDamage (w); + } + } + } + } + } + + UNWRAP (ms, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (ms, s, preparePaintScreen, minPreparePaintScreen); +} + +static void +minDonePaintScreen (CompScreen *s) +{ + MIN_SCREEN (s); + + if (ms->moreAdjust) + { + CompWindow *w; + int h; + + for (w = s->windows; w; w = w->next) + { + MIN_WINDOW (w); + + if (mw->adjust) + { + addWindowDamage (w); + } + else if (mw->region) + { + h = w->attrib.height + w->attrib.border_width * 2; + if (mw->shade && mw->shade < h) + addWindowDamage (w); + } + } + } + + UNWRAP (ms, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (ms, s, donePaintScreen, minDonePaintScreen); +} + +static Bool +minPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + MIN_SCREEN (s); + + if (ms->moreAdjust) + mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + + UNWRAP (ms, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (ms, s, paintOutput, minPaintOutput); + + return status; +} + +static Bool +minPaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + MIN_SCREEN (s); + MIN_WINDOW (w); + + if (mw->adjust) + { + FragmentAttrib fragment; + CompTransform wTransform = *transform; + + if (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) + return FALSE; + + UNWRAP (ms, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, + mask | PAINT_WINDOW_NO_CORE_INSTANCE_MASK); + WRAP (ms, s, paintWindow, minPaintWindow); + + initFragmentAttrib (&fragment, &w->lastPaint); + + if (w->alpha || fragment.opacity != OPAQUE) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f); + matrixScale (&wTransform, mw->xScale, mw->yScale, 1.0f); + matrixTranslate (&wTransform, + mw->tx / mw->xScale - w->attrib.x, + mw->ty / mw->yScale - w->attrib.y, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*s->drawWindow) (w, &wTransform, &fragment, region, + mask | PAINT_WINDOW_TRANSFORMED_MASK); + + glPopMatrix (); + } + else + { + /* no core instance from windows that have been animated */ + if (mw->state == IconicState) + mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK; + + UNWRAP (ms, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ms, s, paintWindow, minPaintWindow); + } + + return status; +} + +static void +minHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompWindow *w; + + MIN_DISPLAY (d); + + switch (event->type) { + case MapNotify: + w = findWindowAtDisplay (d, event->xmap.window); + if (w) + { + MIN_WINDOW (w); + + if (mw->adjust) + mw->state = mw->newState; + + if (mw->region) + w->height = 0; + + while (mw->unmapCnt) + { + unmapWindow (w); + mw->unmapCnt--; + } + } + break; + case UnmapNotify: + w = findWindowAtDisplay (d, event->xunmap.window); + if (w) + { + MIN_SCREEN (w->screen); + + if (1) //w->pendingUnmaps) // && onCurrentDesktop (w)) /* Normal -> Iconic */ + { + //CompMatch *match = + // &ms->opt[MIN_SCREEN_OPTION_WINDOW_MATCH].value.match; + + MIN_WINDOW (w); + + if (w->shaded) + { + if (!mw->region) + mw->region = XCreateRegion (); + + if (mw->region && ms->shadeStep) + { + XSubtractRegion (w->region, &emptyRegion, mw->region); + XOffsetRegion (mw->region, -w->attrib.x, + w->attrib.height + + w->attrib.border_width * 2 - + w->height - w->attrib.y); + + mw->shade = w->height; + + mw->adjust = FALSE; + ms->moreAdjust = TRUE; + + mw->unmapCnt++; + w->unmapRefCnt++; + + addWindowDamage (w); + } + } + else if (!w->invisible)// && matchEval (match, w)) + { + if (minGetWindowIconGeometry (w, &mw->icon)) + { + mw->newState = IconicState; + + mw->xScale = w->paint.xScale; + mw->yScale = w->paint.yScale; + mw->tx = w->attrib.x - w->serverX; + mw->ty = w->attrib.y - w->serverY; + + if (mw->region) + { + XDestroyRegion (mw->region); + mw->region = NULL; + } + + mw->shade = MAXSHORT; + + mw->adjust = TRUE; + ms->moreAdjust = TRUE; + + mw->unmapCnt++; + w->unmapRefCnt++; + + addWindowDamage (w); + } + } + } + else /* X -> Withdrawn */ + { + MIN_WINDOW (w); + + if (mw->adjust) + { + mw->adjust = FALSE; + mw->xScale = mw->yScale = 1.0f; + mw->tx = mw->ty = 0.0f; + mw->xVelocity = mw->yVelocity = 0.0f; + mw->xScaleVelocity = mw->yScaleVelocity = 1.0f; + mw->shade = MAXSHORT; + + if (mw->region) + { + XDestroyRegion (mw->region); + mw->region = NULL; + } + } + + mw->state = NormalState; + } + } + default: + break; + } + + UNWRAP (md, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (md, d, handleEvent, minHandleEvent); +} + +static Bool +minDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status = FALSE; + + MIN_SCREEN (w->screen); + MIN_WINDOW (w); + + if (initial) + { + if (mw->state == IconicState) + { + //CompMatch *match = + // &ms->opt[MIN_SCREEN_OPTION_WINDOW_MATCH].value.match; + + mw->state = NormalState; + + if (!w->invisible && + //matchEval (match, w) && + minGetWindowIconGeometry (w, &mw->icon)) + { + if (!mw->adjust) + { + mw->adjust = TRUE; + ms->moreAdjust = TRUE; + + mw->tx = mw->icon.x - w->serverX; + mw->ty = mw->icon.y - w->serverY; + mw->xScale = (float) mw->icon.width / w->width; + mw->yScale = (float) mw->icon.height / w->height; + + addWindowDamage (w); + } + } + } + else if (mw->region && mw->shade < w->height) + { + if (ms->shadeStep && !w->invisible) + { + XSubtractRegion (w->region, &emptyRegion, mw->region); + XOffsetRegion (mw->region, -w->attrib.x, -w->attrib.y); + + /* bind pixmap here so we have something to unshade with */ + if (!w->texture->pixmap && !w->bindFailed) + bindWindow (w); + + ms->moreAdjust = TRUE; + } + else + { + mw->shade = MAXSHORT; + } + } + + mw->newState = NormalState; + } + else if (mw->adjust) + { + damageTransformedWindowRect (w, + mw->xScale, + mw->yScale, + mw->tx, + mw->ty, + rect); + + status = TRUE; + } + + UNWRAP (ms, w->screen, damageWindowRect); + status |= (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (ms, w->screen, damageWindowRect, minDamageWindowRect); + + return status; +} + +static Bool +minFocusWindow (CompWindow *w) +{ + Bool status; + + MIN_SCREEN (w->screen); + MIN_WINDOW (w); + + if (mw->unmapCnt) + return FALSE; + + UNWRAP (ms, w->screen, focusWindow); + status = (*w->screen->focusWindow) (w); + WRAP (ms, w->screen, focusWindow, minFocusWindow); + + return status; +} + +static Bool +minInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + MinDisplay *md; + + md = malloc (sizeof (MinDisplay)); + if (!md) + return FALSE; + + md->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (md->screenPrivateIndex < 0) + { + free (md); + return FALSE; + } + + md->winChangeStateAtom = XInternAtom (d->display, "WM_CHANGE_STATE", 0); + md->winIconGeometryAtom = + XInternAtom (d->display, "_NET_WM_ICON_GEOMETRY", 0); + + WRAP (md, d, handleEvent, minHandleEvent); + + d->privates[displayPrivateIndex].ptr = md; + + return TRUE; +} + +static void +minFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + MIN_DISPLAY (d); + + freeScreenPrivateIndex (d, md->screenPrivateIndex); + + UNWRAP (md, d, handleEvent); + + free (md); +} + +static const CompMetadataOptionInfo minScreenOptionInfo[] = { + { "speed", "float", "0.1", 0, 0 }, + { "timestep", "float", "0.1", 0, 0 }, + { "window_match", "match", 0, 0, 0 }, + { "shade_resistance", "int", "0100", 0, 0 } +}; + +static Bool +minInitScreen (CompPlugin *p, + CompScreen *s) +{ + MinScreen *ms; + + MIN_DISPLAY (s->display); + + ms = malloc (sizeof (MinScreen)); + if (!ms) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &minMetadata, + minScreenOptionInfo, + ms->opt, + MIN_SCREEN_OPTION_NUM)) + { + free (ms); + return FALSE; + } + + ms->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (ms->windowPrivateIndex < 0) + { + compFiniScreenOptions (s, ms->opt, MIN_SCREEN_OPTION_NUM); + free (ms); + return FALSE; + } + + ms->moreAdjust = FALSE; + ms->shadeStep = ms->opt[MIN_SCREEN_OPTION_SHADE_RESISTANCE].rest.i.max - + ms->opt[MIN_SCREEN_OPTION_SHADE_RESISTANCE].value.i + 1; + + WRAP (ms, s, preparePaintScreen, minPreparePaintScreen); + WRAP (ms, s, donePaintScreen, minDonePaintScreen); + WRAP (ms, s, paintOutput, minPaintOutput); + WRAP (ms, s, paintWindow, minPaintWindow); + WRAP (ms, s, damageWindowRect, minDamageWindowRect); + WRAP (ms, s, focusWindow, minFocusWindow); + + s->privates[md->screenPrivateIndex].ptr = ms; + + return TRUE; +} + +static void +minFiniScreen (CompPlugin *p, + CompScreen *s) +{ + MIN_SCREEN (s); + + freeWindowPrivateIndex (s, ms->windowPrivateIndex); + + UNWRAP (ms, s, preparePaintScreen); + UNWRAP (ms, s, donePaintScreen); + UNWRAP (ms, s, paintOutput); + UNWRAP (ms, s, paintWindow); + UNWRAP (ms, s, damageWindowRect); + UNWRAP (ms, s, focusWindow); + + compFiniScreenOptions (s, ms->opt, MIN_SCREEN_OPTION_NUM); + + free (ms); +} + +static Bool +minInitWindow (CompPlugin *p, + CompWindow *w) +{ + MinWindow *mw; + + MIN_SCREEN (w->screen); + + mw = malloc (sizeof (MinWindow)); + if (!mw) + return FALSE; + + mw->xScale = mw->yScale = 1.0f; + mw->tx = mw->ty = 0.0f; + mw->adjust = FALSE; + mw->xVelocity = mw->yVelocity = 0.0f; + mw->xScaleVelocity = mw->yScaleVelocity = 1.0f; + + mw->unmapCnt = 0; + + if (w->state & CompWindowStateHiddenMask) + { + if (w->shaded) + { + mw->state = mw->newState = NormalState; + mw->shade = 0; + mw->region = XCreateRegion (); + } + else + { + mw->state = mw->newState = minGetWindowState (w); + mw->shade = MAXSHORT; + mw->region = NULL; + } + } + else + { + mw->state = mw->newState = NormalState; + mw->shade = MAXSHORT; + mw->region = NULL; + } + + w->privates[ms->windowPrivateIndex].ptr = mw; + + return TRUE; +} + +static void +minFiniWindow (CompPlugin *p, + CompWindow *w) +{ + MIN_WINDOW (w); + + while (mw->unmapCnt--) + unmapWindow (w); + + if (mw->region) + XDestroyRegion (mw->region); + + free (mw); +} + +static Bool +minInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&minMetadata, + p->vTable->name, 0, 0, + minScreenOptionInfo, + MIN_SCREEN_OPTION_NUM)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&minMetadata); + return FALSE; + } + + compAddMetadataFromFile (&minMetadata, p->vTable->name); + + return TRUE; +} + +static void +minFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&minMetadata); +} + +static int +minGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +minGetMetadata (CompPlugin *plugin) +{ + return &minMetadata; +} + +static CompPluginVTable minVTable = { + "minimize", + minGetVersion, + minGetMetadata, + minInit, + minFini, + minInitDisplay, + minFiniDisplay, + minInitScreen, + minFiniScreen, + minInitWindow, + minFiniWindow, + 0, /* GetDisplayOptions */ + 0, /* SetDisplayOption */ + minGetScreenOptions, + minSetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &minVTable; +} diff --git a/plugins/move.c b/plugins/move.c new file mode 100644 index 0000000..92d16bd --- /dev/null +++ b/plugins/move.c @@ -0,0 +1,985 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include + +#include + +#include + +static CompMetadata moveMetadata; + +struct _MoveKeys { + char *name; + int dx; + int dy; +} mKeys[] = { + { "Left", -1, 0 }, + { "Right", 1, 0 }, + { "Up", 0, -1 }, + { "Down", 0, 1 } +}; + +#define NUM_KEYS (sizeof (mKeys) / sizeof (mKeys[0])) + +#define KEY_MOVE_INC 24 + +#define SNAP_BACK 20 +#define SNAP_OFF 100 + +static int displayPrivateIndex; + +#define MOVE_DISPLAY_OPTION_INITIATE 0 +#define MOVE_DISPLAY_OPTION_OPACITY 1 +#define MOVE_DISPLAY_OPTION_CONSTRAIN_Y 2 +#define MOVE_DISPLAY_OPTION_SNAPOFF_MAXIMIZED 3 +#define MOVE_DISPLAY_OPTION_LAZY_POSITIONING 4 +#define MOVE_DISPLAY_OPTION_NUM 5 + +typedef struct _MoveDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[MOVE_DISPLAY_OPTION_NUM]; + + CompWindow *w; + int savedX; + int savedY; + int x; + int y; + Region region; + int status; + KeyCode key[NUM_KEYS]; + + GLushort moveOpacity; +} MoveDisplay; + +typedef struct _MoveScreen { + PaintWindowProc paintWindow; + + int grabIndex; + + Cursor moveCursor; + + unsigned int origState; + + int snapOffY; + int snapBackY; +} MoveScreen; + +#define GET_MOVE_DISPLAY(d) \ + ((MoveDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define MOVE_DISPLAY(d) \ + MoveDisplay *md = GET_MOVE_DISPLAY (d) + +#define GET_MOVE_SCREEN(s, md) \ + ((MoveScreen *) (s)->privates[(md)->screenPrivateIndex].ptr) + +#define MOVE_SCREEN(s) \ + MoveScreen *ms = GET_MOVE_SCREEN (s, GET_MOVE_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static Bool +moveInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompWindow *w; + Window xid; + + MOVE_DISPLAY (d); +#ifdef KEYBINDING + xid = getIntOptionNamed (option, nOption, "window", 0); +#endif + w = findWindowAtDisplay (d, xid); + if (w)// && (w->actions & CompWindowActionMoveMask)) + { + XRectangle workArea; + unsigned int mods; + int x, y; + + MOVE_SCREEN (w->screen); + + mods = getIntOptionNamed (option, nOption, "modifiers", 0); + + x = getIntOptionNamed (option, nOption, "x", + w->attrib.x + (w->width / 2)); + y = getIntOptionNamed (option, nOption, "y", + w->attrib.y + (w->height / 2)); + + if (otherScreenGrabExist (w->screen, "move", 0)) + return FALSE; + + if (md->w) + return FALSE; + + if (w->type & (CompWindowTypeDesktopMask | + CompWindowTypeDockMask | + CompWindowTypeFullscreenMask)) + return FALSE; + + if (w->attrib.override_redirect) + return FALSE; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (md->region) + { + XDestroyRegion (md->region); + md->region = NULL; + } + + md->status = RectangleOut; + + md->savedX = w->serverX; + md->savedY = w->serverY; + + md->x = 0; + md->y = 0; + + lastPointerX = x; + lastPointerY = y; + + ms->origState = w->state; + + getWorkareaForOutput (w->screen, + outputDeviceForWindow (w), + &workArea); + + ms->snapBackY = w->serverY - workArea.y; + ms->snapOffY = y - workArea.y; + + if (!ms->grabIndex) +#ifdef KEYBINDING + ms->grabIndex = pushScreenGrab (w->screen, ms->moveCursor, "move"); +#else + ms->grabIndex = 1; +#endif + + if (ms->grabIndex) + { + md->w = w; + + (w->screen->windowGrabNotify) (w, x, y, mods, + CompWindowGrabMoveMask | + CompWindowGrabButtonMask); + + if (state & CompActionStateInitKey) + { + int xRoot, yRoot; + + xRoot = w->attrib.x + (w->width / 2); + yRoot = w->attrib.y + (w->height / 2); + + warpPointer (w->screen, xRoot - pointerX, yRoot - pointerY); + } + + if (md->moveOpacity != OPAQUE) + addWindowDamage (w); + } + } + + return FALSE; +} + +static Bool +moveTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + MOVE_DISPLAY (d); + + if (md->w) + { + MOVE_SCREEN (md->w->screen); + + if (state & CompActionStateCancel) + moveWindow (md->w, + md->savedX - md->w->attrib.x, + md->savedY - md->w->attrib.y, + TRUE, FALSE); + + syncWindowPosition (md->w); + + /* update window attributes as window constraints may have + changed - needed e.g. if a maximized window was moved + to another output device */ + updateWindowAttributes (md->w, CompStackingUpdateModeNone); + + (md->w->screen->windowUngrabNotify) (md->w); + + if (ms->grabIndex) + { +#ifdef KEYBINDING + removeScreenGrab (md->w->screen, ms->grabIndex, NULL); +#endif + ms->grabIndex = 0; + } + + if (md->moveOpacity != OPAQUE) + addWindowDamage (md->w); + + md->w = 0; + } + + action->state &= ~(CompActionStateTermKey | CompActionStateTermButton); + + return FALSE; +} + +/* creates a region containing top and bottom struts. only struts that are + outside the screen workarea are considered. */ +static Region +moveGetYConstrainRegion (CompScreen *s) +{ + CompWindow *w; + Region region; + REGION r; + XRectangle workArea; + BoxRec extents; + int i; + + region = XCreateRegion (); + if (!region) + return NULL; + + r.rects = &r.extents; + r.numRects = r.size = 1; + + r.extents.x1 = MINSHORT; + r.extents.y1 = 0; + r.extents.x2 = 0; + r.extents.y2 = s->height; + + XUnionRegion (&r, region, region); + + r.extents.x1 = s->width; + r.extents.x2 = MAXSHORT; + + XUnionRegion (&r, region, region); + + for (i = 0; i < s->nOutputDev; i++) + { + XUnionRegion (&s->outputDev[i].region, region, region); + + getWorkareaForOutput (s, i, &workArea); + extents = s->outputDev[i].region.extents; + + for (w = s->windows; w; w = w->next) + { + if (!w->mapNum) + continue; + + if (w->struts) + { + r.extents.x1 = w->struts->top.x; + r.extents.y1 = w->struts->top.y; + r.extents.x2 = r.extents.x1 + w->struts->top.width; + r.extents.y2 = r.extents.y1 + w->struts->top.height; + + if (r.extents.x1 < extents.x1) + r.extents.x1 = extents.x1; + if (r.extents.x2 > extents.x2) + r.extents.x2 = extents.x2; + if (r.extents.y1 < extents.y1) + r.extents.y1 = extents.y1; + if (r.extents.y2 > extents.y2) + r.extents.y2 = extents.y2; + + if (r.extents.x1 < r.extents.x2 && r.extents.y1 < r.extents.y2) + { + if (r.extents.y2 <= workArea.y) + XSubtractRegion (region, &r, region); + } + + r.extents.x1 = w->struts->bottom.x; + r.extents.y1 = w->struts->bottom.y; + r.extents.x2 = r.extents.x1 + w->struts->bottom.width; + r.extents.y2 = r.extents.y1 + w->struts->bottom.height; + + if (r.extents.x1 < extents.x1) + r.extents.x1 = extents.x1; + if (r.extents.x2 > extents.x2) + r.extents.x2 = extents.x2; + if (r.extents.y1 < extents.y1) + r.extents.y1 = extents.y1; + if (r.extents.y2 > extents.y2) + r.extents.y2 = extents.y2; + + if (r.extents.x1 < r.extents.x2 && r.extents.y1 < r.extents.y2) + { + if (r.extents.y1 >= (workArea.y + workArea.height)) + XSubtractRegion (region, &r, region); + } + } + } + } + + return region; +} +static void +sendMoveResizeWindowMessage (CompWindow *w, int x, int y, int width, int height) +{ + XEvent xev; + + xev.xclient.type = ClientMessage; + xev.xclient.display = w->screen->display->display; + xev.xclient.format = 32; + + xev.xclient.message_type = w->screen->display->moveResizeWindowAtom; + xev.xclient.window = w->id; + + xev.xclient.data.l[0] = 0; + xev.xclient.data.l[1] = (w->attrib.x + x) + (w->screen->x * w->screen->width); + // xev.xclient.data.l[1] = (w->serverX + x) + (w->screen->x * w->screen->width); + xev.xclient.data.l[2] = (w->attrib.y + y) + (w->screen->y * w->screen->height); + // xev.xclient.data.l[2] = (w->serverY + y) + (w->screen->y * w->screen->height); + + if(width || height) + { + xev.xclient.data.l[3] = w->attrib.width + width; + xev.xclient.data.l[4] = w->attrib.height + height; + } + else + { + xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = 0; + } + + XSendEvent (w->screen->display->display, + w->screen->root, + FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); +} + + +static void +moveHandleMotionEvent (CompScreen *s, + int xRoot, + int yRoot) +{ + MOVE_SCREEN (s); + + if (ms->grabIndex) + { + CompWindow *w; + int dx, dy; + int wX, wY; + int wWidth, wHeight; + + MOVE_DISPLAY (s->display); + + w = md->w; + + wX = w->serverX; + wY = w->serverY; + wWidth = w->serverWidth + w->serverBorderWidth * 2; + wHeight = w->serverHeight + w->serverBorderWidth * 2; + + md->x += xRoot - lastPointerX; + md->y += yRoot - lastPointerY; + + //return; + + if (w->type & CompWindowTypeFullscreenMask) + { + dx = dy = 0; + } + else + { + XRectangle workArea; + int min, max; + + dx = md->x; + dy = md->y; + + getWorkareaForOutput (s, + outputDeviceForWindow (w), + &workArea); + + if (md->opt[MOVE_DISPLAY_OPTION_CONSTRAIN_Y].value.b) + { + if (!md->region) + md->region = moveGetYConstrainRegion (s); + + /* make sure that the top frame extents or the top row of + pixels are within what is currently our valid screen + region */ + if (md->region) + { + int x, y, width, height; + int status; + + x = wX + dx - w->input.left; + y = wY + dy - w->input.top; + width = wWidth + w->input.left + w->input.right; + height = w->input.top ? w->input.top : 1; + + status = XRectInRegion (md->region, x, y, width, height); + + /* only constrain movement if previous position was valid */ + if (md->status == RectangleIn) + { + int xStatus = status; + + while (dx && xStatus != RectangleIn) + { + xStatus = XRectInRegion (md->region, + x, y - dy, + width, height); + + if (xStatus != RectangleIn) + dx += (dx < 0) ? 1 : -1; + + x = wX + dx - w->input.left; + } + + while (dy && status != RectangleIn) + { + status = XRectInRegion (md->region, + x, y, + width, height); + + if (status != RectangleIn) + dy += (dy < 0) ? 1 : -1; + + y = wY + dy - w->input.top; + } + } + else + { + md->status = status; + } + } + } + + if (md->opt[MOVE_DISPLAY_OPTION_SNAPOFF_MAXIMIZED].value.b) + { + if (w->state & CompWindowStateMaximizedVertMask) + { + if ((yRoot - workArea.y) - ms->snapOffY >= SNAP_OFF) + { + if (!otherScreenGrabExist (s, "move", 0)) + { + int width = w->serverWidth; + + w->saveMask |= CWX | CWY; + + if (w->saveMask & CWWidth) + width = w->saveWc.width; + + w->saveWc.x = xRoot - (width >> 1); + w->saveWc.y = yRoot + (w->input.top >> 1); + + md->x = md->y = 0; + + maximizeWindow (w, 0); + + ms->snapOffY = ms->snapBackY; + + return; + } + } + } + else if (ms->origState & CompWindowStateMaximizedVertMask) + { + if ((yRoot - workArea.y) - ms->snapBackY < SNAP_BACK) + { + if (!otherScreenGrabExist (s, "move", 0)) + { + int wy; + + /* update server position before maximizing + window again so that it is maximized on + correct output */ + syncWindowPosition (w); + + maximizeWindow (w, ms->origState); + + wy = workArea.y + (w->input.top >> 1); + wy += w->sizeHints.height_inc >> 1; + + warpPointer (s, 0, wy - pointerY); + + return; + } + } + } + } + + if (w->state & CompWindowStateMaximizedVertMask) + { + min = workArea.y + w->input.top; + max = workArea.y + workArea.height - w->input.bottom - wHeight; + + if (wY + dy < min) + dy = min - wY; + else if (wY + dy > max) + dy = max - wY; + } + + if (w->state & CompWindowStateMaximizedHorzMask) + { + if (wX > s->width || wX + w->width < 0) + return; + + if (wX + wWidth < 0) + return; + + min = workArea.x + w->input.left; + max = workArea.x + workArea.width - w->input.right - wWidth; + + if (wX + dx < min) + dx = min - wX; + else if (wX + dx > max) + dx = max - wX; + } + } + + if (dx || dy) + { + moveWindow (w, + wX + dx - w->attrib.x, + wY + dy - w->attrib.y, + TRUE, FALSE); + + if (md->opt[MOVE_DISPLAY_OPTION_LAZY_POSITIONING].value.b) + { + /* FIXME: This form of lazy positioning is broken and should + be replaced asap. Current code exists just to avoid a + major performance regression in the 0.5.2 release. */ + w->serverX = w->attrib.x; + w->serverY = w->attrib.y; + } + else + { + syncWindowPosition (w); + } + sendMoveResizeWindowMessage (w, 0, 0, 0,0); + + md->x -= dx; + md->y -= dy; + } + } +} + +static void +moveHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + MOVE_DISPLAY (d); + + switch (event->type) { + case ButtonPress: + s = findScreenAtDisplay (d, event->xbutton.root); + if (s) + { + MOVE_SCREEN (s); + + if (ms->grabIndex) + { + moveTerminate (d, + &md->opt[MOVE_DISPLAY_OPTION_INITIATE].value.action, + 0, NULL, 0); + } + } + break; + case KeyPress: + case KeyRelease: + s = findScreenAtDisplay (d, event->xkey.root); + if (s) + { + MOVE_SCREEN (s); + + if (ms->grabIndex && event->type == KeyPress) + { + int i; + + for (i = 0; i < NUM_KEYS; i++) + { + if (event->xkey.keycode == md->key[i]) + { + XWarpPointer (d->display, None, None, 0, 0, 0, 0, + mKeys[i].dx * KEY_MOVE_INC, + mKeys[i].dy * KEY_MOVE_INC); + break; + } + } + } + } + break; + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + moveHandleMotionEvent (s, pointerX, pointerY); + break; + case EnterNotify: + case LeaveNotify: + s = findScreenAtDisplay (d, event->xcrossing.root); + if (s) + moveHandleMotionEvent (s, pointerX, pointerY); + break; + case ClientMessage: + if (event->xclient.message_type == d->wmMoveResizeAtom) + { + CompWindow *w; + + if (event->xclient.data.l[2] == WmMoveResizeMove || + event->xclient.data.l[2] == WmMoveResizeMoveKeyboard) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + CompOption o[4]; + int xRoot, yRoot; + CompAction *action = + &md->opt[MOVE_DISPLAY_OPTION_INITIATE].value.action; + + o[0].type = CompOptionTypeInt; + o[0].name = "window"; + o[0].value.i = event->xclient.window; + + if (event->xclient.data.l[2] == WmMoveResizeMoveKeyboard) + { + moveInitiate (d, action, + CompActionStateInitKey, + o, 1); + } + else + { + unsigned int mods; + Window root, child; + int i; + + XQueryPointer (d->display, w->screen->root, + &root, &child, &xRoot, &yRoot, + &i, &i, &mods); + + /* TODO: not only button 1 */ + if (mods & Button1Mask) + { + o[1].type = CompOptionTypeInt; + o[1].name = "modifiers"; + o[1].value.i = mods; + + o[2].type = CompOptionTypeInt; + o[2].name = "x"; + o[2].value.i = event->xclient.data.l[0]; + + o[3].type = CompOptionTypeInt; + o[3].name = "y"; + o[3].value.i = event->xclient.data.l[1]; + + moveInitiate (d, + action, + CompActionStateInitButton, + o, 4); + + moveHandleMotionEvent (w->screen, xRoot, yRoot); + } + } + } + } + } + break; + case DestroyNotify: + if (md->w && md->w->id == event->xdestroywindow.window) + moveTerminate (d, + &md->opt[MOVE_DISPLAY_OPTION_INITIATE].value.action, + 0, NULL, 0); + break; + case UnmapNotify: + if (md->w && md->w->id == event->xunmap.window) + moveTerminate (d, + &md->opt[MOVE_DISPLAY_OPTION_INITIATE].value.action, + 0, NULL, 0); + default: + break; + } + + UNWRAP (md, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (md, d, handleEvent, moveHandleEvent); +} + +static Bool +movePaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + WindowPaintAttrib sAttrib; + CompScreen *s = w->screen; + Bool status; + + MOVE_SCREEN (s); + + if (ms->grabIndex) + { + MOVE_DISPLAY (s->display); + + if (md->w == w && md->moveOpacity != OPAQUE) + { + /* modify opacity of windows that are not active */ + sAttrib = *attrib; + attrib = &sAttrib; + + sAttrib.opacity = (sAttrib.opacity * md->moveOpacity) >> 16; + } + } + + UNWRAP (ms, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ms, s, paintWindow, movePaintWindow); + + return status; +} + +static CompOption * +moveGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + MOVE_DISPLAY (display); + + *count = NUM_OPTIONS (md); + return md->opt; +} + +static Bool +moveSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + MOVE_DISPLAY (display); + + o = compFindOption (md->opt, NUM_OPTIONS (md), name, &index); + if (!o) + return FALSE; + + switch (index) { + case MOVE_DISPLAY_OPTION_OPACITY: + if (compSetIntOption (o, value)) + { + md->moveOpacity = (o->value.i * OPAQUE) / 100; + return TRUE; + } + break; + default: + return compSetDisplayOption (display, o, value); + } + + return FALSE; +} + +static const CompMetadataOptionInfo moveDisplayOptionInfo[] = { + { "initiate", "action", 0, moveInitiate, moveTerminate }, + { "opacity", "int", "0100", 0, 0 }, + { "constrain_y", "bool", 0, 0, 0 }, + { "snapoff_maximized", "bool", 0, 0, 0 }, + { "lazy_positioning", "bool", 0, 0, 0 } +}; + +static Bool +moveInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + MoveDisplay *md; + int i; + + md = malloc (sizeof (MoveDisplay)); + if (!md) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &moveMetadata, + moveDisplayOptionInfo, + md->opt, + MOVE_DISPLAY_OPTION_NUM)) + { + free (md); + return FALSE; + } + + md->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (md->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, md->opt, MOVE_DISPLAY_OPTION_NUM); + free (md); + return FALSE; + } + + md->moveOpacity = + (md->opt[MOVE_DISPLAY_OPTION_OPACITY].value.i * OPAQUE) / 100; + + md->w = 0; + md->region = NULL; + md->status = RectangleOut; + + for (i = 0; i < NUM_KEYS; i++) + md->key[i] = XKeysymToKeycode (d->display, + XStringToKeysym (mKeys[i].name)); + + WRAP (md, d, handleEvent, moveHandleEvent); + + d->privates[displayPrivateIndex].ptr = md; + + return TRUE; +} + +static void +moveFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + MOVE_DISPLAY (d); + + freeScreenPrivateIndex (d, md->screenPrivateIndex); + + UNWRAP (md, d, handleEvent); + + compFiniDisplayOptions (d, md->opt, MOVE_DISPLAY_OPTION_NUM); + + free (md); +} + +static Bool +moveInitScreen (CompPlugin *p, + CompScreen *s) +{ + MoveScreen *ms; + + MOVE_DISPLAY (s->display); + + ms = malloc (sizeof (MoveScreen)); + if (!ms) + return FALSE; + + ms->grabIndex = 0; + + ms->moveCursor = XCreateFontCursor (s->display->display, XC_fleur); + + WRAP (ms, s, paintWindow, movePaintWindow); + + s->privates[md->screenPrivateIndex].ptr = ms; + + return TRUE; +} + +static void +moveFiniScreen (CompPlugin *p, + CompScreen *s) +{ + MOVE_SCREEN (s); + + UNWRAP (ms, s, paintWindow); + + if (ms->moveCursor) + XFreeCursor (s->display->display, ms->moveCursor); + + free (ms); +} + +static Bool +moveInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&moveMetadata, + p->vTable->name, + moveDisplayOptionInfo, + MOVE_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&moveMetadata); + return FALSE; + } + + compAddMetadataFromFile (&moveMetadata, p->vTable->name); + + return TRUE; +} + +static void +moveFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&moveMetadata); +} + +static int +moveGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +moveGetMetadata (CompPlugin *plugin) +{ + return &moveMetadata; +} + +CompPluginVTable moveVTable = { + "move", + moveGetVersion, + moveGetMetadata, + moveInit, + moveFini, + moveInitDisplay, + moveFiniDisplay, + moveInitScreen, + moveFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + moveGetDisplayOptions, + moveSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &moveVTable; +} diff --git a/plugins/plane.c b/plugins/plane.c new file mode 100644 index 0000000..ba3d5ba --- /dev/null +++ b/plugins/plane.c @@ -0,0 +1,830 @@ +/* + * Copyright © 2006 Red Hat, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Red Hat, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Red Hat, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Søren Sandmann + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include + +static CompMetadata planeMetadata; + +static int displayPrivateIndex; + +enum +{ + PLANE_DISPLAY_OPTION_LEFT, + PLANE_DISPLAY_OPTION_RIGHT, + PLANE_DISPLAY_OPTION_DOWN, + PLANE_DISPLAY_OPTION_UP, + PLANE_DISPLAY_OPTION_TO_1, + PLANE_DISPLAY_OPTION_TO_2, + PLANE_DISPLAY_OPTION_TO_3, + PLANE_DISPLAY_OPTION_TO_4, + PLANE_DISPLAY_OPTION_TO_5, + PLANE_DISPLAY_OPTION_TO_6, + PLANE_DISPLAY_OPTION_TO_7, + PLANE_DISPLAY_OPTION_TO_8, + PLANE_DISPLAY_OPTION_TO_9, + PLANE_DISPLAY_OPTION_TO_10, + PLANE_DISPLAY_OPTION_TO_11, + PLANE_DISPLAY_OPTION_TO_12, + PLANE_N_DISPLAY_OPTIONS +}; + +typedef struct _PlaneDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[PLANE_N_DISPLAY_OPTIONS]; +} PlaneDisplay; + +typedef struct _PlaneScreen { + int windowPrivateIndex; + + PaintTransformedOutputProc paintTransformedOutput; + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + + WindowGrabNotifyProc windowGrabNotify; + WindowUngrabNotifyProc windowUngrabNotify; + + CompTimeoutHandle timeoutHandle; + int timer; + + double cur_x; + double cur_y; + double dest_x; + double dest_y; +} PlaneScreen; + +#define GET_PLANE_DISPLAY(d) \ + ((PlaneDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define PLANE_DISPLAY(d) \ + PlaneDisplay *pd = GET_PLANE_DISPLAY (d) + +#define GET_PLANE_SCREEN(s, pd) \ + ((PlaneScreen *) (s)->privates[(pd)->screenPrivateIndex].ptr) + +#define PLANE_SCREEN(s) \ + PlaneScreen *ps = GET_PLANE_SCREEN (s, GET_PLANE_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static Bool +endMove (void *data) +{ + CompScreen *screen = data; + PLANE_SCREEN (screen); + + moveScreenViewport (screen, -ps->dest_x, -ps->dest_y, TRUE); + focusDefaultWindow (screen->display); + + ps->dest_x = 0; + ps->dest_y = 0; + + ps->timeoutHandle = 0; + return FALSE; +} + +#define SCROLL_TIME 1 + +static void +computeTranslation (PlaneScreen *ps, + double *x, + double *y) +{ + double dx, dy; + double elapsed = 1 - (ps->timer / (double)SCROLL_TIME); + + if (elapsed < 0.0) + elapsed = 0.0; + if (elapsed > 1.0) + elapsed = 1.0; + + /* Use temporary variables to you can pass in &ps->cur_x */ + dx = (ps->dest_x - ps->cur_x) * elapsed + ps->cur_x; + dy = (ps->dest_y - ps->cur_y) * elapsed + ps->cur_y; + + *x = dx; + *y = dy; +} + +static void +moveViewport (CompScreen *screen, + int dx, + int dy) +{ + PLANE_SCREEN (screen); + + if (dx == 0 && dy == 0) + return; + + if (ps->timeoutHandle) + { + computeTranslation (ps, &ps->cur_x, &ps->cur_y); + + ps->dest_x += dx; + ps->dest_y += dy; + + compRemoveTimeout (ps->timeoutHandle); + } + else + { + ps->cur_x = 0.0; + ps->cur_y = 0.0; + ps->dest_x = dx; + ps->dest_y = dy; + } + + if (ps->dest_x + screen->x > screen->hsize - 1) + ps->dest_x = screen->hsize - screen->x - 1; + + if (ps->dest_x + screen->x < 0) + ps->dest_x = -screen->x; + + if (ps->dest_y + screen->y > screen->vsize - 1) + ps->dest_y = screen->vsize - screen->y - 1; + + if (ps->dest_y + screen->y < 0) + ps->dest_y = -screen->y; + + ps->timer = SCROLL_TIME; + ps->timeoutHandle = compAddTimeout (SCROLL_TIME, endMove, screen); + + damageScreen (screen); +} + +static void +planePreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + PLANE_SCREEN (s); + + ps->timer -= msSinceLastPaint; + + UNWRAP (ps, s, preparePaintScreen); + + (* s->preparePaintScreen) (s, msSinceLastPaint); + + WRAP (ps, s, preparePaintScreen, planePreparePaintScreen); +} + +static void +planePaintTransformedOutput (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + PLANE_SCREEN (screen); + + UNWRAP (ps, screen, paintTransformedOutput); + + if (0)//(ps->timeoutHandle) // TODO move only windows option + { + CompTransform sTransform = *transform; + double dx, dy; + int vx, vy; + + clearTargetOutput (screen->display, GL_COLOR_BUFFER_BIT); + + computeTranslation (ps, &dx, &dy); + + dx *= -1; + dy *= -1; + + vx = 0; + vy = 0; + + while (dx > 1) + { + dx -= 1.0; + moveScreenViewport (screen, 1, 0, FALSE); + vx++; + } + + while (dx < -1) + { + dx += 1.0; + moveScreenViewport (screen, -1, 0, FALSE); + vx--; + } + + while (dy > 1) + { + dy -= 1.0; + moveScreenViewport (screen, 0, 1, FALSE); + vy++; + } + + while (dy < -1) + { + dy += 1.0; + moveScreenViewport (screen, 0, -1, FALSE); + vy--; + } + + matrixTranslate (&sTransform, dx, -dy, 0.0); + + (*screen->paintTransformedOutput) (screen, sAttrib, &sTransform, + region, output, mask); + + if (dx > 0) + { + matrixTranslate (&sTransform, -1.0, 0.0, 0.0); + moveScreenViewport (screen, 1, 0, FALSE); + } + else + { + matrixTranslate (&sTransform, 1.0, 0.0, 0.0); + moveScreenViewport (screen, -1, 0, FALSE); + } + + (*screen->paintTransformedOutput) (screen, sAttrib, &sTransform, + region, output, mask); + + if (dy > 0) + { + matrixTranslate (&sTransform, 0.0, 1.0, 0.0); + moveScreenViewport (screen, 0, 1, FALSE); + } + else + { + matrixTranslate (&sTransform, 0.0, -1.0, 0.0); + moveScreenViewport (screen, 0, -1, FALSE); + } + + (*screen->paintTransformedOutput) (screen, sAttrib, &sTransform, + region, output, mask); + + if (dx > 0) + { + matrixTranslate (&sTransform, 1.0, 0.0, 0.0); + moveScreenViewport (screen, -1, 0, FALSE); + } + else + { + matrixTranslate (&sTransform, -1.0, 0.0, 0.0); + moveScreenViewport (screen, 1, 0, FALSE); + } + + (*screen->paintTransformedOutput) (screen, sAttrib, &sTransform, + region, output, mask); + + if (dy > 0) + { + moveScreenViewport (screen, 0, -1, FALSE); + } + else + { + moveScreenViewport (screen, 0, 1, FALSE); + } + + moveScreenViewport (screen, -vx, -vy, FALSE); + } + else + { + (*screen->paintTransformedOutput) (screen, sAttrib, transform, + region, output, mask); + } + + WRAP (ps, screen, paintTransformedOutput, planePaintTransformedOutput); +} + +static Bool +planePaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + PLANE_SCREEN (s); + + if (ps->timeoutHandle && w->clientId && + !(w->state & CompWindowStateStickyMask) && + !(w->type & (CompWindowTypeDesktopMask | CompWindowTypeDockMask))) // TODO + // move only windows option + { + mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK; + + UNWRAP (ps, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ps, s, paintWindow, planePaintWindow); + + FragmentAttrib fragment; + CompTransform wTransform = *transform; + double dx,dy; + + if (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) + return FALSE; + + initFragmentAttrib (&fragment, &w->lastPaint); + + if (w->alpha || fragment.opacity != OPAQUE) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f); + + computeTranslation (ps, &dx, &dy); + + matrixTranslate (&wTransform, + (-dx * s->width) - w->attrib.x, + (-dy * s->height) - w->attrib.y, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*s->drawWindow) (w, &wTransform, &fragment, region, + mask | PAINT_WINDOW_TRANSFORMED_MASK); + + glPopMatrix (); + } + else + { + UNWRAP (ps, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ps, s, paintWindow, planePaintWindow); + } + + return status; +} + +static void +planeDonePaintScreen (CompScreen *s) +{ + PLANE_SCREEN (s); + + if (ps->timeoutHandle) + damageScreen (s); + + UNWRAP (ps, s, donePaintScreen); + + (*s->donePaintScreen) (s); + + WRAP (ps, s, donePaintScreen, planeDonePaintScreen); +} + +static Bool +planePaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + PLANE_SCREEN (s); + + if (ps->timeoutHandle) + { + mask &= ~PAINT_SCREEN_REGION_MASK; + mask |= PAINT_SCREEN_TRANSFORMED_MASK; + } + + UNWRAP (ps, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (ps, s, paintOutput, planePaintOutput); + + return status; +} + +static void +planeHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + PLANE_DISPLAY (d); + + switch (event->type) { + case ClientMessage: + if (event->xclient.message_type == d->winActiveAtom) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + int dx, dy; + + s = w->screen; + + /* window must be placed */ + if (!w->placed) + break; + + if (otherScreenGrabExist (s, "plane", "switcher", "cube", 0)) + break; + + defaultViewportForWindow (w, &dx, &dy); + dx -= s->x; + dy -= s->y; + + moveViewport (s, dx, dy); + } + } + else if (event->xclient.message_type == d->desktopViewportAtom) + { + int dx, dy; + + s = findScreenAtDisplay (d, event->xclient.window); + if (!s) + break; + + if (otherScreenGrabExist (s, "plane", "switcher", "cube", 0)) + break; + + dx = event->xclient.data.l[0] / s->width - s->x; + dy = event->xclient.data.l[1] / s->height - s->y; + + if (!dx && !dy) + break; + + moveViewport (s, dx, dy); + } + break; + + default: + break; + } + + UNWRAP (pd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (pd, d, handleEvent, planeHandleEvent); +} + +static void +planeWindowGrabNotify (CompWindow *w, + int x, + int y, + unsigned int state, + unsigned int mask) +{ + PLANE_SCREEN (w->screen); + + UNWRAP (ps, w->screen, windowGrabNotify); + (*w->screen->windowGrabNotify) (w, x, y, state, mask); + WRAP (ps, w->screen, windowGrabNotify, planeWindowGrabNotify); +} + +static void +planeWindowUngrabNotify (CompWindow *w) +{ + PLANE_SCREEN (w->screen); + + UNWRAP (ps, w->screen, windowUngrabNotify); + (*w->screen->windowUngrabNotify) (w); + WRAP (ps, w->screen, windowUngrabNotify, planeWindowUngrabNotify); +} + +static CompOption * +planeGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + PLANE_DISPLAY (display); + + *count = NUM_OPTIONS (pd); + return pd->opt; +} + +static Bool +planeSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + PLANE_DISPLAY (display); + + o = compFindOption (pd->opt, NUM_OPTIONS (pd), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static CompScreen * +getScreen (CompDisplay *d, + CompOption *option, + int n_options) +{ + XID rootWindow = getIntOptionNamed (option, n_options, "root", 0); + + return findScreenAtDisplay (d, rootWindow); +} + +static Bool +planeLeft (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int n_options) +{ + CompScreen *screen = getScreen (d, option, n_options); + + moveViewport (screen, -1, 0); + return FALSE; +} + +static Bool +planeRight (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int n_options) +{ + CompScreen *screen = getScreen (d, option, n_options); + + moveViewport (screen, 1, 0); + return FALSE; +} + +static Bool +planeUp (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int n_options) +{ + CompScreen *screen = getScreen (d, option, n_options); + + moveViewport (screen, 0, -1); + return FALSE; +} + +static Bool +planeDown (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int n_options) +{ + CompScreen *screen = getScreen (d, option, n_options); + + moveViewport (screen, 0, 1); + return FALSE; +} + +static Bool +planeTo (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int n_options) +{ + int i, new_x, new_y, cur_x, cur_y; + CompScreen *screen = getScreen (d, option, n_options); + PLANE_DISPLAY (d); + + new_x = new_y = -1; + for (i = PLANE_DISPLAY_OPTION_TO_1; i <= PLANE_DISPLAY_OPTION_TO_12; ++i) + { + if (action == &pd->opt[i].value.action) + { + int viewport_no = i - PLANE_DISPLAY_OPTION_TO_1; + + new_x = viewport_no % screen->hsize; + new_y = viewport_no / screen->hsize; + + break; + } + } + + if (new_x == -1 || new_y == -1) + return FALSE; + + cur_x = screen->x; + cur_y = screen->y; + + moveViewport (screen, new_x - cur_x, new_y - cur_y); + + return FALSE; +} + +static const CompMetadataOptionInfo planeDisplayOptionInfo[] = { + { "plane_left", "action", 0, planeLeft, 0 }, + { "plane_right", "action", 0, planeRight, 0 }, + { "plane_down", "action", 0, planeDown, 0 }, + { "plane_up", "action", 0, planeUp, 0 }, + { "plane_to_1", "action", 0, planeTo, 0 }, + { "plane_to_2", "action", 0, planeTo, 0 }, + { "plane_to_3", "action", 0, planeTo, 0 }, + { "plane_to_4", "action", 0, planeTo, 0 }, + { "plane_to_5", "action", 0, planeTo, 0 }, + { "plane_to_6", "action", 0, planeTo, 0 }, + { "plane_to_7", "action", 0, planeTo, 0 }, + { "plane_to_8", "action", 0, planeTo, 0 }, + { "plane_to_9", "action", 0, planeTo, 0 }, + { "plane_to_10", "action", 0, planeTo, 0 }, + { "plane_to_11", "action", 0, planeTo, 0 }, + { "plane_to_12", "action", 0, planeTo, 0 } +}; + +static Bool +planeInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + PlaneDisplay *pd; + + pd = malloc (sizeof (PlaneDisplay)); + if (!pd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &planeMetadata, + planeDisplayOptionInfo, + pd->opt, + PLANE_N_DISPLAY_OPTIONS)) + { + free (pd); + return FALSE; + } + + pd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (pd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, pd->opt, PLANE_N_DISPLAY_OPTIONS); + free (pd); + return FALSE; + } + + WRAP (pd, d, handleEvent, planeHandleEvent); + + d->privates[displayPrivateIndex].ptr = pd; + + return TRUE; +} + +static void +planeFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + PLANE_DISPLAY (d); + + freeScreenPrivateIndex (d, pd->screenPrivateIndex); + + UNWRAP (pd, d, handleEvent); + + compFiniDisplayOptions (d, pd->opt, PLANE_N_DISPLAY_OPTIONS); + + free (pd); +} + +static Bool +planeInitScreen (CompPlugin *p, + CompScreen *s) +{ + PlaneScreen *ps; + + PLANE_DISPLAY (s->display); + + ps = malloc (sizeof (PlaneScreen)); + if (!ps) + return FALSE; + + ps->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (ps->windowPrivateIndex < 0) + { + //compFiniScreenOptions (s, ps->opt, SCALE_SCREEN_OPTION_NUM); + free (ps); + return FALSE; + } + + ps->timeoutHandle = 0; + + WRAP (ps, s, paintTransformedOutput, planePaintTransformedOutput); + WRAP (ps, s, preparePaintScreen, planePreparePaintScreen); + WRAP (ps, s, donePaintScreen, planeDonePaintScreen); + WRAP (ps, s, paintOutput, planePaintOutput); + WRAP (ps, s, paintWindow, planePaintWindow); + WRAP (ps, s, windowGrabNotify, planeWindowGrabNotify); + WRAP (ps, s, windowUngrabNotify, planeWindowUngrabNotify); + + s->privates[pd->screenPrivateIndex].ptr = ps; + + return TRUE; +} + +static void +planeFiniScreen (CompPlugin *p, + CompScreen *s) +{ + PLANE_SCREEN (s); + + UNWRAP (ps, s, paintTransformedOutput); + UNWRAP (ps, s, preparePaintScreen); + UNWRAP (ps, s, donePaintScreen); + UNWRAP (ps, s, paintOutput); + UNWRAP (ps, s, paintWindow); + UNWRAP (ps, s, windowGrabNotify); + UNWRAP (ps, s, windowUngrabNotify); + + freeWindowPrivateIndex (s, ps->windowPrivateIndex); + + free (ps); +} + +static Bool +planeInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&planeMetadata, + p->vTable->name, + planeDisplayOptionInfo, + PLANE_N_DISPLAY_OPTIONS, + NULL, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&planeMetadata); + return FALSE; + } + + compAddMetadataFromFile (&planeMetadata, p->vTable->name); + + return TRUE; +} + +static void +planeFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&planeMetadata); +} + +static int +planeGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +planeGetMetadata (CompPlugin *plugin) +{ + return &planeMetadata; +} + +CompPluginVTable planeVTable = { + "plane", + planeGetVersion, + planeGetMetadata, + planeInit, + planeFini, + planeInitDisplay, + planeFiniDisplay, + planeInitScreen, + planeFiniScreen, + 0, + 0, + planeGetDisplayOptions, + planeSetDisplayOption, + NULL, /* planeGetScreenOptions, */ + NULL /* planeSetScreenOption, */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &planeVTable; +} diff --git a/plugins/png.c b/plugins/png.c new file mode 100644 index 0000000..e5ffc8d --- /dev/null +++ b/plugins/png.c @@ -0,0 +1,562 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include + +#include + +static CompMetadata pngMetadata; + +#define PNG_SIG_SIZE 8 + +static int displayPrivateIndex; + +typedef struct _PngDisplay { + FileToImageProc fileToImage; + ImageToFileProc imageToFile; +} PngDisplay; + +#define GET_PNG_DISPLAY(d) \ + ((PngDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define PNG_DISPLAY(d) \ + PngDisplay *pd = GET_PNG_DISPLAY (d) + + +static void +premultiplyData (png_structp png, + png_row_infop row_info, + png_bytep data) +{ + unsigned int i; + + for (i = 0; i < row_info->rowbytes; i += 4) + { + unsigned char *base = &data[i]; + unsigned char blue = base[0]; + unsigned char green = base[1]; + unsigned char red = base[2]; + unsigned char alpha = base[3]; + int p; + + red = (unsigned) red * (unsigned) alpha / 255; + green = (unsigned) green * (unsigned) alpha / 255; + blue = (unsigned) blue * (unsigned) alpha / 255; + + p = (alpha << 24) | (red << 16) | (green << 8) | (blue << 0); + memcpy (base, &p, sizeof (int)); + } +} + +static Bool +readPngData (png_struct *png, + png_info *info, + void **data, + int *width, + int *height) +{ + png_uint_32 png_width, png_height; + int depth, color_type, interlace, i; + unsigned int pixel_size; + png_byte **row_pointers; + char *d; + + png_read_info (png, info); + + png_get_IHDR (png, info, + &png_width, &png_height, &depth, + &color_type, &interlace, NULL, NULL); + + *width = (int) png_width; + *height = (int) png_height; + + /* convert palette/gray image to rgb */ + if (color_type == PNG_COLOR_TYPE_PALETTE) + png_set_palette_to_rgb (png); + + /* expand gray bit depth if needed */ + if (color_type == PNG_COLOR_TYPE_GRAY && depth < 8) + png_set_gray_1_2_4_to_8 (png); + + /* transform transparency to alpha */ + if (png_get_valid(png, info, PNG_INFO_tRNS)) + png_set_tRNS_to_alpha (png); + + if (depth == 16) + png_set_strip_16 (png); + + if (depth < 8) + png_set_packing (png); + + /* convert grayscale to RGB */ + if (color_type == PNG_COLOR_TYPE_GRAY || + color_type == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb (png); + + if (interlace != PNG_INTERLACE_NONE) + png_set_interlace_handling (png); + + png_set_bgr (png); + png_set_filler (png, 0xff, PNG_FILLER_AFTER); + + png_set_read_user_transform_fn (png, premultiplyData); + + png_read_update_info (png, info); + + pixel_size = 4; + d = (char *) malloc (png_width * png_height * pixel_size); + if (!d) + return FALSE; + + *data = d; + + row_pointers = (png_byte **) malloc (png_height * sizeof (char *)); + if (!row_pointers) + { + free (d); + return FALSE; + } + + for (i = 0; i < png_height; i++) + row_pointers[i] = (png_byte *) (d + i * png_width * pixel_size); + + png_read_image (png, row_pointers); + png_read_end (png, info); + + free (row_pointers); + + return TRUE; +} + +static Bool +readPngFileToImage (FILE *file, + int *width, + int *height, + void **data) +{ + unsigned char png_sig[PNG_SIG_SIZE]; + int sig_bytes; + png_struct *png; + png_info *info; + Bool status; + + sig_bytes = fread (png_sig, 1, PNG_SIG_SIZE, file); + if (png_check_sig (png_sig, sig_bytes) == 0) + return FALSE; + + png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (!png) + return FALSE; + + info = png_create_info_struct (png); + if (!info) + { + png_destroy_read_struct (&png, NULL, NULL); + + return FALSE; + } + + png_init_io (png, file); + png_set_sig_bytes (png, sig_bytes); + + status = readPngData (png, info, data, width, height); + + png_destroy_read_struct (&png, &info, NULL); + + return status; +} + +#if 0 +static void +userReadData (png_structp png_ptr, + png_bytep data, + png_size_t length) +{ + const unsigned char **buffer = (const unsigned char **) + png_get_io_ptr (png_ptr); + + memcpy (data, *buffer, length); + *buffer += length; +} + +static Bool +readPngBuffer (const unsigned char *buffer, + char **data, + unsigned int *width, + unsigned int *height) +{ + unsigned char png_sig[PNG_SIG_SIZE]; + png_struct *png; + png_info *info; + const unsigned char *b = buffer + PNG_SIG_SIZE; + Bool status; + + memcpy (png_sig, buffer, PNG_SIG_SIZE); + if (png_check_sig (png_sig, PNG_SIG_SIZE) == 0) + return FALSE; + + png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (!png) + return FALSE; + + info = png_create_info_struct (png); + if (!info) + { + png_destroy_read_struct (&png, NULL, NULL); + return FALSE; + } + + png_set_read_fn (png, (void *) &b, userReadData); + png_set_sig_bytes (png, PNG_SIG_SIZE); + + status = readPngData (png, info, data, width, height); + + png_destroy_read_struct (&png, &info, NULL); + + return status; +} +#endif + +static Bool +writePng (unsigned char *buffer, + png_rw_ptr writeFunc, + void *closure, + int width, + int height, + int stride) +{ + png_struct *png; + png_info *info; + png_byte **rows; + png_color_16 white; + int i; + + rows = malloc (height * sizeof (png_byte *)); + if (!rows) + return FALSE; + + for (i = 0; i < height; i++) + rows[height - i - 1] = buffer + i * stride; + + png = png_create_write_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + if (!png) + { + free (rows); + + return FALSE; + } + + info = png_create_info_struct (png); + if (!info) + { + png_destroy_read_struct (&png, NULL, NULL); + free (rows); + + return FALSE; + } + + if (setjmp (png_jmpbuf (png))) + { + png_destroy_read_struct (&png, NULL, NULL); + free (rows); + + return FALSE; + } + + png_set_write_fn (png, closure, writeFunc, NULL); + + png_set_IHDR (png, info, + width, height, 8, + PNG_COLOR_TYPE_RGB_ALPHA, + PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_DEFAULT, + PNG_FILTER_TYPE_DEFAULT); + + white.red = 0xff; + white.blue = 0xff; + white.green = 0xff; + + png_set_bKGD (png, info, &white); + + png_write_info (png, info); + png_write_image (png, rows); + png_write_end (png, info); + + png_destroy_write_struct (&png, &info); + free (rows); + + return TRUE; +} + +static void +stdioWriteFunc (png_structp png, + png_bytep data, + png_size_t size) +{ + FILE *fp; + + fp = png_get_io_ptr (png); + if (fwrite (data, 1, size, fp) != size) + png_error (png, "Write Error"); +} + +static char * +pngExtension (const char *name) +{ + + if (strlen (name) > 4) + { + if (strcasecmp (name + (strlen (name) - 4), ".png") == 0) + return ""; + } + + return ".png"; +} + +static Bool +pngImageToFile (CompDisplay *d, + const char *path, + const char *name, + const char *format, + int width, + int height, + int stride, + void *data) +{ + Bool status = FALSE; + char *extension = pngExtension (name); + char *file; + FILE *fp; + int len; + + PNG_DISPLAY (d); + + len = (path ? strlen (path) : 0) + strlen (name) + strlen (extension) + 2; + + file = malloc (len); + if (file) + { + if (path) + sprintf (file, "%s/%s%s", path, name, extension); + else + sprintf (file, "%s%s", name, extension); + } + + if (file && strcasecmp (format, "png") == 0) + { + fp = fopen (file, "wb"); + if (fp) + { + status = writePng (data, stdioWriteFunc, fp, width, height, stride); + fclose (fp); + } + + if (status) + { + free (file); + return TRUE; + } + } + + UNWRAP (pd, d, imageToFile); + status = (*d->imageToFile) (d, path, name, format, width, height, stride, + data); + WRAP (pd, d, imageToFile, pngImageToFile); + + if (!status && file) + { + fp = fopen (file, "wb"); + if (fp) + { + status = writePng (data, stdioWriteFunc, fp, width, height, stride); + fclose (fp); + } + } + + if (file) + free (file); + + return status; +} + +static Bool +pngFileToImage (CompDisplay *d, + const char *path, + const char *name, + int *width, + int *height, + int *stride, + void **data) +{ + Bool status = FALSE; + char *extension = pngExtension (name); + char *file; + int len; + + PNG_DISPLAY (d); + + len = (path ? strlen (path) : 0) + strlen (name) + strlen (extension) + 2; + + file = malloc (len); + if (file) + { + FILE *fp; + + if (path) + sprintf (file, "%s/%s%s", path, name, extension); + else + sprintf (file, "%s%s", name, extension); + + fp = fopen (file, "r"); + if (fp) + { + status = readPngFileToImage (fp, + width, + height, + data); + fclose (fp); + } + + free (file); + + if (status) + { + *stride = *width * 4; + return TRUE; + } + } + + UNWRAP (pd, d, fileToImage); + status = (*d->fileToImage) (d, path, name, width, height, stride, data); + WRAP (pd, d, fileToImage, pngFileToImage); + + return status; +} + +static Bool +pngInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + PngDisplay *pd; + CompScreen *s; + + pd = malloc (sizeof (PngDisplay)); + if (!pd) + return FALSE; + + WRAP (pd, d, fileToImage, pngFileToImage); + WRAP (pd, d, imageToFile, pngImageToFile); + + d->privates[displayPrivateIndex].ptr = pd; + + for (s = d->screens; s; s = s->next) + updateDefaultIcon (s); + + return TRUE; +} + +static void +pngFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + CompScreen *s; + + PNG_DISPLAY (d); + + UNWRAP (pd, d, fileToImage); + UNWRAP (pd, d, imageToFile); + + for (s = d->screens; s; s = s->next) + updateDefaultIcon (s); + + free (pd); +} + +static Bool +pngInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&pngMetadata, p->vTable->name, + 0, 0, 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&pngMetadata); + return FALSE; + } + + compAddMetadataFromFile (&pngMetadata, p->vTable->name); + + return TRUE; +} + +static void +pngFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&pngMetadata); +} + +static int +pngGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +pngGetMetadata (CompPlugin *plugin) +{ + return &pngMetadata; +} + +CompPluginVTable pngVTable = { + "png", + pngGetVersion, + pngGetMetadata, + pngInit, + pngFini, + pngInitDisplay, + pngFiniDisplay, + 0, /* InitScreen */ + 0, /* FiniScreen */ + 0, /* InitWindow */ + 0, /* FiniWindow */ + 0, /* GetDisplayOptions */ + 0, /* SetDisplayOption */ + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &pngVTable; +} diff --git a/plugins/regex.c b/plugins/regex.c new file mode 100644 index 0000000..93da105 --- /dev/null +++ b/plugins/regex.c @@ -0,0 +1,526 @@ +/* + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include + +#include + +#include + +#include + +static CompMetadata regexMetadata; + +static int displayPrivateIndex; + +typedef struct _RegexDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + MatchInitExpProc matchInitExp; + Atom roleAtom; + Atom visibleNameAtom; +} RegexDisplay; + +typedef struct _RegexScreen { + int windowPrivateIndex; +} RegexScreen; + +typedef struct _RegexWindow { + char *title; + char *role; +} RegexWindow; + +#define GET_REGEX_DISPLAY(d) \ + ((RegexDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define REGEX_DISPLAY(d) \ + RegexDisplay *rd = GET_REGEX_DISPLAY (d) + +#define GET_REGEX_SCREEN(s, rd) \ + ((RegexScreen *) (s)->privates[(rd)->screenPrivateIndex].ptr) + +#define REGEX_SCREEN(s) \ + RegexScreen *rs = GET_REGEX_SCREEN (s, GET_REGEX_DISPLAY (s->display)) + +#define GET_REGEX_WINDOW(w, rs) \ + ((RegexWindow *) (w)->privates[(rs)->windowPrivateIndex].ptr) + +#define REGEX_WINDOW(w) \ + RegexWindow *rw = GET_REGEX_WINDOW (w, \ + GET_REGEX_SCREEN (w->screen, \ + GET_REGEX_DISPLAY (w->screen->display))) + +static void +regexMatchExpFini (CompDisplay *d, + CompPrivate private) +{ + regex_t *preg = (regex_t *) private.ptr; + + regfree (preg); + free (preg); +} + +static Bool +regexMatchExpEvalTitle (CompDisplay *d, + CompWindow *w, + CompPrivate private) +{ + regex_t *preg = (regex_t *) private.ptr; + int status; + + REGEX_WINDOW (w); + + if (!rw->title) + return FALSE; + + status = regexec (preg, rw->title, 0, NULL, 0); + if (status) + return FALSE; + + return TRUE; +} + +static Bool +regexMatchExpEvalRole (CompDisplay *d, + CompWindow *w, + CompPrivate private) +{ + regex_t *preg = (regex_t *) private.ptr; + int status; + + REGEX_WINDOW (w); + + if (!rw->role) + return FALSE; + + status = regexec (preg, rw->role, 0, NULL, 0); + if (status) + return FALSE; + + return TRUE; +} + +static Bool +regexMatchExpEvalClass (CompDisplay *d, + CompWindow *w, + CompPrivate private) +{ + regex_t *preg = (regex_t *) private.ptr; + int status; + + if (!w->resClass) + return FALSE; + + status = regexec (preg, w->resClass, 0, NULL, 0); + if (status) + return FALSE; + + return TRUE; +} + +static Bool +regexMatchExpEvalName (CompDisplay *d, + CompWindow *w, + CompPrivate private) +{ + regex_t *preg = (regex_t *) private.ptr; + int status; + + if (!w->resName) + return FALSE; + + status = regexec (preg, w->resName, 0, NULL, 0); + if (status) + return FALSE; + + return TRUE; +} + +static void +regexMatchInitExp (CompDisplay *d, + CompMatchExp *exp, + const char *value) +{ + static struct _Prefix { + char *s; + int len; + CompMatchExpEvalProc eval; + unsigned int flags; + } prefix[] = { + { "title=", 6, regexMatchExpEvalTitle, 0 }, + { "role=", 5, regexMatchExpEvalRole, 0 }, + { "class=", 6, regexMatchExpEvalClass, 0 }, + { "name=", 5, regexMatchExpEvalName, 0 }, + { "ititle=", 7, regexMatchExpEvalTitle, REG_ICASE }, + { "irole=", 6, regexMatchExpEvalRole, REG_ICASE }, + { "iclass=", 7, regexMatchExpEvalClass, REG_ICASE }, + { "iname=", 6, regexMatchExpEvalName, REG_ICASE }, + }; + int i; + + REGEX_DISPLAY (d); + + for (i = 0; i < sizeof (prefix) / sizeof (prefix[0]); i++) + if (strncmp (value, prefix[i].s, prefix[i].len) == 0) + break; + + if (i < sizeof (prefix) / sizeof (prefix[0])) + { + regex_t *preg; + + preg = malloc (sizeof (regex_t)); + if (preg) + { + int status; + + value += prefix[i].len; + + status = regcomp (preg, value, REG_NOSUB | prefix[i].flags); + if (status) + { + char errMsg[1024]; + + regerror (status, preg, errMsg, sizeof (errMsg)); + + compLogMessage (d, "regex", CompLogLevelWarn, + "%s = %s", errMsg, value); + + regfree (preg); + free (preg); + } + else + { + exp->fini = regexMatchExpFini; + exp->eval = prefix[i].eval; + exp->priv.ptr = preg; + } + } + } + else + { + UNWRAP (rd, d, matchInitExp); + (*d->matchInitExp) (d, exp, value); + WRAP (rd, d, matchInitExp, regexMatchInitExp); + } +} + +static char * +regexGetStringProperty (CompWindow *w, + Atom propAtom, + Atom formatAtom) +{ + Atom type; + unsigned long nItems; + unsigned long bytesAfter; + unsigned char *str = NULL; + int format, result; + char *retval; + + result = XGetWindowProperty (w->screen->display->display, + w->id, propAtom, 0, LONG_MAX, + FALSE, formatAtom, &type, &format, &nItems, + &bytesAfter, (unsigned char **) &str); + + if (result != Success) + return NULL; + + if (type != formatAtom) + { + XFree (str); + return NULL; + } + + retval = strdup ((char *) str); + + XFree (str); + + return retval; +} + +static char * +regexGetWindowTitle (CompWindow *w) +{ + CompDisplay *d = w->screen->display; + char *title; + + REGEX_DISPLAY (d); + + title = regexGetStringProperty (w, rd->visibleNameAtom, d->utf8StringAtom); + if (title) + return title; + + title = regexGetStringProperty (w, d->wmNameAtom, d->utf8StringAtom); + if (title) + return title; + + return regexGetStringProperty (w, XA_WM_NAME, XA_STRING); +} + +static void +regexHandleEvent (CompDisplay *d, + XEvent *event) +{ + REGEX_DISPLAY (d); + + UNWRAP (rd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (rd, d, handleEvent, regexHandleEvent); + + if (event->type == PropertyNotify) + { + CompWindow *w; + + if (event->xproperty.atom == XA_WM_NAME) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + REGEX_WINDOW (w); + + if (rw->title) + free (rw->title); + + rw->title = regexGetWindowTitle (w); + + (*d->matchPropertyChanged) (d, w); + } + } + if (event->xproperty.atom == rd->roleAtom) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + REGEX_WINDOW (w); + + if (rw->role) + free (rw->role); + + rw->role = regexGetStringProperty (w, rd->roleAtom, XA_STRING); + + (*d->matchPropertyChanged) (d, w); + } + } + else if (event->xproperty.atom == XA_WM_CLASS) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + (*d->matchPropertyChanged) (d, w); + } + } +} + +static Bool +regexRegisterExpHandler (void *closure) +{ + CompDisplay *display = (CompDisplay *) closure; + + (*display->matchExpHandlerChanged) (display); + + return FALSE; +} + +static Bool +regexInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + RegexDisplay *rd; + + rd = malloc (sizeof (RegexDisplay)); + if (!rd) + return FALSE; + + rd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (rd->screenPrivateIndex < 0) + { + free (rd); + return FALSE; + } + + rd->roleAtom = XInternAtom (d->display, "WM_WINDOW_ROLE", 0); + rd->visibleNameAtom = XInternAtom (d->display, "_NET_WM_VISIBLE_NAME", 0); + + WRAP (rd, d, handleEvent, regexHandleEvent); + WRAP (rd, d, matchInitExp, regexMatchInitExp); + + d->privates[displayPrivateIndex].ptr = rd; + + /* one shot timeout to which will register the expression handler + after all screens and windows have been initialized */ + compAddTimeout (0, regexRegisterExpHandler, (void *) d); + + return TRUE; +} + +static void +regexFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + REGEX_DISPLAY (d); + + freeScreenPrivateIndex (d, rd->screenPrivateIndex); + + UNWRAP (rd, d, handleEvent); + UNWRAP (rd, d, matchInitExp); + + (*d->matchExpHandlerChanged) (d); + + free (rd); +} + +static Bool +regexInitScreen (CompPlugin *p, + CompScreen *s) +{ + RegexScreen *rs; + + REGEX_DISPLAY (s->display); + + rs = malloc (sizeof (RegexScreen)); + if (!rs) + return FALSE; + + rs->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (rs->windowPrivateIndex < 0) + { + free (rs); + return FALSE; + } + + s->privates[rd->screenPrivateIndex].ptr = rs; + + return TRUE; +} + +static void +regexFiniScreen (CompPlugin *p, + CompScreen *s) +{ + REGEX_SCREEN (s); + + freeWindowPrivateIndex (s, rs->windowPrivateIndex); + + free (rs); +} + +static Bool +regexInitWindow (CompPlugin *p, + CompWindow *w) +{ + RegexWindow *rw; + + REGEX_DISPLAY (w->screen->display); + REGEX_SCREEN (w->screen); + + rw = malloc (sizeof (RegexWindow)); + if (!rw) + return FALSE; + + rw->title = regexGetWindowTitle (w); + rw->role = regexGetStringProperty (w, rd->roleAtom, XA_STRING); + + w->privates[rs->windowPrivateIndex].ptr = rw; + + return TRUE; +} + +static void +regexFiniWindow (CompPlugin *p, + CompWindow *w) +{ + REGEX_WINDOW (w); + + if (rw->title) + free (rw->title); + + if (rw->role) + free (rw->role); + + free (rw); +} + +static Bool +regexInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (®exMetadata, p->vTable->name, + 0, 0, 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (®exMetadata); + return FALSE; + } + + compAddMetadataFromFile (®exMetadata, p->vTable->name); + + return TRUE; +} + +static void +regexFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (®exMetadata); +} + +static int +regexGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +regexGetMetadata (CompPlugin *plugin) +{ + return ®exMetadata; +} + +static CompPluginVTable regexVTable = { + "regex", + regexGetVersion, + regexGetMetadata, + regexInit, + regexFini, + regexInitDisplay, + regexFiniDisplay, + regexInitScreen, + regexFiniScreen, + regexInitWindow, + regexFiniWindow, + 0, /* GetDisplayOptions */ + 0, /* SetDisplayOption */ + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return ®exVTable; +} diff --git a/plugins/resize.c b/plugins/resize.c new file mode 100644 index 0000000..715ed4f --- /dev/null +++ b/plugins/resize.c @@ -0,0 +1,1415 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include + +#include +#include + +#include + +static CompMetadata resizeMetadata; + +#define ResizeUpMask (1L << 0) +#define ResizeDownMask (1L << 1) +#define ResizeLeftMask (1L << 2) +#define ResizeRightMask (1L << 3) + +#define RESIZE_MODE_NORMAL 0 +#define RESIZE_MODE_OUTLINE 1 +#define RESIZE_MODE_RECTANGLE 2 +#define RESIZE_MODE_STRETCH 3 +#define RESIZE_MODE_LAST RESIZE_MODE_STRETCH + +struct _ResizeKeys { + char *name; + int dx; + int dy; + unsigned int warpMask; + unsigned int resizeMask; +} rKeys[] = { + { "Left", -1, 0, ResizeLeftMask | ResizeRightMask, ResizeLeftMask }, + { "Right", 1, 0, ResizeLeftMask | ResizeRightMask, ResizeRightMask }, + { "Up", 0, -1, ResizeUpMask | ResizeDownMask, ResizeUpMask }, + { "Down", 0, 1, ResizeUpMask | ResizeDownMask, ResizeDownMask } +}; + +#define NUM_KEYS (sizeof (rKeys) / sizeof (rKeys[0])) + +#define MIN_KEY_WIDTH_INC 24 +#define MIN_KEY_HEIGHT_INC 24 + +#define RESIZE_DISPLAY_OPTION_INITIATE_NORMAL 0 +#define RESIZE_DISPLAY_OPTION_INITIATE_OUTLINE 1 +#define RESIZE_DISPLAY_OPTION_INITIATE_RECTANGLE 2 +#define RESIZE_DISPLAY_OPTION_INITIATE_STRETCH 3 +#define RESIZE_DISPLAY_OPTION_INITIATE 4 +#define RESIZE_DISPLAY_OPTION_MODE 5 +#define RESIZE_DISPLAY_OPTION_BORDER_COLOR 6 +#define RESIZE_DISPLAY_OPTION_FILL_COLOR 7 +#define RESIZE_DISPLAY_OPTION_NORMAL_MATCH 8 +#define RESIZE_DISPLAY_OPTION_OUTLINE_MATCH 9 +#define RESIZE_DISPLAY_OPTION_RECTANGLE_MATCH 10 +#define RESIZE_DISPLAY_OPTION_STRETCH_MATCH 11 +#define RESIZE_DISPLAY_OPTION_NUM 12 + +static int displayPrivateIndex; + +typedef struct _ResizeDisplay { + CompOption opt[RESIZE_DISPLAY_OPTION_NUM]; + + int screenPrivateIndex; + HandleEventProc handleEvent; + + Atom resizeNotifyAtom; + Atom resizeInformationAtom; + + CompWindow *w; + int mode; + XRectangle savedGeometry; + XRectangle geometry; + + int releaseButton; + unsigned int mask; + int pointerDx; + int pointerDy; + KeyCode key[NUM_KEYS]; +} ResizeDisplay; + +typedef struct _ResizeScreen { + int grabIndex; + + WindowResizeNotifyProc windowResizeNotify; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + DamageWindowRectProc damageWindowRect; + + Cursor leftCursor; + Cursor rightCursor; + Cursor upCursor; + Cursor upLeftCursor; + Cursor upRightCursor; + Cursor downCursor; + Cursor downLeftCursor; + Cursor downRightCursor; + Cursor middleCursor; + Cursor cursor[NUM_KEYS]; +} ResizeScreen; + +#define GET_RESIZE_DISPLAY(d) \ + ((ResizeDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define RESIZE_DISPLAY(d) \ + ResizeDisplay *rd = GET_RESIZE_DISPLAY (d) + +#define GET_RESIZE_SCREEN(s, rd) \ + ((ResizeScreen *) (s)->privates[(rd)->screenPrivateIndex].ptr) + +#define RESIZE_SCREEN(s) \ + ResizeScreen *rs = GET_RESIZE_SCREEN (s, GET_RESIZE_DISPLAY (s->display)) + +#define NUM_OPTIONS(d) (sizeof ((d)->opt) / sizeof (CompOption)) + +static void +resizeGetPaintRectangle (CompDisplay *d, + BoxPtr pBox) +{ + RESIZE_DISPLAY (d); + + pBox->x1 = rd->geometry.x - rd->w->input.left; + pBox->y1 = rd->geometry.y - rd->w->input.top; + pBox->x2 = rd->geometry.x + + rd->geometry.width + rd->w->serverBorderWidth * 2 + + rd->w->input.right; + + if (rd->w->shaded) + { + pBox->y2 = rd->geometry.y + rd->w->height + rd->w->input.bottom; + } + else + { + pBox->y2 = rd->geometry.y + + rd->geometry.height + rd->w->serverBorderWidth * 2 + + rd->w->input.bottom; + } +} + +static void +resizeGetStretchScale (CompWindow *w, + BoxPtr pBox, + float *xScale, + float *yScale) +{ + int width, height; + + width = w->width + w->input.left + w->input.right; + height = w->height + w->input.top + w->input.bottom; + + *xScale = (width) ? (pBox->x2 - pBox->x1) / (float) width : 1.0f; + *yScale = (height) ? (pBox->y2 - pBox->y1) / (float) height : 1.0f; +} + +static void +resizeGetStretchRectangle (CompDisplay *d, + BoxPtr pBox) +{ + BoxRec box; + float xScale, yScale; + + RESIZE_DISPLAY (d); + + resizeGetPaintRectangle (d, &box); + resizeGetStretchScale (rd->w, &box, &xScale, &yScale); + + pBox->x1 = box.x1 - (rd->w->output.left - rd->w->input.left) * xScale; + pBox->y1 = box.y1 - (rd->w->output.top - rd->w->input.top) * yScale; + pBox->x2 = box.x2 + rd->w->output.right * xScale; + pBox->y2 = box.y2 + rd->w->output.bottom * yScale; +} + +static void +resizeDamageRectangle (CompScreen *s, + BoxPtr pBox) +{ + REGION reg; + + reg.rects = ®.extents; + reg.numRects = 1; + + reg.extents = *pBox; + + reg.extents.x1 -= 1; + reg.extents.y1 -= 1; + reg.extents.x2 += 1; + reg.extents.y2 += 1; + + damageScreenRegion (s, ®); +} + +static Cursor +resizeCursorFromResizeMask (CompScreen *s, + unsigned int mask) +{ + Cursor cursor; + + RESIZE_SCREEN (s); + + if (mask & ResizeLeftMask) + { + if (mask & ResizeDownMask) + cursor = rs->downLeftCursor; + else if (mask & ResizeUpMask) + cursor = rs->upLeftCursor; + else + cursor = rs->leftCursor; + } + else if (mask & ResizeRightMask) + { + if (mask & ResizeDownMask) + cursor = rs->downRightCursor; + else if (mask & ResizeUpMask) + cursor = rs->upRightCursor; + else + cursor = rs->rightCursor; + } + else if (mask & ResizeUpMask) + { + cursor = rs->upCursor; + } + else + { + cursor = rs->downCursor; + } + + return cursor; +} + +static void +resizeSendResizeNotify (CompDisplay *d) +{ + XEvent xev; + + RESIZE_DISPLAY (d); + xev.xclient.type = ClientMessage; + xev.xclient.display = d->display; + xev.xclient.format = 32; + + xev.xclient.message_type = rd->resizeNotifyAtom; + xev.xclient.window = rd->w->id; + + xev.xclient.data.l[0] = rd->geometry.x; + xev.xclient.data.l[1] = rd->geometry.y; + xev.xclient.data.l[2] = rd->geometry.width; + xev.xclient.data.l[3] = rd->geometry.height; + xev.xclient.data.l[4] = 0; + + XSendEvent (d->display, + rd->w->screen->root, + FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); +} + +static void +resizeUpdateWindowProperty (CompDisplay *d) +{ + unsigned long data[4]; + + RESIZE_DISPLAY (d); + + data[0] = rd->geometry.x; + data[1] = rd->geometry.y; + data[2] = rd->geometry.width; + data[3] = rd->geometry.height; + + XChangeProperty (d->display, rd->w->id, + rd->resizeInformationAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char*) data, 4); +} + +static void +resizeFinishResizing (CompDisplay *d) +{ + RESIZE_DISPLAY (d); + + (*rd->w->screen->windowUngrabNotify) (rd->w); + + XDeleteProperty (d->display, + rd->w->id, + rd->resizeInformationAtom); + + rd->w = NULL; +} + +static Bool +resizeInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompWindow *w; + Window xid; + + RESIZE_DISPLAY (d); + + xid = getIntOptionNamed (option, nOption, "window", 0); + + w = findWindowAtDisplay (d, xid); + if (w && (w->actions & CompWindowActionResizeMask)) + { + unsigned int mask; + int x, y; + int button; + int i; + + RESIZE_SCREEN (w->screen); + + x = getIntOptionNamed (option, nOption, "x", + w->serverX + (w->serverWidth / 2)); + y = getIntOptionNamed (option, nOption, "y", + w->serverY + (w->serverHeight / 2)); + + button = getIntOptionNamed (option, nOption, "button", -1); + + mask = getIntOptionNamed (option, nOption, "direction", 0); + + /* Initiate the resize in the direction suggested by the + * quarter of the window the mouse is in, eg drag in top left + * will resize up and to the left. Keyboard resize starts out + * with the cursor in the middle of the window and then starts + * resizing the edge corresponding to the next key press. */ + if (state & CompActionStateInitKey) + { + mask = 0; + } + else if (!mask) + { + mask |= ((x - w->serverX) < (w->serverWidth / 2)) ? + ResizeLeftMask : ResizeRightMask; + + mask |= ((y - w->serverY) < (w->serverHeight / 2)) ? + ResizeUpMask : ResizeDownMask; + } + + if (otherScreenGrabExist (w->screen, "resize", 0)) + return FALSE; + + if (rd->w) + return FALSE; + + if (w->type & (CompWindowTypeDesktopMask | + CompWindowTypeDockMask | + CompWindowTypeFullscreenMask)) + return FALSE; + + if (w->attrib.override_redirect) + return FALSE; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (w->shaded) + mask &= ~(ResizeUpMask | ResizeDownMask); + + rd->w = w; + rd->mask = mask; + + rd->savedGeometry.x = w->serverX; + rd->savedGeometry.y = w->serverY; + rd->savedGeometry.width = w->serverWidth; + rd->savedGeometry.height = w->serverHeight; + + rd->geometry = rd->savedGeometry; + + rd->pointerDx = x - pointerX; + rd->pointerDy = y - pointerY; + + if ((w->state & MAXIMIZE_STATE) == MAXIMIZE_STATE) + { + /* if the window is fully maximized, showing the outline or + rectangle would be visually distracting as the window can't + be resized anyway; so we better don't use them in this case */ + rd->mode = RESIZE_MODE_NORMAL; + } + else + { + rd->mode = rd->opt[RESIZE_DISPLAY_OPTION_MODE].value.i; + for (i = 0; i <= RESIZE_MODE_LAST; i++) + { + if (action == &rd->opt[i].value.action) + { + rd->mode = i; + break; + } + } + + if (i > RESIZE_MODE_LAST) + { + int index; + + for (i = 0; i <= RESIZE_MODE_LAST; i++) + { + index = RESIZE_DISPLAY_OPTION_NORMAL_MATCH + i; + if (matchEval (&rd->opt[index].value.match, w)) + { + rd->mode = i; + break; + } + } + } + } + + if (!rs->grabIndex) + { + Cursor cursor; + + if (state & CompActionStateInitKey) + { + cursor = rs->middleCursor; + } + else + { + cursor = resizeCursorFromResizeMask (w->screen, mask); + } + + rs->grabIndex = pushScreenGrab (w->screen, cursor, "resize"); + } + + if (rs->grabIndex) + { + BoxRec box; + + rd->releaseButton = button; + + (w->screen->windowGrabNotify) (w, x, y, state, + CompWindowGrabResizeMask | + CompWindowGrabButtonMask); + + /* using the paint rectangle is enough here + as we don't have any stretch yet */ + resizeGetPaintRectangle (d, &box); + resizeDamageRectangle (w->screen, &box); + + if (state & CompActionStateInitKey) + { + int xRoot, yRoot; + + xRoot = w->serverX + (w->serverWidth / 2); + yRoot = w->serverY + (w->serverHeight / 2); + + warpPointer (w->screen, xRoot - pointerX, yRoot - pointerY); + } + } + } + + return FALSE; +} + +static Bool +resizeTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + RESIZE_DISPLAY (d); + + if (rd->w) + { + CompWindow *w = rd->w; + XWindowChanges xwc; + unsigned int mask = 0; + + RESIZE_SCREEN (w->screen); + + if (rd->mode == RESIZE_MODE_NORMAL) + { + if (state & CompActionStateCancel) + { + xwc.x = rd->savedGeometry.x; + xwc.y = rd->savedGeometry.y; + xwc.width = rd->savedGeometry.width; + xwc.height = rd->savedGeometry.height; + + mask = CWX | CWY | CWWidth | CWHeight; + } + } + else + { + XRectangle geometry; + + if (state & CompActionStateCancel) + geometry = rd->savedGeometry; + else + geometry = rd->geometry; + + if (memcmp (&geometry, &rd->savedGeometry, sizeof (geometry)) == 0) + { + BoxRec box; + + if (rd->mode == RESIZE_MODE_STRETCH) + resizeGetStretchRectangle (d, &box); + else + resizeGetPaintRectangle (d, &box); + + resizeDamageRectangle (w->screen, &box); + } + else + { + xwc.x = geometry.x; + xwc.y = geometry.y; + xwc.width = geometry.width; + xwc.height = geometry.height; + + mask = CWX | CWY | CWWidth | CWHeight; + } + } + + if ((mask & CWWidth) && xwc.width == w->serverWidth) + mask &= ~CWWidth; + + if ((mask & CWHeight) && xwc.height == w->serverHeight) + mask &= ~CWHeight; + + if (mask) + { + if (mask & (CWWidth | CWHeight)) + sendSyncRequest (w); + + configureXWindow (w, mask, &xwc); + } + + if (!(mask & (CWWidth | CWHeight))) + resizeFinishResizing (d); + + if (rs->grabIndex) + { + removeScreenGrab (w->screen, rs->grabIndex, NULL); + rs->grabIndex = 0; + } + + rd->releaseButton = 0; + } + + action->state &= ~(CompActionStateTermKey | CompActionStateTermButton); + + return FALSE; +} + +static void +resizeUpdateWindowSize (CompDisplay *d) +{ + RESIZE_DISPLAY (d); + + if (rd->w->syncWait) + return; + + if (rd->w->serverWidth != rd->geometry.width || + rd->w->serverHeight != rd->geometry.height) + { + XWindowChanges xwc; + + xwc.x = rd->geometry.x; + xwc.y = rd->geometry.y; + xwc.width = rd->geometry.width; + xwc.height = rd->geometry.height; + + sendSyncRequest (rd->w); + + configureXWindow (rd->w, + CWX | CWY | CWWidth | CWHeight, + &xwc); + } +} + +static void +resizeHandleKeyEvent (CompScreen *s, + KeyCode keycode) +{ + RESIZE_SCREEN (s); + RESIZE_DISPLAY (s->display); + + if (rs->grabIndex && rd->w) + { + CompWindow *w = rd->w; + int widthInc, heightInc, i; + + widthInc = w->sizeHints.width_inc; + heightInc = w->sizeHints.height_inc; + + if (widthInc < MIN_KEY_WIDTH_INC) + widthInc = MIN_KEY_WIDTH_INC; + + if (heightInc < MIN_KEY_HEIGHT_INC) + heightInc = MIN_KEY_HEIGHT_INC; + + for (i = 0; i < NUM_KEYS; i++) + { + if (keycode != rd->key[i]) + continue; + + if (rd->mask & rKeys[i].warpMask) + { + XWarpPointer (s->display->display, None, None, 0, 0, 0, 0, + rKeys[i].dx * widthInc, + rKeys[i].dy * heightInc); + } + else + { + int x, y, left, top, width, height; + + left = w->serverX - w->input.left; + top = w->serverY - w->input.top; + width = w->input.left + w->serverWidth + w->input.right; + height = w->input.top + w->serverHeight + w->input.bottom; + + x = left + width * (rKeys[i].dx + 1) / 2; + y = top + height * (rKeys[i].dy + 1) / 2; + + warpPointer (s, x - pointerX, y - pointerY); + + rd->mask = rKeys[i].resizeMask; + + updateScreenGrab (s, rs->grabIndex, rs->cursor[i]); + } + break; + } + } +} + +static void +resizeHandleMotionEvent (CompScreen *s, + int xRoot, + int yRoot) +{ + RESIZE_SCREEN (s); + + if (rs->grabIndex) + { + BoxRec box; + int w, h; + + RESIZE_DISPLAY (s->display); + + w = rd->savedGeometry.width; + h = rd->savedGeometry.height; + + if (!rd->mask) + { + CompWindow *w = rd->w; + int xDist, yDist; + int minPointerOffsetX, minPointerOffsetY; + + xDist = xRoot - (w->serverX + (w->serverWidth / 2)); + yDist = yRoot - (w->serverY + (w->serverHeight / 2)); + + /* decision threshold is 10% of window size */ + minPointerOffsetX = MIN (20, w->serverWidth / 10); + minPointerOffsetY = MIN (20, w->serverHeight / 10); + + /* if we reached the threshold in one direction, + make the threshold in the other direction smaller + so there is a chance that this threshold also can + be reached (by diagonal movement) */ + if (abs (xDist) > minPointerOffsetX) + minPointerOffsetY /= 2; + else if (abs (yDist) > minPointerOffsetY) + minPointerOffsetX /= 2; + + if (abs (xDist) > minPointerOffsetX) + { + if (xDist > 0) + rd->mask |= ResizeRightMask; + else + rd->mask |= ResizeLeftMask; + } + + if (abs (yDist) > minPointerOffsetY) + { + if (yDist > 0) + rd->mask |= ResizeDownMask; + else + rd->mask |= ResizeUpMask; + } + + /* if the pointer movement was enough to determine a + direction, warp the pointer to the appropriate edge + and set the right cursor */ + if (rd->mask) + { + Cursor cursor; + CompScreen *s = rd->w->screen; + CompAction *action; + int pointerAdjustX = 0; + int pointerAdjustY = 0; + + RESIZE_SCREEN (s); + + action = &rd->opt[RESIZE_DISPLAY_OPTION_INITIATE].value.action; + action->state |= CompActionStateTermButton; + + if (rd->mask & ResizeRightMask) + pointerAdjustX = w->serverX + w->serverWidth + + w->input.right - xRoot; + else if (rd->mask & ResizeLeftMask) + pointerAdjustX = w->serverX - w->input.left - xRoot; + + if (rd->mask & ResizeDownMask) + pointerAdjustY = w->serverY + w->serverHeight + + w->input.bottom - yRoot; + else if (rd->mask & ResizeUpMask) + pointerAdjustY = w->serverY - w->input.top - yRoot; + + warpPointer (s, pointerAdjustX, pointerAdjustY); + + cursor = resizeCursorFromResizeMask (s, rd->mask); + updateScreenGrab (s, rs->grabIndex, cursor); + } + } + else + { + /* only accumulate pointer movement if a mask is + already set as we don't have a use for the + difference information otherwise */ + rd->pointerDx += xRoot - lastPointerX; + rd->pointerDy += yRoot - lastPointerY; + } + + if (rd->mask & ResizeLeftMask) + w -= rd->pointerDx; + else if (rd->mask & ResizeRightMask) + w += rd->pointerDx; + + if (rd->mask & ResizeUpMask) + h -= rd->pointerDy; + else if (rd->mask & ResizeDownMask) + h += rd->pointerDy; + + if (rd->w->state & CompWindowStateMaximizedVertMask) + h = rd->w->serverHeight; + + if (rd->w->state & CompWindowStateMaximizedHorzMask) + w = rd->w->serverWidth; + + //constrainNewWindowSize (rd->w, w, h, &w, &h); + + if (rd->mode != RESIZE_MODE_NORMAL) + { + if (rd->mode == RESIZE_MODE_STRETCH) + resizeGetStretchRectangle (s->display, &box); + else + resizeGetPaintRectangle (s->display, &box); + + resizeDamageRectangle (s, &box); + } + + if (rd->mask & ResizeLeftMask) + rd->geometry.x -= w - rd->geometry.width; + + if (rd->mask & ResizeUpMask) + rd->geometry.y -= h - rd->geometry.height; + + rd->geometry.width = w; + rd->geometry.height = h; + + if (rd->mode != RESIZE_MODE_NORMAL) + { + if (rd->mode == RESIZE_MODE_STRETCH) + resizeGetStretchRectangle (s->display, &box); + else + resizeGetPaintRectangle (s->display, &box); + + resizeDamageRectangle (s, &box); + } + else + { + resizeUpdateWindowSize (s->display); + } + + resizeUpdateWindowProperty (s->display); + resizeSendResizeNotify (s->display); + } +} + +static void +resizeHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + RESIZE_DISPLAY (d); + + switch (event->type) { + case KeyPress: + s = findScreenAtDisplay (d, event->xkey.root); + if (s) + resizeHandleKeyEvent (s, event->xkey.keycode); + break; + case KeyRelease: + break; + case ButtonRelease: { + CompAction *action = + &rd->opt[RESIZE_DISPLAY_OPTION_INITIATE].value.action; + + if (action->state & CompActionStateTermButton) + { + if (event->type == ButtonRelease && + (rd->releaseButton == -1 || + event->xbutton.button == rd->releaseButton)) + { + resizeTerminate (d, + action, + CompActionStateTermButton, + NULL, + 0); + } + } + } break; + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + resizeHandleMotionEvent (s, pointerX, pointerY); + break; + case EnterNotify: + case LeaveNotify: + s = findScreenAtDisplay (d, event->xcrossing.root); + if (s) + resizeHandleMotionEvent (s, pointerX, pointerY); + break; + case ClientMessage: + if (event->xclient.message_type == d->wmMoveResizeAtom) + { + CompWindow *w; + + if (event->xclient.data.l[2] <= WmMoveResizeSizeLeft || + event->xclient.data.l[2] == WmMoveResizeSizeKeyboard) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + CompOption o[6]; + CompAction *action = + &rd->opt[RESIZE_DISPLAY_OPTION_INITIATE].value.action; + + o[0].type = CompOptionTypeInt; + o[0].name = "window"; + o[0].value.i = event->xclient.window; + + if (event->xclient.data.l[2] == WmMoveResizeSizeKeyboard) + { + o[1].type = CompOptionTypeInt; + o[1].name = "button"; + o[1].value.i = 0; + + resizeInitiate (d, action, + CompActionStateInitKey, + o, 2); + } + else + { + static unsigned int mask[] = { + ResizeUpMask | ResizeLeftMask, + ResizeUpMask, + ResizeUpMask | ResizeRightMask, + ResizeRightMask, + ResizeDownMask | ResizeRightMask, + ResizeDownMask, + ResizeDownMask | ResizeLeftMask, + ResizeLeftMask, + }; + unsigned int mods; + Window root, child; + int xRoot, yRoot, i; + + XQueryPointer (d->display, w->screen->root, + &root, &child, &xRoot, &yRoot, + &i, &i, &mods); + + /* TODO: not only button 1 */ + if (mods & Button1Mask) + { + o[1].type = CompOptionTypeInt; + o[1].name = "modifiers"; + o[1].value.i = mods; + + o[2].type = CompOptionTypeInt; + o[2].name = "x"; + o[2].value.i = event->xclient.data.l[0]; + + o[3].type = CompOptionTypeInt; + o[3].name = "y"; + o[3].value.i = event->xclient.data.l[1]; + + o[4].type = CompOptionTypeInt; + o[4].name = "direction"; + o[4].value.i = mask[event->xclient.data.l[2]]; + + o[5].type = CompOptionTypeInt; + o[5].name = "button"; + o[5].value.i = event->xclient.data.l[3] ? + event->xclient.data.l[3] : -1; + + resizeInitiate (d, + action, + CompActionStateInitButton, + o, 6); + + resizeHandleMotionEvent (w->screen, xRoot, yRoot); + } + } + } + } + } + break; + case DestroyNotify: + if (rd->w && rd->w->id == event->xdestroywindow.window) + { + CompAction *action = + &rd->opt[RESIZE_DISPLAY_OPTION_INITIATE].value.action; + + resizeTerminate (d, action, 0, NULL, 0); + } + break; + case UnmapNotify: + if (rd->w && rd->w->id == event->xunmap.window) + { + CompAction *action = + &rd->opt[RESIZE_DISPLAY_OPTION_INITIATE].value.action; + + resizeTerminate (d, action, 0, NULL, 0); + } + default: + break; + } + + UNWRAP (rd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (rd, d, handleEvent, resizeHandleEvent); + + if (event->type == d->syncEvent + XSyncAlarmNotify) + { + if (rd->w) + { + XSyncAlarmNotifyEvent *sa; + + sa = (XSyncAlarmNotifyEvent *) event; + + if (rd->w->syncAlarm == sa->alarm) + resizeUpdateWindowSize (d); + } + } +} + +static void +resizeWindowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ + RESIZE_DISPLAY (w->screen->display); + RESIZE_SCREEN (w->screen); + + UNWRAP (rs, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP (rs, w->screen, windowResizeNotify, resizeWindowResizeNotify); + + if (rd->w == w && !rs->grabIndex) + resizeFinishResizing (w->screen->display); +} + +static void +resizePaintRectangle (CompScreen *s, + const ScreenPaintAttrib *sa, + const CompTransform *transform, + CompOutput *output, + unsigned short *borderColor, + unsigned short *fillColor) +{ + BoxRec box; + + resizeGetPaintRectangle (s->display, &box); + + glPushMatrix (); + + prepareXCoords (s, output, -DEFAULT_Z_CAMERA); + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glEnable (GL_BLEND); + + /* fill rectangle */ + if (fillColor) + { + glColor4usv (fillColor); + glRecti (box.x1, box.y2, box.x2, box.y1); + } + + /* draw outline */ + glColor4usv (borderColor); + glLineWidth (2.0); + glBegin (GL_LINE_LOOP); + glVertex2i (box.x1, box.y1); + glVertex2i (box.x2, box.y1); + glVertex2i (box.x2, box.y2); + glVertex2i (box.x1, box.y2); + glEnd (); + + /* clean up */ + glColor4usv (defaultColor); + glDisable (GL_BLEND); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + glPopMatrix (); +} + +static Bool +resizePaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + RESIZE_SCREEN (s); + RESIZE_DISPLAY (s->display); + + if (rd->w && (s == rd->w->screen)) + { + if (rd->mode == RESIZE_MODE_STRETCH) + mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + } + + UNWRAP (rs, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (rs, s, paintOutput, resizePaintOutput); + + if (status && rd->w && (s == rd->w->screen)) + { + unsigned short *border, *fill; + + border = rd->opt[RESIZE_DISPLAY_OPTION_BORDER_COLOR].value.c; + fill = rd->opt[RESIZE_DISPLAY_OPTION_FILL_COLOR].value.c; + + switch (rd->mode) { + case RESIZE_MODE_OUTLINE: + resizePaintRectangle (s, sAttrib, transform, output, border, NULL); + break; + case RESIZE_MODE_RECTANGLE: + resizePaintRectangle (s, sAttrib, transform, output, border, fill); + default: + break; + } + } + + return status; +} + +static Bool +resizePaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + RESIZE_SCREEN (s); + RESIZE_DISPLAY (s->display); + + if (w == rd->w && rd->mode == RESIZE_MODE_STRETCH) + { + FragmentAttrib fragment; + CompTransform wTransform = *transform; + BoxRec box; + float xOrigin, yOrigin; + float xScale, yScale; + + if (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) + return FALSE; + + UNWRAP (rs, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, + mask | PAINT_WINDOW_NO_CORE_INSTANCE_MASK); + WRAP (rs, s, paintWindow, resizePaintWindow); + + initFragmentAttrib (&fragment, &w->lastPaint); + + if (w->alpha || fragment.opacity != OPAQUE) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + resizeGetPaintRectangle (s->display, &box); + resizeGetStretchScale (w, &box, &xScale, &yScale); + + xOrigin = w->attrib.x - w->input.left; + yOrigin = w->attrib.y - w->input.top; + + matrixTranslate (&wTransform, xOrigin, yOrigin, 0.0f); + matrixScale (&wTransform, xScale, yScale, 1.0f); + matrixTranslate (&wTransform, + (rd->geometry.x - w->attrib.x) / xScale - xOrigin, + (rd->geometry.y - w->attrib.y) / yScale - yOrigin, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*s->drawWindow) (w, &wTransform, &fragment, region, + mask | PAINT_WINDOW_TRANSFORMED_MASK); + + glPopMatrix (); + } + else + { + UNWRAP (rs, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (rs, s, paintWindow, resizePaintWindow); + } + + return status; +} + +static Bool +resizeDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status = FALSE; + + RESIZE_SCREEN (w->screen); + RESIZE_DISPLAY (w->screen->display); + + if (w == rd->w && rd->mode == RESIZE_MODE_STRETCH) + { + BoxRec box; + + resizeGetStretchRectangle (w->screen->display, &box); + resizeDamageRectangle (w->screen, &box); + + status = TRUE; + } + + UNWRAP (rs, w->screen, damageWindowRect); + status |= (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (rs, w->screen, damageWindowRect, resizeDamageWindowRect); + + return status; +} + +static CompOption * +resizeGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + RESIZE_DISPLAY (display); + + *count = NUM_OPTIONS (rd); + return rd->opt; +} + +static Bool +resizeSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + RESIZE_DISPLAY (display); + + o = compFindOption (rd->opt, NUM_OPTIONS (rd), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static const CompMetadataOptionInfo resizeDisplayOptionInfo[] = { + { "initiate_normal", "action", 0, resizeInitiate, resizeTerminate }, + { "initiate_outline", "action", 0, resizeInitiate, resizeTerminate }, + { "initiate_rectangle", "action", 0, resizeInitiate, resizeTerminate }, + { "initiate_stretch", "action", 0, resizeInitiate, resizeTerminate }, + { "initiate", "action", 0, resizeInitiate, resizeTerminate }, + { "mode", "int", RESTOSTRING (0, RESIZE_MODE_LAST), 0, 0 }, + { "border_color", "color", 0, 0, 0 }, + { "fill_color", "color", 0, 0, 0 }, + { "normal_match", "match", 0, 0, 0 }, + { "outline_match", "match", 0, 0, 0 }, + { "rectangle_match", "match", 0, 0, 0 }, + { "stretch_match", "match", 0, 0, 0 } +}; + +static Bool +resizeInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ResizeDisplay *rd; + int i; + + rd = malloc (sizeof (ResizeDisplay)); + if (!rd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &resizeMetadata, + resizeDisplayOptionInfo, + rd->opt, + RESIZE_DISPLAY_OPTION_NUM)) + { + free (rd); + return FALSE; + } + + rd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (rd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, rd->opt, RESIZE_DISPLAY_OPTION_NUM); + free (rd); + return FALSE; + } + + rd->w = 0; + + rd->releaseButton = 0; + + rd->resizeNotifyAtom = XInternAtom (d->display, + "_ECOMP_RESIZE_NOTIFY", 0); + rd->resizeInformationAtom = XInternAtom (d->display, + "_ECOMP_RESIZE_INFORMATION", 0); + + for (i = 0; i < NUM_KEYS; i++) + rd->key[i] = XKeysymToKeycode (d->display, + XStringToKeysym (rKeys[i].name)); + + WRAP (rd, d, handleEvent, resizeHandleEvent); + + d->privates[displayPrivateIndex].ptr = rd; + + return TRUE; +} + +static void +resizeFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + RESIZE_DISPLAY (d); + + freeScreenPrivateIndex (d, rd->screenPrivateIndex); + + UNWRAP (rd, d, handleEvent); + + compFiniDisplayOptions (d, rd->opt, RESIZE_DISPLAY_OPTION_NUM); + + free (rd); +} + +static Bool +resizeInitScreen (CompPlugin *p, + CompScreen *s) +{ + ResizeScreen *rs; + + RESIZE_DISPLAY (s->display); + + rs = malloc (sizeof (ResizeScreen)); + if (!rs) + return FALSE; + + rs->grabIndex = 0; + + rs->leftCursor = XCreateFontCursor (s->display->display, XC_left_side); + rs->rightCursor = XCreateFontCursor (s->display->display, XC_right_side); + rs->upCursor = XCreateFontCursor (s->display->display, + XC_top_side); + rs->upLeftCursor = XCreateFontCursor (s->display->display, + XC_top_left_corner); + rs->upRightCursor = XCreateFontCursor (s->display->display, + XC_top_right_corner); + rs->downCursor = XCreateFontCursor (s->display->display, + XC_bottom_side); + rs->downLeftCursor = XCreateFontCursor (s->display->display, + XC_bottom_left_corner); + rs->downRightCursor = XCreateFontCursor (s->display->display, + XC_bottom_right_corner); + rs->middleCursor = XCreateFontCursor (s->display->display, XC_fleur); + + rs->cursor[0] = rs->leftCursor; + rs->cursor[1] = rs->rightCursor; + rs->cursor[2] = rs->upCursor; + rs->cursor[3] = rs->downCursor; + + WRAP (rs, s, windowResizeNotify, resizeWindowResizeNotify); + WRAP (rs, s, paintOutput, resizePaintOutput); + WRAP (rs, s, paintWindow, resizePaintWindow); + WRAP (rs, s, damageWindowRect, resizeDamageWindowRect); + + s->privates[rd->screenPrivateIndex].ptr = rs; + + return TRUE; +} + +static void +resizeFiniScreen (CompPlugin *p, + CompScreen *s) +{ + RESIZE_SCREEN (s); + + if (rs->leftCursor) + XFreeCursor (s->display->display, rs->leftCursor); + if (rs->rightCursor) + XFreeCursor (s->display->display, rs->rightCursor); + if (rs->upCursor) + XFreeCursor (s->display->display, rs->upCursor); + if (rs->downCursor) + XFreeCursor (s->display->display, rs->downCursor); + if (rs->middleCursor) + XFreeCursor (s->display->display, rs->middleCursor); + if (rs->upLeftCursor) + XFreeCursor (s->display->display, rs->upLeftCursor); + if (rs->upRightCursor) + XFreeCursor (s->display->display, rs->upRightCursor); + if (rs->downLeftCursor) + XFreeCursor (s->display->display, rs->downLeftCursor); + if (rs->downRightCursor) + XFreeCursor (s->display->display, rs->downRightCursor); + + UNWRAP (rs, s, windowResizeNotify); + UNWRAP (rs, s, paintOutput); + UNWRAP (rs, s, paintWindow); + UNWRAP (rs, s, damageWindowRect); + + free (rs); +} + +static Bool +resizeInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&resizeMetadata, + p->vTable->name, + resizeDisplayOptionInfo, + RESIZE_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&resizeMetadata); + return FALSE; + } + + compAddMetadataFromFile (&resizeMetadata, p->vTable->name); + + return TRUE; +} + +static void +resizeFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&resizeMetadata); +} + +static int +resizeGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +resizeGetMetadata (CompPlugin *plugin) +{ + return &resizeMetadata; +} + +CompPluginVTable resizeVTable = { + "resize", + resizeGetVersion, + resizeGetMetadata, + resizeInit, + resizeFini, + resizeInitDisplay, + resizeFiniDisplay, + resizeInitScreen, + resizeFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + resizeGetDisplayOptions, + resizeSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &resizeVTable; +} diff --git a/plugins/rotate.c b/plugins/rotate.c new file mode 100644 index 0000000..6d5c1eb --- /dev/null +++ b/plugins/rotate.c @@ -0,0 +1,1954 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include + +static int cubeDisplayPrivateIndex; + +#define ROTATE_POINTER_SENSITIVITY_FACTOR 0.05f + +static CompMetadata rotateMetadata; + +static int displayPrivateIndex; + +#define ROTATE_DISPLAY_OPTION_INITIATE 0 +#define ROTATE_DISPLAY_OPTION_LEFT 1 +#define ROTATE_DISPLAY_OPTION_RIGHT 2 +#define ROTATE_DISPLAY_OPTION_LEFT_WINDOW 3 +#define ROTATE_DISPLAY_OPTION_RIGHT_WINDOW 4 +#define ROTATE_DISPLAY_OPTION_EDGEFLIP_POINTER 5 +#define ROTATE_DISPLAY_OPTION_EDGEFLIP_WINDOW 6 +#define ROTATE_DISPLAY_OPTION_EDGEFLIP_DND 7 +#define ROTATE_DISPLAY_OPTION_FLIPTIME 8 +#define ROTATE_DISPLAY_OPTION_TO_1 9 +#define ROTATE_DISPLAY_OPTION_TO_2 10 +#define ROTATE_DISPLAY_OPTION_TO_3 11 +#define ROTATE_DISPLAY_OPTION_TO_4 12 +#define ROTATE_DISPLAY_OPTION_TO_5 13 +#define ROTATE_DISPLAY_OPTION_TO_6 14 +#define ROTATE_DISPLAY_OPTION_TO_7 15 +#define ROTATE_DISPLAY_OPTION_TO_8 16 +#define ROTATE_DISPLAY_OPTION_TO_9 17 +#define ROTATE_DISPLAY_OPTION_TO_10 18 +#define ROTATE_DISPLAY_OPTION_TO_11 19 +#define ROTATE_DISPLAY_OPTION_TO_12 20 +#define ROTATE_DISPLAY_OPTION_TO_1_WINDOW 21 +#define ROTATE_DISPLAY_OPTION_TO_2_WINDOW 22 +#define ROTATE_DISPLAY_OPTION_TO_3_WINDOW 23 +#define ROTATE_DISPLAY_OPTION_TO_4_WINDOW 24 +#define ROTATE_DISPLAY_OPTION_TO_5_WINDOW 25 +#define ROTATE_DISPLAY_OPTION_TO_6_WINDOW 26 +#define ROTATE_DISPLAY_OPTION_TO_7_WINDOW 27 +#define ROTATE_DISPLAY_OPTION_TO_8_WINDOW 28 +#define ROTATE_DISPLAY_OPTION_TO_9_WINDOW 29 +#define ROTATE_DISPLAY_OPTION_TO_10_WINDOW 30 +#define ROTATE_DISPLAY_OPTION_TO_11_WINDOW 31 +#define ROTATE_DISPLAY_OPTION_TO_12_WINDOW 32 +#define ROTATE_DISPLAY_OPTION_TO 33 +#define ROTATE_DISPLAY_OPTION_WINDOW 34 +#define ROTATE_DISPLAY_OPTION_FLIP_LEFT 35 +#define ROTATE_DISPLAY_OPTION_FLIP_RIGHT 36 +#define ROTATE_DISPLAY_OPTION_RAISE_ON_ROTATE 37 +#define ROTATE_DISPLAY_OPTION_NUM 38 + +typedef struct _RotateDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[ROTATE_DISPLAY_OPTION_NUM]; +} RotateDisplay; + +#define ROTATE_SCREEN_OPTION_POINTER_INVERT_Y 0 +#define ROTATE_SCREEN_OPTION_POINTER_SENSITIVITY 1 +#define ROTATE_SCREEN_OPTION_ACCELERATION 2 +#define ROTATE_SCREEN_OPTION_SNAP_TOP 3 +#define ROTATE_SCREEN_OPTION_SPEED 4 +#define ROTATE_SCREEN_OPTION_TIMESTEP 5 +#define ROTATE_SCREEN_OPTION_ZOOM 6 +#define ROTATE_SCREEN_OPTION_NUM 7 + +typedef struct _RotateScreen { + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintScreenProc paintScreen; + PaintOutputProc paintOutput; + WindowGrabNotifyProc windowGrabNotify; + WindowUngrabNotifyProc windowUngrabNotify; + + CubeGetRotationProc getRotation; + + CompOption opt[ROTATE_SCREEN_OPTION_NUM]; + + float pointerSensitivity; + + Bool snapTop; + + int grabIndex; + + GLfloat xrot, xVelocity; + GLfloat yrot, yVelocity; + + GLfloat baseXrot; + + Bool moving; + GLfloat moveTo; + + Window moveWindow; + int moveWindowX; + + XPoint savedPointer; + Bool grabbed; + + CompTimeoutHandle rotateHandle; + Bool slow; + unsigned int grabMask; + CompWindow *grabWindow; + + GLfloat zoomTranslate; + GLfloat zoomVelocity; +} RotateScreen; + +#define GET_ROTATE_DISPLAY(d) \ + ((RotateDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define ROTATE_DISPLAY(d) \ + RotateDisplay *rd = GET_ROTATE_DISPLAY (d) + +#define GET_ROTATE_SCREEN(s, rd) \ + ((RotateScreen *) (s)->privates[(rd)->screenPrivateIndex].ptr) + +#define ROTATE_SCREEN(s) \ + RotateScreen *rs = GET_ROTATE_SCREEN (s, GET_ROTATE_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static CompOption * +rotateGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + ROTATE_SCREEN (screen); + + *count = NUM_OPTIONS (rs); + return rs->opt; +} + +static Bool +rotateSetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + ROTATE_SCREEN (screen); + + o = compFindOption (rs->opt, NUM_OPTIONS (rs), name, &index); + if (!o) + return FALSE; + + switch (index) { + case ROTATE_SCREEN_OPTION_POINTER_SENSITIVITY: + if (compSetFloatOption (o, value)) + { + rs->pointerSensitivity = o->value.f * + ROTATE_POINTER_SENSITIVITY_FACTOR; + return TRUE; + } + break; + default: + return compSetScreenOption (screen, o, value); + } + + return FALSE; +} + +static int +adjustVelocity (RotateScreen *rs, + int size) +{ + float xrot, yrot, adjust, amount; + + if (rs->moving) + { + xrot = rs->moveTo + (rs->xrot + rs->baseXrot); + } + else + { + xrot = rs->xrot; + if (rs->xrot < -180.0f / size) + xrot = 360.0f / size + rs->xrot; + else if (rs->xrot > 180.0f / size) + xrot = rs->xrot - 360.0f / size; + } + + adjust = -xrot * 0.05f * rs->opt[ROTATE_SCREEN_OPTION_ACCELERATION].value.f; + amount = fabs (xrot); + if (amount < 10.0f) + amount = 10.0f; + else if (amount > 30.0f) + amount = 30.0f; + + if (rs->slow) + adjust *= 0.05f; + + rs->xVelocity = (amount * rs->xVelocity + adjust) / (amount + 2.0f); + + if (rs->snapTop && rs->yrot > 50.0f) + yrot = -(90.f - rs->yrot); + else + yrot = rs->yrot; + + adjust = -yrot * 0.05f * rs->opt[ROTATE_SCREEN_OPTION_ACCELERATION].value.f; + amount = fabs (rs->yrot); + if (amount < 10.0f) + amount = 10.0f; + else if (amount > 30.0f) + amount = 30.0f; + + rs->yVelocity = (amount * rs->yVelocity + adjust) / (amount + 2.0f); + + return (fabs (xrot) < 0.1f && fabs (rs->xVelocity) < 0.2f && + fabs (yrot) < 0.1f && fabs (rs->yVelocity) < 0.2f); +} + +static void +rotateReleaseMoveWindow (CompScreen *s) +{ + CompWindow *w; + + ROTATE_SCREEN (s); + + w = findWindowAtScreen (s, rs->moveWindow); + if (w) + syncWindowPosition (w); + + rs->moveWindow = None; +} + +static void +rotatePreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + ROTATE_SCREEN (s); + CUBE_SCREEN (s); + + float oldXrot = rs->xrot + rs->baseXrot; + + if (rs->grabIndex || rs->moving) + { + int steps; + float amount, chunk; + + amount = msSinceLastPaint * 0.05f * + rs->opt[ROTATE_SCREEN_OPTION_SPEED].value.f; + steps = amount / + (0.5f * rs->opt[ROTATE_SCREEN_OPTION_TIMESTEP].value.f); + if (!steps) steps = 1; + chunk = amount / (float) steps; + + while (steps--) + { + rs->xrot += rs->xVelocity * chunk; + rs->yrot += rs->yVelocity * chunk; + + if (rs->xrot > 360.0f / s->hsize) + { + rs->baseXrot += 360.0f / s->hsize; + rs->xrot -= 360.0f / s->hsize; + } + else if (rs->xrot < 0.0f) + { + rs->baseXrot -= 360.0f / s->hsize; + rs->xrot += 360.0f / s->hsize; + } + + if (cs->invert == -1) + { + if (rs->yrot > 45.0f) + { + rs->yVelocity = 0.0f; + rs->yrot = 45.0f; + } + else if (rs->yrot < -45.0f) + { + rs->yVelocity = 0.0f; + rs->yrot = -45.0f; + } + } + else + { + if (rs->yrot > 100.0f) + { + rs->yVelocity = 0.0f; + rs->yrot = 100.0f; + } + else if (rs->yrot < -100.0f) + { + rs->yVelocity = 0.0f; + rs->yrot = -100.0f; + } + } + + if (rs->grabbed) + { + rs->xVelocity /= 1.25f; + rs->yVelocity /= 1.25f; + + if (fabs (rs->xVelocity) < 0.01f) + rs->xVelocity = 0.0f; + if (fabs (rs->yVelocity) < 0.01f) + rs->yVelocity = 0.0f; + } + else if (adjustVelocity (rs, s->hsize)) + { + rs->xVelocity = 0.0f; + rs->yVelocity = 0.0f; + + if (fabs (rs->yrot) < 0.1f) + { + float xrot; + int tx; + + xrot = rs->baseXrot + rs->xrot; + if (xrot < 0.0f) + tx = (s->hsize * xrot / 360.0f) - 0.5f; + else + tx = (s->hsize * xrot / 360.0f) + 0.5f; + + /* flag end of rotation */ + cs->rotationState = RotationNone; + + moveScreenViewport (s, tx, 0, TRUE); + + rs->xrot = 0.0f; + rs->yrot = 0.0f; + rs->baseXrot = rs->moveTo = 0.0f; + rs->moving = FALSE; + + if (rs->grabIndex) + { + removeScreenGrab (s, rs->grabIndex, &rs->savedPointer); + rs->grabIndex = 0; + } + + if (rs->moveWindow) + { + CompWindow *w; + + w = findWindowAtScreen (s, rs->moveWindow); + if (w) + { + moveWindow (w, rs->moveWindowX - w->attrib.x, 0, + TRUE, TRUE); + syncWindowPosition (w); + } + } + else + { + int i; + + for (i = 0; i < s->maxGrab; i++) + if (s->grabs[i].active && + strcmp ("switcher", s->grabs[i].name) == 0) + break; + + /* only focus default window if switcher isn't active */ + if (i == s->maxGrab) + focusDefaultWindow (s->display); + } + + rs->moveWindow = 0; + } + break; + } + } + + if (rs->moveWindow) + { + CompWindow *w; + + w = findWindowAtScreen (s, rs->moveWindow); + if (w) + { + float xrot = (s->hsize * (rs->baseXrot + rs->xrot)) / 360.0f; + + moveWindowToViewportPosition (w, + rs->moveWindowX - xrot * s->width, + w->attrib.y, + FALSE); + } + } + } + + if (rs->moving && cs->invert == 1 && !cs->unfolded) + { + if (fabs (rs->xrot + rs->baseXrot + rs->moveTo) <= + (360.0 / (s->hsize * 2.0))) + { + rs->zoomTranslate = rs->opt[ROTATE_SCREEN_OPTION_ZOOM].value.f * + fabs (rs->xrot + rs->baseXrot + rs->moveTo) / + (360.0 / (s->hsize * 2.0)); + } + else if (fabs (rs->xrot + rs->baseXrot) <= (360.0 / (s->hsize * 2.0))) + { + rs->zoomTranslate = rs->opt[ROTATE_SCREEN_OPTION_ZOOM].value.f * + fabs (rs->xrot + rs->baseXrot) / + (360.0 / (s->hsize * 2.0)); + } + else + { + rs->zoomTranslate += fabs (rs->xrot + rs->baseXrot - oldXrot) / + (360.0 / (s->hsize * 2.0)) * + rs->opt[ROTATE_SCREEN_OPTION_ZOOM].value.f; + rs->zoomTranslate = + MIN (rs->zoomTranslate, + rs->opt[ROTATE_SCREEN_OPTION_ZOOM].value.f); + } + } + else if ((rs->zoomTranslate != 0.0f || rs->grabbed) && cs->invert == 1 && + !cs->unfolded) + { + int steps; + float amount, chunk; + + amount = msSinceLastPaint * 0.05f * + rs->opt[ROTATE_SCREEN_OPTION_SPEED].value.f; + steps = amount / + (0.5f * rs->opt[ROTATE_SCREEN_OPTION_TIMESTEP].value.f); + if (!steps) + steps = 1; + + chunk = amount / (float) steps; + + while (steps--) + { + float dt, adjust, tamount; + + if (rs->grabbed) + dt = rs->opt[ROTATE_SCREEN_OPTION_ZOOM].value.f - + rs->zoomTranslate; + else + dt = 0.0f - rs->zoomTranslate; + + adjust = dt * 0.15f; + tamount = fabs (dt) * 1.5f; + if (tamount < 0.2f) + tamount = 0.2f; + else if (tamount > 2.0f) + tamount = 2.0f; + + rs->zoomVelocity = (tamount * rs->zoomVelocity + adjust) / + (tamount + 1.0f); + + if (fabs (dt) < 0.1f && fabs (rs->zoomVelocity) < 0.0005f) + { + if (rs->grabbed) + rs->zoomTranslate = + rs->opt[ROTATE_SCREEN_OPTION_ZOOM].value.f; + else + rs->zoomTranslate = 0.0f; + + break; + } + rs->zoomTranslate += rs->zoomVelocity * chunk; + } + } + + UNWRAP (rs, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (rs, s, preparePaintScreen, rotatePreparePaintScreen); +} + +static void +rotateDonePaintScreen (CompScreen *s) +{ + ROTATE_SCREEN (s); + + if (rs->grabIndex || rs->moving) + { + if ((!rs->grabbed && !rs->snapTop) || rs->xVelocity || rs->yVelocity) + damageScreen (s); + } + + if (rs->zoomTranslate > 0.0f && + rs->zoomTranslate < rs->opt[ROTATE_SCREEN_OPTION_ZOOM].value.f) + damageScreen (s); + + UNWRAP (rs, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (rs, s, donePaintScreen, rotateDonePaintScreen); +} + +static void +rotateGetRotation (CompScreen *s, + float *x, + float *v) +{ + CUBE_SCREEN (s); + ROTATE_SCREEN (s); + + UNWRAP (rs, cs, getRotation); + (*cs->getRotation) (s, x, v); + WRAP (rs, cs, getRotation, rotateGetRotation); + + *x += rs->baseXrot + rs->xrot; + *v += rs->yrot; +} + +static void +rotatePaintScreen (CompScreen *s, + CompOutput *outputs, + int numOutputs, + unsigned int mask) +{ + ROTATE_SCREEN (s); + CUBE_SCREEN (s); + + UNWRAP (rs, s, paintScreen); + if ((rs->grabIndex || rs->moving || rs->zoomTranslate || cs->grabIndex) && + cs->moMode == CUBE_MOMODE_ONE && s->nOutputDev) + (*s->paintScreen) (s, &s->fullscreenOutput, 1, mask); + else + (*s->paintScreen) (s, outputs, numOutputs, mask); + WRAP (rs, s, paintScreen, rotatePaintScreen); +} + +static Bool +rotatePaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + ScreenPaintAttrib sA = *sAttrib; + + ROTATE_SCREEN (s); + + if (rs->grabIndex || rs->moving || rs->zoomTranslate != 0.0f) + { + sA.zCamera -= rs->zoomTranslate; + mask &= ~PAINT_SCREEN_REGION_MASK; + mask |= PAINT_SCREEN_TRANSFORMED_MASK; + } + + UNWRAP (rs, s, paintOutput); + status = (*s->paintOutput) (s, &sA, transform, region, output, mask); + WRAP (rs, s, paintOutput, rotatePaintOutput); + + return status; +} + +static Bool +rotateInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + ROTATE_SCREEN (s); + CUBE_SCREEN (s); + + if (s->hsize < 2) + return FALSE; + + if (rs->rotateHandle && rs->grabWindow) + { + if (otherScreenGrabExist (s, "rotate", "move", 0)) + return FALSE; + } + else + { + if (otherScreenGrabExist (s, "rotate", "switcher", "cube", 0)) + return FALSE; + } + + rs->moving = FALSE; + rs->slow = FALSE; + + /* Set the rotation state for cube - if action is non-NULL, + we set it to manual (as we were called from the 'Initiate + Rotation' binding. Otherwise, we set it to Change. */ + if (action) + cs->rotationState = RotationManual; + else + cs->rotationState = RotationChange; + + if (!rs->grabIndex) + { + rs->grabIndex = pushScreenGrab (s, s->invisibleCursor, "rotate"); + if (rs->grabIndex) + { + int x, y; + + x = getIntOptionNamed (option, nOption, "x", 0); + y = getIntOptionNamed (option, nOption, "y", 0); + + rs->savedPointer.x = x; + rs->savedPointer.y = y; + } + } + + if (rs->grabIndex) + { + rs->moveTo = 0.0f; + + rs->grabbed = TRUE; + rs->snapTop = rs->opt[ROTATE_SCREEN_OPTION_SNAP_TOP].value.b; + + //if (state & CompActionStateInitButton) + // action->state |= CompActionStateTermButton; + + if (action) + { + if(state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + else + action->state |= CompActionStateTermButton; /*XXX*/ + } + } + } + + return TRUE; +} + +static Bool +rotateTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + ROTATE_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (rs->grabIndex) + { + if (!xid) + rs->snapTop = FALSE; + + rs->grabbed = FALSE; + damageScreen (s); + } + } + + action->state &= ~(CompActionStateTermButton | CompActionStateTermKey); + + return FALSE; +} + +static Bool +rotate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + int direction; + + ROTATE_SCREEN (s); + + if (s->hsize < 2) + return FALSE; + + if (otherScreenGrabExist (s, "rotate", "move", "switcher", + "group-drag", "cube", 0)) + return FALSE; + + direction = getIntOptionNamed (option, nOption, "direction", 0); + if (!direction) + return FALSE; + + if (rs->moveWindow) + rotateReleaseMoveWindow (s); + + /* we allow the grab to fail here so that we can rotate on + drag-and-drop */ + if (!rs->grabIndex) + { + CompOption o[3]; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = getIntOptionNamed (option, nOption, "x", 0); + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = getIntOptionNamed (option, nOption, "y", 0); + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + rotateInitiate (d, NULL, 0, o, 3); + } + + rs->moving = TRUE; + rs->moveTo += (360.0f / s->hsize) * direction; + rs->grabbed = FALSE; + + damageScreen (s); + } + + return FALSE; +} + +static Bool +rotateWithWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + ROTATE_DISPLAY (d); + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + Bool raise = rd->opt[ROTATE_DISPLAY_OPTION_RAISE_ON_ROTATE].value.b; + int direction; + + ROTATE_SCREEN (s); + + if (s->hsize < 2) + return FALSE; + + direction = getIntOptionNamed (option, nOption, "direction", 0); + if (!direction) + return FALSE; + + xid = getIntOptionNamed (option, nOption, "window", 0); + + if (rs->moveWindow != xid) + { + CompWindow *w; + + rotateReleaseMoveWindow (s); + + if (!rs->grabIndex && !rs->moving) + { + w = findWindowAtScreen (s, xid); + if (w) + { + if (!(w->type & (CompWindowTypeDesktopMask | + CompWindowTypeDockMask))) + { + if (!(w->state & CompWindowStateStickyMask)) + { + rs->moveWindow = w->id; + rs->moveWindowX = w->attrib.x; + + /*if (raise) + //printf("TODO: scale calls raise\n"); + //raiseWindow (w);*/ + } + } + } + } + } + + if (!rs->grabIndex) + { + CompOption o[3]; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = getIntOptionNamed (option, nOption, "x", 0); + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = getIntOptionNamed (option, nOption, "y", 0); + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + rotateInitiate (d, NULL, 0, o, 3); + } + + if (rs->grabIndex) + { + rs->moving = TRUE; + rs->moveTo += (360.0f / s->hsize) * direction; + rs->grabbed = FALSE; + + damageScreen (s); + } + } + + return FALSE; +} + +static Bool +rotateLeft (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompOption o[4]; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = getIntOptionNamed (option, nOption, "x", 0); + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = getIntOptionNamed (option, nOption, "y", 0); + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = getIntOptionNamed (option, nOption, "root", 0); + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = -1; + + rotate (d, NULL, 0, o, 4); + + return FALSE; +} + +static Bool +rotateRight (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompOption o[4]; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = getIntOptionNamed (option, nOption, "x", 0); + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = getIntOptionNamed (option, nOption, "y", 0); + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = getIntOptionNamed (option, nOption, "root", 0); + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = 1; + + rotate (d, NULL, 0, o, 4); + + return FALSE; +} + +static Bool +rotateLeftWithWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompOption o[5]; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = getIntOptionNamed (option, nOption, "x", 0); + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = getIntOptionNamed (option, nOption, "y", 0); + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = getIntOptionNamed (option, nOption, "root", 0); + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = -1; + + o[4].type = CompOptionTypeInt; + o[4].name = "window"; + o[4].value.i = getIntOptionNamed (option, nOption, "window", 0); + + rotateWithWindow (d, NULL, 0, o, 5); + + return FALSE; +} + +static Bool +rotateRightWithWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompOption o[5]; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = getIntOptionNamed (option, nOption, "x", 0); + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = getIntOptionNamed (option, nOption, "y", 0); + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = getIntOptionNamed (option, nOption, "root", 0); + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = 1; + + o[4].type = CompOptionTypeInt; + o[4].name = "window"; + o[4].value.i = getIntOptionNamed (option, nOption, "window", 0); + + rotateWithWindow (d, NULL, 0, o, 5); + + return FALSE; +} + +static Bool +rotateFlipLeft (void *closure) +{ + CompScreen *s = closure; + int warpX; + CompOption o[4]; + + ROTATE_SCREEN (s); + + rs->moveTo = 0.0f; + rs->slow = FALSE; + + if (otherScreenGrabExist (s, "rotate", "move", "group-drag", 0)) + return FALSE; + + warpX = pointerX + s->width; + warpPointer (s, s->width - 10, 0); + lastPointerX = warpX; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = 0; + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = pointerY; + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = -1; + + rotate (s->display, NULL, 0, o, 4); + + XWarpPointer (s->display->display, None, None, 0, 0, 0, 0, -1, 0); + rs->savedPointer.x = lastPointerX - 9; + + rs->rotateHandle = 0; + + return FALSE; +} + +static Bool +rotateFlipRight (void *closure) +{ + CompScreen *s = closure; + int warpX; + CompOption o[4]; + + ROTATE_SCREEN (s); + + rs->moveTo = 0.0f; + rs->slow = FALSE; + + if (otherScreenGrabExist (s, "rotate", "move", "group-drag", 0)) + return FALSE; + + warpX = pointerX - s->width; + warpPointer (s, 10 - s->width, 0); + lastPointerX = warpX; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = 0; + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = pointerY; + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = 1; + + rotate (s->display, NULL, 0, o, 4); + + XWarpPointer (s->display->display, None, None, 0, 0, 0, 0, 1, 0); + + rs->savedPointer.x = lastPointerX + 9; + + rs->rotateHandle = 0; + + return FALSE; +} + +static void +rotateEdgeFlip (CompScreen *s, + int edge, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompOption o[4]; + + ROTATE_DISPLAY (s->display); + + if (s->hsize < 2) + return; + + if (otherScreenGrabExist (s, "rotate", "move", "group-drag", 0)) + return; + + if (state & CompActionStateInitEdgeDnd) + { + if (!rd->opt[ROTATE_DISPLAY_OPTION_EDGEFLIP_DND].value.b) + return; + + if (otherScreenGrabExist (s, "rotate", 0)) + return; + } + else if (otherScreenGrabExist (s, "rotate", "group-drag", 0)) + { + ROTATE_SCREEN (s); + + if (!rd->opt[ROTATE_DISPLAY_OPTION_EDGEFLIP_WINDOW].value.b) + return; + + if (!rs->grabWindow) + return; + + /* bail out if window is horizontally maximized or fullscreen */ + if (rs->grabWindow->state & (CompWindowStateMaximizedHorzMask | + CompWindowStateFullscreenMask)) + return; + } + else if (otherScreenGrabExist (s, "rotate", 0)) + { + /* in that case, 'group-drag' must be the active screen grab */ + if (!rd->opt[ROTATE_DISPLAY_OPTION_EDGEFLIP_WINDOW].value.b) + return; + } + else + { + if (!rd->opt[ROTATE_DISPLAY_OPTION_EDGEFLIP_POINTER].value.b) + return; + } + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = 0; + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = pointerY; + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + + if (edge == SCREEN_EDGE_LEFT) + { + int flipTime = rd->opt[ROTATE_DISPLAY_OPTION_FLIPTIME].value.i; + + ROTATE_SCREEN (s); + + if (flipTime == 0 || (rs->moving && !rs->slow)) + { + int pointerDx = pointerX - lastPointerX; + int warpX; + + warpX = pointerX + s->width; + warpPointer (s, s->width - 10, 0); + lastPointerX = warpX - pointerDx; + + o[3].value.i = -1; + + rotate (s->display, NULL, 0, o, 4); + + XWarpPointer (s->display->display, None, None, + 0, 0, 0, 0, -1, 0); + rs->savedPointer.x = lastPointerX - 9; + } + else + { + if (!rs->rotateHandle) + { + int flipTime = rd->opt[ROTATE_DISPLAY_OPTION_FLIPTIME].value.i; + + rs->rotateHandle = compAddTimeout (flipTime, rotateFlipLeft, s); + } + + rs->moving = TRUE; + rs->moveTo -= 360.0f / s->hsize; + rs->slow = TRUE; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + + if (state & CompActionStateInitEdgeDnd) + action->state |= CompActionStateTermEdgeDnd; + + damageScreen (s); + } + } + else + { + int flipTime = rd->opt[ROTATE_DISPLAY_OPTION_FLIPTIME].value.i; + + ROTATE_SCREEN (s); + + if (flipTime == 0 || (rs->moving && !rs->slow)) + { + int pointerDx = pointerX - lastPointerX; + int warpX; + + warpX = pointerX - s->width; + warpPointer (s, 10 - s->width, 0); + lastPointerX = warpX - pointerDx; + + o[3].value.i = 1; + + rotate (s->display, NULL, 0, o, 4); + + XWarpPointer (s->display->display, None, None, + 0, 0, 0, 0, 1, 0); + rs->savedPointer.x = lastPointerX + 9; + } + else + { + if (!rs->rotateHandle) + { + int flipTime = rd->opt[ROTATE_DISPLAY_OPTION_FLIPTIME].value.i; + + rs->rotateHandle = + compAddTimeout (flipTime, rotateFlipRight, s); + } + + rs->moving = TRUE; + rs->moveTo += 360.0f / s->hsize; + rs->slow = TRUE; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + + if (state & CompActionStateInitEdgeDnd) + action->state |= CompActionStateTermEdgeDnd; + + damageScreen (s); + } + } +} + +static Bool +rotateFlipTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + ROTATE_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (rs->rotateHandle) + { + compRemoveTimeout (rs->rotateHandle); + rs->rotateHandle = 0; + + if (rs->slow) + { + rs->moveTo = 0.0f; + rs->slow = FALSE; + } + + damageScreen (s); + } + + action->state &= ~(CompActionStateTermEdge | + CompActionStateTermEdgeDnd); + } + + return FALSE; +} + +static Bool +rotateEdgeFlipLeft (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + rotateEdgeFlip (s, SCREEN_EDGE_LEFT, action, state, option, nOption); + + return FALSE; +} + +static Bool +rotateEdgeFlipRight (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + rotateEdgeFlip (s, SCREEN_EDGE_RIGHT, action, state, option, nOption); + + return FALSE; +} + +static int +rotateRotationTo (CompScreen *s, + int face) +{ + int delta; + + ROTATE_SCREEN (s); + + delta = face - s->x - (rs->moveTo / (360.0f / s->hsize)); + if (delta > s->hsize / 2) + delta -= s->hsize; + else if (delta < -(s->hsize / 2)) + delta += s->hsize; + + return delta; +} + +static Bool +rotateTo (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + CompOption o[4]; + int face = -1; + int i = ROTATE_DISPLAY_OPTION_TO_1; + + ROTATE_DISPLAY (s->display); + + while (i <= ROTATE_DISPLAY_OPTION_TO_12) + { + if (action == &rd->opt[i].value.action) + { + face = i - ROTATE_DISPLAY_OPTION_TO_1; + break; + } + + i++; + } + + if (face < 0) + face = getIntOptionNamed (option, nOption, "face", s->x); + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = getIntOptionNamed (option, nOption, "x", pointerX); + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = getIntOptionNamed (option, nOption, "y", pointerY); + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = rotateRotationTo (s, face); + + rotate (d, NULL, 0, o, 4); + } + + return FALSE; +} + +static Bool +rotateToWithWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + CompOption o[5]; + int face = -1; + int i = ROTATE_DISPLAY_OPTION_TO_1_WINDOW; + + ROTATE_DISPLAY (s->display); + + while (i <= ROTATE_DISPLAY_OPTION_TO_12_WINDOW) + { + if (action == &rd->opt[i].value.action) + { + face = i - ROTATE_DISPLAY_OPTION_TO_1_WINDOW; + break; + } + + i++; + } + + if (face < 0) + face = getIntOptionNamed (option, nOption, "face", s->x); + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = getIntOptionNamed (option, nOption, "x", pointerX); + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = getIntOptionNamed (option, nOption, "y", pointerY); + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = rotateRotationTo (s, face); + + o[4].type = CompOptionTypeInt; + o[4].name = "window"; + o[4].value.i = getIntOptionNamed (option, nOption, "window", 0); + + rotateWithWindow (d, NULL, 0, o, 5); + } + + return FALSE; +} + +static void +rotateHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + ROTATE_DISPLAY (d); + + switch (event->type) { + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + { + ROTATE_SCREEN (s); + CUBE_SCREEN (s); + + if (rs->grabIndex) + { + if (rs->grabbed) + { + GLfloat pointerDx, pointerDy; + + pointerDx = pointerX - lastPointerX; + pointerDy = pointerY - lastPointerY; + + if (event->xmotion.x_root < 50 || + event->xmotion.y_root < 50 || + event->xmotion.x_root > s->width - 50 || + event->xmotion.y_root > s->height - 50) + { + warpPointer (s, + (s->width / 2) - pointerX, + (s->height / 2) - pointerY); + } + + if (rs->opt[ROTATE_SCREEN_OPTION_POINTER_INVERT_Y].value.b) + pointerDy = -pointerDy; + + rs->xVelocity += pointerDx * rs->pointerSensitivity * + cs->invert; + rs->yVelocity += pointerDy * rs->pointerSensitivity; + + damageScreen (s); + } + else + { + rs->savedPointer.x += pointerX - lastPointerX; + rs->savedPointer.y += pointerY - lastPointerY; + } + } + } + break; + case ClientMessage: + if (event->xclient.message_type == d->winActiveAtom) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + int dx; + + ROTATE_SCREEN (w->screen); + + s = w->screen; + + /* window must be placed */ + if (!w->placed) + break; + + if (otherScreenGrabExist (s, "rotate", "switcher", "cube", 0)) + break; + + /* reset movement */ + rs->moveTo = 0.0f; + + defaultViewportForWindow (w, &dx, NULL); + dx -= s->x; + if (dx) + { + Window win; + int i, x, y; + unsigned int ui; + CompOption o[4]; + + XQueryPointer (d->display, s->root, + &win, &win, &x, &y, &i, &i, &ui); + + if (dx > (s->hsize + 1) / 2) + dx -= s->hsize; + else if (dx < -(s->hsize + 1) / 2) + dx += s->hsize; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = x; + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = y; + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = dx; + + rotate (d, NULL, 0, o, 4); + } + } + } + else if (event->xclient.message_type == d->desktopViewportAtom) + { + s = findScreenAtDisplay (d, event->xclient.window); + if (s) + { + int dx; + + ROTATE_SCREEN (s); + + if (otherScreenGrabExist (s, "rotate", "switcher", "cube", 0)) + break; + + /* reset movement */ + rs->moveTo = 0.0f; + + dx = event->xclient.data.l[0] / s->width - s->x; + if (dx) + { + Window win; + int i, x, y; + unsigned int ui; + CompOption o[4]; + + XQueryPointer (d->display, s->root, + &win, &win, &x, &y, &i, &i, &ui); + + if (dx > (s->hsize + 1) / 2) + dx -= s->hsize; + else if (dx < -(s->hsize + 1) / 2) + dx += s->hsize; + + o[0].type = CompOptionTypeInt; + o[0].name = "x"; + o[0].value.i = x; + + o[1].type = CompOptionTypeInt; + o[1].name = "y"; + o[1].value.i = y; + + o[2].type = CompOptionTypeInt; + o[2].name = "root"; + o[2].value.i = s->root; + + o[3].type = CompOptionTypeInt; + o[3].name = "direction"; + o[3].value.i = dx; + + rotate (d, NULL, 0, o, 4); + } + } + } + default: + break; + } + + UNWRAP (rd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (rd, d, handleEvent, rotateHandleEvent); +} + +static void +rotateWindowGrabNotify (CompWindow *w, + int x, + int y, + unsigned int state, + unsigned int mask) +{ + ROTATE_SCREEN (w->screen); + + if (!rs->grabWindow) + { + rs->grabMask = mask; + rs->grabWindow = w; + } + + UNWRAP (rs, w->screen, windowGrabNotify); + (*w->screen->windowGrabNotify) (w, x, y, state, mask); + WRAP (rs, w->screen, windowGrabNotify, rotateWindowGrabNotify); +} + +static void +rotateWindowUngrabNotify (CompWindow *w) +{ + ROTATE_SCREEN (w->screen); + + if (w == rs->grabWindow) + { + rs->grabMask = 0; + rs->grabWindow = NULL; + } + + UNWRAP (rs, w->screen, windowUngrabNotify); + (*w->screen->windowUngrabNotify) (w); + WRAP (rs, w->screen, windowUngrabNotify, rotateWindowUngrabNotify); +} + +static CompOption * +rotateGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + ROTATE_DISPLAY (display); + + *count = NUM_OPTIONS (rd); + return rd->opt; +} + +static Bool +rotateSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + ROTATE_DISPLAY (display); + + o = compFindOption (rd->opt, NUM_OPTIONS (rd), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static const CompMetadataOptionInfo rotateDisplayOptionInfo[] = { + { "initiate", "action", 0, rotateInitiate, rotateTerminate }, + { "rotate_left", "action", 0, rotateLeft, 0 }, + { "rotate_right", "action", 0, rotateRight, 0 }, + { "rotate_left_window", "action", 0, rotateLeftWithWindow, 0 }, + { "rotate_right_window", "action", 0, rotateRightWithWindow, 0 }, + { "edge_flip_pointer", "bool", 0, 0, 0 }, + { "edge_flip_window", "bool", 0, 0, 0 }, + { "edge_flip_dnd", "bool", 0, 0, 0 }, + { "flip_time", "int", "01000", 0, 0 }, + { "rotate_to_1", "action", 0, rotateTo, 0 }, + { "rotate_to_2", "action", 0, rotateTo, 0 }, + { "rotate_to_3", "action", 0, rotateTo, 0 }, + { "rotate_to_4", "action", 0, rotateTo, 0 }, + { "rotate_to_5", "action", 0, rotateTo, 0 }, + { "rotate_to_6", "action", 0, rotateTo, 0 }, + { "rotate_to_7", "action", 0, rotateTo, 0 }, + { "rotate_to_8", "action", 0, rotateTo, 0 }, + { "rotate_to_9", "action", 0, rotateTo, 0 }, + { "rotate_to_10", "action", 0, rotateTo, 0 }, + { "rotate_to_11", "action", 0, rotateTo, 0 }, + { "rotate_to_12", "action", 0, rotateTo, 0 }, + { "rotate_to_1_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_2_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_3_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_4_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_5_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_6_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_7_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_8_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_9_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_10_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_11_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to_12_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_to", "action", 0, rotateTo, 0 }, + { "rotate_window", "action", 0, rotateToWithWindow, 0 }, + { "rotate_flip_left", "action", 0, rotateEdgeFlipLeft, + rotateFlipTerminate }, + { "rotate_flip_right", "action", 0, rotateEdgeFlipRight, + rotateFlipTerminate }, + { "raise_on_rotate", "bool", 0, 0, 0 } +}; + +static Bool +rotateInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + RotateDisplay *rd; + CompPlugin *cube = findActivePlugin ("cube"); + CompOption *option; + int nOption; + + if (!cube || !cube->vTable->getDisplayOptions) + return FALSE; + + option = (*cube->vTable->getDisplayOptions) (cube, d, &nOption); + + if (getIntOptionNamed (option, nOption, "abi", 0) != CUBE_ABIVERSION) + { + compLogMessage (d, "rotate", CompLogLevelError, + "cube ABI version mismatch"); + return FALSE; + } + + cubeDisplayPrivateIndex = getIntOptionNamed (option, nOption, "index", -1); + if (cubeDisplayPrivateIndex < 0) + return FALSE; + + rd = malloc (sizeof (RotateDisplay)); + if (!rd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &rotateMetadata, + rotateDisplayOptionInfo, + rd->opt, + ROTATE_DISPLAY_OPTION_NUM)) + { + free (rd); + return FALSE; + } + + rd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (rd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, rd->opt, ROTATE_DISPLAY_OPTION_NUM); + free (rd); + return FALSE; + } + + WRAP (rd, d, handleEvent, rotateHandleEvent); + + d->privates[displayPrivateIndex].ptr = rd; + + return TRUE; +} + +static void +rotateFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + ROTATE_DISPLAY (d); + + freeScreenPrivateIndex (d, rd->screenPrivateIndex); + + UNWRAP (rd, d, handleEvent); + + compFiniDisplayOptions (d, rd->opt, ROTATE_DISPLAY_OPTION_NUM); + + free (rd); +} + +static const CompMetadataOptionInfo rotateScreenOptionInfo[] = { + { "invert_y", "bool", 0, 0, 0 }, + { "sensitivity", "float", 0, 0, 0 }, + { "acceleration", "float", "1.0", 0, 0 }, + { "snap_top", "bool", 0, 0, 0 }, + { "speed", "float", "0.1", 0, 0 }, + { "timestep", "float", "0.1", 0, 0 }, + { "zoom", "float", 0, 0, 0 } +}; + +static Bool +rotateInitScreen (CompPlugin *p, + CompScreen *s) +{ + RotateScreen *rs; + + ROTATE_DISPLAY (s->display); + CUBE_SCREEN (s); + + rs = malloc (sizeof (RotateScreen)); + if (!rs) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &rotateMetadata, + rotateScreenOptionInfo, + rs->opt, + ROTATE_SCREEN_OPTION_NUM)) + { + free (rs); + return FALSE; + } + + rs->grabIndex = 0; + + rs->xrot = 0.0f; + rs->xVelocity = 0.0f; + rs->yrot = 0.0f; + rs->yVelocity = 0.0f; + + rs->baseXrot = 0.0f; + + rs->moving = FALSE; + rs->moveTo = 0.0f; + + rs->moveWindow = 0; + + rs->savedPointer.x = 0; + rs->savedPointer.y = 0; + + rs->grabbed = FALSE; + rs->snapTop = FALSE; + + rs->slow = FALSE; + rs->grabMask = FALSE; + rs->grabWindow = NULL; + + rs->pointerSensitivity = + rs->opt[ROTATE_SCREEN_OPTION_POINTER_SENSITIVITY].value.f * + ROTATE_POINTER_SENSITIVITY_FACTOR; + + rs->rotateHandle = 0; + + rs->zoomTranslate = 0.0; + rs->zoomVelocity = 0.0; + + WRAP (rs, s, preparePaintScreen, rotatePreparePaintScreen); + WRAP (rs, s, donePaintScreen, rotateDonePaintScreen); + WRAP (rs, s, paintScreen, rotatePaintScreen); + WRAP (rs, s, paintOutput, rotatePaintOutput); + WRAP (rs, s, windowGrabNotify, rotateWindowGrabNotify); + WRAP (rs, s, windowUngrabNotify, rotateWindowUngrabNotify); + + WRAP (rs, cs, getRotation, rotateGetRotation); + + s->privates[rd->screenPrivateIndex].ptr = rs; + + return TRUE; +} + +static void +rotateFiniScreen (CompPlugin *p, + CompScreen *s) +{ + CUBE_SCREEN (s); + ROTATE_SCREEN (s); + + UNWRAP (rs, cs, getRotation); + + UNWRAP (rs, s, preparePaintScreen); + UNWRAP (rs, s, donePaintScreen); + UNWRAP (rs, s, paintScreen); + UNWRAP (rs, s, paintOutput); + UNWRAP (rs, s, windowGrabNotify); + UNWRAP (rs, s, windowUngrabNotify); + + compFiniScreenOptions (s, rs->opt, ROTATE_SCREEN_OPTION_NUM); + + free (rs); +} + +static Bool +rotateInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&rotateMetadata, + p->vTable->name, + rotateDisplayOptionInfo, + ROTATE_DISPLAY_OPTION_NUM, + rotateScreenOptionInfo, + ROTATE_SCREEN_OPTION_NUM)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&rotateMetadata); + return FALSE; + } + + compAddMetadataFromFile (&rotateMetadata, p->vTable->name); + + return TRUE; +} + +static void +rotateFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&rotateMetadata); +} + +static int +rotateGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +rotateGetMetadata (CompPlugin *plugin) +{ + return &rotateMetadata; +} + +CompPluginVTable rotateVTable = { + "rotate", + rotateGetVersion, + rotateGetMetadata, + rotateInit, + rotateFini, + rotateInitDisplay, + rotateFiniDisplay, + rotateInitScreen, + rotateFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + rotateGetDisplayOptions, + rotateSetDisplayOption, + rotateGetScreenOptions, + rotateSetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &rotateVTable; +} diff --git a/plugins/scale.c b/plugins/scale.c new file mode 100644 index 0000000..1bddc1e --- /dev/null +++ b/plugins/scale.c @@ -0,0 +1,2480 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include + +#define EDGE_STATE (CompActionStateInitEdge) + +#define WIN_X(w) ((w)->attrib.x - (w)->input.left) +#define WIN_Y(w) ((w)->attrib.y - (w)->input.top) +#define WIN_W(w) ((w)->width + (w)->input.left + (w)->input.right) +#define WIN_H(w) ((w)->height + (w)->input.top + (w)->input.bottom) + +static CompMetadata scaleMetadata; + +static int scaleDisplayPrivateIndex; + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static CompOption * +scaleGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + SCALE_SCREEN (screen); + + *count = NUM_OPTIONS (ss); + return ss->opt; +} + +static Bool +scaleSetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + SCALE_SCREEN (screen); + + o = compFindOption (ss->opt, NUM_OPTIONS (ss), name, &index); + + if (!o) + return FALSE; + + switch (index) { + case SCALE_SCREEN_OPTION_OPACITY: + if (compSetIntOption (o, value)) + { + ss->opacity = (OPAQUE * o->value.i) / 100; + return TRUE; + } + break; + default: + return compSetScreenOption (screen, o, value); + } + + return FALSE; +} + +static Bool +isNeverScaleWin (CompWindow *w) +{ + if (w->attrib.override_redirect) + return TRUE; + + if (w->wmType & (CompWindowTypeDockMask | CompWindowTypeDesktopMask)) + return TRUE; + + return FALSE; +} + +static Bool +isScaleWin (CompWindow *w) +{ + if(!w->clientId) return FALSE; + + SCALE_SCREEN (w->screen); + + if (isNeverScaleWin (w)) + return FALSE; + + if (!ss->type || ss->type == ScaleTypeOutput) + { + if (!(*w->screen->focusWindow) (w)) + return FALSE; + } + + if (w->state & CompWindowStateSkipPagerMask) + return FALSE; + + if (w->state & CompWindowStateShadedMask) + return FALSE; + + if (!w->mapNum || w->attrib.map_state != IsViewable) + return FALSE; + + switch (ss->type) { + case ScaleTypeOutput: + if (outputDeviceForWindow(w) != w->screen->currentOutputDev) + return FALSE; + default: + break; + } + + if (!matchEval (ss->currentMatch, w)) + return FALSE; + + return TRUE; +} + +static void +scaleActivateEvent (CompScreen *s, + Bool activating) +{ + CompOption o[2]; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeBool; + o[1].name = "active"; + o[1].value.b = activating; + + (*s->display->handleEcompEvent) (s->display, "scale", "activate", o, 2); +} + +static void +scalePaintDecoration (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + + SCALE_SCREEN (s); + + if (ss->opt[SCALE_SCREEN_OPTION_ICON].value.i != SCALE_ICON_NONE) + { + WindowPaintAttrib sAttrib = *attrib; + CompIcon *icon; + + SCALE_WINDOW (w); + + icon = getWindowIcon (w, 64, 64); + if (!icon) + { + icon = w->screen->defaultIcon; + } + + if (icon && (icon->texture.name || iconToTexture (w->screen, icon))) + { + REGION iconReg; + float scale; + float x, y; + int width, height; + int scaledWinWidth, scaledWinHeight; + float ds; + + scaledWinWidth = w->width * sw->scale; + scaledWinHeight = w->height * sw->scale; + + switch (ss->opt[SCALE_SCREEN_OPTION_ICON].value.i) { + case SCALE_ICON_NONE: + case SCALE_ICON_EMBLEM: + scale = 1.0f; + break; + case SCALE_ICON_BIG: + default: + sAttrib.opacity /= 3; + scale = MIN (((float) scaledWinWidth / icon->width), + ((float) scaledWinHeight / icon->height)); + break; + } + + width = icon->width * scale; + height = icon->height * scale; + + switch (ss->opt[SCALE_SCREEN_OPTION_ICON].value.i) { + case SCALE_ICON_NONE: + case SCALE_ICON_EMBLEM: + x = w->attrib.x + scaledWinWidth - icon->width; + y = w->attrib.y + scaledWinHeight - icon->height; + break; + case SCALE_ICON_BIG: + default: + x = w->attrib.x + scaledWinWidth / 2 - width / 2; + y = w->attrib.y + scaledWinHeight / 2 - height / 2; + break; + } + + x += sw->tx; + y += sw->ty; + + if (sw->slot) + { + sw->delta = + fabs (sw->slot->x1 - w->attrib.x) + + fabs (sw->slot->y1 - w->attrib.y) + + fabs (1.0f - sw->slot->scale) * 500.0f; + } + + if (sw->delta) + { + float o; + + ds = + fabs (sw->tx) + + fabs (sw->ty) + + fabs (1.0f - sw->scale) * 500.0f; + + if (ds > sw->delta) + ds = sw->delta; + + o = ds / sw->delta; + + if (sw->slot) + { + if (o < sw->lastThumbOpacity) + o = sw->lastThumbOpacity; + } + else + { + if (o > sw->lastThumbOpacity) + o = 0.0f; + } + + sw->lastThumbOpacity = o; + + sAttrib.opacity = sAttrib.opacity * o; + } + + mask |= PAINT_WINDOW_BLEND_MASK; + + iconReg.rects = &iconReg.extents; + iconReg.numRects = 1; + + iconReg.extents.x1 = 0; + iconReg.extents.y1 = 0; + iconReg.extents.x2 = iconReg.extents.x1 + width; + iconReg.extents.y2 = iconReg.extents.y1 + height; + + w->vCount = w->indexCount = 0; + if (iconReg.extents.x1 < iconReg.extents.x2 && + iconReg.extents.y1 < iconReg.extents.y2) + (*w->screen->addWindowGeometry) (w, + &icon->texture.matrix, 1, + &iconReg, &iconReg); + + if (w->vCount) + { + FragmentAttrib fragment; + CompTransform wTransform = *transform; + + initFragmentAttrib (&fragment, &sAttrib); + + matrixScale (&wTransform, scale, scale, 1.0f); + matrixTranslate (&wTransform, x / scale, y / scale, 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*w->screen->drawWindowTexture) (w, + &icon->texture, &fragment, + mask); + + glPopMatrix (); + } + } + } +} + +static Bool +setScaledPaintAttributes (CompWindow *w, + WindowPaintAttrib *attrib) +{ + Bool drawScaled = FALSE; + + SCALE_SCREEN (w->screen); + SCALE_WINDOW (w); + + if (sw->adjust || sw->slot) + { + SCALE_DISPLAY (w->screen->display); + + if (w->id != sd->selectedWindow && + ss->opacity != OPAQUE && + ss->state != SCALE_STATE_IN) + { + /* modify opacity of windows that are not active */ + attrib->opacity = (attrib->opacity * ss->opacity) >> 16; + } + + drawScaled = TRUE; + } + else if (ss->state != SCALE_STATE_IN) + { + if (ss->opt[SCALE_SCREEN_OPTION_DARKEN_BACK].value.b) + { + /* modify brightness of the other windows */ + attrib->brightness = attrib->brightness / 2; + } + + /* hide windows on the outputs used for scaling + that are not in scale mode */ + if (!isNeverScaleWin (w)) + { + int moMode; + moMode = ss->opt[SCALE_SCREEN_OPTION_MULTIOUTPUT_MODE].value.i; + + switch (moMode) { + case SCALE_MOMODE_CURRENT: + if (outputDeviceForWindow (w) == w->screen->currentOutputDev) + attrib->opacity = 0; + break; + default: + attrib->opacity = 0; + break; + } + } + } + /* + if (ss->state == SCALE_STATE_IN) + attrib->opacity = 0; + */ + return drawScaled; +} + +static Bool +scalePaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + int oldFilter = s->display->textureFilter; + + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_NONE) + { + WindowPaintAttrib sAttrib = *attrib; + Bool scaled; + + SCALE_WINDOW (w); + + scaled = (*ss->setScaledPaintAttributes) (w, &sAttrib); + + if (sw->adjust || sw->slot) + mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK; + + UNWRAP (ss, s, paintWindow); + status = (*s->paintWindow) (w, &sAttrib, transform, region, mask); + WRAP (ss, s, paintWindow, scalePaintWindow); + + if (scaled) + { + s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; + + FragmentAttrib fragment; + CompTransform wTransform = *transform; + + if (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) + return FALSE; + + initFragmentAttrib (&fragment, &w->lastPaint); + + if (w->alpha || fragment.opacity != OPAQUE) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f); + matrixScale (&wTransform, sw->scale, sw->scale, 1.0f); + matrixTranslate (&wTransform, + sw->tx / sw->scale - w->attrib.x, + sw->ty / sw->scale - w->attrib.y, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*s->drawWindow) (w, &wTransform, &fragment, region, + mask | PAINT_WINDOW_TRANSFORMED_MASK); + + glPopMatrix (); + + (*ss->scalePaintDecoration) (w, &sAttrib, transform, region, mask); + + s->filter[SCREEN_TRANS_FILTER] = oldFilter; + s->display->textureFilter = oldFilter; + } + } + else + { + UNWRAP (ss, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ss, s, paintWindow, scalePaintWindow); + } + + return status; +} + +static int +compareWindowsDistance (const void *elem1, + const void *elem2) +{ + CompWindow *w1 = *((CompWindow **) elem1); + CompWindow *w2 = *((CompWindow **) elem2); + + SCALE_SCREEN (w1->screen); + + return + GET_SCALE_WINDOW (w1, ss)->distance - + GET_SCALE_WINDOW (w2, ss)->distance; +} + +static void +layoutSlotsForArea (CompScreen * s, + XRectangle workArea, + int nWindows) +{ + int i, j; + int x, y, width, height; + int lines, n, nSlots; + int spacing; + + SCALE_SCREEN (s); + + if (!nWindows) + return; + + lines = sqrt (nWindows + 1); + spacing = ss->opt[SCALE_SCREEN_OPTION_SPACING].value.i; + nSlots = 0; + + y = workArea.y + spacing; + height = (workArea.height - (lines + 1) * spacing) / lines; + + for (i = 0; i < lines; i++) + { + n = MIN (nWindows - nSlots, + ceilf ((float)nWindows / lines)); + + x = workArea.x + spacing; + width = (workArea.width - (n + 1) * spacing) / n; + + for (j = 0; j < n; j++) + { + ss->slots[ss->nSlots].x1 = x; + ss->slots[ss->nSlots].y1 = y; + ss->slots[ss->nSlots].x2 = x + width; + ss->slots[ss->nSlots].y2 = y + height; + + ss->slots[ss->nSlots].filled = FALSE; + + x += width + spacing; + + ss->nSlots++; + nSlots++; + } + + y += height + spacing; + } +} + +static SlotArea * +getSlotAreas (CompScreen *s) +{ + int i; + XRectangle workArea; + float *size; + float sizePerWindow, sum = 0.0f; + int left; + SlotArea *slotAreas; + + SCALE_SCREEN (s); + + size = malloc (s->nOutputDev * sizeof (int)); + if (!size) + return NULL; + + slotAreas = malloc (s->nOutputDev * sizeof (SlotArea)); + if (!slotAreas) + { + free (size); + return NULL; + } + + left = ss->nWindows; + + for (i = 0; i < s->nOutputDev; i++) + { + /* determine the size of the workarea for each output device */ + workArea = s->outputDev[i].workArea; + + size[i] = workArea.width * workArea.height; + sum += size[i]; + + slotAreas[i].nWindows = 0; + slotAreas[i].workArea = workArea; + } + + /* calculate size available for each window */ + sizePerWindow = sum / ss->nWindows; + + for (i = 0; i < s->nOutputDev && left; i++) + { + /* fill the areas with windows */ + int nw = floor (size[i] / sizePerWindow); + + nw = MIN (nw, left); + size[i] -= nw * sizePerWindow; + slotAreas[i].nWindows = nw; + left -= nw; + } + + /* add left windows to output devices with the biggest free space */ + while (left > 0) + { + int num = 0; + float big = 0; + + for (i = 0; i < s->nOutputDev; i++) + { + if (size[i] > big) + { + num = i; + big = size[i]; + } + } + + size[num] -= sizePerWindow; + slotAreas[num].nWindows++; + left--; + } + + free (size); + + return slotAreas; +} + +static void +layoutSlots (CompScreen *s) +{ + int i; + int moMode; + + SCALE_SCREEN (s); + + moMode = ss->opt[SCALE_SCREEN_OPTION_MULTIOUTPUT_MODE].value.i; + + /* if we have only one head, we don't need the + additional effort of the all outputs mode */ + if (s->nOutputDev == 1) + moMode = SCALE_MOMODE_CURRENT; + + ss->nSlots = 0; + + switch (moMode) + { + case SCALE_MOMODE_ALL: + { + SlotArea *slotAreas; + slotAreas = getSlotAreas (s); + if (slotAreas) + { + for (i = 0; i < s->nOutputDev; i++) + layoutSlotsForArea (s, + slotAreas[i].workArea, + slotAreas[i].nWindows); + free (slotAreas); + } + } + break; + case SCALE_MOMODE_CURRENT: + default: + { + XRectangle workArea; + workArea = s->outputDev[s->currentOutputDev].workArea; + layoutSlotsForArea (s, workArea, ss->nWindows); + } + break; + } +} + +static void +findBestSlots (CompScreen *s) +{ + CompWindow *w; + int i, j, d, d0 = 0; + float sx, sy, cx, cy; + + SCALE_SCREEN (s); + + for (i = 0; i < ss->nWindows; i++) + { + w = ss->windows[i]; + + SCALE_WINDOW (w); + + if (sw->slot) + continue; + + sw->sid = 0; + sw->distance = MAXSHORT; + + for (j = 0; j < ss->nSlots; j++) + { + if (!ss->slots[j].filled) + { + sx = (ss->slots[j].x2 + ss->slots[j].x1) / 2; + sy = (ss->slots[j].y2 + ss->slots[j].y1) / 2; + + cx = w->serverX + w->width / 2; + cy = w->serverY + w->height / 2; + + cx -= sx; + cy -= sy; + + d = sqrt (cx * cx + cy * cy); + if (d0 + d < sw->distance) + { + sw->sid = j; + sw->distance = d0 + d; + } + } + } + + d0 += sw->distance; + } +} + +static Bool +fillInWindows (CompScreen *s) +{ + CompWindow *w; + int i, width, height; + float sx, sy, cx, cy; + + SCALE_SCREEN (s); + + for (i = 0; i < ss->nWindows; i++) + { + w = ss->windows[i]; + + SCALE_WINDOW (w); + + if (!sw->slot) + { + if (ss->slots[sw->sid].filled) + return TRUE; + + sw->slot = &ss->slots[sw->sid]; + + width = w->width + w->input.left + w->input.right; + height = w->height + w->input.top + w->input.bottom; + + sx = (float) (sw->slot->x2 - sw->slot->x1) / width; + sy = (float) (sw->slot->y2 - sw->slot->y1) / height; + + sw->slot->scale = MIN (MIN (sx, sy), 1.0f); + + sx = width * sw->slot->scale; + sy = height * sw->slot->scale; + cx = (sw->slot->x1 + sw->slot->x2) / 2; + cy = (sw->slot->y1 + sw->slot->y2) / 2; + + cx += w->input.left * sw->slot->scale; + cy += w->input.top * sw->slot->scale; + + sw->slot->x1 = cx - sx / 2; + sw->slot->y1 = cy - sy / 2; + sw->slot->x2 = cx + sx / 2; + sw->slot->y2 = cy + sy / 2; + + sw->slot->filled = TRUE; + + sw->lastThumbOpacity = 0.0f; + + sw->adjust = TRUE; + } + } + + return FALSE; +} + +static Bool +layoutSlotsAndAssignWindows (CompScreen *s) +{ + SCALE_SCREEN (s); + + /* create a grid of slots */ + layoutSlots (s); + + do + { + /* find most appropriate slots for windows */ + findBestSlots (s); + + /* sort windows, window with closest distance to a slot first */ + qsort (ss->windows, ss->nWindows, sizeof (CompWindow *), + compareWindowsDistance); + + } while (fillInWindows (s)); + + return TRUE; +} + +static Bool +layoutThumbs (CompScreen *s) +{ + CompWindow *w; + + SCALE_SCREEN (s); + + ss->nWindows = 0; + + /* add windows scale list, top most window first */ + for (w = s->reverseWindows; w; w = w->prev) + { + SCALE_WINDOW (w); + + if (sw->slot) + sw->adjust = TRUE; + + sw->slot = 0; + + if (!isScaleWin (w)) + continue; + + if (ss->windowsSize <= ss->nWindows) + { + ss->windows = realloc (ss->windows, + sizeof (CompWindow *) * (ss->nWindows + 32)); + if (!ss->windows) + return FALSE; + + ss->windowsSize = ss->nWindows + 32; + } + + ss->windows[ss->nWindows++] = w; + } + + if (ss->nWindows == 0) + return FALSE; + + if (ss->slotsSize < ss->nWindows) + { + ss->slots = realloc (ss->slots, sizeof (ScaleSlot) * ss->nWindows); + if (!ss->slots) + return FALSE; + + ss->slotsSize = ss->nWindows; + } + + return (*ss->layoutSlotsAndAssignWindows) (s); +} + +static int +adjustScaleVelocity (CompWindow *w) +{ + float dx, dy, ds, adjust, amount; + float x1, y1, scale; + + adjust = 0.0f; + + + SCALE_WINDOW (w); + + if (sw->slot) + { + x1 = sw->slot->x1; + y1 = sw->slot->y1; + scale = sw->slot->scale; + } + else + { + x1 = w->attrib.x; + y1 = w->attrib.y; + scale = 1.0f; + } + + dx = x1 - (w->attrib.x + sw->tx); + + adjust = dx * 0.15f; + amount = fabs (dx) * 1.5f; + + /* if (amount < 0.5f) */ + /* amount = 0.5f; */ + /* else if (amount > 5.0f) */ + /* amount = 5.0f; */ + /* amount = 0.0f; */ + amount = 1.0f; + sw->xVelocity = (amount * sw->xVelocity + adjust) / (amount + 1.0f); + + dy = y1 - (w->attrib.y + sw->ty); + + adjust = dy * 0.15f; + amount = fabs (dy) * 1.5f; + /* if (amount < 0.5f) */ + /* amount = 0.5f; */ + /* else if (amount > 5.0f) */ + /* amount = 5.0f; */ + + amount = 1.0f; + sw->yVelocity = (amount * sw->yVelocity + adjust) / (amount + 1.0f); + + ds = scale - sw->scale; + + adjust = ds * 0.1f; + amount = fabs (ds) * 7.0f; + /* if (amount < 0.01f) */ + /* amount = 0.01f; */ + /* else if (amount > 0.15f) */ + /* amount = 0.15f; */ + amount = 1.0f; + sw->scaleVelocity = (amount * sw->scaleVelocity + adjust) / + (amount + 1.0f); + + if (fabs (dx) < 0.1f && fabs (sw->xVelocity) < 0.2f && + fabs (dy) < 0.1f && fabs (sw->yVelocity) < 0.2f && + fabs (ds) < 0.001f && fabs (sw->scaleVelocity) < 0.002f) + { + sw->xVelocity = sw->yVelocity = sw->scaleVelocity = 0.0f; + sw->tx = x1 - w->attrib.x; + sw->ty = y1 - w->attrib.y; + sw->scale = scale; + + return 0; + } + + return 1; +} + +static Bool +scalePaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_NONE) + mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + + UNWRAP (ss, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (ss, s, paintOutput, scalePaintOutput); + + return status; +} + +static void +scalePreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_NONE && ss->state != SCALE_STATE_WAIT) + { + CompWindow *w; + int steps; + float amount, chunk; + + amount = msSinceLastPaint * 0.05f * + ss->opt[SCALE_SCREEN_OPTION_SPEED].value.f; + steps = amount / + (0.5f * ss->opt[SCALE_SCREEN_OPTION_TIMESTEP].value.f); + if (!steps) steps = 1; + chunk = amount / (float) steps; + + while (steps--) + { + ss->moreAdjust = 0; + + for (w = s->windows; w; w = w->next) + { + SCALE_WINDOW (w); + + if (sw->adjust) + { + sw->adjust = adjustScaleVelocity (w); + + ss->moreAdjust |= sw->adjust; + + sw->tx += sw->xVelocity * chunk; + sw->ty += sw->yVelocity * chunk; + sw->scale += sw->scaleVelocity * chunk; + } + } + + if (!ss->moreAdjust) + break; + } + } + + UNWRAP (ss, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (ss, s, preparePaintScreen, scalePreparePaintScreen); +} + +static void +scaleDonePaintScreen (CompScreen *s) +{ + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_NONE) + { + if (ss->moreAdjust) + { + damageScreen (s); + } + else + { + if (ss->state == SCALE_STATE_IN) + { + /* The FALSE activate event is sent when scale state + goes back to normal, to avoid animation conflicts + with other plugins. */ + scaleActivateEvent (s, FALSE); + ss->state = SCALE_STATE_NONE; + } + else if (ss->state == SCALE_STATE_OUT) + ss->state = SCALE_STATE_WAIT; + } + } + + UNWRAP (ss, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (ss, s, donePaintScreen, scaleDonePaintScreen); +} + +static CompWindow * +scaleCheckForWindowAt (CompScreen *s, + int x, + int y) +{ + int x1, y1, x2, y2; + CompWindow *w; + + for (w = s->reverseWindows; w; w = w->prev) + { + SCALE_WINDOW (w); + + if (sw->slot) + { + x1 = w->attrib.x - w->input.left * sw->scale; + y1 = w->attrib.y - w->input.top * sw->scale; + x2 = w->attrib.x + (w->width + w->input.right) * sw->scale; + y2 = w->attrib.y + (w->height + w->input.bottom) * sw->scale; + + x1 += sw->tx; + y1 += sw->ty; + x2 += sw->tx; + y2 += sw->ty; + + if (x1 <= x && y1 <= y && x2 > x && y2 > y) + return w; + } + } + + return 0; +} +/* +static void +sendViewportMoveRequest (CompScreen *s, + int x, + int y) +{ + XEvent xev; + + xev.xclient.type = ClientMessage; + xev.xclient.display = s->display->display; + xev.xclient.format = 32; + + xev.xclient.message_type = s->display->desktopViewportAtom; + xev.xclient.window = s->root; + + xev.xclient.data.l[0] = x; + xev.xclient.data.l[1] = y; + xev.xclient.data.l[2] = 0; + xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = 0; + + XSendEvent (s->display->display, + s->root, + FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); +} +*/ +static void +sendDndStatusMessage (CompScreen *s, + Window source) +{ + XEvent xev; + + SCALE_SCREEN (s); + + xev.xclient.type = ClientMessage; + xev.xclient.display = s->display->display; + xev.xclient.format = 32; + + xev.xclient.message_type = s->display->xdndStatusAtom; + xev.xclient.window = source; + + xev.xclient.data.l[0] = ss->dndTarget; + xev.xclient.data.l[1] = 2; + xev.xclient.data.l[2] = 0; + xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = None; + + XSendEvent (s->display->display, source, FALSE, 0, &xev); +} + +static void +sendWindowToDeskMessage (CompWindow *w, + int x, int y) +{ + XEvent xev; + + xev.xclient.type = ClientMessage; + xev.xclient.display = w->screen->display->display; + xev.xclient.format = 32; + + xev.xclient.message_type = w->screen->display->moveResizeWindowAtom; + xev.xclient.window = w->id; + + xev.xclient.data.l[0] = 0; + xev.xclient.data.l[1] = (MOD(w->attrib.x, w->screen->width) + (x * w->screen->width)); + xev.xclient.data.l[2] = (MOD(w->attrib.y, w->screen->height) + (y * w->screen->height)); + xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = 0; + + XSendEvent (w->screen->display->display, + w->screen->root, + FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); +} + + +static Bool +scaleTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + SCALE_DISPLAY (d); + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + SCALE_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (ss->grab) + { + if (ss->grabIndex) + { + removeScreenGrab (s, ss->grabIndex, 0); + ss->grabIndex = 0; + } + + if (ss->dndTarget) + XUnmapWindow (d->display, ss->dndTarget); + + ss->grab = FALSE; + + if (ss->state != SCALE_STATE_NONE) + { + CompWindow *w; + + for (w = s->windows; w; w = w->next) + { + SCALE_WINDOW (w); + + if (sw->slot) + { + sw->slot = 0; + sw->adjust = TRUE; + } + } + + if (ss->state != SCALE_STATE_IN) + { + w = findWindowAtScreen (s, sd->lastActiveWindow); + if (w) + { + int x, y, toDesk = 0; + + defaultViewportForWindow (w, &x, &y); + + if (x != s->x || y != s->y) + { + if (nOption == 2) + toDesk = getIntOptionNamed (option, nOption, "todesk", 1); + + if (toDesk) + { + SCALE_WINDOW (w); + sw->tx += (x - s->x) * s->width; + sw->ty += (y - s->y) * s->height; + moveWindow(w,(s->x - x) * s->width, + (s->y - y) * s->height, TRUE,TRUE); + syncWindowPosition(w); + sendWindowToDeskMessage(w, s->x, s->y); + } + else + { + CompWindow *w2; + for (w2 = s->windows; w2; w2 = w2->next) + { + SCALE_WINDOW (w2); + sw->tx += (x - s->x) * s->width; + sw->ty += (y - s->y) * s->height; + } + moveScreenViewport (s, (s->x - x), (s->y - y), TRUE); + } + } + + activateWindow (w); + sendWindowActivationRequest(s, w->id); + + /* TODO make this an option. i.e. for + viewportmove animation after selection + defaultViewportForWindow (w, &x, &y); + + if (x != s->x || y != s->y) + sendViewportMoveRequest (s, + x * s->width, + y * s->height);*/ + } + } + + ss->state = SCALE_STATE_IN; + + damageScreen (s); + } + + sd->lastActiveNum = 0; + } + } + + if (state & CompActionStateTermButton) + action->state &= ~CompActionStateTermButton; + + if (state & CompActionStateTermKey) + action->state &= ~CompActionStateTermKey; + + if (state & CompActionStateTermEdge) + action->state &= ~CompActionStateTermEdge; + + return FALSE; +} + +static Bool +scaleEnsureDndRedirectWindow (CompScreen *s) +{ + SCALE_SCREEN (s); + + if (!ss->dndTarget) + { + XSetWindowAttributes attr; + long xdndVersion = 3; + + attr.override_redirect = TRUE; + + ss->dndTarget = XCreateWindow (s->display->display, + s->root, + 0, 0, 1, 1, 0, + CopyFromParent, + InputOnly, + CopyFromParent, + CWOverrideRedirect, &attr); + + XChangeProperty (s->display->display, ss->dndTarget, + s->display->xdndAwareAtom, + XA_ATOM, 32, PropModeReplace, + (unsigned char *) &xdndVersion, 1); + } + + XMoveResizeWindow (s->display->display, ss->dndTarget, + 0, 0, s->width, s->height); + XMapRaised (s->display->display, ss->dndTarget); + + return TRUE; +} + +static Bool +scaleInitiateCommon (CompScreen *s, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompMatch *match; + + SCALE_DISPLAY (s->display); + SCALE_SCREEN (s); + + if (otherScreenGrabExist (s, "scale", 0)) + { + return FALSE; + } + + ss->currentMatch = &ss->opt[SCALE_SCREEN_OPTION_WINDOW_MATCH].value.match; + + match = getMatchOptionNamed (option, nOption, "match", NULL); + if (match) + { + matchFini (&ss->match); + matchInit (&ss->match); + if (matchCopy (&ss->match, match)) + { + matchUpdate (s->display, &ss->match); + ss->currentMatch = &ss->match; + } + } + + if (!layoutThumbs (s)) + { + return FALSE; + } + + if (state & CompActionStateInitEdgeDnd) + { + if (scaleEnsureDndRedirectWindow (s)) + ss->grab = TRUE; + } + else if (!ss->grabIndex) + { + ss->grabIndex = pushScreenGrab (s, ss->cursor, "scale"); + if (ss->grabIndex) + ss->grab = TRUE; + } + + if (ss->grab) + { + if (!sd->lastActiveNum) + sd->lastActiveNum = s->activeNum - 1; + + sd->lastActiveWindow = s->display->activeWindow; + sd->selectedWindow = s->display->activeWindow; + + ss->state = SCALE_STATE_OUT; + + scaleActivateEvent (s, TRUE); + + damageScreen (s); + } + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + return FALSE; +} + +static Bool +scaleInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_WAIT && ss->state != SCALE_STATE_OUT) + { + ss->type = ScaleTypeNormal; + return scaleInitiateCommon (s, action, state, option, nOption); + } + else if ((state & EDGE_STATE) && ss->state == SCALE_STATE_WAIT) + { + if (ss->type == ScaleTypeNormal) + return scaleTerminate (s->display, action, 0, option, nOption); + } + } + + return FALSE; +} + + +static void +scaleSelectWindow (CompWindow *w) + +{ + SCALE_DISPLAY (w->screen->display); + + if (sd->selectedWindow != w->id) + { + CompWindow *old, *new; + + old = findWindowAtScreen (w->screen, sd->selectedWindow); + new = findWindowAtScreen (w->screen, w->id); + + sd->selectedWindow = w->id; + + if (old) + addWindowDamage (old); + + if (new) + addWindowDamage (new); + } +} + + +static void +scaleMoveFocusWindow (CompScreen *s, + int dx, + int dy) + +{ + CompWindow *active; + CompWindow *focus = NULL; + + //active = findWindowAtScreen (s, s->display->activeWindow); + + SCALE_DISPLAY (s->display); + + //if(!active) + + active = findWindowAtScreen(s, sd->selectedWindow); + + if (active) + { + SCALE_WINDOW (active); + SCALE_SCREEN (s); + + if (sw->slot) + { + CompWindow *w; + ScaleSlot *slot; + int x, y, cx, cy, d, min = MAXSHORT; + + min = MAXSHORT; + + cx = (sw->slot->x1 + sw->slot->x2) / 2; + cy = (sw->slot->y1 + sw->slot->y2) / 2; + + for (w = s->windows; w; w = w->next) + { + slot = GET_SCALE_WINDOW (w, ss)->slot; + if (!slot) + continue; + + x = (slot->x1 + slot->x2) / 2; + y = (slot->y1 + slot->y2) / 2; + + if(dx && !dy) + d = abs (x - cx) + abs (y - cy) * 2; + else if (!dx && dy) + d = abs(x - cx) * 2 + abs (y - cy); + else + d = abs(x - cx) + abs (y - cy); + if (d < min) + { + if ((dx > 0 && slot->x1 < sw->slot->x2) || + (dx < 0 && slot->x2 > sw->slot->x1) || + (dy > 0 && slot->y1 < sw->slot->y2) || + (dy < 0 && slot->y2 > sw->slot->y1)) + continue; + + min = d; + focus = w; + } + } + + if(!focus) + { + if(dx > 0) + { + min = MAXSHORT; + dy = 1; + dx = 0; + + cx = 0; + cy = (sw->slot->y1 + sw->slot->y2) / 2; + + for (w = s->windows; w; w = w->next) + { + slot = GET_SCALE_WINDOW (w, ss)->slot; + if (!slot) + continue; + + x = (slot->x1 + slot->x2) / 2; + y = (slot->y1 + slot->y2) / 2; + + d = abs (x - cx) + abs (y - cy); + if (d < min) + { + if ((dx > 0 && slot->x1 < sw->slot->x2) || + (dx < 0 && slot->x2 > sw->slot->x1) || + (dy > 0 && slot->y1 < sw->slot->y2) || + (dy < 0 && slot->y2 > sw->slot->y1)) + continue; + + min = d; + focus = w; + } + } + if(!focus) + { + min = MAXSHORT; + cx = 0; + cy = 0; + + for (w = s->windows; w; w = w->next) + { + slot = GET_SCALE_WINDOW (w, ss)->slot; + if (!slot) + continue; + + x = (slot->x1 + slot->x2) / 2; + y = (slot->y1 + slot->y2) / 2; + + d = abs (x - cx) + abs (y - cy); + if (d < min) + { + min = d; + focus = w; + } + } + } + } + else if(dx < 0) + { + dy = -1; + dx = 0; + + cx = s->width; + cy = (sw->slot->y1 + sw->slot->y2) / 2; + + for (w = s->windows; w; w = w->next) + { + slot = GET_SCALE_WINDOW (w, ss)->slot; + if (!slot) + continue; + + x = (slot->x1 + slot->x2) / 2; + y = (slot->y1 + slot->y2) / 2; + + d = abs (x - cx) + abs (y - cy); + if (d < min) + { + if ((dx > 0 && slot->x1 < sw->slot->x2) || + (dx < 0 && slot->x2 > sw->slot->x1) || + (dy > 0 && slot->y1 < sw->slot->y2) || + (dy < 0 && slot->y2 > sw->slot->y1)) + continue; + + min = d; + focus = w; + } + } + if(!focus) + { + cx = s->width; + cy = s->height; + + for (w = s->windows; w; w = w->next) + { + slot = GET_SCALE_WINDOW (w, ss)->slot; + if (!slot) + continue; + + x = (slot->x1 + slot->x2) / 2; + y = (slot->y1 + slot->y2) / 2; + + d = abs (x - cx) + abs (y - cy); + if (d < min) + { + min = d; + focus = w; + } + } + } + } + + } + } + + } + + + /* move focus to the last focused window if no slot window is currently + focused */ + if (!focus) + { + CompWindow *w; + + SCALE_SCREEN (s); + + for (w = s->windows; w; w = w->next) + { + if (!GET_SCALE_WINDOW (w, ss)->slot) + continue; + + if (!focus || focus->activeNum < w->activeNum) + focus = w; + } + } + + if (focus) + { + scaleSelectWindow (focus); + + sd->lastActiveNum = focus->activeNum; + sd->lastActiveWindow = focus->id; + + // moveInputFocusToWindow (focus); + + sd->hoveredWindow = focus->id; + } +} + +static Bool +scaleSelectWindowAt (CompScreen *s, + int x, + int y, + Bool moveInputFocus) + +{ + CompWindow *w; + + SCALE_DISPLAY (s->display); + + w = scaleCheckForWindowAt (s, x, y); + if (w && isScaleWin (w)) + { + scaleSelectWindow (w); + + if (moveInputFocus) + { + sd->lastActiveNum = w->activeNum; + sd->lastActiveWindow = w->id; + + moveInputFocusToWindow (w); + } + + sd->hoveredWindow = w->id; + + return TRUE; + } + + sd->hoveredWindow = None; + + return FALSE; +} + +static Bool +scalePrev (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_WAIT && ss->state != SCALE_STATE_OUT) + { + ss->type = ScaleTypeAll; + return scaleInitiateCommon (s, action, state, option, nOption); + } + else if (ss->state == SCALE_STATE_WAIT) + { + scaleMoveFocusWindow (s, -1, 0); + + return TRUE; + } + } + + return FALSE; +} +static Bool +scaleNext (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_WAIT && ss->state != SCALE_STATE_OUT) + { + ss->type = ScaleTypeAll; + return scaleInitiateCommon (s, action, state, option, nOption); + } + else if (ss->state == SCALE_STATE_WAIT) + { + scaleMoveFocusWindow (s, 1, 0); + + return TRUE; + } + } + + return FALSE; +} + +static Bool +scaleInitiateAll (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_WAIT && ss->state != SCALE_STATE_OUT) + { + ss->type = ScaleTypeAll; + return scaleInitiateCommon (s, action, state, option, nOption); + } + else if ((state & EDGE_STATE) && ss->state == SCALE_STATE_WAIT) + { + if (ss->type == ScaleTypeAll) + return scaleTerminate (s->display, action, 0, option, nOption); + } + } + + return FALSE; +} + +static Bool +scaleInitiateGroup (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return FALSE; +} + +static Bool +scaleInitiateOutput (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_WAIT && ss->state != SCALE_STATE_OUT) + { + ss->type = ScaleTypeOutput; + return scaleInitiateCommon (s, action, state, option, nOption); + } + else if ((state & EDGE_STATE) && ss->state == SCALE_STATE_WAIT) + { + if (ss->type == ScaleTypeOutput) + return scaleTerminate (s->display, action, 0, option, nOption); + } + } + + return FALSE; +} + +static Bool +scaleRelayoutSlots (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SCALE_SCREEN (s); + + if (ss->state != SCALE_STATE_NONE && ss->state != SCALE_STATE_IN) + { + if (layoutThumbs (s)) + { + ss->state = SCALE_STATE_OUT; + damageScreen (s); + } + } + + return TRUE; + } + + return FALSE; +} + +static void +scaleWindowRemove (CompDisplay *d, + Window id) +{ + CompWindow *w; + + w = findWindowAtDisplay (d, id); + if (w) + { + SCALE_SCREEN (w->screen); + + if (ss->state != SCALE_STATE_NONE && ss->state != SCALE_STATE_IN) + { + int i; + + for (i = 0; i < ss->nWindows; i++) + { + if (ss->windows[i] == w) + { + if (layoutThumbs (w->screen)) + { + ss->state = SCALE_STATE_OUT; + damageScreen (w->screen); + break; + } + else + { + CompOption o; + CompAction *action; + int opt; + + SCALE_DISPLAY (d); + + /* terminate scale mode if the recently closed + * window was the last scaled window */ + + opt = SCALE_DISPLAY_OPTION_INITIATE; + action = &sd->opt[opt].value.action; + + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = w->screen->root; + + scaleTerminate (d, action, 0, &o, 1); + break; + } + } + } + } + } +} + +static Bool +scaleHoverTimeout (void *closure) +{ + CompScreen *s = closure; + + SCALE_SCREEN (s); + SCALE_DISPLAY (s->display); + + if (ss->grab && ss->state != SCALE_STATE_IN) + { + CompWindow *w; + CompOption o; + CompAction *action = + &sd->opt[SCALE_DISPLAY_OPTION_INITIATE].value.action; + + w = findWindowAtDisplay (s->display, sd->selectedWindow); + if (w) + { + sd->lastActiveNum = w->activeNum; + sd->lastActiveWindow = w->id; + + moveInputFocusToWindow (w); + } + + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = s->root; + + scaleTerminate (s->display, action, 0, &o, 1); + } + + ss->hoverHandle = 0; + + return FALSE; +} + +static void +scaleHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + SCALE_DISPLAY (d); + + switch (event->type) { + case KeyPress: + + + s = findScreenAtDisplay (d, event->xkey.root); + if (s) + { + SCALE_SCREEN (s); + + if (ss->grabIndex) + { + if (event->xkey.keycode == sd->leftKeyCode) + scaleMoveFocusWindow (s, -1, 0); + else if (event->xkey.keycode == sd->rightKeyCode) + scaleMoveFocusWindow (s, 1, 0); + else if (event->xkey.keycode == sd->upKeyCode) + scaleMoveFocusWindow (s, 0, -1); + else if (event->xkey.keycode == sd->downKeyCode) + scaleMoveFocusWindow (s, 0, 1); + + // a,s + else if (event->xkey.keycode == 38) + scaleMoveFocusWindow (s, -1, 0); + else if (event->xkey.keycode == 39) + scaleMoveFocusWindow (s, 1, 0); + + // j,i,k,l + else if (event->xkey.keycode == 44) + scaleMoveFocusWindow (s, -1, 0); + else if (event->xkey.keycode == 46) + scaleMoveFocusWindow (s, 1, 0); + + else if (event->xkey.keycode == 31) + scaleMoveFocusWindow (s, 0, -1); + else if (event->xkey.keycode == 45) + scaleMoveFocusWindow (s, 0, 1); + + } + } + break; + case ButtonPress: + if (event->xbutton.button == Button1) + { + s = findScreenAtDisplay (d, event->xbutton.root); + if (s) + { + CompAction *action = + &sd->opt[SCALE_DISPLAY_OPTION_INITIATE].value.action; + + SCALE_SCREEN (s); + + if (ss->grabIndex && ss->state != SCALE_STATE_IN) + { + CompOption o; + + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = s->root; + + if (scaleSelectWindowAt (s, + event->xbutton.x_root, + event->xbutton.y_root, + TRUE)) + { + scaleTerminate (d, action, 0, &o, 1); + } + /* FIXME show desktop causes troubles, and is a + * dubious option anyway imo */ + /*else if (event->xbutton.x_root > s->workArea.x && + event->xbutton.x_root < (s->workArea.x + + s->workArea.width) && + event->xbutton.y_root > s->workArea.y && + event->xbutton.y_root < (s->workArea.y + + s->workArea.height)) + { + if (sd->opt[SCALE_DISPLAY_OPTION_SHOW_DESKTOP].value.b) + { + scaleTerminate (d, action, 0, &o, 1); + (*s->enterShowDesktopMode) (s); + } + }*/ + } + } + } + else if (event->xbutton.button == Button3) + { + s = findScreenAtDisplay (d, event->xbutton.root); + if (s) + { + CompAction *action = + &sd->opt[SCALE_DISPLAY_OPTION_INITIATE].value.action; + + SCALE_SCREEN (s); + + if (ss->grabIndex && ss->state != SCALE_STATE_IN) + { + CompOption o[2]; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + o[1].type = CompOptionTypeInt; + o[1].name = "todesk"; + o[1].value.i = 1; + + if (scaleSelectWindowAt (s, + event->xbutton.x_root, + event->xbutton.y_root, + TRUE)) + { + scaleTerminate (d, action, 0, o, 2); + } + } + } + } + break; + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + { + SCALE_SCREEN (s); + + if (ss->grabIndex && ss->state != SCALE_STATE_IN) + { + Bool focus = 0; + + //focus = !d->opt[COMP_DISPLAY_OPTION_CLICK_TO_FOCUS].value.b; + + scaleSelectWindowAt (s, + event->xmotion.x_root, + event->xmotion.y_root, + focus); + } + } + break; + case ClientMessage: + if (event->xclient.message_type == d->xdndPositionAtom) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + Bool focus; + + SCALE_SCREEN (w->screen); + + s = w->screen; + + focus = 0; //!d->opt[COMP_DISPLAY_OPTION_CLICK_TO_FOCUS].value.b; + + if (w->id == ss->dndTarget) + sendDndStatusMessage (w->screen, event->xclient.data.l[0]); + + if (ss->grab && + ss->state != SCALE_STATE_IN && + w->id == ss->dndTarget) + { + int x = event->xclient.data.l[2] >> 16; + int y = event->xclient.data.l[2] & 0xffff; + + w = scaleCheckForWindowAt (s, x, y); + if (w && isScaleWin (w)) + { + int time; + + time = ss->opt[SCALE_SCREEN_OPTION_HOVER_TIME].value.i; + + if (ss->hoverHandle) + { + if (w->id != sd->selectedWindow) + { + compRemoveTimeout (ss->hoverHandle); + ss->hoverHandle = 0; + } + } + + if (!ss->hoverHandle) + ss->hoverHandle = + compAddTimeout (time, + scaleHoverTimeout, + s); + + scaleSelectWindowAt (s, x, y, focus); + } + else + { + if (ss->hoverHandle) + compRemoveTimeout (ss->hoverHandle); + + ss->hoverHandle = 0; + } + } + } + } + else if (event->xclient.message_type == d->xdndDropAtom || + event->xclient.message_type == d->xdndLeaveAtom) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + CompAction *action = + &sd->opt[SCALE_DISPLAY_OPTION_INITIATE].value.action; + + SCALE_SCREEN (w->screen); + + if (ss->grab && + ss->state != SCALE_STATE_IN && + w->id == ss->dndTarget) + { + CompOption o; + + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = w->screen->root; + + scaleTerminate (d, action, 0, &o, 1); + } + } + } + default: + break; + } + + UNWRAP (sd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (sd, d, handleEvent, scaleHandleEvent); + + switch (event->type) { + case UnmapNotify: + scaleWindowRemove (d, event->xunmap.window); + break; + case DestroyNotify: + scaleWindowRemove (d, event->xdestroywindow.window); + break; + } + +} + +static Bool +scaleDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status = FALSE; + + SCALE_SCREEN (w->screen); + + if (initial) + { + if (ss->grab && isScaleWin (w)) + { + if (layoutThumbs (w->screen)) + { + ss->state = SCALE_STATE_OUT; + damageScreen (w->screen); + } + } + } + else if (ss->state == SCALE_STATE_WAIT) + { + SCALE_WINDOW (w); + + if (sw->slot) + { + damageTransformedWindowRect (w, + sw->scale, + sw->scale, + sw->tx, + sw->ty, + rect); + + status = TRUE; + } + } + + UNWRAP (ss, w->screen, damageWindowRect); + status |= (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (ss, w->screen, damageWindowRect, scaleDamageWindowRect); + + return status; +} + +static CompOption * +scaleGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + SCALE_DISPLAY (display); + + *count = NUM_OPTIONS (sd); + return sd->opt; +} + +static Bool +scaleSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + SCALE_DISPLAY (display); + + o = compFindOption (sd->opt, NUM_OPTIONS (sd), name, &index); + if (!o) + return FALSE; + + switch (index) { + case SCALE_DISPLAY_OPTION_ABI: + case SCALE_DISPLAY_OPTION_INDEX: + break; + default: + return compSetDisplayOption (display, o, value); + } + + return FALSE; +} + +static const CompMetadataOptionInfo scaleDisplayOptionInfo[] = { + { "abi", "int", 0, 0, 0 }, + { "index", "int", 0, 0, 0 }, + { "initiate", "action", 0, scaleInitiate, scaleTerminate }, + { "initiate_all", "action", 0, scaleInitiateAll, scaleTerminate }, + { "next", "action", 0, scaleNext, scaleTerminate }, + { "prev", "action", 0, scalePrev, scaleTerminate }, + { "initiate_group", "action", 0, scaleInitiateGroup, scaleTerminate }, + { "initiate_output", "action", 0, scaleInitiateOutput, scaleTerminate }, + { "show_desktop", "bool", 0, 0, 0 }, + { "relayout_slots", "action", 0, scaleRelayoutSlots, 0 } +}; + +static Bool +scaleInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ScaleDisplay *sd; + + sd = malloc (sizeof (ScaleDisplay)); + if (!sd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &scaleMetadata, + scaleDisplayOptionInfo, + sd->opt, + SCALE_DISPLAY_OPTION_NUM)) + { + free (sd); + return FALSE; + } + + sd->opt[SCALE_DISPLAY_OPTION_ABI].value.i = SCALE_ABIVERSION; + sd->opt[SCALE_DISPLAY_OPTION_INDEX].value.i = scaleDisplayPrivateIndex; + + sd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (sd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, sd->opt, SCALE_DISPLAY_OPTION_NUM); + free (sd); + return FALSE; + } + + sd->lastActiveNum = None; + sd->selectedWindow = None; + sd->hoveredWindow = None; + + sd->leftKeyCode = XKeysymToKeycode (d->display, XStringToKeysym ("Left")); + sd->rightKeyCode = XKeysymToKeycode (d->display, XStringToKeysym ("Right")); + sd->upKeyCode = XKeysymToKeycode (d->display, XStringToKeysym ("Up")); + sd->downKeyCode = XKeysymToKeycode (d->display, XStringToKeysym ("Down")); + + WRAP (sd, d, handleEvent, scaleHandleEvent); + + d->privates[scaleDisplayPrivateIndex].ptr = sd; + + return TRUE; +} + +static void +scaleFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + SCALE_DISPLAY (d); + + freeScreenPrivateIndex (d, sd->screenPrivateIndex); + + UNWRAP (sd, d, handleEvent); + + compFiniDisplayOptions (d, sd->opt, SCALE_DISPLAY_OPTION_NUM); + + free (sd); +} + +static const CompMetadataOptionInfo scaleScreenOptionInfo[] = { + { "spacing", "int", "0", 0, 0 }, + { "speed", "float", "0.1", 0, 0 }, + { "timestep", "float", "0.1", 0, 0 }, + { "window_match", "match", 0, 0, 0 }, + { "darken_back", "bool", 0, 0, 0 }, + { "opacity", "int", "0100", 0, 0 }, + { "overlay_icon", "int", RESTOSTRING (0, SCALE_ICON_LAST), 0, 0 }, + { "hover_time", "int", "50", 0, 0 }, + { "multioutput_mode", "int", RESTOSTRING (0, SCALE_MOMODE_LAST), 0, 0 } +}; + +static Bool +scaleInitScreen (CompPlugin *p, + CompScreen *s) +{ + ScaleScreen *ss; + + SCALE_DISPLAY (s->display); + + ss = malloc (sizeof (ScaleScreen)); + if (!ss) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &scaleMetadata, + scaleScreenOptionInfo, + ss->opt, + SCALE_SCREEN_OPTION_NUM)) + { + free (ss); + return FALSE; + } + + ss->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (ss->windowPrivateIndex < 0) + { + compFiniScreenOptions (s, ss->opt, SCALE_SCREEN_OPTION_NUM); + free (ss); + return FALSE; + } + + ss->grab = FALSE; + ss->grabIndex = 0; + + ss->hoverHandle = 0; + + ss->dndTarget = None; + + ss->state = SCALE_STATE_NONE; + + ss->slots = 0; + ss->slotsSize = 0; + + ss->windows = 0; + ss->windowsSize = 0; + + ss->opacity = + (OPAQUE * ss->opt[SCALE_SCREEN_OPTION_OPACITY].value.i) / 100; + + matchInit (&ss->match); + + ss->layoutSlotsAndAssignWindows = layoutSlotsAndAssignWindows; + ss->setScaledPaintAttributes = setScaledPaintAttributes; + ss->scalePaintDecoration = scalePaintDecoration; + + WRAP (ss, s, preparePaintScreen, scalePreparePaintScreen); + WRAP (ss, s, donePaintScreen, scaleDonePaintScreen); + WRAP (ss, s, paintOutput, scalePaintOutput); + WRAP (ss, s, paintWindow, scalePaintWindow); + WRAP (ss, s, damageWindowRect, scaleDamageWindowRect); + + ss->cursor = XCreateFontCursor (s->display->display, XC_left_ptr); + + s->privates[sd->screenPrivateIndex].ptr = ss; + + return TRUE; +} + +static void +scaleFiniScreen (CompPlugin *p, + CompScreen *s) +{ + SCALE_SCREEN (s); + + UNWRAP (ss, s, preparePaintScreen); + UNWRAP (ss, s, donePaintScreen); + UNWRAP (ss, s, paintOutput); + UNWRAP (ss, s, paintWindow); + UNWRAP (ss, s, damageWindowRect); + + matchFini (&ss->match); + + if (ss->cursor) + XFreeCursor (s->display->display, ss->cursor); + + if (ss->slotsSize) + free (ss->slots); + + if (ss->windowsSize) + free (ss->windows); + + freeWindowPrivateIndex (s, ss->windowPrivateIndex); + + compFiniScreenOptions (s, ss->opt, SCALE_SCREEN_OPTION_NUM); + + free (ss); +} + +static Bool +scaleInitWindow (CompPlugin *p, + CompWindow *w) +{ + ScaleWindow *sw; + + SCALE_SCREEN (w->screen); + + sw = malloc (sizeof (ScaleWindow)); + if (!sw) + return FALSE; + + sw->slot = 0; + sw->scale = 1.0f; + sw->tx = sw->ty = 0.0f; + sw->adjust = FALSE; + sw->xVelocity = sw->yVelocity = 0.0f; + sw->scaleVelocity = 1.0f; + sw->delta = 1.0f; + sw->lastThumbOpacity = 0.0f; + + w->privates[ss->windowPrivateIndex].ptr = sw; + + return TRUE; +} + +static void +scaleFiniWindow (CompPlugin *p, + CompWindow *w) +{ + SCALE_WINDOW (w); + + free (sw); +} + +static Bool +scaleInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&scaleMetadata, + p->vTable->name, + scaleDisplayOptionInfo, + SCALE_DISPLAY_OPTION_NUM, + scaleScreenOptionInfo, + SCALE_SCREEN_OPTION_NUM)) + return FALSE; + + scaleDisplayPrivateIndex = allocateDisplayPrivateIndex (); + if (scaleDisplayPrivateIndex < 0) + { + compFiniMetadata (&scaleMetadata); + return FALSE; + } + + compAddMetadataFromFile (&scaleMetadata, p->vTable->name); + + return TRUE; +} + +static void +scaleFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (scaleDisplayPrivateIndex); + compFiniMetadata (&scaleMetadata); +} + +static int +scaleGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +scaleGetMetadata (CompPlugin *plugin) +{ + return &scaleMetadata; +} + +CompPluginVTable scaleVTable = { + "scale", + scaleGetVersion, + scaleGetMetadata, + scaleInit, + scaleFini, + scaleInitDisplay, + scaleFiniDisplay, + scaleInitScreen, + scaleFiniScreen, + scaleInitWindow, + scaleFiniWindow, + scaleGetDisplayOptions, + scaleSetDisplayOption, + scaleGetScreenOptions, + scaleSetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &scaleVTable; +} diff --git a/plugins/screenshot.c b/plugins/screenshot.c new file mode 100644 index 0000000..548bb1d --- /dev/null +++ b/plugins/screenshot.c @@ -0,0 +1,582 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include + +#include + +static CompMetadata shotMetadata; + +static int displayPrivateIndex; + +#define SHOT_DISPLAY_OPTION_INITIATE 0 +#define SHOT_DISPLAY_OPTION_DIR 1 +#define SHOT_DISPLAY_OPTION_LAUNCH_APP 2 +#define SHOT_DISPLAY_OPTION_NUM 3 + +typedef struct _ShotDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[SHOT_DISPLAY_OPTION_NUM]; +} ShotDisplay; + +typedef struct _ShotScreen { + PaintOutputProc paintOutput; + PaintScreenProc paintScreen; + int grabIndex; + + int x1, y1, x2, y2; + Bool grab; +} ShotScreen; + +#define GET_SHOT_DISPLAY(d) \ + ((ShotDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define SHOT_DISPLAY(d) \ + ShotDisplay *sd = GET_SHOT_DISPLAY (d) + +#define GET_SHOT_SCREEN(s, sd) \ + ((ShotScreen *) (s)->privates[(sd)->screenPrivateIndex].ptr) + +#define SHOT_SCREEN(s) \ + ShotScreen *ss = GET_SHOT_SCREEN (s, GET_SHOT_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + + +static Bool +shotInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SHOT_SCREEN (s); + + if (otherScreenGrabExist (s, "screenshot", 0)) + return FALSE; + + if (!ss->grabIndex) + ss->grabIndex = pushScreenGrab (s, None, "screenshot"); + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + /* start selection screenshot rectangle */ + + ss->x1 = ss->x2 = pointerX; + ss->y1 = ss->y2 = pointerY; + + ss->grab = TRUE; + } + + return TRUE; +} + +static Bool +shotTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + SHOT_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (ss->grabIndex) + { + removeScreenGrab (s, ss->grabIndex, NULL); + ss->grabIndex = 0; + + if (ss->x1 != ss->x2 && ss->y1 != ss->y2) + { + REGION reg; + + reg.rects = ®.extents; + reg.numRects = 1; + + reg.extents.x1 = MIN (ss->x1, ss->x2) - 1; + reg.extents.y1 = MIN (ss->y1, ss->y2) - 1; + reg.extents.x2 = MAX (ss->x1, ss->x2) + 1; + reg.extents.y2 = MAX (ss->y1, ss->y2) + 1; + + damageScreenRegion (s, ®); + } + } + } + + action->state &= ~(CompActionStateTermKey | CompActionStateTermButton); + + return FALSE; +} + +static int +shotFilter (const struct dirent *d) +{ + int number; + + if (sscanf (d->d_name, "screenshot%d.png", &number)) + return 1; + + return 0; +} + +static int +shotSort (const void *_a, + const void *_b) +{ + struct dirent **a = (struct dirent **) _a; + struct dirent **b = (struct dirent **) _b; + int al = strlen ((*a)->d_name); + int bl = strlen ((*b)->d_name); + + if (al == bl) + return strcoll ((*a)->d_name, (*b)->d_name); + else + return al - bl; +} + +static void +shotPaintScreen (CompScreen *s, + CompOutput *outputs, + int numOutput, + unsigned int mask) +{ + SHOT_SCREEN (s); + + UNWRAP (ss, s, paintScreen); + (*s->paintScreen) (s, outputs, numOutput, mask); + WRAP (ss, s, paintScreen, shotPaintScreen); + + if (ss->grab) + { + int x1, x2, y1, y2; + + x1 = MIN (ss->x1, ss->x2); + y1 = MIN (ss->y1, ss->y2); + x2 = MAX (ss->x1, ss->x2); + y2 = MAX (ss->y1, ss->y2); + + if (!ss->grabIndex) + { + int w = x2 - x1; + int h = y2 - y1; + + SHOT_DISPLAY (s->display); + + if (w && h) + { + GLubyte *buffer; + char *dir = sd->opt[SHOT_DISPLAY_OPTION_DIR].value.s; + + buffer = malloc (sizeof (GLubyte) * w * h * 4); + if (buffer) + { + struct dirent **namelist; + int n; + + glReadPixels (x1, s->height - y2, w, h, + GL_RGBA, GL_UNSIGNED_BYTE, + (GLvoid *) buffer); + + n = scandir (dir, &namelist, shotFilter, shotSort); + if (n >= 0) + { + char name[256]; + char *app; + int number = 0; + + if (n > 0) + sscanf (namelist[n - 1]->d_name, + "screenshot%d.png", + &number); + + number++; + + if (n) + free (namelist); + + sprintf (name, "screenshot%d.png", number); + + app = sd->opt[SHOT_DISPLAY_OPTION_LAUNCH_APP].value.s; + + if (!writeImageToFile (s->display, dir, name, "png", + w, h, buffer)) + { + compLogMessage (s->display, "screenshot", CompLogLevelError, + "failed to write screenshot image"); + } + else if (*app != '\0') + { + char *command; + + command = malloc (strlen (app) + + strlen (dir) + + strlen (name) + 3); + if (command) + { + sprintf (command, "%s %s/%s", app, dir, name); + + runCommand (s, command); + + free (command); + } + } + } + else + { + perror (dir); + } + + free (buffer); + } + } + + ss->grab = FALSE; + } + } +} + +static Bool +shotPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + SHOT_SCREEN (s); + + UNWRAP (ss, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (ss, s, paintOutput, shotPaintOutput); + + if (status && ss->grab) + { + int x1, x2, y1, y2; + + x1 = MIN (ss->x1, ss->x2); + y1 = MIN (ss->y1, ss->y2); + x2 = MAX (ss->x1, ss->x2); + y2 = MAX (ss->y1, ss->y2); + + if (ss->grabIndex) + { + glPushMatrix (); + + prepareXCoords (s, output, -DEFAULT_Z_CAMERA); + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glEnable (GL_BLEND); + glColor4us (0x2fff, 0x2fff, 0x4fff, 0x4fff); + glRecti (x1, y2, x2, y1); + glColor4us (0x2fff, 0x2fff, 0x4fff, 0x9fff); + glBegin (GL_LINE_LOOP); + glVertex2i (x1, y1); + glVertex2i (x2, y1); + glVertex2i (x2, y2); + glVertex2i (x1, y2); + glEnd (); + glColor4usv (defaultColor); + glDisable (GL_BLEND); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + glPopMatrix (); + } + } + + return status; +} + +static void +shotHandleMotionEvent (CompScreen *s, + int xRoot, + int yRoot) +{ + SHOT_SCREEN (s); + + /* update screenshot rectangle size */ + + if (ss->grabIndex) + { + REGION reg; + + reg.rects = ®.extents; + reg.numRects = 1; + + reg.extents.x1 = MIN (ss->x1, ss->x2) - 1; + reg.extents.y1 = MIN (ss->y1, ss->y2) - 1; + reg.extents.x2 = MAX (ss->x1, ss->x2) + 1; + reg.extents.y2 = MAX (ss->y1, ss->y2) + 1; + + damageScreenRegion (s, ®); + + ss->x2 = xRoot; + ss->y2 = yRoot; + + reg.extents.x1 = MIN (ss->x1, ss->x2) - 1; + reg.extents.y1 = MIN (ss->y1, ss->y2) - 1; + reg.extents.x2 = MAX (ss->x1, ss->x2) + 1; + reg.extents.y2 = MAX (ss->y1, ss->y2) + 1; + + damageScreenRegion (s, ®); + + damageScreen (s); + } +} + +static void +shotHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + SHOT_DISPLAY (d); + + switch (event->type) { + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + shotHandleMotionEvent (s, pointerX, pointerY); + break; + case EnterNotify: + case LeaveNotify: + s = findScreenAtDisplay (d, event->xcrossing.root); + if (s) + shotHandleMotionEvent (s, pointerX, pointerY); + default: + break; + } + + UNWRAP (sd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (sd, d, handleEvent, shotHandleEvent); +} + +static CompOption * +shotGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + SHOT_DISPLAY (display); + + *count = NUM_OPTIONS (sd); + return sd->opt; +} + +static Bool +shotSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + SHOT_DISPLAY (display); + + o = compFindOption (sd->opt, NUM_OPTIONS (sd), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static const CompMetadataOptionInfo shotDisplayOptionInfo[] = { + { "initiate", "action", 0, shotInitiate, shotTerminate }, + { "directory", "string", 0, 0, 0 }, + { "launch_app", "string", 0, 0, 0 } +}; + +static Bool +shotInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ShotDisplay *sd; + + sd = malloc (sizeof (ShotDisplay)); + if (!sd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &shotMetadata, + shotDisplayOptionInfo, + sd->opt, + SHOT_DISPLAY_OPTION_NUM)) + { + free (sd); + return FALSE; + } + + sd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (sd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, sd->opt, SHOT_DISPLAY_OPTION_NUM); + free (sd); + return FALSE; + } + + WRAP (sd, d, handleEvent, shotHandleEvent); + + d->privates[displayPrivateIndex].ptr = sd; + + return TRUE; +} + +static void +shotFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + SHOT_DISPLAY (d); + + freeScreenPrivateIndex (d, sd->screenPrivateIndex); + + UNWRAP (sd, d, handleEvent); + + compFiniDisplayOptions (d, sd->opt, SHOT_DISPLAY_OPTION_NUM); + + free (sd); +} + +static Bool +shotInitScreen (CompPlugin *p, + CompScreen *s) +{ + ShotScreen *ss; + + SHOT_DISPLAY (s->display); + + ss = malloc (sizeof (ShotScreen)); + if (!ss) + return FALSE; + + ss->grabIndex = 0; + ss->grab = FALSE; + + WRAP (ss, s, paintScreen, shotPaintScreen); + WRAP (ss, s, paintOutput, shotPaintOutput); + + s->privates[sd->screenPrivateIndex].ptr = ss; + + return TRUE; +} + +static void +shotFiniScreen (CompPlugin *p, + CompScreen *s) +{ + SHOT_SCREEN (s); + + UNWRAP (ss, s, paintScreen); + UNWRAP (ss, s, paintOutput); + + free (ss); +} + +static Bool +shotInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&shotMetadata, + p->vTable->name, + shotDisplayOptionInfo, + SHOT_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&shotMetadata); + return FALSE; + } + + compAddMetadataFromFile (&shotMetadata, p->vTable->name); + + return TRUE; +} + +static void +shotFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&shotMetadata); +} + +static int +shotGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +shotGetMetadata (CompPlugin *plugin) +{ + return &shotMetadata; +} + +static CompPluginVTable shotVTable = { + "screenshot", + shotGetVersion, + shotGetMetadata, + shotInit, + shotFini, + shotInitDisplay, + shotFiniDisplay, + shotInitScreen, + shotFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + shotGetDisplayOptions, + shotSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &shotVTable; +} diff --git a/plugins/svg.c b/plugins/svg.c new file mode 100644 index 0000000..40753d3 --- /dev/null +++ b/plugins/svg.c @@ -0,0 +1,1004 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include + +static CompMetadata svgMetadata; + +#define SVG_DISPLAY_OPTION_SET 0 +#define SVG_DISPLAY_OPTION_NUM 1 + +static int displayPrivateIndex; + +typedef struct _SvgDisplay { + CompOption opt[SVG_DISPLAY_OPTION_NUM]; + + int screenPrivateIndex; + + HandleEcompEventProc handleEcompEvent; + + FileToImageProc fileToImage; +} SvgDisplay; + +typedef struct _SvgScreen { + int windowPrivateIndex; + + DrawWindowProc drawWindow; + + WindowMoveNotifyProc windowMoveNotify; + WindowResizeNotifyProc windowResizeNotify; + + BoxRec zoom; +} SvgScreen; + +typedef struct _SvgSource { + decor_point_t p1; + decor_point_t p2; + + RsvgHandle *svg; + RsvgDimensionData dimension; +} SvgSource; + +typedef struct _SvgTexture { + CompTexture texture; + CompMatrix matrix; + cairo_t *cr; + Pixmap pixmap; + int width; + int height; +} SvgTexture; + +typedef struct _SvgContext { + SvgSource *source; + REGION box; + SvgTexture texture[2]; + BoxRec rect; + int width, height; +} SvgContext; + +typedef struct _SvgWindow { + SvgSource *source; + SvgContext *context; +} SvgWindow; + +#define GET_SVG_DISPLAY(d) \ + ((SvgDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define SVG_DISPLAY(d) \ + SvgDisplay *sd = GET_SVG_DISPLAY (d) + +#define GET_SVG_SCREEN(s, sd) \ + ((SvgScreen *) (s)->privates[(sd)->screenPrivateIndex].ptr) + +#define SVG_SCREEN(s) \ + SvgScreen *ss = GET_SVG_SCREEN (s, GET_SVG_DISPLAY (s->display)) + +#define GET_SVG_WINDOW(w, ss) \ + ((SvgWindow *) (w)->privates[(ss)->windowPrivateIndex].ptr) + +#define SVG_WINDOW(w) \ + SvgWindow *sw = GET_SVG_WINDOW (w, \ + GET_SVG_SCREEN (w->screen, \ + GET_SVG_DISPLAY (w->screen->display))) + +#define NUM_OPTIONS(d) (sizeof ((d)->opt) / sizeof (CompOption)) + +static void +renderSvg (CompScreen *s, + SvgSource *source, + SvgTexture *texture, + float x1, + float y1, + float x2, + float y2, + int width, + int height) +{ + float w = x2 - x1; + float h = y2 - y1; + + cairo_save (texture->cr); + + cairo_set_operator (texture->cr, CAIRO_OPERATOR_SOURCE); + cairo_set_source_rgb (texture->cr, 1.0, 1.0, 1.0); + cairo_paint (texture->cr); + cairo_set_operator (texture->cr, CAIRO_OPERATOR_OVER); + + cairo_scale (texture->cr, 1.0 / w, 1.0 / h); + + cairo_scale (texture->cr, + (double) width / source->dimension.width, + (double) height / source->dimension.height); + + cairo_translate (texture->cr, + -x1 * source->dimension.width, + -y1 * source->dimension.height); + + rsvg_handle_render_cairo (source->svg, texture->cr); + + cairo_restore (texture->cr); +} + +static Bool +initSvgTexture (CompScreen *s, + SvgSource *source, + SvgTexture *texture, + int width, + int height) +{ + cairo_surface_t *surface; + Visual *visual; + int depth; + + initTexture (s, &texture->texture); + + texture->width = width; + texture->height = height; + + texture->pixmap = None; + texture->cr = NULL; + + if (width && height) + { + depth = DefaultDepth (s->display->display, s->screenNum); + texture->pixmap = XCreatePixmap (s->display->display, s->root, + width, height, depth); + + if (!bindPixmapToTexture (s, + &texture->texture, + texture->pixmap, + width, height, depth)) + { + fprintf (stderr, "%s: Couldn't bind pixmap 0x%x to " + "texture\n", programName, (int) texture->pixmap); + + XFreePixmap (s->display->display, texture->pixmap); + + return FALSE; + } + + visual = DefaultVisual (s->display->display, s->screenNum); + + surface = cairo_xlib_surface_create (s->display->display, + texture->pixmap, visual, + width, height); + texture->cr = cairo_create (surface); + cairo_surface_destroy (surface); + } + + return TRUE; +} + +static void +finiSvgTexture (CompScreen *s, + SvgTexture *texture) +{ + if (texture->cr) + cairo_destroy (texture->cr); + + if (texture->pixmap) + XFreePixmap (s->display->display, texture->pixmap); + + finiTexture (s, &texture->texture); +} + +static void +updateWindowSvgMatrix (CompWindow *w) +{ + CompMatrix *m; + int width, height; + + SVG_WINDOW (w); + + width = sw->context->box.extents.x2 - sw->context->box.extents.x1; + height = sw->context->box.extents.y2 - sw->context->box.extents.y1; + + m = &sw->context->texture[0].matrix; + *m = sw->context->texture[0].texture.matrix; + + m->xx *= (float) sw->context->texture[0].width / width; + m->yy *= (float) sw->context->texture[0].height / height; + + m->x0 -= (sw->context->box.extents.x1 * m->xx); + m->y0 -= (sw->context->box.extents.y1 * m->yy); + + m = &sw->context->texture[1].matrix; + *m = sw->context->texture[1].texture.matrix; + + width = sw->context->rect.x2 - sw->context->rect.x1; + height = sw->context->rect.y2 - sw->context->rect.y1; + + m->xx *= (float) sw->context->texture[1].width / width; + m->yy *= (float) sw->context->texture[1].height / height; + + m->x0 -= (sw->context->rect.x1 * m->xx); + m->y0 -= (sw->context->rect.y1 * m->yy); +} + +static Bool +svgDrawWindow (CompWindow *w, + const CompTransform *transform, + const FragmentAttrib *attrib, + Region region, + unsigned int mask) +{ + Bool status; + + SVG_SCREEN (w->screen); + + UNWRAP (ss, w->screen, drawWindow); + status = (*w->screen->drawWindow) (w, transform, attrib, region, mask); + WRAP (ss, w->screen, drawWindow, svgDrawWindow); + + if (status) + { + SVG_WINDOW (w); + + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + region = &infiniteRegion; + + if (sw->context && region->numRects) + { + CompTexture *texture = &sw->context->texture[0].texture; + CompMatrix *matrix = &sw->context->texture[0].matrix; + REGION r; + + r.rects = &r.extents; + r.numRects = 1; + + r.extents = sw->context->box.extents; + + if (r.extents.x1 < ss->zoom.x1) + r.extents.x1 = ss->zoom.x1; + if (r.extents.y1 < ss->zoom.y1) + r.extents.y1 = ss->zoom.y1; + if (r.extents.x2 > ss->zoom.x2) + r.extents.x2 = ss->zoom.x2; + if (r.extents.y2 > ss->zoom.y2) + r.extents.y2 = ss->zoom.y2; + + w->vCount = w->indexCount = 0; + + (*w->screen->addWindowGeometry) (w, + matrix, 1, + &sw->context->box, + region); + + if (mask & PAINT_WINDOW_TRANSLUCENT_MASK) + mask |= PAINT_WINDOW_BLEND_MASK; + + (*w->screen->drawWindowTexture) (w, texture, attrib, mask); + + if (r.extents.x1 < r.extents.x2 && r.extents.y1 < r.extents.y2) + { + float xScale, yScale; + float dx, dy; + int width, height; + int saveFilter; + + r.extents.x1--; + r.extents.y1--; + r.extents.x2++; + r.extents.y2++; + + xScale = w->screen->width / (float) + (ss->zoom.x2 - ss->zoom.x1); + yScale = w->screen->height / (float) + (ss->zoom.y2 - ss->zoom.y1); + + dx = r.extents.x2 - r.extents.x1; + dy = r.extents.y2 - r.extents.y1; + + width = dx * xScale + 0.5f; + height = dy * yScale + 0.5f; + + if (r.extents.x1 != sw->context->rect.x1 || + r.extents.y1 != sw->context->rect.y1 || + r.extents.x2 != sw->context->rect.x2 || + r.extents.y2 != sw->context->rect.y2 || + width != sw->context->width || + height != sw->context->height) + { + float x1, y1, x2, y2; + + sw->context->rect = r.extents; + + sw->context->width = width; + sw->context->height = height; + + dx = sw->context->box.extents.x2 - + sw->context->box.extents.x1; + dy = sw->context->box.extents.y2 - + sw->context->box.extents.y1; + + x1 = (r.extents.x1 - sw->context->box.extents.x1) / dx; + y1 = (r.extents.y1 - sw->context->box.extents.y1) / dy; + x2 = (r.extents.x2 - sw->context->box.extents.x1) / dx; + y2 = (r.extents.y2 - sw->context->box.extents.y1) / dy; + + finiSvgTexture (w->screen, &sw->context->texture[1]); + + if (initSvgTexture (w->screen, sw->context->source, + &sw->context->texture[1], + width, height)) + { + renderSvg (w->screen, sw->context->source, + &sw->context->texture[1], + x1, y1, x2, y2, + width, height); + + updateWindowSvgMatrix (w); + } + } + + texture = &sw->context->texture[1].texture; + matrix = &sw->context->texture[1].matrix; + + w->vCount = w->indexCount = 0; + + saveFilter = w->screen->filter[SCREEN_TRANS_FILTER]; + w->screen->filter[SCREEN_TRANS_FILTER] = + COMP_TEXTURE_FILTER_GOOD; + + (*w->screen->addWindowGeometry) (w, matrix, 1, &r, region); + (*w->screen->drawWindowTexture) (w, texture, attrib, mask); + + w->screen->filter[SCREEN_TRANS_FILTER] = saveFilter; + } + else if (sw->context->texture[1].width) + { + finiSvgTexture (w->screen, &sw->context->texture[1]); + initSvgTexture (w->screen, sw->source, + &sw->context->texture[1], + 0, 0); + + memset (&sw->context->rect, 0, sizeof (BoxRec)); + + sw->context->width = 0; + sw->context->height = 0; + } + } + } + + return status; +} + +static void +updateWindowSvgContext (CompWindow *w, + SvgSource *source) +{ + int x1, y1, x2, y2; + + SVG_WINDOW (w); + + if (sw->context) + { + finiSvgTexture (w->screen, &sw->context->texture[0]); + finiSvgTexture (w->screen, &sw->context->texture[1]); + } + else + { + sw->context = malloc (sizeof (SvgContext)); + if (!sw->context) + return; + } + + memset (&sw->context->rect, 0, sizeof (BoxRec)); + + sw->context->width = 0; + sw->context->height = 0; + + initSvgTexture (w->screen, source, + &sw->context->texture[1], + 0, 0); + + sw->context->source = source; + + sw->context->box.rects = &sw->context->box.extents; + sw->context->box.numRects = 1; + + decor_apply_gravity (source->p1.gravity, + source->p1.x, source->p1.y, + w->width, w->height, + &x1, &y1); + + decor_apply_gravity (source->p2.gravity, + source->p2.x, source->p2.y, + w->width, w->height, + &x2, &y2); + + x1 = MAX (x1, 0); + y1 = MAX (y1, 0); + x2 = MIN (x2, w->width); + y2 = MIN (y2, w->height); + + if (!initSvgTexture (w->screen, source, + &sw->context->texture[0], + w->width, w->height)) + { + free (sw->context); + sw->context = NULL; + } + else + { + renderSvg (w->screen, source, &sw->context->texture[0], + 0.0f, 0.0f, 1.0f, 1.0f, w->width, w->height); + + initSvgTexture (w->screen, source, &sw->context->texture[1], 0, 0); + + sw->context->box.extents.x1 = x1; + sw->context->box.extents.y1 = y1; + sw->context->box.extents.x2 = x2; + sw->context->box.extents.y2 = y2; + + sw->context->box.extents.x1 += w->attrib.x; + sw->context->box.extents.y1 += w->attrib.y; + sw->context->box.extents.x2 += w->attrib.x; + sw->context->box.extents.y2 += w->attrib.y; + + updateWindowSvgMatrix (w); + } +} + +static Bool +svgSet (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompWindow *w; + Window xid; + + xid = getIntOptionNamed (option, nOption, "window", 0); + + w = findWindowAtDisplay (d, xid); + if (w) + { + decor_point_t p[2]; + char *data; + RsvgHandle *svg = NULL; + GError *error = NULL; + + SVG_WINDOW (w); + + memset (p, 0, sizeof (p)); + + p[0].gravity = getIntOptionNamed (option, nOption, "gravity0", + GRAVITY_NORTH | GRAVITY_WEST); + + p[0].x = getIntOptionNamed (option, nOption, "x0", 0); + p[0].y = getIntOptionNamed (option, nOption, "y0", 0); + + p[1].gravity = getIntOptionNamed (option, nOption, "gravity1", + GRAVITY_SOUTH | GRAVITY_EAST); + + p[1].x = getIntOptionNamed (option, nOption, "x1", 0); + p[1].y = getIntOptionNamed (option, nOption, "y1", 0); + + data = getStringOptionNamed (option, nOption, "data", 0); + if (data) + svg = rsvg_handle_new_from_data ((guint8 *) data, strlen (data), + &error); + + if (sw->source) + { + rsvg_handle_free (sw->source->svg); + sw->source->svg = svg; + } + else + { + sw->source = malloc (sizeof (SvgSource)); + if (sw->source) + sw->source->svg = svg; + } + + if (sw->source && sw->source->svg) + { + sw->source->p1 = p[0]; + sw->source->p2 = p[1]; + + sw->source->svg = svg; + + rsvg_handle_get_dimensions (svg, &sw->source->dimension); + + updateWindowSvgContext (w, sw->source); + } + else + { + if (svg) + rsvg_handle_free (svg); + + if (sw->source) + { + free (sw->source); + sw->source = NULL; + } + + if (sw->context) + { + finiSvgTexture (w->screen, &sw->context->texture[0]); + free (sw->context); + sw->context = NULL; + } + } + } + + return FALSE; +} + +static void +svgWindowMoveNotify (CompWindow *w, + int dx, + int dy, + Bool immediate) +{ + SVG_SCREEN (w->screen); + SVG_WINDOW (w); + + if (sw->context) + { + sw->context->box.extents.x1 += dx; + sw->context->box.extents.y1 += dy; + sw->context->box.extents.x2 += dx; + sw->context->box.extents.y2 += dy; + + updateWindowSvgMatrix (w); + } + + UNWRAP (ss, w->screen, windowMoveNotify); + (*w->screen->windowMoveNotify) (w, dx, dy, immediate); + WRAP (ss, w->screen, windowMoveNotify, svgWindowMoveNotify); +} + +static void +svgWindowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ + SVG_SCREEN (w->screen); + SVG_WINDOW (w); + + if (sw->source) + updateWindowSvgContext (w, sw->source); + + UNWRAP (ss, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP (ss, w->screen, windowResizeNotify, svgWindowResizeNotify); +} + +static void +svgHandleEcompEvent (CompDisplay *d, + char *pluginName, + char *eventName, + CompOption *option, + int nOption) +{ + SVG_DISPLAY (d); + + UNWRAP (sd, d, handleEcompEvent); + (*d->handleEcompEvent) (d, pluginName, eventName, option, nOption); + WRAP (sd, d, handleEcompEvent, svgHandleEcompEvent); + + if (strcmp (pluginName, "zoom") == 0) + { + CompScreen *s; + int output = getIntOptionNamed (option, nOption, "output", 0); + + s = findScreenAtDisplay (d, getIntOptionNamed (option, nOption, + "root", 0)); + if (s && output == 0) + { + SVG_SCREEN (s); + + if (strcmp (eventName, "in") == 0) + { + ss->zoom.x1 = getIntOptionNamed (option, nOption, "x1", 0); + ss->zoom.y1 = getIntOptionNamed (option, nOption, "y1", 0); + ss->zoom.x2 = getIntOptionNamed (option, nOption, "x2", 0); + ss->zoom.y2 = getIntOptionNamed (option, nOption, "y2", 0); + } + else if (strcmp (eventName, "out") == 0) + { + memset (&ss->zoom, 0, sizeof (BoxRec)); + } + } + } +} + +static Bool +readSvgFileToImage (char *file, + int *width, + int *height, + void **data) +{ + cairo_surface_t *surface; + FILE *fp; + GError *error = NULL; + RsvgHandle *svgHandle; + RsvgDimensionData svgDimension; + + fp = fopen (file, "r"); + if (!fp) + return FALSE; + + fclose (fp); + + svgHandle = rsvg_handle_new_from_file (file, &error); + if (!svgHandle) + return FALSE; + + rsvg_handle_get_dimensions (svgHandle, &svgDimension); + + *width = svgDimension.width; + *height = svgDimension.height; + + *data = malloc (svgDimension.width * svgDimension.height * 4); + if (!*data) + { + rsvg_handle_free (svgHandle); + return FALSE; + } + + surface = cairo_image_surface_create_for_data (*data, + CAIRO_FORMAT_ARGB32, + svgDimension.width, + svgDimension.height, + svgDimension.width * 4); + if (surface) + { + cairo_t *cr; + + cr = cairo_create (surface); + + cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); + cairo_paint (cr); + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + + rsvg_handle_render_cairo (svgHandle, cr); + + cairo_destroy (cr); + cairo_surface_destroy (surface); + } + + rsvg_handle_free (svgHandle); + + return TRUE; +} + +static char * +svgExtension (const char *name) +{ + + if (strlen (name) > 4) + { + if (strcasecmp (name + (strlen (name) - 4), ".svg") == 0) + return ""; + } + + return ".svg"; +} + +static Bool +svgFileToImage (CompDisplay *d, + const char *path, + const char *name, + int *width, + int *height, + int *stride, + void **data) +{ + Bool status = FALSE; + char *extension = svgExtension (name); + char *file; + int len; + + SVG_DISPLAY (d); + + len = (path ? strlen (path) : 0) + strlen (name) + strlen (extension) + 2; + + file = malloc (len); + if (file) + { + if (path) + sprintf (file, "%s/%s%s", path, name, extension); + else + sprintf (file, "%s%s", name, extension); + + status = readSvgFileToImage (file, width, height, data); + + free (file); + + if (status) + { + *stride = *width * 4; + return TRUE; + } + } + + UNWRAP (sd, d, fileToImage); + status = (*d->fileToImage) (d, path, name, width, height, stride, data); + WRAP (sd, d, fileToImage, svgFileToImage); + + return status; +} + +static CompOption * +svgGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + SVG_DISPLAY (display); + + *count = NUM_OPTIONS (sd); + return sd->opt; +} + +static Bool +svgSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + SVG_DISPLAY (display); + + o = compFindOption (sd->opt, NUM_OPTIONS (sd), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static const CompMetadataOptionInfo svgDisplayOptionInfo[] = { + { "set", "action", 0, svgSet, NULL } +}; + +static Bool +svgInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + SvgDisplay *sd; + CompScreen *s; + + sd = malloc (sizeof (SvgDisplay)); + if (!sd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &svgMetadata, + svgDisplayOptionInfo, + sd->opt, + SVG_DISPLAY_OPTION_NUM)) + { + free (sd); + return FALSE; + } + + sd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (sd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, sd->opt, SVG_DISPLAY_OPTION_NUM); + free (sd); + return FALSE; + } + + WRAP (sd, d, handleEcompEvent, svgHandleEcompEvent); + WRAP (sd, d, fileToImage, svgFileToImage); + + d->privates[displayPrivateIndex].ptr = sd; + + for (s = d->screens; s; s = s->next) + updateDefaultIcon (s); + + return TRUE; +} + +static void +svgFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + CompScreen *s; + + SVG_DISPLAY (d); + + UNWRAP (sd, d, handleEcompEvent); + UNWRAP (sd, d, fileToImage); + + for (s = d->screens; s; s = s->next) + updateDefaultIcon (s); + + freeScreenPrivateIndex (d, sd->screenPrivateIndex); + + compFiniDisplayOptions (d, sd->opt, SVG_DISPLAY_OPTION_NUM); + + free (sd); +} + +static Bool +svgInitScreen (CompPlugin *p, + CompScreen *s) +{ + SvgScreen *ss; + + SVG_DISPLAY (s->display); + + ss = malloc (sizeof (SvgScreen)); + if (!ss) + return FALSE; + + ss->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (ss->windowPrivateIndex < 0) + { + free (ss); + return FALSE; + } + + memset (&ss->zoom, 0, sizeof (BoxRec)); + + WRAP (ss, s, drawWindow, svgDrawWindow); + WRAP (ss, s, windowMoveNotify, svgWindowMoveNotify); + WRAP (ss, s, windowResizeNotify, svgWindowResizeNotify); + + s->privates[sd->screenPrivateIndex].ptr = ss; + + return TRUE; +} + +static void +svgFiniScreen (CompPlugin *p, + CompScreen *s) +{ + SVG_SCREEN (s); + + freeWindowPrivateIndex (s, ss->windowPrivateIndex); + + UNWRAP (ss, s, drawWindow); + UNWRAP (ss, s, windowMoveNotify); + UNWRAP (ss, s, windowResizeNotify); + + free (ss); +} + +static Bool +svgInitWindow (CompPlugin *p, + CompWindow *w) +{ + SvgWindow *sw; + + SVG_SCREEN (w->screen); + + sw = malloc (sizeof (SvgWindow)); + if (!sw) + return FALSE; + + sw->source = NULL; + sw->context = NULL; + + w->privates[ss->windowPrivateIndex].ptr = sw; + + return TRUE; +} + +static void +svgFiniWindow (CompPlugin *p, + CompWindow *w) +{ + SVG_WINDOW (w); + + if (sw->source) + { + rsvg_handle_free (sw->source->svg); + free (sw->source); + } + + if (sw->context) + { + finiSvgTexture (w->screen, &sw->context->texture[0]); + free (sw->context); + } + + free (sw); +} + +static Bool +svgInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&svgMetadata, + p->vTable->name, + svgDisplayOptionInfo, + SVG_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&svgMetadata); + return FALSE; + } + + compAddMetadataFromFile (&svgMetadata, p->vTable->name); + + return TRUE; +} + +static void +svgFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&svgMetadata); +} + +static int +svgGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +svgGetMetadata (CompPlugin *plugin) +{ + return &svgMetadata; +} + +CompPluginVTable svgVTable = { + "svg", + svgGetVersion, + svgGetMetadata, + svgInit, + svgFini, + svgInitDisplay, + svgFiniDisplay, + svgInitScreen, + svgFiniScreen, + svgInitWindow, + svgFiniWindow, + svgGetDisplayOptions, + svgSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &svgVTable; +} diff --git a/plugins/switcher.c b/plugins/switcher.c new file mode 100644 index 0000000..7931f86 --- /dev/null +++ b/plugins/switcher.c @@ -0,0 +1,2092 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#define ZOOMED_WINDOW_MASK (1 << 0) +#define NORMAL_WINDOW_MASK (1 << 1) + +static CompMetadata switchMetadata; + +static int displayPrivateIndex; + +#define SWITCH_DISPLAY_OPTION_NEXT 0 +#define SWITCH_DISPLAY_OPTION_PREV 1 +#define SWITCH_DISPLAY_OPTION_NEXT_ALL 2 +#define SWITCH_DISPLAY_OPTION_PREV_ALL 3 +#define SWITCH_DISPLAY_OPTION_NEXT_NO_POPUP 4 +#define SWITCH_DISPLAY_OPTION_PREV_NO_POPUP 5 +#define SWITCH_DISPLAY_OPTION_NUM 6 + +typedef struct _SwitchDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[SWITCH_DISPLAY_OPTION_NUM]; + + Atom selectWinAtom; +} SwitchDisplay; + +#define SWITCH_SCREEN_OPTION_SPEED 0 +#define SWITCH_SCREEN_OPTION_TIMESTEP 1 +#define SWITCH_SCREEN_OPTION_WINDOW_MATCH 2 +#define SWITCH_SCREEN_OPTION_MIPMAP 3 +#define SWITCH_SCREEN_OPTION_SATURATION 4 +#define SWITCH_SCREEN_OPTION_BRIGHTNESS 5 +#define SWITCH_SCREEN_OPTION_OPACITY 6 +#define SWITCH_SCREEN_OPTION_BRINGTOFRONT 7 +#define SWITCH_SCREEN_OPTION_ZOOM 8 +#define SWITCH_SCREEN_OPTION_ICON 9 +#define SWITCH_SCREEN_OPTION_MINIMIZED 10 +#define SWITCH_SCREEN_OPTION_AUTO_ROTATE 11 +#define SWITCH_SCREEN_OPTION_NUM 12 + +typedef struct _SwitchScreen { + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + PaintBackgroundProc paintBackground; + DamageWindowRectProc damageWindowRect; + + CompOption opt[SWITCH_SCREEN_OPTION_NUM]; + + Window popupWindow; + + Window selectedWindow; + Window zoomedWindow; + unsigned int lastActiveNum; + + float zoom; + + int grabIndex; + + Bool switching; + Bool zooming; + int zoomMask; + + int moreAdjust; + + GLfloat mVelocity; + GLfloat tVelocity; + GLfloat sVelocity; + + CompWindow **windows; + int windowsSize; + int nWindows; + + int pos; + int move; + + float translate; + float sTranslate; + + GLushort saturation; + GLushort brightness; + GLushort opacity; + + Bool allWindows; +} SwitchScreen; + +#define MwmHintsDecorations (1L << 1) + +typedef struct { + unsigned long flags; + unsigned long functions; + unsigned long decorations; +} MwmHints; + +//#define SELECT_WIN_PROP "_SWITCH_SELECT_WINDOW" + +#define WIDTH 212 +#define HEIGHT 192 +#define SPACE 10 + +#define SWITCH_ZOOM 0.1f + +#define BOX_WIDTH 3 + +#define ICON_SIZE 64 + +static float _boxVertices[] = +{ + -(WIDTH >> 1), 0, + -(WIDTH >> 1), BOX_WIDTH, + (WIDTH >> 1), BOX_WIDTH, + (WIDTH >> 1), 0, + + -(WIDTH >> 1), BOX_WIDTH, + -(WIDTH >> 1), HEIGHT - BOX_WIDTH, + -(WIDTH >> 1) + BOX_WIDTH, HEIGHT - BOX_WIDTH, + -(WIDTH >> 1) + BOX_WIDTH, 0, + + (WIDTH >> 1) - BOX_WIDTH, BOX_WIDTH, + (WIDTH >> 1) - BOX_WIDTH, HEIGHT - BOX_WIDTH, + (WIDTH >> 1), HEIGHT - BOX_WIDTH, + (WIDTH >> 1), 0, + + -(WIDTH >> 1), HEIGHT - BOX_WIDTH, + -(WIDTH >> 1), HEIGHT, + (WIDTH >> 1), HEIGHT, + (WIDTH >> 1), HEIGHT - BOX_WIDTH +}; + +#define WINDOW_WIDTH(count) (WIDTH * (count) + (SPACE << 1)) +#define WINDOW_HEIGHT (HEIGHT + (SPACE << 1)) + +#define GET_SWITCH_DISPLAY(d) \ + ((SwitchDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define SWITCH_DISPLAY(d) \ + SwitchDisplay *sd = GET_SWITCH_DISPLAY (d) + +#define GET_SWITCH_SCREEN(s, sd) \ + ((SwitchScreen *) (s)->privates[(sd)->screenPrivateIndex].ptr) + +#define SWITCH_SCREEN(s) \ + SwitchScreen *ss = GET_SWITCH_SCREEN (s, GET_SWITCH_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static CompOption * +switchGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + SWITCH_SCREEN (screen); + + *count = NUM_OPTIONS (ss); + return ss->opt; +} + +static Bool +switchSetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + SWITCH_SCREEN (screen); + + o = compFindOption (ss->opt, NUM_OPTIONS (ss), name, &index); + if (!o) + return FALSE; + + switch (index) { + case SWITCH_SCREEN_OPTION_SATURATION: + if (compSetIntOption (o, value)) + { + ss->saturation = (COLOR * o->value.i) / 100; + return TRUE; + } + break; + case SWITCH_SCREEN_OPTION_BRIGHTNESS: + if (compSetIntOption (o, value)) + { + ss->brightness = (0xffff * o->value.i) / 100; + return TRUE; + } + break; + case SWITCH_SCREEN_OPTION_OPACITY: + if (compSetIntOption (o, value)) + { + ss->opacity = (OPAQUE * o->value.i) / 100; + return TRUE; + } + break; + case SWITCH_SCREEN_OPTION_ZOOM: + if (compSetFloatOption (o, value)) + { + if (o->value.f < 0.05f) + { + ss->zooming = FALSE; + ss->zoom = 0.0f; + } + else + { + ss->zooming = TRUE; + ss->zoom = o->value.f / 30.0f; + } + + return TRUE; + } + break; + default: + return compSetScreenOption (screen, o, value); + } + + return FALSE; +} + +static void +setSelectedWindowHint (CompScreen *s) +{ + SWITCH_DISPLAY (s->display); + SWITCH_SCREEN (s); + + XChangeProperty (s->display->display, ss->popupWindow, sd->selectWinAtom, + XA_WINDOW, 32, PropModeReplace, + (unsigned char *) &ss->selectedWindow, 1); +} + +static Bool +isSwitchWin (CompWindow *w) +{ + SWITCH_SCREEN (w->screen); + + if (!w->mapNum || w->attrib.map_state != IsViewable) + { + if (ss->opt[SWITCH_SCREEN_OPTION_MINIMIZED].value.b) + { + if (!w->minimized && !w->inShowDesktopMode && !w->shaded) + return FALSE; + } + else + { + return FALSE; + } + } + + if (w->attrib.override_redirect) + return FALSE; + + if (w->wmType & (CompWindowTypeDockMask | CompWindowTypeDesktopMask)) + return FALSE; + + if (w->state & CompWindowStateSkipTaskbarMask) + return FALSE; + + if (!ss->allWindows) + { + if (!w->mapNum || w->attrib.map_state != IsViewable) + { + if (w->serverX + w->width <= 0 || + w->serverY + w->height <= 0 || + w->serverX >= w->screen->width || + w->serverY >= w->screen->height) + return FALSE; + } + else + { + if (!(*w->screen->focusWindow) (w)) + return FALSE; + } + } + + if (!matchEval (&ss->opt[SWITCH_SCREEN_OPTION_WINDOW_MATCH].value.match, w)) + return FALSE; + + return TRUE; +} + +static void +switchActivateEvent (CompScreen *s, + Bool activating) +{ + CompOption o[2]; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeBool; + o[1].name = "active"; + o[1].value.b = activating; + + (*s->display->handleEcompEvent) (s->display, "switcher", "activate", o, 2); +} + +static int +compareWindows (const void *elem1, + const void *elem2) +{ + CompWindow *w1 = *((CompWindow **) elem1); + CompWindow *w2 = *((CompWindow **) elem2); + + if (w1->mapNum && !w2->mapNum) + return -1; + + if (w2->mapNum && !w1->mapNum) + return 1; + + return w2->activeNum - w1->activeNum; +} + +static void +switchAddWindowToList (CompScreen *s, + CompWindow *w) +{ + SWITCH_SCREEN (s); + + if (ss->windowsSize <= ss->nWindows) + { + ss->windows = realloc (ss->windows, + sizeof (CompWindow *) * (ss->nWindows + 32)); + if (!ss->windows) + return; + + ss->windowsSize = ss->nWindows + 32; + } + + ss->windows[ss->nWindows++] = w; +} + +static void +switchUpdateWindowList (CompScreen *s, + int count) +{ + int x, y; + + SWITCH_SCREEN (s); + + if (count > 1) + { + count -= (count + 1) & 1; + if (count < 3) + count = 3; + } + + ss->pos = ((count >> 1) - ss->nWindows) * WIDTH; + ss->move = 0; + + ss->selectedWindow = ss->windows[0]->id; + + x = s->outputDev[s->currentOutputDev].region.extents.x1 + + s->outputDev[s->currentOutputDev].width / 2; + y = s->outputDev[s->currentOutputDev].region.extents.y1 + + s->outputDev[s->currentOutputDev].height / 2; + + if (ss->popupWindow) + XMoveResizeWindow (s->display->display, ss->popupWindow, + x - WINDOW_WIDTH (count) / 2, + y - WINDOW_HEIGHT / 2, + WINDOW_WIDTH (count), + WINDOW_HEIGHT); +} + +static void +switchCreateWindowList (CompScreen *s, + int count) +{ + CompWindow *w; + + SWITCH_SCREEN (s); + + ss->nWindows = 0; + + for (w = s->windows; w; w = w->next) + { + if (isSwitchWin (w)) + switchAddWindowToList (s, w); + } + + qsort (ss->windows, ss->nWindows, sizeof (CompWindow *), compareWindows); + + if (ss->nWindows == 2) + { + switchAddWindowToList (s, ss->windows[0]); + switchAddWindowToList (s, ss->windows[1]); + } + + switchUpdateWindowList (s, count); +} + +static void +switchToWindow (CompScreen *s, + Bool toNext) +{ + CompWindow *w; + int cur; + + SWITCH_SCREEN (s); + + if (!ss->grabIndex) + return; + + for (cur = 0; cur < ss->nWindows; cur++) + { + if (ss->windows[cur]->id == ss->selectedWindow) + break; + } + + if (cur == ss->nWindows) + return; + + if (toNext) + w = ss->windows[(cur + 1) % ss->nWindows]; + else + w = ss->windows[(cur + ss->nWindows - 1) % ss->nWindows]; + + if (w) + { + Window old = ss->selectedWindow; + + if (ss->allWindows && ss->opt[SWITCH_SCREEN_OPTION_AUTO_ROTATE].value.b) + { + XEvent xev; + int x, y; + + defaultViewportForWindow (w, &x, &y); + + xev.xclient.type = ClientMessage; + xev.xclient.display = s->display->display; + xev.xclient.format = 32; + + xev.xclient.message_type = s->display->desktopViewportAtom; + xev.xclient.window = s->root; + + xev.xclient.data.l[0] = x * s->width; + xev.xclient.data.l[1] = y * s->height; + xev.xclient.data.l[2] = 0; + xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = 0; + + XSendEvent (s->display->display, s->root, FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); + } + + ss->lastActiveNum = w->activeNum; + ss->selectedWindow = w->id; + + if (!ss->zoomedWindow) + ss->zoomedWindow = ss->selectedWindow; + + if (old != w->id) + { + if (toNext) + ss->move -= WIDTH; + else + ss->move += WIDTH; + + ss->moreAdjust = 1; + } + + if (ss->popupWindow) + { + CompWindow *popup; + + popup = findWindowAtScreen (s, ss->popupWindow); + if (popup) + addWindowDamage (popup); + + setSelectedWindowHint (s); + } + + addWindowDamage (w); + + if (old) + { + w = findWindowAtScreen (s, old); + if (w) + addWindowDamage (w); + } + } +} + +static int +switchCountWindows (CompScreen *s) +{ + CompWindow *w; + int count = 0; + + for (w = s->windows; w && count < 5; w = w->next) + if (isSwitchWin (w)) + count++; + + if (count == 5 && s->width <= WINDOW_WIDTH (5)) + count = 3; + + return count; +} + +static Visual * +findArgbVisual (Display *dpy, int scr) +{ + XVisualInfo *xvi; + XVisualInfo template; + int nvi; + int i; + XRenderPictFormat *format; + Visual *visual; + + template.screen = scr; + template.depth = 32; + template.class = TrueColor; + + xvi = XGetVisualInfo (dpy, + VisualScreenMask | + VisualDepthMask | + VisualClassMask, + &template, + &nvi); + if (!xvi) + return 0; + + visual = 0; + for (i = 0; i < nvi; i++) + { + format = XRenderFindVisualFormat (dpy, xvi[i].visual); + if (format->type == PictTypeDirect && format->direct.alphaMask) + { + visual = xvi[i].visual; + break; + } + } + + XFree (xvi); + + return visual; +} + +static void +switchInitiate (CompScreen *s, + Bool allWindows, + Bool showPopup) +{ + int count; + + SWITCH_SCREEN (s); + + if (otherScreenGrabExist (s, "switcher", "scale", "cube", 0)) + return; + + ss->allWindows = allWindows; + + count = switchCountWindows (s); + if (count < 1) + return; + + if (!ss->popupWindow && showPopup) + { + Display *dpy = s->display->display; + XSizeHints xsh; + XWMHints xwmh; + Atom state[4]; + int nState = 0; + XSetWindowAttributes attr; + Visual *visual; + + visual = findArgbVisual (dpy, s->screenNum); + if (!visual) + return; + + if (count > 1) + { + count -= (count + 1) & 1; + if (count < 3) + count = 3; + } + + xsh.flags = PSize | PPosition; + xsh.width = WINDOW_WIDTH (count); + xsh.height = WINDOW_HEIGHT; + + xwmh.flags = InputHint; + xwmh.input = 0; + + attr.background_pixel = 0; + attr.border_pixel = 0; + attr.colormap = XCreateColormap (dpy, s->root, visual, + AllocNone); + + attr.override_redirect = 1; + + + ss->popupWindow = + XCreateWindow (dpy, s->root, + s->width / 2 - xsh.width / 2, + s->height / 2 - xsh.height / 2, + xsh.width, xsh.height, 0, + 32, InputOutput, visual, + CWOverrideRedirect | CWBackPixel | CWBorderPixel | CWColormap, &attr); + + XSetWMProperties (dpy, ss->popupWindow, NULL, NULL, + programArgv, programArgc, + &xsh, &xwmh, NULL); + + state[nState++] = s->display->winStateAboveAtom; + state[nState++] = s->display->winStateStickyAtom; + state[nState++] = s->display->winStateSkipTaskbarAtom; + state[nState++] = s->display->winStateSkipPagerAtom; + + XChangeProperty (dpy, ss->popupWindow, + s->display->winStateAtom, + XA_ATOM, 32, PropModeReplace, + (unsigned char *) state, nState); + + XChangeProperty (dpy, ss->popupWindow, + s->display->winTypeAtom, + XA_ATOM, 32, PropModeReplace, + (unsigned char *) &s->display->winTypeUtilAtom, 1); + + setWindowProp (s->display, ss->popupWindow, + s->display->winDesktopAtom, + 0xffffffff); + } + + if (!ss->grabIndex) +#ifdef KEYBINDING + ss->grabIndex = pushScreenGrab (s, s->invisibleCursor, "switcher"); +#else + ss->grabIndex = 1; +#endif + + if (ss->grabIndex) + { + if (!ss->switching) + { + ss->lastActiveNum = s->activeNum; + + switchCreateWindowList (s, count); + + ss->sTranslate = ss->zoom; + + if (ss->popupWindow && showPopup) + { + CompWindow *w; + + w = findWindowAtScreen (s, ss->popupWindow); + if (w && (w->state & CompWindowStateHiddenMask)) + { + w->hidden = FALSE; + showWindow (w); + } + else + { + XMapWindow (s->display->display, ss->popupWindow); + } + } + + setSelectedWindowHint (s); + + switchActivateEvent (s, TRUE); + } + + damageScreen (s); + + ss->switching = TRUE; + ss->moreAdjust = 1; + } +} + +static Bool +switchTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + SWITCH_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (ss->grabIndex) + { + CompWindow *w; + + if (ss->popupWindow) + { + XUnmapWindow (s->display->display, ss->popupWindow); + } + + ss->switching = FALSE; + + if (state & CompActionStateCancel) + { + + ss->selectedWindow = None; + ss->zoomedWindow = None; + } + + //if (state && /* FIXME figure this out, i.e. needed for + //cancel the action */ + if(ss->selectedWindow) + { + w = findWindowAtScreen (s, ss->selectedWindow); + if (w) + { + activateWindow (w); /* FIXME ?*/ + //sendWindowActivationRequest (w->screen, w->id); + } + } +#ifdef KEYBINDING + removeScreenGrab (s, ss->grabIndex, 0); +#endif + ss->grabIndex = 0; + + if (!ss->zooming) + { + ss->selectedWindow = None; + ss->zoomedWindow = None; + + switchActivateEvent (s, FALSE); + } + else + { + ss->moreAdjust = 1; + } + + ss->lastActiveNum = 0; + + damageScreen (s); + } + } + + if (action) + action->state &= ~(CompActionStateTermKey | CompActionStateTermButton); + + return FALSE; +} + +static Bool +switchNext (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SWITCH_SCREEN (s); + + if (!ss->switching) + { + switchInitiate (s, FALSE, TRUE); + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + + } + + switchToWindow (s, TRUE); + } + + return FALSE; +} + +static Bool +switchPrev (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SWITCH_SCREEN (s); + + if (!ss->switching) + { + switchInitiate (s, FALSE, TRUE); + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + } + + switchToWindow (s, FALSE); + } + + return FALSE; +} + +static Bool +switchNextAll (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SWITCH_SCREEN (s); + + if (!ss->switching) + { + switchInitiate (s, TRUE, TRUE); + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + } + + switchToWindow (s, TRUE); + } + + return FALSE; +} + +static Bool +switchPrevAll (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SWITCH_SCREEN (s); + + if (!ss->switching) + { + switchInitiate (s, TRUE, TRUE); + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + } + + switchToWindow (s, FALSE); + } + + return FALSE; +} + +static Bool +switchNextNoPopup (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SWITCH_SCREEN (s); + + if (!ss->switching) + { + switchInitiate (s, FALSE, FALSE); + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + + } + + switchToWindow (s, TRUE); + } + + return FALSE; +} + +static Bool +switchPrevNoPopup (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SWITCH_SCREEN (s); + + if (!ss->switching) + { + switchInitiate (s, FALSE, FALSE); + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + } + + switchToWindow (s, FALSE); + } + + return FALSE; +} + +static void +switchWindowRemove (CompDisplay *d, + Window id) +{ + CompWindow *w; + + w = findWindowAtDisplay (d, id); + if (w) + { + Bool inList = FALSE; + int count, j, i = 0; + Window selected, old; + + SWITCH_SCREEN (w->screen); + + if (isSwitchWin (w)) + return; + + old = selected = ss->selectedWindow; + + while (i < ss->nWindows) + { + if (ss->windows[i] == w) + { + inList = TRUE; + + if (w->id == selected) + { + if (i < ss->nWindows) + selected = ss->windows[i + 1]->id; + else + selected = ss->windows[0]->id; + } + + ss->nWindows--; + for (j = i; j < ss->nWindows; j++) + ss->windows[j] = ss->windows[j + 1]; + } + else + { + i++; + } + } + + if (!inList) + return; + + count = ss->nWindows; + + if (ss->nWindows == 2) + { + if (ss->windows[0] == ss->windows[1]) + { + ss->nWindows--; + count = 1; + } + else + { + switchAddWindowToList (w->screen, ss->windows[0]); + switchAddWindowToList (w->screen, ss->windows[1]); + } + } + + if (ss->nWindows == 0) + { + CompOption o; + + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = w->screen->root; + + switchTerminate (d, NULL, 0, &o, 1); + return; + } + + if (!ss->grabIndex) + return; + + switchUpdateWindowList (w->screen, count); + + for (i = 0; i < ss->nWindows; i++) + { + ss->selectedWindow = ss->windows[i]->id; + + if (ss->selectedWindow == selected) + break; + + ss->pos -= WIDTH; + if (ss->pos < -ss->nWindows * WIDTH) + ss->pos += ss->nWindows * WIDTH; + } + + if (ss->popupWindow) + { + CompWindow *popup; + + popup = findWindowAtScreen (w->screen, ss->popupWindow); + if (popup) + addWindowDamage (popup); + + setSelectedWindowHint (w->screen); + } + + if (old != ss->selectedWindow) + { + addWindowDamage (w); + + w = findWindowAtScreen (w->screen, old); + if (w) + addWindowDamage (w); + + ss->moreAdjust = 1; + } + } +} + +static void +switchHandleEvent (CompDisplay *d, + XEvent *event) +{ + SWITCH_DISPLAY (d); + + UNWRAP (sd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (sd, d, handleEvent, switchHandleEvent); + + switch (event->type) { + case UnmapNotify: + switchWindowRemove (d, event->xunmap.window); + break; + case DestroyNotify: + switchWindowRemove (d, event->xdestroywindow.window); + default: + break; + } +} + +static int +adjustSwitchVelocity (CompScreen *s) +{ + float dx, adjust, amount; + + SWITCH_SCREEN (s); + + dx = ss->move; + + adjust = dx * 0.15f; + amount = fabs (dx) * 1.5f; + if (amount < 0.2f) + amount = 0.2f; + else if (amount > 2.0f) + amount = 2.0f; + + ss->mVelocity = (amount * ss->mVelocity + adjust) / (amount + 1.0f); + + if (ss->zooming) + { + float dt, ds; + + if (ss->switching) + dt = ss->zoom - ss->translate; + else + dt = 0.0f - ss->translate; + + adjust = dt * 0.15f; + amount = fabs (dt) * 1.5f; + if (amount < 0.2f) + amount = 0.2f; + else if (amount > 2.0f) + amount = 2.0f; + + ss->tVelocity = (amount * ss->tVelocity + adjust) / (amount + 1.0f); + + if (ss->selectedWindow == ss->zoomedWindow) + ds = ss->zoom - ss->sTranslate; + else + ds = 0.0f - ss->sTranslate; + + adjust = ds * 0.5f; + amount = fabs (ds) * 5.0f; + if (amount < 1.0f) + amount = 1.0f; + else if (amount > 6.0f) + amount = 6.0f; + + ss->sVelocity = (amount * ss->sVelocity + adjust) / (amount + 1.0f); + + if (ss->selectedWindow == ss->zoomedWindow) + { + if (fabs (dx) < 0.1f && fabs (ss->mVelocity) < 0.2f && + fabs (dt) < 0.001f && fabs (ss->tVelocity) < 0.001f && + fabs (ds) < 0.001f && fabs (ss->sVelocity) < 0.001f) + { + ss->mVelocity = ss->tVelocity = ss->sVelocity = 0.0f; + return 0; + } + } + } + else + { + if (fabs (dx) < 0.1f && fabs (ss->mVelocity) < 0.2f) + { + ss->mVelocity = 0.0f; + return 0; + } + } + + return 1; +} + +static void +switchPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + SWITCH_SCREEN (s); + + if (ss->moreAdjust) + { + int steps, m; + float amount, chunk; + + amount = msSinceLastPaint * 0.05f * + ss->opt[SWITCH_SCREEN_OPTION_SPEED].value.f; + steps = amount / + (0.5f * ss->opt[SWITCH_SCREEN_OPTION_TIMESTEP].value.f); + if (!steps) steps = 1; + chunk = amount / (float) steps; + + while (steps--) + { + ss->moreAdjust = adjustSwitchVelocity (s); + if (!ss->moreAdjust) + { + ss->pos += ss->move; + ss->move = 0; + + if (ss->zooming) + { + if (ss->switching) + { + ss->translate = ss->zoom; + ss->sTranslate = ss->zoom; + } + else + { + ss->translate = 0.0f; + ss->sTranslate = ss->zoom; + + ss->selectedWindow = None; + ss->zoomedWindow = None; + + if (ss->grabIndex) + { +#ifdef KEYBINDING + removeScreenGrab (s, ss->grabIndex, 0); +#endif + ss->grabIndex = 0; + } + + switchActivateEvent (s, FALSE); + } + } + break; + } + + m = ss->mVelocity * chunk; + if (!m) + { + if (ss->mVelocity) + m = (ss->move > 0) ? 1 : -1; + } + + ss->move -= m; + ss->pos += m; + if (ss->pos < -ss->nWindows * WIDTH) + ss->pos += ss->nWindows * WIDTH; + else if (ss->pos > 0) + ss->pos -= ss->nWindows * WIDTH; + + ss->translate += ss->tVelocity * chunk; + ss->sTranslate += ss->sVelocity * chunk; + + if (ss->selectedWindow != ss->zoomedWindow) + { + if (ss->sTranslate < 0.01f) + ss->zoomedWindow = ss->selectedWindow; + } + } + } + + UNWRAP (ss, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (ss, s, preparePaintScreen, switchPreparePaintScreen); +} + +static Bool +switchPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + SWITCH_SCREEN (s); + + ss->zoomMask = ZOOMED_WINDOW_MASK | NORMAL_WINDOW_MASK; + + if (ss->grabIndex || (ss->zooming && ss->translate > 0.001f)) + { + ScreenPaintAttrib sa = *sAttrib; + CompWindow *zoomed; + CompWindow *switcher; + Window zoomedAbove = None; + Bool saveDestroyed = FALSE; + + if (ss->zooming) + { + mask &= ~PAINT_SCREEN_REGION_MASK; + mask |= PAINT_SCREEN_TRANSFORMED_MASK | PAINT_SCREEN_CLEAR_MASK; + + sa.zCamera -= ss->translate; + + ss->zoomMask = NORMAL_WINDOW_MASK; + } + + switcher = findWindowAtScreen (s, ss->popupWindow); + if (switcher) + { + saveDestroyed = switcher->destroyed; + switcher->destroyed = TRUE; + } + + if (ss->opt[SWITCH_SCREEN_OPTION_BRINGTOFRONT].value.b) + { + zoomed = findWindowAtScreen (s, ss->zoomedWindow); + if (zoomed) + { + CompWindow *w; + + for (w = zoomed->prev; w && w->id <= 1; w = w->prev); + zoomedAbove = (w) ? w->id : None; + + unhookWindowFromScreen (s, zoomed); + insertWindowIntoScreen (s, zoomed, s->reverseWindows->id); + } + } + else + { + zoomed = NULL; + } + + UNWRAP (ss, s, paintOutput); + status = (*s->paintOutput) (s, &sa, transform, region, output, mask); + WRAP (ss, s, paintOutput, switchPaintOutput); + + if (ss->zooming) + { + mask &= ~PAINT_SCREEN_CLEAR_MASK; + + ss->zoomMask = ZOOMED_WINDOW_MASK; + + sa.zCamera += MIN (ss->sTranslate, ss->translate); + + UNWRAP (ss, s, paintOutput); + status = (*s->paintOutput) (s, &sa, transform, region, output, + mask); + WRAP (ss, s, paintOutput, switchPaintOutput); + } + + if (zoomed) + { + unhookWindowFromScreen (s, zoomed); + insertWindowIntoScreen (s, zoomed, zoomedAbove); + } + + if (switcher) + { + CompTransform sTransform = *transform; + + switcher->destroyed = saveDestroyed; + + transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &sTransform); + + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + if (!switcher->destroyed && + switcher->attrib.map_state == IsViewable && + switcher->damaged) + { + (*s->paintWindow) (switcher, &switcher->paint, &sTransform, + &infiniteRegion, 0); + } + + glPopMatrix (); + } + } + else + { + UNWRAP (ss, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, + mask); + WRAP (ss, s, paintOutput, switchPaintOutput); + } + + return status; +} + +static void +switchDonePaintScreen (CompScreen *s) +{ + SWITCH_SCREEN (s); + + if ((ss->grabIndex || ss->zooming) && ss->moreAdjust) + { + if (ss->zooming) + { + damageScreen (s); + } + else + { + CompWindow *w; + + w = findWindowAtScreen (s, ss->popupWindow); + if (w) + addWindowDamage (w); + } + } + + UNWRAP (ss, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (ss, s, donePaintScreen, switchDonePaintScreen); +} + +static void +switchPaintThumb (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + unsigned int mask, + int x, + int y, + int x1, + int x2) +{ + WindowPaintAttrib sAttrib = *attrib; + int wx, wy; + float width, height; + CompIcon *icon = NULL; + + mask |= PAINT_WINDOW_TRANSFORMED_MASK; + + if (w->mapNum) + { + if (!w->texture->pixmap && !w->bindFailed) + bindWindow (w); + } + + if (w->texture->pixmap) + { + AddWindowGeometryProc oldAddWindowGeometry; + FragmentAttrib fragment; + CompTransform wTransform = *transform; + int ww, wh; + + SWITCH_SCREEN (w->screen); + + width = WIDTH - (SPACE << 1); + height = HEIGHT - (SPACE << 1); + + ww = w->width + w->input.left + w->input.right; + wh = w->height + w->input.top + w->input.bottom; + + if (ww > width) + sAttrib.xScale = width / ww; + else + sAttrib.xScale = 1.0f; + + if (wh > height) + sAttrib.yScale = height / wh; + else + sAttrib.yScale = 1.0f; + + if (sAttrib.xScale < sAttrib.yScale) + sAttrib.yScale = sAttrib.xScale; + else + sAttrib.xScale = sAttrib.yScale; + + width = ww * sAttrib.xScale; + height = wh * sAttrib.yScale; + + wx = x + SPACE + ((WIDTH - (SPACE << 1)) - width) / 2; + wy = y + SPACE + ((HEIGHT - (SPACE << 1)) - height) / 2; + + sAttrib.xTranslate = wx - w->attrib.x + w->input.left * sAttrib.xScale; + sAttrib.yTranslate = wy - w->attrib.y + w->input.top * sAttrib.yScale; + + initFragmentAttrib (&fragment, &sAttrib); + + if (w->alpha || fragment.opacity != OPAQUE) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f); + matrixScale (&wTransform, sAttrib.xScale, sAttrib.yScale, 1.0f); + matrixTranslate (&wTransform, + sAttrib.xTranslate / sAttrib.xScale - w->attrib.x, + sAttrib.yTranslate / sAttrib.yScale - w->attrib.y, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + /* XXX: replacing the addWindowGeometry function like this is + very ugly but necessary until the vertex stage has been made + fully pluggable. */ + oldAddWindowGeometry = w->screen->addWindowGeometry; + w->screen->addWindowGeometry = addWindowGeometry; + (w->screen->drawWindow) (w, &wTransform, &fragment, &infiniteRegion, + mask); + w->screen->addWindowGeometry = oldAddWindowGeometry; + + glPopMatrix (); + + if (ss->opt[SWITCH_SCREEN_OPTION_ICON].value.b) + { + icon = getWindowIcon (w, ICON_SIZE, ICON_SIZE); + if (icon) + { + sAttrib.xScale = sAttrib.yScale = 1.0f; + + wx = x + WIDTH - icon->width - SPACE; + wy = y + HEIGHT - icon->height - SPACE; + } + } + } + else + { + width = WIDTH - (WIDTH >> 2); + height = HEIGHT - (HEIGHT >> 2); + + icon = getWindowIcon (w, width, height); + if (!icon) + icon = w->screen->defaultIcon; + + if (icon) + { + int iw, ih; + + iw = width - SPACE; + ih = height - SPACE; + + if (icon->width < (iw >> 1)) + sAttrib.xScale = (iw / icon->width); + else + sAttrib.xScale = 1.0f; + + if (icon->height < (ih >> 1)) + sAttrib.yScale = (ih / icon->height); + else + sAttrib.yScale = 1.0f; + + if (sAttrib.xScale < sAttrib.yScale) + sAttrib.yScale = sAttrib.xScale; + else + sAttrib.xScale = sAttrib.yScale; + + width = icon->width * sAttrib.xScale; + height = icon->height * sAttrib.yScale; + + wx = x + SPACE + ((WIDTH - (SPACE << 1)) - width) / 2; + wy = y + SPACE + ((HEIGHT - (SPACE << 1)) - height) / 2; + } + } + + if (icon && (icon->texture.name || iconToTexture (w->screen, icon))) + { + REGION iconReg; + CompMatrix matrix; + + mask |= PAINT_WINDOW_BLEND_MASK; + + iconReg.rects = &iconReg.extents; + iconReg.numRects = 1; + + iconReg.extents.x1 = w->attrib.x; + iconReg.extents.y1 = w->attrib.y; + iconReg.extents.x2 = w->attrib.x + icon->width; + iconReg.extents.y2 = w->attrib.y + icon->height; + + matrix = icon->texture.matrix; + matrix.x0 -= (w->attrib.x * icon->texture.matrix.xx); + matrix.y0 -= (w->attrib.y * icon->texture.matrix.yy); + + sAttrib.xTranslate = wx - w->attrib.x; + sAttrib.yTranslate = wy - w->attrib.y; + + w->vCount = w->indexCount = 0; + addWindowGeometry (w, &matrix, 1, &iconReg, &infiniteRegion); + if (w->vCount) + { + FragmentAttrib fragment; + CompTransform wTransform = *transform; + + initFragmentAttrib (&fragment, &sAttrib); + + matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f); + matrixScale (&wTransform, sAttrib.xScale, sAttrib.yScale, 1.0f); + matrixTranslate (&wTransform, + sAttrib.xTranslate / sAttrib.xScale - w->attrib.x, + sAttrib.yTranslate / sAttrib.yScale - w->attrib.y, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*w->screen->drawWindowTexture) (w, + &icon->texture, &fragment, + mask); + + glPopMatrix (); + } + } +} + +static Bool +switchPaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + int zoomType = NORMAL_WINDOW_MASK; + Bool status; + + SWITCH_SCREEN (s); + + if (w->id == ss->popupWindow) + { + GLenum filter; + int x, y, x1, x2, cx, i; + + if (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) + return FALSE; + + UNWRAP (ss, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ss, s, paintWindow, switchPaintWindow); + + if (!(mask & PAINT_WINDOW_TRANSFORMED_MASK) && region->numRects == 0) + return TRUE; + + x1 = w->attrib.x + SPACE; + x2 = w->attrib.x + w->width - SPACE; + + x = x1 + ss->pos; + y = w->attrib.y + SPACE; + + filter = s->display->textureFilter; + + if (ss->opt[SWITCH_SCREEN_OPTION_MIPMAP].value.b) + s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; + + glPushAttrib (GL_SCISSOR_BIT); + + glEnable (GL_SCISSOR_TEST); + glScissor (x1, 0, x2 - x1, w->screen->height); + + for (i = 0; i < ss->nWindows; i++) + { + if (x + WIDTH > x1) + switchPaintThumb (ss->windows[i], &w->lastPaint, transform, + mask, x, y, x1, x2); + + x += WIDTH; + } + + for (i = 0; i < ss->nWindows; i++) + { + if (x > x2) + break; + + switchPaintThumb (ss->windows[i], &w->lastPaint, transform, mask, + x, y, x1, x2); + + x += WIDTH; + } + + glPopAttrib (); + + s->display->textureFilter = filter; + + cx = w->attrib.x + (w->width >> 1); + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glEnable (GL_BLEND); + glColor4us (0, 0, 0, w->lastPaint.opacity); + glPushMatrix (); + glTranslatef (cx, y, 0.0f); + glVertexPointer (2, GL_FLOAT, 0, _boxVertices); + glDrawArrays (GL_QUADS, 0, 16); + glPopMatrix (); + glColor4usv (defaultColor); + glDisable (GL_BLEND); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + } + else if (w->id == ss->selectedWindow) + { + if (ss->opt[SWITCH_SCREEN_OPTION_BRINGTOFRONT].value.b && + ss->selectedWindow == ss->zoomedWindow) + zoomType = ZOOMED_WINDOW_MASK; + + if (!(ss->zoomMask & zoomType)) + return (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) ? + FALSE : TRUE; + + UNWRAP (ss, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ss, s, paintWindow, switchPaintWindow); + } + else if (ss->switching) + { + WindowPaintAttrib sAttrib = *attrib; + + if (ss->saturation != COLOR) + sAttrib.saturation = (sAttrib.saturation * ss->saturation) >> 16; + + if (ss->brightness != 0xffff) + sAttrib.brightness = (sAttrib.brightness * ss->brightness) >> 16; + + if (w->wmType & ~(CompWindowTypeDockMask | CompWindowTypeDesktopMask)) + { + if (ss->opacity != OPAQUE) + sAttrib.opacity = (sAttrib.opacity * ss->opacity) >> 16; + + if (ss->opt[SWITCH_SCREEN_OPTION_BRINGTOFRONT].value.b && + w->id == ss->zoomedWindow) + zoomType = ZOOMED_WINDOW_MASK; + } + + /* i dont like the desktop zooming :p*/ + /*if (ss->opt[SWITCH_SCREEN_OPTION_BRINGTOFRONT].value.b && + w->id == ss->zoomedWindow) + zoomType = ZOOMED_WINDOW_MASK; + */ + if (!(ss->zoomMask & zoomType)) + return (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) ? + FALSE : TRUE; + + UNWRAP (ss, s, paintWindow); + status = (*s->paintWindow) (w, &sAttrib, transform, region, mask); + WRAP (ss, s, paintWindow, switchPaintWindow); + } + else + { + if (!(ss->zoomMask & zoomType)) + return (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) ? + FALSE : TRUE; + + UNWRAP (ss, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ss, s, paintWindow, switchPaintWindow); + } + + return status; +} + +static void +switchPaintBackground (CompScreen *s, + Region region, + unsigned int mask) +{ + SWITCH_SCREEN (s); + + if (!(ss->zoomMask & NORMAL_WINDOW_MASK)) + return; + + UNWRAP (ss, s, paintBackground); + (*s->paintBackground) (s, region, mask); + WRAP (ss, s, paintBackground, switchPaintBackground); +} + +static Bool +switchDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status; + + SWITCH_SCREEN (w->screen); + + if (ss->grabIndex) + { + CompWindow *popup; + int i; + + for (i = 0; i < ss->nWindows; i++) + { + if (ss->windows[i] == w) + { + popup = findWindowAtScreen (w->screen, ss->popupWindow); + if (popup) + addWindowDamage (popup); + + break; + } + } + } + + UNWRAP (ss, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (ss, w->screen, damageWindowRect, switchDamageWindowRect); + + return status; +} + +static CompOption * +switchGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + SWITCH_DISPLAY (display); + + *count = NUM_OPTIONS (sd); + return sd->opt; +} + +static Bool +switchSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + SWITCH_DISPLAY (display); + + o = compFindOption (sd->opt, NUM_OPTIONS (sd), name, NULL); + if (!o) + return FALSE; + + return compSetDisplayOption (display, o, value); +} + +static const CompMetadataOptionInfo switchDisplayOptionInfo[] = { + { "next", "action", 0, switchNext, switchTerminate }, + { "prev", "action", 0, switchPrev, switchTerminate }, + { "next_all", "action", 0, switchNextAll, switchTerminate }, + { "prev_all", "action", 0, switchPrevAll, switchTerminate }, + { "next_no_popup", "action", 0, switchNextNoPopup, switchTerminate }, + { "prev_no_popup", "action", 0, switchPrevNoPopup, switchTerminate } +}; + +static Bool +switchInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + SwitchDisplay *sd; + + sd = malloc (sizeof (SwitchDisplay)); + if (!sd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &switchMetadata, + switchDisplayOptionInfo, + sd->opt, + SWITCH_DISPLAY_OPTION_NUM)) + { + free (sd); + return FALSE; + } + + sd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (sd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, sd->opt, SWITCH_DISPLAY_OPTION_NUM); + free (sd); + return FALSE; + } + + sd->selectWinAtom = XInternAtom (d->display, + DECOR_SWITCH_WINDOW_ATOM_NAME, 0); + + WRAP (sd, d, handleEvent, switchHandleEvent); + + d->privates[displayPrivateIndex].ptr = sd; + + return TRUE; +} + +static void +switchFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + SWITCH_DISPLAY (d); + + freeScreenPrivateIndex (d, sd->screenPrivateIndex); + + UNWRAP (sd, d, handleEvent); + + compFiniDisplayOptions (d, sd->opt, SWITCH_DISPLAY_OPTION_NUM); + + free (sd); +} + +static const CompMetadataOptionInfo switchScreenOptionInfo[] = { + { "speed", "float", "0.1", 0, 0 }, + { "timestep", "float", "0.1", 0, 0 }, + { "window_match", "match", 0, 0, 0 }, + { "mipmap", "bool", 0, 0, 0 }, + { "saturation", "int", "0100", 0, 0 }, + { "brightness", "int", "0100", 0, 0 }, + { "opacity", "int", "0100", 0, 0 }, + { "bring_to_front", "bool", 0, 0, 0 }, + { "zoom", "float", "0", 0, 0 }, + { "icon", "bool", 0, 0, 0 }, + { "minimized", "bool", 0, 0, 0 }, + { "auto_rotate", "bool", 0, 0, 0 } +}; + +static Bool +switchInitScreen (CompPlugin *p, + CompScreen *s) +{ + SwitchScreen *ss; + + SWITCH_DISPLAY (s->display); + + ss = malloc (sizeof (SwitchScreen)); + if (!ss) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &switchMetadata, + switchScreenOptionInfo, + ss->opt, + SWITCH_SCREEN_OPTION_NUM)) + { + free (ss); + return FALSE; + } + + ss->popupWindow = None; + + ss->selectedWindow = None; + ss->zoomedWindow = None; + + ss->lastActiveNum = 0; + + ss->windows = 0; + ss->nWindows = 0; + ss->windowsSize = 0; + + ss->pos = ss->move = 0; + + ss->switching = FALSE; + + ss->grabIndex = 0; + + ss->zoom = ss->opt[SWITCH_SCREEN_OPTION_ZOOM].value.f / 30.0f; + + ss->zooming = (ss->opt[SWITCH_SCREEN_OPTION_ZOOM].value.f > 0.05f); + + ss->zoomMask = ~0; + + ss->moreAdjust = 0; + + ss->mVelocity = 0.0f; + ss->tVelocity = 0.0f; + ss->sVelocity = 0.0f; + + ss->translate = 0.0f; + ss->sTranslate = 0.0f; + + ss->saturation = + (COLOR * ss->opt[SWITCH_SCREEN_OPTION_SATURATION].value.i) / 100; + ss->brightness = + (0xffff * ss->opt[SWITCH_SCREEN_OPTION_BRIGHTNESS].value.i) / 100; + ss->opacity = + (OPAQUE * ss->opt[SWITCH_SCREEN_OPTION_OPACITY].value.i) / 100; + + ss->allWindows = FALSE; + + WRAP (ss, s, preparePaintScreen, switchPreparePaintScreen); + WRAP (ss, s, donePaintScreen, switchDonePaintScreen); + WRAP (ss, s, paintOutput, switchPaintOutput); + WRAP (ss, s, paintWindow, switchPaintWindow); + WRAP (ss, s, paintBackground, switchPaintBackground); + WRAP (ss, s, damageWindowRect, switchDamageWindowRect); + + s->privates[sd->screenPrivateIndex].ptr = ss; + + return TRUE; +} + +static void +switchFiniScreen (CompPlugin *p, + CompScreen *s) +{ + SWITCH_SCREEN (s); + + UNWRAP (ss, s, preparePaintScreen); + UNWRAP (ss, s, donePaintScreen); + UNWRAP (ss, s, paintOutput); + UNWRAP (ss, s, paintWindow); + UNWRAP (ss, s, paintBackground); + UNWRAP (ss, s, damageWindowRect); + + if (ss->windowsSize) + free (ss->windows); + + compFiniScreenOptions (s, ss->opt, SWITCH_SCREEN_OPTION_NUM); + + free (ss); +} + +static Bool +switchInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&switchMetadata, + p->vTable->name, + switchDisplayOptionInfo, + SWITCH_DISPLAY_OPTION_NUM, + switchScreenOptionInfo, + SWITCH_SCREEN_OPTION_NUM)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&switchMetadata); + return FALSE; + } + + compAddMetadataFromFile (&switchMetadata, p->vTable->name); + + return TRUE; +} + +static void +switchFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&switchMetadata); +} + +static int +switchGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +switchGetMetadata (CompPlugin *plugin) +{ + return &switchMetadata; +} + +CompPluginVTable switchVTable = { + "switcher", + switchGetVersion, + switchGetMetadata, + switchInit, + switchFini, + switchInitDisplay, + switchFiniDisplay, + switchInitScreen, + switchFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + switchGetDisplayOptions, + switchSetDisplayOption, + switchGetScreenOptions, + switchSetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &switchVTable; +} diff --git a/plugins/video.c b/plugins/video.c new file mode 100644 index 0000000..78430e8 --- /dev/null +++ b/plugins/video.c @@ -0,0 +1,1389 @@ +/* + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +/* + * ecomp composited video + * + * supported image formats: + * + * RGB - packed RGB colorspace + * + * +---------------+ + * | | width = image-width + * | | height = image-height + * | RGB | + * | | any pixmap depth with a matching + * | | fb-config can be used. + * +---------------+ + + * YV12 - planar YV12 colorspace + * + * +---------------+ + * | | width = image-width + * | | height = image-height + image-height / 2 + * | Y | depth = 8 + * | | + * | | alpha only fb-config with pixmap support + * +-------+-------+ must be available. + * | | | + * | V | U | + * | | | + * +---------------+ + * + */ + +static CompMetadata videoMetadata; + +typedef struct _VideoTexture { + struct _VideoTexture *next; + int refCount; + Pixmap pixmap; + int width; + int height; + Damage damage; + CompTexture texture; +} VideoTexture; + +typedef struct _VideoFunction { + struct _VideoFunction *next; + + int handle; + int target; + int param; +} VideoFunction; + +#define IMAGE_FORMAT_RGB 0 +#define IMAGE_FORMAT_YV12 1 +#define IMAGE_FORMAT_NUM 2 + +static int displayPrivateIndex; + +#define VIDEO_DISPLAY_OPTION_YV12 0 +#define VIDEO_DISPLAY_OPTION_NUM 1 + +typedef struct _VideoDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + VideoTexture *textures; + Atom videoAtom; + Atom videoSupportedAtom; + Atom videoImageFormatAtom[IMAGE_FORMAT_NUM]; + + CompOption opt[VIDEO_DISPLAY_OPTION_NUM]; +} VideoDisplay; + +typedef struct _VideoScreen { + int windowPrivateIndex; + + DrawWindowProc drawWindow; + DrawWindowTextureProc drawWindowTexture; + DamageWindowRectProc damageWindowRect; + + WindowMoveNotifyProc windowMoveNotify; + WindowResizeNotifyProc windowResizeNotify; + + VideoFunction *yv12Functions; + + Bool imageFormat[IMAGE_FORMAT_NUM]; +} VideoScreen; + +typedef struct _VideoSource { + VideoTexture *texture; + int format; + decor_point_t p1; + decor_point_t p2; + Bool aspect; + float aspectRatio; + float panScan; + int width; + int height; +} VideoSource; + +typedef struct _VideoContext { + VideoSource *source; + int width; + int height; + REGION box; + CompMatrix matrix; + Bool scaled; + float panX; + float panY; + Bool full; +} VideoContext; + +typedef struct _VideoWindow { + VideoSource *source; + VideoContext *context; + Window videoWindow; + Pixmap videoPixmap; + + Damage damage; + int x; + int y; + int width; + int height; + +} VideoWindow; + +#define GET_VIDEO_DISPLAY(d) \ + ((VideoDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define VIDEO_DISPLAY(d) \ + VideoDisplay *vd = GET_VIDEO_DISPLAY (d) + +#define GET_VIDEO_SCREEN(s, vd) \ + ((VideoScreen *) (s)->privates[(vd)->screenPrivateIndex].ptr) + +#define VIDEO_SCREEN(s) \ + VideoScreen *vs = GET_VIDEO_SCREEN (s, GET_VIDEO_DISPLAY (s->display)) + +#define GET_VIDEO_WINDOW(w, vs) \ + ((VideoWindow *) (w)->privates[(vs)->windowPrivateIndex].ptr) + +#define VIDEO_WINDOW(w) \ + VideoWindow *vw = GET_VIDEO_WINDOW (w, \ + GET_VIDEO_SCREEN (w->screen, \ + GET_VIDEO_DISPLAY (w->screen->display))) + +#define NUM_OPTIONS(d) (sizeof ((d)->opt) / sizeof (CompOption)) + +static void +videoSetSupportedHint (CompScreen *s) +{ + Atom data[16]; + int i, n = 0; + + VIDEO_DISPLAY (s->display); + VIDEO_SCREEN (s); + + for (i = 0; i < IMAGE_FORMAT_NUM; i++) + { + if (!vs->imageFormat[i]) + continue; + + if (i == 0 || vd->opt[i - 1].value.b) + data[n++] = vd->videoImageFormatAtom[i]; + } + + XChangeProperty (s->display->display, s->root, + vd->videoSupportedAtom, XA_ATOM, 32, + PropModeReplace, (unsigned char *) data, n); +} + +static CompOption * +videoGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + VIDEO_DISPLAY (display); + + *count = NUM_OPTIONS (vd); + return vd->opt; +} + +static Bool +videoSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + VIDEO_DISPLAY (display); + + o = compFindOption (vd->opt, NUM_OPTIONS (vd), name, &index); + if (!o) + return FALSE; + + switch (index) { + case VIDEO_DISPLAY_OPTION_YV12: + if (compSetBoolOption (o, value)) + { + CompScreen *s; + + for (s = display->screens; s; s = s->next) + videoSetSupportedHint (s); + } + default: + break; + } + + return FALSE; +} + +static int +getYV12FragmentFunction (CompScreen *s, + CompTexture *texture, + int param) +{ + VideoFunction *function; + CompFunctionData *data; + int target; + + VIDEO_SCREEN (s); + + if (texture->target == GL_TEXTURE_2D) + target = COMP_FETCH_TARGET_2D; + else + target = COMP_FETCH_TARGET_RECT; + + for (function = vs->yv12Functions; function; function = function->next) + if (function->param == param && function->target == target) + return function->handle; + + data = createFunctionData (); + if (data) + { + static char *temp[] = { "uv", "tmp", "position" }; + int i, handle = 0; + char str[1024]; + Bool ok = TRUE; + + for (i = 0; i < sizeof (temp) / sizeof (temp[0]); i++) + ok &= addTempHeaderOpToFunctionData (data, temp[i]); + + snprintf (str, 1024, + "MOV position, fragment.texcoord[0];" + "MAX position, position, program.env[%d];" + "MIN position, position, program.env[%d].zwww;", + param, param); + + ok &= addDataOpToFunctionData (data, str); + + if (target == COMP_FETCH_TARGET_RECT) + { + snprintf (str, 1024, + "TEX output, position, texture[0], RECT;" + "MOV output, output.a;"); + + ok &= addDataOpToFunctionData (data, str); + + if (s->glxPixmapFBConfigs[8].yInverted) + { + snprintf (str, 1024, + "MAD position, position, 0.5, program.env[%d].xy;", + param + 1); + } + else + { + snprintf (str, 1024, + "ADD position, position, program.env[%d].xy;" + "MUL position, position, 0.5;", + param + 1); + } + + ok &= addDataOpToFunctionData (data, str); + + snprintf (str, 1024, + "TEX tmp, position, texture[0], RECT;" + "MOV uv, tmp.a;" + "MAD output, output, 1.164, -0.073;" + "ADD position.x, position.x, program.env[%d].z;" + "TEX tmp, position, texture[0], RECT;" + "MOV uv.y, tmp.a;", + param + 1); + } + else + { + snprintf (str, 1024, + "TEX output, position, texture[0], 2D;" + "MOV output, output.a;"); + + ok &= addDataOpToFunctionData (data, str); + + if (s->glxPixmapFBConfigs[8].yInverted) + { + snprintf (str, 1024, + "MAD position, position, 0.5, { 0.0, %f };", + 2.0f / 3.0f); + } + else + { + snprintf (str, 1024, + "SUB position, position, { 0.0, %f };" + "MUL position, position, 0.5;", + 1.0f / 3.0f); + } + + ok &= addDataOpToFunctionData (data, str); + + snprintf (str, 1024, + "TEX tmp, position, texture[0], 2D;" + "MOV uv, tmp.a;" + "MAD output, output, 1.164, -0.073;" + "ADD position.x, position.x, 0.5;" + "TEX tmp, position, texture[0], 2D;" + "MOV uv.y, tmp.a;"); + } + + ok &= addDataOpToFunctionData (data, str); + + snprintf (str, 1024, + "SUB uv, uv, { 0.5, 0.5 };" + "MAD output.xyz, { 1.596, -0.813, 0.0 }, uv.xxxw, output;" + "MAD output.xyz, { 0.0, -0.391, 2.018 }, uv.yyyw, output;" + "MOV output.a, 1.0;"); + + ok &= addDataOpToFunctionData (data, str); + + if (!ok) + { + destroyFunctionData (data); + return 0; + } + + function = malloc (sizeof (VideoFunction)); + if (function) + { + handle = createFragmentFunction (s, "video", data); + + function->handle = handle; + function->target = target; + function->param = param; + + function->next = vs->yv12Functions; + vs->yv12Functions = function; + } + + destroyFunctionData (data); + + return handle; + } + + return 0; +} + +static void +videoDestroyFragmentFunctions (CompScreen *s, + VideoFunction **videoFunctions) +{ + VideoFunction *function, *next; + + function = *videoFunctions; + while (function) + { + destroyFragmentFunction (s, function->handle); + + next = function->next; + free (function); + function = next; + } + + *videoFunctions = NULL; +} + +static void +videoDrawWindowTexture (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *attrib, + unsigned int mask) +{ + CompScreen *s = w->screen; + + VIDEO_SCREEN (s); + VIDEO_WINDOW (w); + + if (vw->context) + { + VideoSource *src = vw->context->source; + + if (src->format == IMAGE_FORMAT_YV12 && + &src->texture->texture == texture) + { + FragmentAttrib fa = *attrib; + int param, function; + + param = allocFragmentParameters (&fa, 2); + + function = getYV12FragmentFunction (s, texture, param); + if (function) + { + float minX, minY, maxX, maxY, y1, y2; + + addFragmentFunction (&fa, function); + + minX = COMP_TEX_COORD_X (&texture->matrix, 1.0f); + maxX = COMP_TEX_COORD_X (&texture->matrix, src->width - 1.0f); + + y1 = COMP_TEX_COORD_Y (&texture->matrix, 1.0f); + y2 = COMP_TEX_COORD_Y (&texture->matrix, src->height - 1.0f); + + minY = MIN (y1, y2); + maxY = MAX (y1, y2); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, param, + minX, minY, maxX, maxY); + + /* need to provide plane offsets when texture coordinates + are not normalized */ + if (texture->target != GL_TEXTURE_2D) + { + float offsetX, offsetY; + + offsetX = COMP_TEX_COORD_X (&texture->matrix, + src->width / 2); + + if (s->glxPixmapFBConfigs[8].yInverted) + offsetY = COMP_TEX_COORD_Y (&texture->matrix, + src->height); + else + offsetY = COMP_TEX_COORD_Y (&texture->matrix, + -src->height / 2); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, + param + 1, + 0.0f, offsetY, offsetX, 0.0f); + } + } + + UNWRAP (vs, s, drawWindowTexture); + (*s->drawWindowTexture) (w, texture, &fa, mask); + WRAP (vs, s, drawWindowTexture, videoDrawWindowTexture); + } + else + { + if (!(mask & PAINT_WINDOW_BLEND_MASK)) + { + /* we don't have to draw client window texture when + video cover the full window and blending isn't used */ + if (vw->context->full && texture == w->texture) + return; + } + + UNWRAP (vs, s, drawWindowTexture); + (*s->drawWindowTexture) (w, texture, attrib, mask); + WRAP (vs, s, drawWindowTexture, videoDrawWindowTexture); + } + } + else + { + UNWRAP (vs, s, drawWindowTexture); + (*s->drawWindowTexture) (w, texture, attrib, mask); + WRAP (vs, s, drawWindowTexture, videoDrawWindowTexture); + } +} + +static Bool +videoDrawWindow (CompWindow *w, + const CompTransform *transform, + const FragmentAttrib *attrib, + Region region, + unsigned int mask) +{ + Bool status; + + VIDEO_SCREEN (w->screen); + + UNWRAP (vs, w->screen, drawWindow); + status = (*w->screen->drawWindow) (w, transform, attrib, region, mask); + WRAP (vs, w->screen, drawWindow, videoDrawWindow); + + if (status) + { + VIDEO_WINDOW (w); + + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + region = &infiniteRegion; + + if (vw->context && region->numRects) + { + CompTexture *texture = &vw->context->source->texture->texture; + int saveFilter; + + w->vCount = w->indexCount = 0; + + if (vw->context->box.extents.x1 < vw->context->box.extents.x2 && + vw->context->box.extents.y1 < vw->context->box.extents.y2) + { + (*w->screen->addWindowGeometry) (w, + &vw->context->matrix, 1, + &vw->context->box, + region); + } + + if (mask & PAINT_WINDOW_TRANSLUCENT_MASK) + mask |= PAINT_WINDOW_BLEND_MASK; + + saveFilter = w->screen->filter[NOTHING_TRANS_FILTER]; + + if (vw->context->scaled) + w->screen->filter[NOTHING_TRANS_FILTER] = + COMP_TEXTURE_FILTER_GOOD; + + if (w->vCount) + (*w->screen->drawWindowTexture) (w, texture, attrib, mask); + + w->screen->filter[NOTHING_TRANS_FILTER] = saveFilter; + } + } + + return status; +} + +static VideoTexture * +videoGetTexture (CompScreen *screen, + Pixmap pixmap) +{ + VideoTexture *texture; + unsigned int width, height, depth, ui; + Window root; + int i; + + VIDEO_DISPLAY (screen->display); + + for (texture = vd->textures; texture; texture = texture->next) + { + if (texture->pixmap == pixmap) + { + texture->refCount++; + return texture; + } + } + + texture = malloc (sizeof (VideoTexture)); + if (!texture) + return NULL; + + initTexture (screen, &texture->texture); + + if (!XGetGeometry (screen->display->display, pixmap, &root, + &i, &i, &width, &height, &ui, &depth)) + { + finiTexture (screen, &texture->texture); + free (texture); + return NULL; + } + + if (!bindPixmapToTexture (screen, &texture->texture, pixmap, + width, height, depth)) + { + finiTexture (screen, &texture->texture); + free (texture); + return NULL; + } + + texture->damage = XDamageCreate (screen->display->display, pixmap, + XDamageReportRawRectangles); + + texture->refCount = 1; + texture->pixmap = pixmap; + texture->width = width; + texture->height = height; + texture->next = vd->textures; + + vd->textures = texture; + + return texture; +} + +static void +videoReleaseTexture (CompScreen *screen, + VideoTexture *texture) +{ + VIDEO_DISPLAY (screen->display); + + texture->refCount--; + if (texture->refCount) + return; + + if (texture == vd->textures) + { + vd->textures = texture->next; + } + else + { + VideoTexture *t; + + for (t = vd->textures; t; t = t->next) + { + if (t->next == texture) + { + t->next = texture->next; + break; + } + } + } + + finiTexture (screen, &texture->texture); + free (texture); +} + +static void +updateWindowVideoMatrix (CompWindow *w) +{ + VIDEO_WINDOW (w); + + if (!vw->context) + return; + + vw->context->matrix = vw->context->source->texture->texture.matrix; + + vw->context->matrix.yy /= (float) + vw->context->height / vw->context->source->height; + + if (vw->context->width != vw->context->source->width || + vw->context->height != vw->context->source->height) + { + vw->context->matrix.xx /= (float) + vw->context->width / vw->context->source->width; + + vw->context->scaled = TRUE; + } + else + { + vw->context->scaled = FALSE; + } + + vw->context->matrix.x0 -= + (vw->context->box.extents.x1 * vw->context->matrix.xx); + vw->context->matrix.y0 -= + (vw->context->box.extents.y1 * vw->context->matrix.yy); + + vw->context->matrix.x0 += (vw->context->panX * vw->context->matrix.xx); + vw->context->matrix.y0 += (vw->context->panY * vw->context->matrix.yy); +} + +static void +updateWindowVideoContext (CompWindow *w, + VideoSource *source) +{ + int x1, y1, x2, y2; + + VIDEO_WINDOW (w); + + if (!vw->context) + { + vw->context = malloc (sizeof (VideoContext)); + if (!vw->context) + return; + } + + vw->context->source = source; + + vw->context->box.rects = &vw->context->box.extents; + vw->context->box.numRects = 1; + /* + decor_apply_gravity (source->p1.gravity, + source->p1.x, source->p1.y, + w->width, w->height, + &x1, &y1); + + decor_apply_gravity (source->p2.gravity, + source->p2.x, source->p2.y, + w->width, w->height, + &x2, &y2); + */ + x1 = MAX (0, vw->x); + y1 = MAX (0, vw->y); + x2 = MIN (w->width, vw->width); + y2 = MIN (w->height, vw->height); + //printf("updateWindowVideoContext %d:%d %dx%d\n", x1,y1, x2,y2); + + vw->context->width = vw->width; //x2 - x1; + vw->context->height = vw->height; //y2 - y1; + + vw->context->panX = 0.0f; + vw->context->panY = 0.0f; + + if (source->aspect) + { + float aspect, width, height, v; + + width = vw->context->width; + height = vw->context->height; + + aspect = width / height; + + if (aspect < source->aspectRatio) + { + v = (width + width * source->panScan) / source->aspectRatio; + height = MIN (vw->context->height, v); + width = height * source->aspectRatio; + } + else + { + v = (height + height * source->panScan) * source->aspectRatio; + width = MIN (vw->context->width, v); + height = width / source->aspectRatio; + } + + /*x1 = (vw->context->width / 2.0f) - (width / 2.0f); + y1 = (vw->context->height / 2.0f) - (height / 2.0f); + x2 = ((vw->context->width / 2.0f) + (width / 2.0f) + 0.5f); + y2 = ((vw->context->height / 2.0f) + (height / 2.0f) + 0.5f);*/ + + x1 = (vw->context->width / 2.0f) - (width / 2.0f); + y1 = (vw->context->height / 2.0f) - (height / 2.0f); + x2 = ((vw->context->width / 2.0f) + (width / 2.0f) + 0.5f); + y2 = ((vw->context->height / 2.0f) + (height / 2.0f) + 0.5f); + + vw->context->width = x2 - x1; + vw->context->height = y2 - y1; + + if (x1 < 0) + vw->context->panX = -x1; + + if (y1 < 0) + vw->context->panY = -y1; + + x1 = MAX (x1, 0); + y1 = MAX (y1, 0); + x2 = MIN (x2, w->width); + y2 = MIN (y2, w->height); + } + + if (x1 == 0 && + y1 == 0 && + x2 == w->width && + y2 == w->height) + { + vw->context->full = TRUE; + } + else + { + vw->context->full = FALSE; + } + + vw->context->full = FALSE; + + vw->context->box.extents.x1 = x1; + vw->context->box.extents.y1 = y1; + vw->context->box.extents.x2 = x2 + x1; + vw->context->box.extents.y2 = y2 + y1; + /* printf("updateWindowVideoContext %d:%d %dx%d\n", vw->context->box.extents.x1, + vw->context->box.extents.y1, + vw->context->box.extents.x2, + vw->context->box.extents.y2);*/ + vw->context->box.extents.x1 += w->attrib.x; + vw->context->box.extents.y1 += w->attrib.y; + vw->context->box.extents.x2 += w->attrib.x; + vw->context->box.extents.y2 += w->attrib.y; + + updateWindowVideoMatrix (w); +} + +static void +videoWindowUpdate (CompWindow *w) +{ + Atom actual; + int result, format, i; + unsigned long n, left; + unsigned char *propData; + VideoTexture *texture = NULL; + Pixmap pixmap = None; + Atom imageFormat = 0; + decor_point_t p[2]; + int aspectX = 0; + int aspectY = 0; + int panScan = 0; + int width = 0; + int height = 0; + + VIDEO_DISPLAY (w->screen->display); + VIDEO_SCREEN (w->screen); + VIDEO_WINDOW (w); + + memset (p, 0, sizeof (p)); + + result = XGetWindowProperty (w->screen->display->display, vw->videoWindow, + vd->videoAtom, 0L, 13L, FALSE, + XA_INTEGER, &actual, &format, + &n, &left, &propData); + + if (result == Success && n && propData) + { + if (n == 13) + { + long *data = (long *) propData; + + pixmap = *data++; + imageFormat = *data++; + + width = *data++; + height = *data++; + + aspectX = *data++; + aspectY = *data++; + panScan = *data++; + + p[0].gravity = *data++; + p[0].x = *data++; + p[0].y = *data++; + p[1].gravity = *data++; + p[1].x = *data++; + p[1].y = *data++; + } + + XFree (propData); + } + + for (i = 0; i < IMAGE_FORMAT_NUM; i++) + if (vd->videoImageFormatAtom[i] == imageFormat) + break; + + if (i < IMAGE_FORMAT_NUM) + { + if (!vs->imageFormat[i]) + { + compLogMessage (w->screen->display, "video", CompLogLevelWarn, + "Image format not supported"); + i = IMAGE_FORMAT_NUM; + } + } + + if (i < IMAGE_FORMAT_NUM) + { + texture = videoGetTexture (w->screen, pixmap); + if (!texture) + { + compLogMessage (w->screen->display, "video", CompLogLevelWarn, + "Bad pixmap 0x%x", + (int) pixmap); + } + } + + if (vw->source) + { + videoReleaseTexture (w->screen, vw->source->texture); + } + else + { + vw->source = malloc (sizeof (VideoSource)); + } + + if (texture && vw->source) + { + vw->source->texture = texture; + vw->source->format = i; + vw->source->p1 = p[0]; + vw->source->p2 = p[1]; + vw->source->width = width; + vw->source->height = height; + vw->source->aspect = aspectX && aspectY; + vw->source->panScan = panScan / 65536.0f; + + if (vw->source->aspect) + vw->source->aspectRatio = (float) aspectX / aspectY; + + updateWindowVideoContext (w, vw->source); + } + else + { + if (texture) + videoReleaseTexture (w->screen, texture); + + if (vw->source) + { + free (vw->source); + vw->source = NULL; + } + + if (vw->context) + { + free (vw->context); + vw->context = NULL; + } + } +} + +static void +videoHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompWindow *w; + + VIDEO_DISPLAY (d); + + switch (event->type) { + case ClientMessage: + //printf("got client message\n"); + if (event->xclient.message_type == vd->videoAtom) + { + Window client = (Window)event->xclient.data.l[0]; + + printf("got video message 0x%x\n", (Window)event->xclient.data.l[0]); + w = findWindowAtDisplay (d, client); + if (w) + { + VIDEO_WINDOW(w); + + vw->videoWindow = event->xclient.window; + vw->damage = XDamageCreate (d->display, + //(Pixmap)event->xclient.data.l[1], + event->xclient.window, + XDamageReportBoundingBox); + videoWindowUpdate (w); + } + + } + /* + case PropertyNotify: + if (event->xproperty.atom == vd->videoAtom) + { + printf("got video property\n"); + + w = findWindow (d, event->xproperty.window); + if (w) + videoWindowUpdate (w); + } + break; + */ + default: + if (event->type == d->damageEvent + XDamageNotify) + { + XDamageNotifyEvent *de = (XDamageNotifyEvent *) event; + VideoTexture *t; + + VideoWindow *vw; + VideoScreen *vs; + CompScreen *s; + BoxRec box; + int bw; + + for (s = d->screens; s; s = s->next) + { + vs = GET_VIDEO_SCREEN (s, vd); + + for (w = s->windows; w; w = w->next) + { + if (w->shaded || w->mapNum) + { + vw = GET_VIDEO_WINDOW (w, vs); + + if(vw->videoWindow == de->drawable) + { + /* printf("got video damagen\n %d:%d %dx%d\n %d:%d %dx%d\n", + de->geometry.x, de->geometry.y, de->geometry.width, de->geometry.height, + de->area.x, de->area.y, de->area.width, de->area.height); + */ + vw->x = de->geometry.x - w->attrib.x; + vw->y = de->geometry.y - w->attrib.y; + vw->width = de->geometry.width; + vw->height = de->geometry.height; + + box.x1 = de->geometry.x; + box.y1 = de->geometry.y; + box.x2 = de->geometry.width; + box.y2 = de->geometry.height; + + addWindowDamageRect (w, &box); + + updateWindowVideoContext (w, vw->source); + + /*if((de->geometry.x != vw->context->box.extents.x1) || + (de->geometry.y != vw->context->box.extents.y1) || + (de->geometry.x + de->geometry.width != vw->context->box.extents.x2) || + (de->geometry.y + de->geometry.height != vw->context->box.extents.y2)) + { + /*vw->context->box.extents.x1 = de->geometry.x; + vw->context->box.extents.y1 = de->geometry.y; + vw->context->box.extents.x2 = de->geometry.x + de->geometry.width; + vw->context->box.extents.y2 = de->geometry.y + de->geometry.height; + + //if (vw->source) + + // } + */ + } + } + } + } + + for (t = vd->textures; t; t = t->next) + { + if (t->pixmap == de->drawable) + { + VideoWindow *vw; + VideoScreen *vs; + CompScreen *s; + BoxRec box; + int bw; + + t->texture.oldMipmaps = TRUE; + + for (s = d->screens; s; s = s->next) + { + vs = GET_VIDEO_SCREEN (s, vd); + + for (w = s->windows; w; w = w->next) + { + if (w->shaded || w->mapNum) + { + vw = GET_VIDEO_WINDOW (w, vs); + + if (vw->context && + vw->context->source->texture == t) + { + box = vw->context->box.extents; + + bw = w->attrib.border_width; + + box.x1 -= w->attrib.x + bw; + box.y1 -= w->attrib.y + bw; + box.x2 -= w->attrib.x + bw; + box.y2 -= w->attrib.y + bw; + + addWindowDamageRect (w, &box); + } + } + } + } + return; + } + } + } + break; + } + + UNWRAP (vd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (vd, d, handleEvent, videoHandleEvent); +} + +static Bool +videoDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status; + + VIDEO_SCREEN (w->screen); + + if (initial) + videoWindowUpdate (w); + + UNWRAP (vs, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (vs, w->screen, damageWindowRect, videoDamageWindowRect); + + return status; +} + +static void +videoWindowMoveNotify (CompWindow *w, + int dx, + int dy, + Bool immediate) +{ + VIDEO_SCREEN (w->screen); + VIDEO_WINDOW (w); + + if (vw->context) + { + vw->context->box.extents.x1 += dx; + vw->context->box.extents.y1 += dy; + vw->context->box.extents.x2 += dx; + vw->context->box.extents.y2 += dy; + + updateWindowVideoMatrix (w); + } + + UNWRAP (vs, w->screen, windowMoveNotify); + (*w->screen->windowMoveNotify) (w, dx, dy, immediate); + WRAP (vs, w->screen, windowMoveNotify, videoWindowMoveNotify); +} + +static void +videoWindowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ + VIDEO_SCREEN (w->screen); + VIDEO_WINDOW (w); + + if (vw->source) + updateWindowVideoContext (w, vw->source); + + UNWRAP (vs, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP (vs, w->screen, windowResizeNotify, videoWindowResizeNotify); +} + +static const CompMetadataOptionInfo videoDisplayOptionInfo[] = { + { "yv12", "bool", 0, 0, 0 } +}; + +static Bool +videoInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + VideoDisplay *vd; + + vd = malloc (sizeof (VideoDisplay)); + if (!vd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &videoMetadata, + videoDisplayOptionInfo, + vd->opt, + VIDEO_DISPLAY_OPTION_NUM)) + { + free (vd); + return FALSE; + } + + vd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (vd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, vd->opt, VIDEO_DISPLAY_OPTION_NUM); + free (vd); + return FALSE; + } + + vd->textures = 0; + + vd->videoAtom = + XInternAtom (d->display, "_COMPIZ_VIDEO", 0); + vd->videoSupportedAtom = + XInternAtom (d->display, "_COMPIZ_VIDEO_SUPPORTED", 0); + + vd->videoImageFormatAtom[IMAGE_FORMAT_RGB] = + XInternAtom (d->display, "_COMPIZ_VIDEO_IMAGE_FORMAT_RGB", 0); + vd->videoImageFormatAtom[IMAGE_FORMAT_YV12] = + XInternAtom (d->display, "_COMPIZ_VIDEO_IMAGE_FORMAT_YV12", 0); + + WRAP (vd, d, handleEvent, videoHandleEvent); + + d->privates[displayPrivateIndex].ptr = vd; + + return TRUE; +} + +static void +videoFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + VIDEO_DISPLAY (d); + + freeScreenPrivateIndex (d, vd->screenPrivateIndex); + + UNWRAP (vd, d, handleEvent); + + compFiniDisplayOptions (d, vd->opt, VIDEO_DISPLAY_OPTION_NUM); + + free (vd); +} + +static Bool +videoInitScreen (CompPlugin *p, + CompScreen *s) +{ + VideoScreen *vs; + + VIDEO_DISPLAY (s->display); + + vs = malloc (sizeof (VideoScreen)); + if (!vs) + return FALSE; + + vs->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (vs->windowPrivateIndex < 0) + { + free (vs); + return FALSE; + } + + vs->yv12Functions = NULL; + + memset (vs->imageFormat, 0, sizeof (vs->imageFormat)); + + vs->imageFormat[IMAGE_FORMAT_RGB] = TRUE; + if (s->fragmentProgram) + { + if (s->glxPixmapFBConfigs[8].fbConfig) + { + vs->imageFormat[IMAGE_FORMAT_YV12] = TRUE; + } + else + { + compLogMessage (s->display, "video", CompLogLevelWarn, + "No 8 bit GLX pixmap format, " + "disabling YV12 image format"); + } + } + + WRAP (vs, s, drawWindow, videoDrawWindow); + WRAP (vs, s, drawWindowTexture, videoDrawWindowTexture); + WRAP (vs, s, damageWindowRect, videoDamageWindowRect); + WRAP (vs, s, windowMoveNotify, videoWindowMoveNotify); + WRAP (vs, s, windowResizeNotify, videoWindowResizeNotify); + + s->privates[vd->screenPrivateIndex].ptr = vs; + + videoSetSupportedHint (s); + + return TRUE; +} + +static void +videoFiniScreen (CompPlugin *p, + CompScreen *s) +{ + VIDEO_DISPLAY (s->display); + VIDEO_SCREEN (s); + + freeWindowPrivateIndex (s, vs->windowPrivateIndex); + + XDeleteProperty (s->display->display, s->root, vd->videoSupportedAtom); + + videoDestroyFragmentFunctions (s, &vs->yv12Functions); + + UNWRAP (vs, s, drawWindow); + UNWRAP (vs, s, drawWindowTexture); + UNWRAP (vs, s, damageWindowRect); + UNWRAP (vs, s, windowMoveNotify); + UNWRAP (vs, s, windowResizeNotify); + + free (vs); +} + +static Bool +videoInitWindow (CompPlugin *p, + CompWindow *w) +{ + VideoWindow *vw; + + VIDEO_SCREEN (w->screen); + + vw = malloc (sizeof (VideoWindow)); + if (!vw) + return FALSE; + + vw->source = NULL; + vw->context = NULL; + vw->videoWindow = None; + vw->damage = None; + vw->x = 0; + vw->y = 0; + vw->width = 0; + vw->height = 0; + + w->privates[vs->windowPrivateIndex].ptr = vw; + + if (w->shaded || w->attrib.map_state == IsViewable) + videoWindowUpdate (w); + + return TRUE; +} + +static void +videoFiniWindow (CompPlugin *p, + CompWindow *w) +{ + VIDEO_WINDOW (w); + + if (vw->source) + { + videoReleaseTexture (w->screen, vw->source->texture); + free (vw->source); + } + + if (vw->context) + free (vw->context); + + free (vw); +} + +static Bool +videoInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&videoMetadata, + p->vTable->name, + videoDisplayOptionInfo, + VIDEO_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&videoMetadata); + return FALSE; + } + + compAddMetadataFromFile (&videoMetadata, p->vTable->name); + + return TRUE; +} + +static void +videoFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&videoMetadata); +} + +static int +videoGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +videoGetMetadata (CompPlugin *plugin) +{ + return &videoMetadata; +} + +static CompPluginVTable videoVTable = { + "video", + videoGetVersion, + videoGetMetadata, + videoInit, + videoFini, + videoInitDisplay, + videoFiniDisplay, + videoInitScreen, + videoFiniScreen, + videoInitWindow, + videoFiniWindow, + videoGetDisplayOptions, + videoSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &videoVTable; +} diff --git a/plugins/water.c b/plugins/water.c new file mode 100644 index 0000000..f0370d0 --- /dev/null +++ b/plugins/water.c @@ -0,0 +1,1779 @@ +/* + * Copyright © 2006 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +#include +#include +#include +#include + +#include + +#define TEXTURE_SIZE 256 + +#define K 0.1964f + +#define TEXTURE_NUM 3 + +typedef struct _WaterFunction { + struct _WaterFunction *next; + + int handle; + int target; + int param; + int unit; +} WaterFunction; + +#define TINDEX(ws, i) (((ws)->tIndex + (i)) % TEXTURE_NUM) + +#define CLAMP(v, min, max) \ + if ((v) > (max)) \ + (v) = (max); \ + else if ((v) < (min)) \ + (v) = (min) + +#define WATER_INITIATE_MODIFIERS_DEFAULT (ControlMask | CompSuperMask) + +static CompMetadata waterMetadata; + +static int displayPrivateIndex; + +static int waterLastPointerX = 0; +static int waterLastPointerY = 0; + +#define WATER_DISPLAY_OPTION_INITIATE 0 +#define WATER_DISPLAY_OPTION_TOGGLE_RAIN 1 +#define WATER_DISPLAY_OPTION_TOGGLE_WIPER 2 +#define WATER_DISPLAY_OPTION_OFFSET_SCALE 3 +#define WATER_DISPLAY_OPTION_RAIN_DELAY 4 +#define WATER_DISPLAY_OPTION_TITLE_WAVE 5 +#define WATER_DISPLAY_OPTION_POINT 6 +#define WATER_DISPLAY_OPTION_LINE 7 +#define WATER_DISPLAY_OPTION_NUM 8 + +typedef struct _WaterDisplay { + int screenPrivateIndex; + + CompOption opt[WATER_DISPLAY_OPTION_NUM]; + + HandleEventProc handleEvent; + + float offsetScale; +} WaterDisplay; + +typedef struct _WaterScreen { + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + DrawWindowTextureProc drawWindowTexture; + + int grabIndex; + int width, height; + + GLuint program; + GLuint texture[TEXTURE_NUM]; + + int tIndex; + GLenum target; + GLfloat tx, ty; + + int count; + + GLuint fbo; + GLint fboStatus; + + void *data; + float *d0; + float *d1; + unsigned char *t0; + + CompTimeoutHandle rainHandle; + CompTimeoutHandle wiperHandle; + + float wiperAngle; + float wiperSpeed; + + WaterFunction *bumpMapFunctions; +} WaterScreen; + +#define GET_WATER_DISPLAY(d) \ + ((WaterDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define WATER_DISPLAY(d) \ + WaterDisplay *wd = GET_WATER_DISPLAY (d) + +#define GET_WATER_SCREEN(s, wd) \ + ((WaterScreen *) (s)->privates[(wd)->screenPrivateIndex].ptr) + +#define WATER_SCREEN(s) \ + WaterScreen *ws = GET_WATER_SCREEN (s, GET_WATER_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static Bool +waterRainTimeout (void *closure); + +static Bool +waterWiperTimeout (void *closure); + +static const char *waterFpString = + "!!ARBfp1.0" + + "PARAM param = program.local[0];" + "ATTRIB t11 = fragment.texcoord[0];" + + "TEMP t01, t21, t10, t12;" + "TEMP c11, c01, c21, c10, c12;" + "TEMP prev, v, temp, accel;" + + "TEX prev, t11, texture[0], %s;" + "TEX c11, t11, texture[1], %s;" + + /* sample offsets */ + "ADD t01, t11, { - %f, 0.0, 0.0, 0.0 };" + "ADD t21, t11, { %f, 0.0, 0.0, 0.0 };" + "ADD t10, t11, { 0.0, - %f, 0.0, 0.0 };" + "ADD t12, t11, { 0.0, %f, 0.0, 0.0 };" + + /* fetch nesseccary samples */ + "TEX c01, t01, texture[1], %s;" + "TEX c21, t21, texture[1], %s;" + "TEX c10, t10, texture[1], %s;" + "TEX c12, t12, texture[1], %s;" + + /* x/y normals from height */ + "MOV v, { 0.0, 0.0, 0.75, 0.0 };" + "SUB v.x, c12.w, c10.w;" + "SUB v.y, c01.w, c21.w;" + + /* bumpiness */ + "MUL v, v, 1.5;" + + /* normalize */ + "MAD temp, v.x, v.x, 1.0;" + "MAD temp, v.y, v.y, temp;" + "RSQ temp, temp.x;" + "MUL v, v, temp;" + + /* add scale and bias to normal */ + "MAD v, v, 0.5, 0.5;" + + /* done with computing the normal, continue with computing the next + height value */ + "ADD accel, c10, c12;" + "ADD accel, c01, accel;" + "ADD accel, c21, accel;" + "MAD accel, -4.0, c11, accel;" + + /* store new height in alpha component */ + "MAD v.w, 2.0, c11, -prev.w;" + "MAD v.w, accel, param.x, v.w;" + + /* fade out height */ + "MUL v.w, v.w, param.y;" + + "MOV result.color, v;" + + "END"; + +static int +loadFragmentProgram (CompScreen *s, + GLuint *program, + const char *string) +{ + GLint errorPos; + + /* clear errors */ + glGetError (); + + if (!*program) + (*s->genPrograms) (1, program); + + (*s->bindProgram) (GL_FRAGMENT_PROGRAM_ARB, *program); + (*s->programString) (GL_FRAGMENT_PROGRAM_ARB, + GL_PROGRAM_FORMAT_ASCII_ARB, + strlen (string), string); + + glGetIntegerv (GL_PROGRAM_ERROR_POSITION_ARB, &errorPos); + if (glGetError () != GL_NO_ERROR || errorPos != -1) + { + compLogMessage (s->display, "water", CompLogLevelError, + "failed to load bump map program"); + + (*s->deletePrograms) (1, program); + *program = 0; + + return 0; + } + + return 1; +} + +static int +loadWaterProgram (CompScreen *s) +{ + char buffer[1024]; + + WATER_SCREEN (s); + + if (ws->target == GL_TEXTURE_2D) + sprintf (buffer, waterFpString, + "2D", "2D", + 1.0f / ws->width, 1.0f / ws->width, + 1.0f / ws->height, 1.0f / ws->height, + "2D", "2D", "2D", "2D"); + else + sprintf (buffer, waterFpString, + "RECT", "RECT", + 1.0f, 1.0f, 1.0f, 1.0f, + "RECT", "RECT", "RECT", "RECT"); + + return loadFragmentProgram (s, &ws->program, buffer); +} + +static int +getBumpMapFragmentFunction (CompScreen *s, + CompTexture *texture, + int unit, + int param) +{ + WaterFunction *function; + CompFunctionData *data; + int target; + + WATER_SCREEN (s); + + if (texture->target == GL_TEXTURE_2D) + target = COMP_FETCH_TARGET_2D; + else + target = COMP_FETCH_TARGET_RECT; + + for (function = ws->bumpMapFunctions; function; function = function->next) + { + if (function->param == param && + function->unit == unit && + function->target == target) + return function->handle; + } + + data = createFunctionData (); + if (data) + { + static char *temp[] = { "normal", "temp", "total", "bump", "offset" }; + int i, handle = 0; + char str[1024]; + + for (i = 0; i < sizeof (temp) / sizeof (temp[0]); i++) + { + if (!addTempHeaderOpToFunctionData (data, temp[i])) + { + destroyFunctionData (data); + return 0; + } + } + + snprintf (str, 1024, + + /* get normal from normal map */ + "TEX normal, fragment.texcoord[%d], texture[%d], %s;" + + /* save height */ + "MOV offset, normal;" + + /* remove scale and bias from normal */ + "MAD normal, normal, 2.0, -1.0;" + + /* normalize the normal map */ + "DP3 temp, normal, normal;" + "RSQ temp, temp.x;" + "MUL normal, normal, temp;" + + /* scale down normal by height and constant and use as + offset in texture */ + "MUL offset, normal, offset.w;" + "MUL offset, offset, program.env[%d];", + + unit, unit, + (ws->target == GL_TEXTURE_2D) ? "2D" : "RECT", + param); + + if (!addDataOpToFunctionData (data, str)) + { + destroyFunctionData (data); + return 0; + } + + if (!addFetchOpToFunctionData (data, "output", "offset.yxzz", target)) + { + destroyFunctionData (data); + return 0; + } + + snprintf (str, 1024, + + /* normal dot lightdir, this should eventually be + changed to a real light vector */ + "DP3 bump, normal, { 0.707, 0.707, 0.0, 0.0 };" + "MUL bump, bump, state.light[0].diffuse;"); + + if (!addDataOpToFunctionData (data, str)) + { + destroyFunctionData (data); + return 0; + } + + if (!addColorOpToFunctionData (data, "output", "output")) + { + destroyFunctionData (data); + return 0; + } + + snprintf (str, 1024, + + /* diffuse per-vertex lighting, opacity and brightness + and add lightsource bump color */ + "ADD output, output, bump;"); + + if (!addDataOpToFunctionData (data, str)) + { + destroyFunctionData (data); + return 0; + } + + function = malloc (sizeof (WaterFunction)); + if (function) + { + handle = createFragmentFunction (s, "water", data); + + function->handle = handle; + function->target = target; + function->param = param; + function->unit = unit; + + function->next = ws->bumpMapFunctions; + ws->bumpMapFunctions = function; + } + + destroyFunctionData (data); + + return handle; + } + + return 0; +} + +static void +allocTexture (CompScreen *s, + int index) +{ + WATER_SCREEN (s); + + glGenTextures (1, &ws->texture[index]); + glBindTexture (ws->target, ws->texture[index]); + + glTexParameteri (ws->target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri (ws->target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri (ws->target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri (ws->target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexImage2D (ws->target, + 0, + GL_RGBA, + ws->width, + ws->height, + 0, + GL_BGRA, + +#if IMAGE_BYTE_ORDER == MSBFirst + GL_UNSIGNED_INT_8_8_8_8_REV, +#else + GL_UNSIGNED_BYTE, +#endif + + ws->t0); + + glBindTexture (ws->target, 0); +} + +static int +fboPrologue (CompScreen *s, + int tIndex) +{ + WATER_SCREEN (s); + + if (!ws->fbo) + return 0; + + if (!ws->texture[tIndex]) + allocTexture (s, tIndex); + + (*s->bindFramebuffer) (GL_FRAMEBUFFER_EXT, ws->fbo); + + (*s->framebufferTexture2D) (GL_FRAMEBUFFER_EXT, + GL_COLOR_ATTACHMENT0_EXT, + ws->target, ws->texture[tIndex], + 0); + + glDrawBuffer (GL_COLOR_ATTACHMENT0_EXT); + glReadBuffer (GL_COLOR_ATTACHMENT0_EXT); + + /* check status the first time */ + if (!ws->fboStatus) + { + ws->fboStatus = (*s->checkFramebufferStatus) (GL_FRAMEBUFFER_EXT); + if (ws->fboStatus != GL_FRAMEBUFFER_COMPLETE_EXT) + { + compLogMessage (s->display, "water", CompLogLevelError, + "framebuffer incomplete"); + + (*s->bindFramebuffer) (GL_FRAMEBUFFER_EXT, 0); + (*s->deleteFramebuffers) (1, &ws->fbo); + + glDrawBuffer (GL_BACK); + glReadBuffer (GL_BACK); + + ws->fbo = 0; + + return 0; + } + } + + glViewport (0, 0, ws->width, ws->height); + glMatrixMode (GL_PROJECTION); + glPushMatrix (); + glLoadIdentity (); + glOrtho (0.0, 1.0, 0.0, 1.0, -1.0, 1.0); + glMatrixMode (GL_MODELVIEW); + glPushMatrix (); + glLoadIdentity (); + + return 1; +} + +static void +fboEpilogue (CompScreen *s) +{ + (*s->bindFramebuffer) (GL_FRAMEBUFFER_EXT, 0); + + glMatrixMode (GL_PROJECTION); + glLoadIdentity (); + glMatrixMode (GL_MODELVIEW); + glLoadIdentity (); + glDepthRange (0, 1); + glViewport (-1, -1, 2, 2); + glRasterPos2f (0, 0); + + s->rasterX = s->rasterY = 0; + + setDefaultViewport (s); + + glMatrixMode (GL_PROJECTION); + glPopMatrix (); + glMatrixMode (GL_MODELVIEW); + glPopMatrix (); + + glDrawBuffer (GL_BACK); + glReadBuffer (GL_BACK); +} + +static int +fboUpdate (CompScreen *s, + float dt, + float fade) +{ + WATER_SCREEN (s); + + if (!fboPrologue (s, TINDEX (ws, 1))) + return 0; + + if (!ws->texture[TINDEX (ws, 2)]) + allocTexture (s, TINDEX (ws, 2)); + + if (!ws->texture[TINDEX (ws, 0)]) + allocTexture (s, TINDEX (ws, 0)); + + glEnable (ws->target); + + (*s->activeTexture) (GL_TEXTURE0_ARB); + glBindTexture (ws->target, ws->texture[TINDEX (ws, 2)]); + + glTexParameteri (ws->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri (ws->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + (*s->activeTexture) (GL_TEXTURE1_ARB); + glBindTexture (ws->target, ws->texture[TINDEX (ws, 0)]); + glTexParameteri (ws->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri (ws->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + + glEnable (GL_FRAGMENT_PROGRAM_ARB); + (*s->bindProgram) (GL_FRAGMENT_PROGRAM_ARB, ws->program); + + (*s->programLocalParameter4f) (GL_FRAGMENT_PROGRAM_ARB, 0, + dt * K, fade, 1.0f, 1.0f); + + glBegin (GL_QUADS); + + glTexCoord2f (0.0f, 0.0f); + glVertex2f (0.0f, 0.0f); + glTexCoord2f (ws->tx, 0.0f); + glVertex2f (1.0f, 0.0f); + glTexCoord2f (ws->tx, ws->ty); + glVertex2f (1.0f, 1.0f); + glTexCoord2f (0.0f, ws->ty); + glVertex2f (0.0f, 1.0f); + + glEnd (); + + glDisable (GL_FRAGMENT_PROGRAM_ARB); + + glTexParameteri (ws->target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri (ws->target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glBindTexture (ws->target, 0); + (*s->activeTexture) (GL_TEXTURE0_ARB); + glTexParameteri (ws->target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri (ws->target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glBindTexture (ws->target, 0); + + glDisable (ws->target); + + fboEpilogue (s); + + /* increment texture index */ + ws->tIndex = TINDEX (ws, 1); + + return 1; +} + +static int +fboVertices (CompScreen *s, + GLenum type, + XPoint *p, + int n, + float v) +{ + WATER_SCREEN (s); + + if (!fboPrologue (s, TINDEX (ws, 0))) + return 0; + + glColorMask (GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE); + glColor4f (0.0f, 0.0f, 0.0f, v); + + glPointSize (3.0f); + glLineWidth (1.0f); + + glScalef (1.0f / ws->width, 1.0f / ws->height, 1.0); + glTranslatef (0.5f, 0.5f, 0.0f); + + glBegin (type); + + while (n--) + { + glVertex2i (p->x, p->y); + p++; + } + + glEnd (); + + glColor4usv (defaultColor); + glColorMask (GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); + + fboEpilogue (s); + + return 1; +} + +static void +softwareUpdate (CompScreen *s, + float dt, + float fade) +{ + float *dTmp; + int i, j; + float v0, v1, inv; + float accel, value; + unsigned char *t0, *t; + int dWidth, dHeight; + float *d01, *d10, *d11, *d12; + + WATER_SCREEN (s); + + if (!ws->texture[TINDEX (ws, 0)]) + allocTexture (s, TINDEX (ws, 0)); + + dt *= K * 2.0f; + fade *= 0.99f; + + dWidth = ws->width + 2; + dHeight = ws->height + 2; + +#define D(d, j) (*((d) + (j))) + + d01 = ws->d0 + dWidth; + d10 = ws->d1; + d11 = d10 + dWidth; + d12 = d11 + dWidth; + + for (i = 1; i < dHeight - 1; i++) + { + for (j = 1; j < dWidth - 1; j++) + { + accel = dt * (D (d10, j) + + D (d12, j) + + D (d11, j - 1) + + D (d11, j + 1) - 4.0f * D (d11, j)); + + value = (2.0f * D (d11, j) - D (d01, j) + accel) * fade; + + CLAMP (value, 0.0f, 1.0f); + + D (d01, j) = value; + } + + d01 += dWidth; + d10 += dWidth; + d11 += dWidth; + d12 += dWidth; + } + + /* update border */ + memcpy (ws->d0, ws->d0 + dWidth, dWidth * sizeof (GLfloat)); + memcpy (ws->d0 + dWidth * (dHeight - 1), + ws->d0 + dWidth * (dHeight - 2), + dWidth * sizeof (GLfloat)); + + d01 = ws->d0 + dWidth; + + for (i = 1; i < dHeight - 1; i++) + { + D (d01, 0) = D (d01, 1); + D (d01, dWidth - 1) = D (d01, dWidth - 2); + + d01 += dWidth; + } + + d10 = ws->d1; + d11 = d10 + dWidth; + d12 = d11 + dWidth; + + t0 = ws->t0; + + /* update texture */ + for (i = 0; i < ws->height; i++) + { + for (j = 0; j < ws->width; j++) + { + v0 = (D (d12, j) - D (d10, j)) * 1.5f; + v1 = (D (d11, j - 1) - D (d11, j + 1)) * 1.5f; + + /* 0.5 for scale */ + inv = 0.5f / sqrtf (v0 * v0 + v1 * v1 + 1.0f); + + /* add scale and bias to normal */ + v0 = v0 * inv + 0.5f; + v1 = v1 * inv + 0.5f; + + /* store normal map in RGB components */ + t = t0 + (j * 4); + t[0] = (unsigned char) ((inv + 0.5f) * 255.0f); + t[1] = (unsigned char) (v1 * 255.0f); + t[2] = (unsigned char) (v0 * 255.0f); + + /* store height in A component */ + t[3] = (unsigned char) (D (d11, j) * 255.0f); + } + + d10 += dWidth; + d11 += dWidth; + d12 += dWidth; + + t0 += ws->width * 4; + } + +#undef D + + /* swap height maps */ + dTmp = ws->d0; + ws->d0 = ws->d1; + ws->d1 = dTmp; + + if (ws->texture[TINDEX (ws, 0)]) + { + glBindTexture (ws->target, ws->texture[TINDEX (ws, 0)]); + glTexImage2D (ws->target, + 0, + GL_RGBA, + ws->width, + ws->height, + 0, + GL_BGRA, + +#if IMAGE_BYTE_ORDER == MSBFirst + GL_UNSIGNED_INT_8_8_8_8_REV, +#else + GL_UNSIGNED_BYTE, +#endif + + ws->t0); + } +} + + +#define SET(x, y, v) *((ws->d1) + (ws->width + 2) * (y + 1) + (x + 1)) = (v) + +static void +softwarePoints (CompScreen *s, + XPoint *p, + int n, + float add) +{ + WATER_SCREEN (s); + + while (n--) + { + SET (p->x - 1, p->y - 1, add); + SET (p->x, p->y - 1, add); + SET (p->x + 1, p->y - 1, add); + + SET (p->x - 1, p->y, add); + SET (p->x, p->y, add); + SET (p->x + 1, p->y, add); + + SET (p->x - 1, p->y + 1, add); + SET (p->x, p->y + 1, add); + SET (p->x + 1, p->y + 1, add); + + p++; + } +} + +/* bresenham */ +static void +softwareLines (CompScreen *s, + XPoint *p, + int n, + float v) +{ + int x1, y1, x2, y2; + Bool steep; + int tmp; + int deltaX, deltaY; + int error = 0; + int yStep; + int x, y; + + WATER_SCREEN (s); + +#define SWAP(v0, v1) \ + tmp = v0; \ + v0 = v1; \ + v1 = tmp + + while (n > 1) + { + x1 = p->x; + y1 = p->y; + + p++; + n--; + + x2 = p->x; + y2 = p->y; + + p++; + n--; + + steep = abs (y2 - y1) > abs (x2 - x1); + if (steep) + { + SWAP (x1, y1); + SWAP (x2, y2); + } + + if (x1 > x2) + { + SWAP (x1, x2); + SWAP (y1, y2); + } + +#undef SWAP + + deltaX = x2 - x1; + deltaY = abs (y2 - y1); + + y = y1; + if (y1 < y2) + yStep = 1; + else + yStep = -1; + + for (x = x1; x <= x2; x++) + { + if (steep) + { + SET (y, x, v); + } + else + { + SET (x, y, v); + } + + error += deltaY; + if (2 * error >= deltaX) + { + y += yStep; + error -= deltaX; + } + } + } +} + +#undef SET + +static void +softwareVertices (CompScreen *s, + GLenum type, + XPoint *p, + int n, + float v) +{ + switch (type) { + case GL_POINTS: + softwarePoints (s, p, n, v); + break; + case GL_LINES: + softwareLines (s, p, n, v); + break; + } +} + +static void +waterUpdate (CompScreen *s, + float dt) +{ + GLfloat fade = 1.0f; + + WATER_SCREEN (s); + + if (ws->count < 1000) + { + if (ws->count > 1) + fade = 0.90f + ws->count / 10000.0f; + else + fade = 0.0f; + } + + if (!fboUpdate (s, dt, fade)) + softwareUpdate (s, dt, fade); +} + +static void +scaleVertices (CompScreen *s, + XPoint *p, + int n) +{ + WATER_SCREEN (s); + + while (n--) + { + p[n].x = (ws->width * p[n].x) / s->width; + p[n].y = (ws->height * p[n].y) / s->height; + } +} + +static void +waterVertices (CompScreen *s, + GLenum type, + XPoint *p, + int n, + float v) +{ + WATER_SCREEN (s); + + if (!s->fragmentProgram) + return; + + scaleVertices (s, p, n); + + if (!fboVertices (s, type, p, n, v)) + softwareVertices (s, type, p, n, v); + + if (ws->count < 3000) + ws->count = 3000; +} + +static Bool +waterRainTimeout (void *closure) +{ + CompScreen *s = closure; + XPoint p; + + p.x = (int) (s->width * (rand () / (float) RAND_MAX)); + p.y = (int) (s->height * (rand () / (float) RAND_MAX)); + + waterVertices (s, GL_POINTS, &p, 1, 0.8f * (rand () / (float) RAND_MAX)); + + damageScreen (s); + + return TRUE; +} + +static Bool +waterWiperTimeout (void *closure) +{ + CompScreen *s = closure; + + WATER_SCREEN (s); + + if (ws->count) + { + if (ws->wiperAngle == 0.0f) + ws->wiperSpeed = 2.5f; + else if (ws->wiperAngle == 180.0f) + ws->wiperSpeed = -2.5f; + } + + return TRUE; +} + +static void +waterReset (CompScreen *s) +{ + int size, i, j; + + WATER_SCREEN (s); + + ws->height = TEXTURE_SIZE; + ws->width = (ws->height * s->width) / s->height; + + if (s->textureNonPowerOfTwo || + (POWER_OF_TWO (ws->width) && POWER_OF_TWO (ws->height))) + { + ws->target = GL_TEXTURE_2D; + ws->tx = ws->ty = 1.0f; + } + else + { + ws->target = GL_TEXTURE_RECTANGLE_NV; + ws->tx = ws->width; + ws->ty = ws->height; + } + + if (!s->fragmentProgram) + return; + + if (s->fbo) + { + loadWaterProgram (s); + if (!ws->fbo) + (*s->genFramebuffers) (1, &ws->fbo); + } + + ws->fboStatus = 0; + + for (i = 0; i < TEXTURE_NUM; i++) + { + if (ws->texture[i]) + { + glDeleteTextures (1, &ws->texture[i]); + ws->texture[i] = 0; + } + } + + if (ws->data) + free (ws->data); + + size = (ws->width + 2) * (ws->height + 2); + + ws->data = calloc (1, (sizeof (float) * size * 2) + + (sizeof (GLubyte) * ws->width * ws->height * 4)); + if (!ws->data) + return; + + ws->d0 = ws->data; + ws->d1 = (ws->d0 + (size)); + ws->t0 = (unsigned char *) (ws->d1 + (size)); + + for (i = 0; i < ws->height; i++) + { + for (j = 0; j < ws->width; j++) + { + (ws->t0 + (ws->width * 4 * i + j * 4))[0] = 0xff; + } + } +} + +static void +waterDrawWindowTexture (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *attrib, + unsigned int mask) +{ + WATER_SCREEN (w->screen); + + if (ws->count) + { + FragmentAttrib fa = *attrib; + Bool lighting = w->screen->lighting; + int param, function, unit; + GLfloat plane[4]; + + WATER_DISPLAY (w->screen->display); + + param = allocFragmentParameters (&fa, 1); + unit = allocFragmentTextureUnits (&fa, 1); + + function = getBumpMapFragmentFunction (w->screen, texture, unit, param); + if (function) + { + addFragmentFunction (&fa, function); + + screenLighting (w->screen, TRUE); + + (*w->screen->activeTexture) (GL_TEXTURE0_ARB + unit); + + glBindTexture (ws->target, ws->texture[TINDEX (ws, 0)]); + + plane[1] = plane[2] = 0.0f; + plane[0] = ws->tx / (GLfloat) w->screen->width; + plane[3] = 0.0f; + + glTexGeni (GL_S, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR); + glTexGenfv (GL_S, GL_EYE_PLANE, plane); + glEnable (GL_TEXTURE_GEN_S); + + plane[0] = plane[2] = 0.0f; + plane[1] = ws->ty / (GLfloat) w->screen->height; + plane[3] = 0.0f; + + glTexGeni (GL_T, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR); + glTexGenfv (GL_T, GL_EYE_PLANE, plane); + glEnable (GL_TEXTURE_GEN_T); + + (*w->screen->activeTexture) (GL_TEXTURE0_ARB); + + (*w->screen->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, param, + texture->matrix.yy * + wd->offsetScale, + -texture->matrix.xx * + wd->offsetScale, + 0.0f, 0.0f); + } + + /* to get appropriate filtering of texture */ + mask |= PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK; + + UNWRAP (ws, w->screen, drawWindowTexture); + (*w->screen->drawWindowTexture) (w, texture, &fa, mask); + WRAP (ws, w->screen, drawWindowTexture, waterDrawWindowTexture); + + if (function) + { + (*w->screen->activeTexture) (GL_TEXTURE0_ARB + unit); + glDisable (GL_TEXTURE_GEN_T); + glDisable (GL_TEXTURE_GEN_S); + glBindTexture (ws->target, 0); + (*w->screen->activeTexture) (GL_TEXTURE0_ARB); + + screenLighting (w->screen, lighting); + } + } + else + { + UNWRAP (ws, w->screen, drawWindowTexture); + (*w->screen->drawWindowTexture) (w, texture, attrib, mask); + WRAP (ws, w->screen, drawWindowTexture, waterDrawWindowTexture); + } +} + +/* TODO: a way to control the speed */ +static void +waterPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + WATER_SCREEN (s); + + if (ws->count) + { + ws->count -= 10; + if (ws->count < 0) + ws->count = 0; + + if (ws->wiperHandle) + { + float step, angle0, angle1; + Bool wipe = FALSE; + XPoint p[3]; + + p[1].x = s->width / 2; + p[1].y = s->height; + + step = ws->wiperSpeed * msSinceLastPaint / 20.0f; + + if (ws->wiperSpeed > 0.0f) + { + if (ws->wiperAngle < 180.0f) + { + angle0 = ws->wiperAngle; + + ws->wiperAngle += step; + ws->wiperAngle = MIN (ws->wiperAngle, 180.0f); + + angle1 = ws->wiperAngle; + + wipe = TRUE; + } + } + else + { + if (ws->wiperAngle > 0.0f) + { + angle1 = ws->wiperAngle; + + ws->wiperAngle += step; + ws->wiperAngle = MAX (ws->wiperAngle, 0.0f); + + angle0 = ws->wiperAngle; + + wipe = TRUE; + } + } + +#define TAN(a) (tanf ((a) * (M_PI / 180.0f))) + + if (wipe) + { + if (angle0 > 0.0f) + { + p[2].x = s->width / 2 - s->height / TAN (angle0); + p[2].y = 0; + } + else + { + p[2].x = 0; + p[2].y = s->height; + } + + if (angle1 < 180.0f) + { + p[0].x = s->width / 2 - s->height / TAN (angle1); + p[0].y = 0; + } + else + { + p[0].x = s->width; + p[0].y = s->height; + } + + /* software rasterizer doesn't support triangles yet so wiper + effect will only work with FBOs right now */ + waterVertices (s, GL_TRIANGLES, p, 3, 0.0f); + } + +#undef TAN + + } + + waterUpdate (s, 0.8f); + } + + UNWRAP (ws, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (ws, s, preparePaintScreen, waterPreparePaintScreen); +} + +static void +waterDonePaintScreen (CompScreen *s) +{ + WATER_SCREEN (s); + + if (ws->count) + damageScreen (s); + + UNWRAP (ws, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (ws, s, donePaintScreen, waterDonePaintScreen); +} + +static void +waterHandleMotionEvent (CompDisplay *d, + Window root) +{ + CompScreen *s; + + s = findScreenAtDisplay (d, root); + if (s) + { + WATER_SCREEN (s); + + if (ws->grabIndex) + { + XPoint p[2]; + + p[0].x = waterLastPointerX; + p[0].y = waterLastPointerY; + + p[1].x = waterLastPointerX = pointerX; + p[1].y = waterLastPointerY = pointerY; + + waterVertices (s, GL_LINES, p, 2, 0.2f); + + damageScreen (s); + } + } +} + +static Bool +waterInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + unsigned int ui; + Window root, child; + int xRoot, yRoot, i; + + for (s = d->screens; s; s = s->next) + { + WATER_SCREEN (s); + + if (otherScreenGrabExist (s, "water", 0)) + continue; + + if (!ws->grabIndex) + ws->grabIndex = pushScreenGrab (s, None, "water"); + + if (XQueryPointer (d->display, s->root, &root, &child, &xRoot, &yRoot, + &i, &i, &ui)) + { + XPoint p; + + p.x = waterLastPointerX = xRoot; + p.y = waterLastPointerY = yRoot; + + waterVertices (s, GL_POINTS, &p, 1, 0.8f); + + damageScreen (s); + } + } + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + return FALSE; +} + +static Bool +waterTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + + for (s = d->screens; s; s = s->next) + { + WATER_SCREEN (s); + + if (ws->grabIndex) + { + removeScreenGrab (s, ws->grabIndex, 0); + ws->grabIndex = 0; + } + } + + return FALSE; +} + +static Bool +waterToggleRain (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + + WATER_DISPLAY (d); + + s = findScreenAtDisplay (d, getIntOptionNamed (option, nOption, "root", 0)); + if (s) + { + WATER_SCREEN (s); + + if (!ws->rainHandle) + { + int delay; + + delay = wd->opt[WATER_DISPLAY_OPTION_RAIN_DELAY].value.i; + ws->rainHandle = compAddTimeout (delay, waterRainTimeout, s); + } + else + { + compRemoveTimeout (ws->rainHandle); + ws->rainHandle = 0; + } + } + + return FALSE; +} + +static Bool +waterToggleWiper (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + + s = findScreenAtDisplay (d, getIntOptionNamed (option, nOption, "root", 0)); + if (s) + { + WATER_SCREEN (s); + + if (!ws->wiperHandle) + { + int delay; + + delay = 2000; + ws->wiperHandle = compAddTimeout (delay, waterWiperTimeout, s); + } + else + { + compRemoveTimeout (ws->wiperHandle); + ws->wiperHandle = 0; + } + } + + return FALSE; +} + +static Bool +waterTitleWave (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompWindow *w; + int xid; + + xid = getIntOptionNamed (option, nOption, "window", d->activeWindow); + + w = findWindowAtDisplay (d, xid); + if (w) + { + XPoint p[2]; + + p[0].x = w->attrib.x - w->input.left; + p[0].y = w->attrib.y - w->input.top / 2; + + p[1].x = w->attrib.x + w->width + w->input.right; + p[1].y = p[0].y; + + waterVertices (w->screen, GL_LINES, p, 2, 0.15f); + + damageScreen (w->screen); + } + + return FALSE; +} + +static Bool +waterPoint (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + int xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + XPoint p; + float amp; + + p.x = getIntOptionNamed (option, nOption, "x", s->width / 2); + p.y = getIntOptionNamed (option, nOption, "y", s->height / 2); + + amp = getFloatOptionNamed (option, nOption, "amplitude", 0.5f); + + waterVertices (s, GL_POINTS, &p, 1, amp); + + damageScreen (s); + } + + return FALSE; +} + +static Bool +waterLine (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + int xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + XPoint p[2]; + float amp; + + p[0].x = getIntOptionNamed (option, nOption, "x0", s->width / 4); + p[0].y = getIntOptionNamed (option, nOption, "y0", s->height / 2); + + p[1].x = getIntOptionNamed (option, nOption, "x1", + s->width - s->width / 4); + p[1].y = getIntOptionNamed (option, nOption, "y1", s->height / 2); + + + amp = getFloatOptionNamed (option, nOption, "amplitude", 0.25f); + + waterVertices (s, GL_LINES, p, 2, amp); + + damageScreen (s); + } + + return FALSE; +} + +static void +waterHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + WATER_DISPLAY (d); + + switch (event->type) { + case ButtonPress: + s = findScreenAtDisplay (d, event->xbutton.root); + if (s) + { + WATER_SCREEN (s); + + if (ws->grabIndex) + { + XPoint p; + + p.x = pointerX; + p.y = pointerY; + + waterVertices (s, GL_POINTS, &p, 1, 0.8f); + damageScreen (s); + } + } + break; + case EnterNotify: + case LeaveNotify: + waterHandleMotionEvent (d, event->xcrossing.root); + break; + case MotionNotify: + waterHandleMotionEvent (d, event->xmotion.root); + default: + break; + } + + UNWRAP (wd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (wd, d, handleEvent, waterHandleEvent); +} + +static CompOption * +waterGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + WATER_DISPLAY (display); + + *count = NUM_OPTIONS (wd); + return wd->opt; +} + +static Bool +waterSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + WATER_DISPLAY (display); + + o = compFindOption (wd->opt, NUM_OPTIONS (wd), name, &index); + if (!o) + return FALSE; + + switch (index) { + case WATER_DISPLAY_OPTION_OFFSET_SCALE: + if (compSetFloatOption (o, value)) + { + wd->offsetScale = o->value.f * 50.0f; + return TRUE; + } + break; + case WATER_DISPLAY_OPTION_RAIN_DELAY: + if (compSetIntOption (o, value)) + { + CompScreen *s; + + for (s = display->screens; s; s = s->next) + { + WATER_SCREEN (s); + + if (!ws->rainHandle) + continue; + + compRemoveTimeout (ws->rainHandle); + ws->rainHandle = compAddTimeout (value->i, waterRainTimeout, s); + } + return TRUE; + } + break; + default: + return compSetDisplayOption (display, o, value); + } + + return FALSE; +} + +static const CompMetadataOptionInfo waterDisplayOptionInfo[] = { + { "initiate", "action", 0, waterInitiate, waterTerminate }, + { "toggle_rain", "action", 0, waterToggleRain, 0 }, + { "toggle_wiper", "action", 0, waterToggleWiper, 0 }, + { "offset_scale", "float", "0", 0, 0 }, + { "rain_delay", "int", "1", 0, 0 }, + { "title_wave", "action", 0, waterTitleWave, 0 }, + { "point", "action", 0, waterPoint, 0 }, + { "line", "action", 0, waterLine, 0 } +}; + +static Bool +waterInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + WaterDisplay *wd; + + wd = malloc (sizeof (WaterDisplay)); + if (!wd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &waterMetadata, + waterDisplayOptionInfo, + wd->opt, + WATER_DISPLAY_OPTION_NUM)) + { + free (wd); + return FALSE; + } + + wd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (wd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, wd->opt, WATER_DISPLAY_OPTION_NUM); + free (wd); + return FALSE; + } + + wd->offsetScale = wd->opt[WATER_DISPLAY_OPTION_OFFSET_SCALE].value.f * 50.0f; + + WRAP (wd, d, handleEvent, waterHandleEvent); + + d->privates[displayPrivateIndex].ptr = wd; + + return TRUE; +} + +static void +waterFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + WATER_DISPLAY (d); + + freeScreenPrivateIndex (d, wd->screenPrivateIndex); + + UNWRAP (wd, d, handleEvent); + + compFiniDisplayOptions (d, wd->opt, WATER_DISPLAY_OPTION_NUM); + + free (wd); +} + +static Bool +waterInitScreen (CompPlugin *p, + CompScreen *s) +{ + WaterScreen *ws; + + WATER_DISPLAY (s->display); + + ws = calloc (1, sizeof (WaterScreen)); + if (!ws) + return FALSE; + + ws->grabIndex = 0; + + WRAP (ws, s, preparePaintScreen, waterPreparePaintScreen); + WRAP (ws, s, donePaintScreen, waterDonePaintScreen); + WRAP (ws, s, drawWindowTexture, waterDrawWindowTexture); + + s->privates[wd->screenPrivateIndex].ptr = ws; + + waterReset (s); + + return TRUE; +} + +static void +waterFiniScreen (CompPlugin *p, + CompScreen *s) +{ + WaterFunction *function, *next; + int i; + + WATER_SCREEN (s); + + if (ws->rainHandle) + compRemoveTimeout (ws->rainHandle); + + if (ws->wiperHandle) + compRemoveTimeout (ws->wiperHandle); + + if (ws->fbo) + (*s->deleteFramebuffers) (1, &ws->fbo); + + for (i = 0; i < TEXTURE_NUM; i++) + { + if (ws->texture[i]) + glDeleteTextures (1, &ws->texture[i]); + } + + if (ws->program) + (*s->deletePrograms) (1, &ws->program); + + if (ws->data) + free (ws->data); + + function = ws->bumpMapFunctions; + while (function) + { + destroyFragmentFunction (s, function->handle); + + next = function->next; + free (function); + function = next; + } + + UNWRAP (ws, s, preparePaintScreen); + UNWRAP (ws, s, donePaintScreen); + UNWRAP (ws, s, drawWindowTexture); + + free (ws); +} + +static Bool +waterInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&waterMetadata, + p->vTable->name, + waterDisplayOptionInfo, + WATER_DISPLAY_OPTION_NUM, + 0, 0)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&waterMetadata); + return FALSE; + } + + compAddMetadataFromFile (&waterMetadata, p->vTable->name); + + return TRUE; +} + +static void +waterFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&waterMetadata); +} + +static int +waterGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +waterGetMetadata (CompPlugin *plugin) +{ + return &waterMetadata; +} + +static CompPluginVTable waterVTable = { + "water", + waterGetVersion, + waterGetMetadata, + waterInit, + waterFini, + waterInitDisplay, + waterFiniDisplay, + waterInitScreen, + waterFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + waterGetDisplayOptions, + waterSetDisplayOption, + 0, /* GetScreenOptions */ + 0 /* SetScreenOption */ +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &waterVTable; +} diff --git a/plugins/wobbly.c b/plugins/wobbly.c new file mode 100644 index 0000000..ed3a154 --- /dev/null +++ b/plugins/wobbly.c @@ -0,0 +1,2914 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +/* + * Spring model implemented by Kristian Hogsberg. + */ + +#include +#include +#include + +#include + +#define WIN_X(w) ((w)->attrib.x - (w)->output.left) +#define WIN_Y(w) ((w)->attrib.y - (w)->output.top) +#define WIN_W(w) ((w)->width + (w)->output.left + (w)->output.right) +#define WIN_H(w) ((w)->height + (w)->output.top + (w)->output.bottom) + +#define GRID_WIDTH 4 +#define GRID_HEIGHT 4 + +#define MODEL_MAX_SPRINGS (GRID_WIDTH * GRID_HEIGHT * 2) + +#define MASS 15.0f + +typedef struct _xy_pair { + float x, y; +} Point, Vector; + +#define NorthEdgeMask (1L << 0) +#define SouthEdgeMask (1L << 1) +#define WestEdgeMask (1L << 2) +#define EastEdgeMask (1L << 3) + +#define EDGE_DISTANCE 25.0f +#define EDGE_VELOCITY 13.0f + +typedef struct _Edge { + float next, prev; + + float start; + float end; + + float attract; + float velocity; + + Bool snapped; +} Edge; + +typedef struct _Object { + Vector force; + Point position; + Vector velocity; + float theta; + Bool immobile; + unsigned int edgeMask; + Edge vertEdge; + Edge horzEdge; +} Object; + +typedef struct _Spring { + Object *a; + Object *b; + Vector offset; +} Spring; + +#define NORTH 0 +#define SOUTH 1 +#define WEST 2 +#define EAST 3 + +typedef struct _Model { + Object *objects; + int numObjects; + Spring springs[MODEL_MAX_SPRINGS]; + int numSprings; + Object *anchorObject; + float steps; + Point topLeft; + Point bottomRight; + unsigned int edgeMask; + unsigned int snapCnt[4]; +} Model; + +#define WOBBLY_EFFECT_NONE 0 +#define WOBBLY_EFFECT_SHIVER 1 +#define WOBBLY_EFFECT_LAST WOBBLY_EFFECT_SHIVER + +static CompMetadata wobblyMetadata; + +static int displayPrivateIndex; + +#define WOBBLY_DISPLAY_OPTION_SNAP 0 +#define WOBBLY_DISPLAY_OPTION_SNAP_INVERTED 1 +#define WOBBLY_DISPLAY_OPTION_SHIVER 2 +#define WOBBLY_DISPLAY_OPTION_NUM 3 + +typedef struct _WobblyDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[WOBBLY_DISPLAY_OPTION_NUM]; + + Bool snapping; +} WobblyDisplay; + +#define WOBBLY_SCREEN_OPTION_FRICTION 0 +#define WOBBLY_SCREEN_OPTION_SPRING_K 1 +#define WOBBLY_SCREEN_OPTION_GRID_RESOLUTION 2 +#define WOBBLY_SCREEN_OPTION_MIN_GRID_SIZE 3 +#define WOBBLY_SCREEN_OPTION_MAP_EFFECT 4 +#define WOBBLY_SCREEN_OPTION_FOCUS_EFFECT 5 +#define WOBBLY_SCREEN_OPTION_MAP_WINDOW_MATCH 6 +#define WOBBLY_SCREEN_OPTION_FOCUS_WINDOW_MATCH 7 +#define WOBBLY_SCREEN_OPTION_GRAB_WINDOW_MATCH 8 +#define WOBBLY_SCREEN_OPTION_MOVE_WINDOW_MATCH 9 +#define WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT 10 +#define WOBBLY_SCREEN_OPTION_NUM 11 + +typedef struct _WobblyScreen { + int windowPrivateIndex; + + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + DamageWindowRectProc damageWindowRect; + AddWindowGeometryProc addWindowGeometry; + + WindowResizeNotifyProc windowResizeNotify; + WindowMoveNotifyProc windowMoveNotify; + WindowGrabNotifyProc windowGrabNotify; + WindowUngrabNotifyProc windowUngrabNotify; + + CompOption opt[WOBBLY_SCREEN_OPTION_NUM]; + + Bool wobblyWindows; + + unsigned int grabMask; + CompWindow *grabWindow; + Bool moveWindow; +} WobblyScreen; + +#define WobblyInitial (1L << 0) +#define WobblyForce (1L << 1) +#define WobblyVelocity (1L << 2) + +typedef struct _WobblyWindow { + Model *model; + int wobbly; + Bool grabbed; + Bool velocity; + unsigned int state; +} WobblyWindow; + +#define GET_WOBBLY_DISPLAY(d) \ + ((WobblyDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define WOBBLY_DISPLAY(d) \ + WobblyDisplay *wd = GET_WOBBLY_DISPLAY (d) + +#define GET_WOBBLY_SCREEN(s, wd) \ + ((WobblyScreen *) (s)->privates[(wd)->screenPrivateIndex].ptr) + +#define WOBBLY_SCREEN(s) \ + WobblyScreen *ws = GET_WOBBLY_SCREEN (s, GET_WOBBLY_DISPLAY (s->display)) + +#define GET_WOBBLY_WINDOW(w, ws) \ + ((WobblyWindow *) (w)->privates[(ws)->windowPrivateIndex].ptr) + +#define WOBBLY_WINDOW(w) \ + WobblyWindow *ww = GET_WOBBLY_WINDOW (w, \ + GET_WOBBLY_SCREEN (w->screen, \ + GET_WOBBLY_DISPLAY (w->screen->display))) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static CompOption * +wobblyGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + WOBBLY_SCREEN (screen); + + *count = NUM_OPTIONS (ws); + return ws->opt; +} + +static Bool +wobblySetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + WOBBLY_SCREEN (screen); + + o = compFindOption (ws->opt, NUM_OPTIONS (ws), name, NULL); + if (!o) + return FALSE; + + return compSetScreenOption (screen, o, value); +} + +static const CompMetadataOptionInfo wobblyScreenOptionInfo[] = { + { "friction", "float", "0.1", 0, 0 }, + { "spring_k", "float", "0.1", 0, 0 }, + { "grid_resolution", "int", "164", 0, 0 }, + { "min_grid_size", "int", "4128", 0, 0 }, + { "map_effect", "int", RESTOSTRING (0, WOBBLY_EFFECT_LAST), 0, 0 }, + { "focus_effect", "int", RESTOSTRING (0, WOBBLY_EFFECT_LAST), 0, 0 }, + { "map_window_match", "match", 0, 0, 0 }, + { "focus_window_match", "match", 0, 0, 0 }, + { "grab_window_match", "match", 0, 0, 0 }, + { "move_window_match", "match", 0, 0, 0 }, + { "maximize_effect", "bool", 0, 0, 0 } +}; + +#define SNAP_WINDOW_TYPE (CompWindowTypeNormalMask | \ + CompWindowTypeToolbarMask | \ + CompWindowTypeMenuMask | \ + CompWindowTypeUtilMask) + +static void +findNextWestEdge (CompWindow *w, + Object *object) +{ + int v, v1, v2; + int s, start; + int e, end; + int x; + int output; + + start = -65535.0f; + end = 65535.0f; + + v1 = -65535.0f; + v2 = 65535.0f; + + x = object->position.x + w->output.left - w->input.left; + + output = outputDeviceForPoint (w->screen, x, object->position.y); + + if (x >= w->screen->outputDev[output].region.extents.x1) + { + CompWindow *p; + + v1 = w->screen->outputDev[output].region.extents.x1; + + for (p = w->screen->windows; p; p = p->next) + { + if (w == p) + continue; + + if (p->mapNum && p->struts) + { + s = p->struts->left.y - w->output.top; + e = p->struts->left.y + p->struts->left.height + + w->output.bottom; + } + else if (!p->invisible && (p->type & SNAP_WINDOW_TYPE)) + { + s = p->attrib.y - p->input.top - w->output.top; + e = p->attrib.y + p->height + p->input.bottom + + w->output.bottom; + } + else + { + continue; + } + + if (s > object->position.y) + { + if (s < end) + end = s; + } + else if (e < object->position.y) + { + if (e > start) + start = e; + } + else + { + if (s > start) + start = s; + + if (e < end) + end = e; + + if (p->mapNum && p->struts) + v = p->struts->left.x + p->struts->left.width; + else + v = p->attrib.x + p->width + p->input.right; + + if (v <= x) + { + if (v > v1) + v1 = v; + } + else + { + if (v < v2) + v2 = v; + } + } + } + } + else + { + v2 = w->screen->outputDev[output].region.extents.x1; + } + + v1 = v1 - w->output.left + w->input.left; + v2 = v2 - w->output.left + w->input.left; + + if (v1 != (int) object->vertEdge.next) + object->vertEdge.snapped = FALSE; + + object->vertEdge.start = start; + object->vertEdge.end = end; + + object->vertEdge.next = v1; + object->vertEdge.prev = v2; + + object->vertEdge.attract = v1 + EDGE_DISTANCE; + object->vertEdge.velocity = EDGE_VELOCITY; +} + +static void +findNextEastEdge (CompWindow *w, + Object *object) +{ + int v, v1, v2; + int s, start; + int e, end; + int x; + int output; + + start = -65535.0f; + end = 65535.0f; + + v1 = 65535.0f; + v2 = -65535.0f; + + x = object->position.x - w->output.right + w->input.right; + + output = outputDeviceForPoint (w->screen, x, object->position.y); + + if (x <= w->screen->outputDev[output].region.extents.x2) + { + CompWindow *p; + + v1 = w->screen->outputDev[output].region.extents.x2; + + for (p = w->screen->windows; p; p = p->next) + { + if (w == p) + continue; + + if (p->mapNum && p->struts) + { + s = p->struts->right.y - w->output.top; + e = p->struts->right.y + p->struts->right.height + + w->output.bottom; + } + else if (!p->invisible && (p->type & SNAP_WINDOW_TYPE)) + { + s = p->attrib.y - p->input.top - w->output.top; + e = p->attrib.y + p->height + p->input.bottom + + w->output.bottom; + } + else + { + continue; + } + + if (s > object->position.y) + { + if (s < end) + end = s; + } + else if (e < object->position.y) + { + if (e > start) + start = e; + } + else + { + if (s > start) + start = s; + + if (e < end) + end = e; + + if (p->mapNum && p->struts) + v = p->struts->right.x; + else + v = p->attrib.x - p->input.left; + + if (v >= x) + { + if (v < v1) + v1 = v; + } + else + { + if (v > v2) + v2 = v; + } + } + } + } + else + { + v2 = w->screen->outputDev[output].region.extents.x2; + } + + v1 = v1 + w->output.right - w->input.right; + v2 = v2 + w->output.right - w->input.right; + + if (v1 != (int) object->vertEdge.next) + object->vertEdge.snapped = FALSE; + + object->vertEdge.start = start; + object->vertEdge.end = end; + + object->vertEdge.next = v1; + object->vertEdge.prev = v2; + + object->vertEdge.attract = v1 - EDGE_DISTANCE; + object->vertEdge.velocity = EDGE_VELOCITY; +} + +static void +findNextNorthEdge (CompWindow *w, + Object *object) +{ + int v, v1, v2; + int s, start; + int e, end; + int y; + int output; + + start = -65535.0f; + end = 65535.0f; + + v1 = -65535.0f; + v2 = 65535.0f; + + y = object->position.y + w->output.top - w->input.top; + + output = outputDeviceForPoint (w->screen, object->position.x, y); + + if (y >= w->screen->outputDev[output].region.extents.y1) + { + CompWindow *p; + + v1 = w->screen->outputDev[output].region.extents.y1; + + for (p = w->screen->windows; p; p = p->next) + { + if (w == p) + continue; + + if (p->mapNum && p->struts) + { + s = p->struts->top.x - w->output.left; + e = p->struts->top.x + p->struts->top.width + w->output.right; + } + else if (!p->invisible && (p->type & SNAP_WINDOW_TYPE)) + { + s = p->attrib.x - p->input.left - w->output.left; + e = p->attrib.x + p->width + p->input.right + w->output.right; + } + else + { + continue; + } + + if (s > object->position.x) + { + if (s < end) + end = s; + } + else if (e < object->position.x) + { + if (e > start) + start = e; + } + else + { + if (s > start) + start = s; + + if (e < end) + end = e; + + if (p->mapNum && p->struts) + v = p->struts->top.y + p->struts->top.height; + else + v = p->attrib.y + p->height + p->input.bottom; + + if (v <= y) + { + if (v > v1) + v1 = v; + } + else + { + if (v < v2) + v2 = v; + } + } + } + } + else + { + v2 = w->screen->outputDev[output].region.extents.y1; + } + + v1 = v1 - w->output.top + w->input.top; + v2 = v2 - w->output.top + w->input.top; + + if (v1 != (int) object->horzEdge.next) + object->horzEdge.snapped = FALSE; + + object->horzEdge.start = start; + object->horzEdge.end = end; + + object->horzEdge.next = v1; + object->horzEdge.prev = v2; + + object->horzEdge.attract = v1 + EDGE_DISTANCE; + object->horzEdge.velocity = EDGE_VELOCITY; +} + +static void +findNextSouthEdge (CompWindow *w, + Object *object) +{ + int v, v1, v2; + int s, start; + int e, end; + int y; + int output; + + start = -65535.0f; + end = 65535.0f; + + v1 = 65535.0f; + v2 = -65535.0f; + + y = object->position.y - w->output.bottom + w->input.bottom; + + output = outputDeviceForPoint (w->screen, object->position.x, y); + + if (y <= w->screen->outputDev[output].region.extents.y2) + { + CompWindow *p; + + v1 = w->screen->outputDev[output].region.extents.y2; + + for (p = w->screen->windows; p; p = p->next) + { + if (w == p) + continue; + + if (p->mapNum && p->struts) + { + s = p->struts->bottom.x - w->output.left; + e = p->struts->bottom.x + p->struts->bottom.width + + w->output.right; + } + else if (!p->invisible && (p->type & SNAP_WINDOW_TYPE)) + { + s = p->attrib.x - p->input.left - w->output.left; + e = p->attrib.x + p->width + p->input.right + w->output.right; + } + else + { + continue; + } + + if (s > object->position.x) + { + if (s < end) + end = s; + } + else if (e < object->position.x) + { + if (e > start) + start = e; + } + else + { + if (s > start) + start = s; + + if (e < end) + end = e; + + if (p->mapNum && p->struts) + v = p->struts->bottom.y; + else + v = p->attrib.y - p->input.top; + + if (v >= y) + { + if (v < v1) + v1 = v; + } + else + { + if (v > v2) + v2 = v; + } + } + } + } + else + { + v2 = w->screen->outputDev[output].region.extents.y2; + } + + v1 = v1 + w->output.bottom - w->input.bottom; + v2 = v2 + w->output.bottom - w->input.bottom; + + if (v1 != (int) object->horzEdge.next) + object->horzEdge.snapped = FALSE; + + object->horzEdge.start = start; + object->horzEdge.end = end; + + object->horzEdge.next = v1; + object->horzEdge.prev = v2; + + object->horzEdge.attract = v1 - EDGE_DISTANCE; + object->horzEdge.velocity = EDGE_VELOCITY; +} + +static void +objectInit (Object *object, + float positionX, + float positionY, + float velocityX, + float velocityY) +{ + object->force.x = 0; + object->force.y = 0; + + object->position.x = positionX; + object->position.y = positionY; + + object->velocity.x = velocityX; + object->velocity.y = velocityY; + + object->theta = 0; + object->immobile = FALSE; + + object->edgeMask = 0; + + object->vertEdge.snapped = FALSE; + object->horzEdge.snapped = FALSE; + + object->vertEdge.next = 0.0f; + object->horzEdge.next = 0.0f; +} + +static void +springInit (Spring *spring, + Object *a, + Object *b, + float offsetX, + float offsetY) +{ + spring->a = a; + spring->b = b; + spring->offset.x = offsetX; + spring->offset.y = offsetY; +} + +static void +modelCalcBounds (Model *model) +{ + int i; + + model->topLeft.x = MAXSHORT; + model->topLeft.y = MAXSHORT; + model->bottomRight.x = MINSHORT; + model->bottomRight.y = MINSHORT; + + for (i = 0; i < model->numObjects; i++) + { + if (model->objects[i].position.x < model->topLeft.x) + model->topLeft.x = model->objects[i].position.x; + else if (model->objects[i].position.x > model->bottomRight.x) + model->bottomRight.x = model->objects[i].position.x; + + if (model->objects[i].position.y < model->topLeft.y) + model->topLeft.y = model->objects[i].position.y; + else if (model->objects[i].position.y > model->bottomRight.y) + model->bottomRight.y = model->objects[i].position.y; + } +} + +static void +modelAddSpring (Model *model, + Object *a, + Object *b, + float offsetX, + float offsetY) +{ + Spring *spring; + + spring = &model->springs[model->numSprings]; + model->numSprings++; + + springInit (spring, a, b, offsetX, offsetY); +} + +static void +modelSetMiddleAnchor (Model *model, + int x, + int y, + int width, + int height) +{ + float gx, gy; + + gx = ((GRID_WIDTH - 1) / 2 * width) / (float) (GRID_WIDTH - 1); + gy = ((GRID_HEIGHT - 1) / 2 * height) / (float) (GRID_HEIGHT - 1); + + if (model->anchorObject) + model->anchorObject->immobile = FALSE; + + model->anchorObject = &model->objects[GRID_WIDTH * + ((GRID_HEIGHT - 1) / 2) + + (GRID_WIDTH - 1) / 2]; + model->anchorObject->position.x = x + gx; + model->anchorObject->position.y = y + gy; + + model->anchorObject->immobile = TRUE; +} + +static void +modelSetTopAnchor (Model *model, + int x, + int y, + int width) +{ + float gx; + + gx = ((GRID_WIDTH - 1) / 2 * width) / (float) (GRID_WIDTH - 1); + + if (model->anchorObject) + model->anchorObject->immobile = FALSE; + + model->anchorObject = &model->objects[(GRID_WIDTH - 1) / 2]; + model->anchorObject->position.x = x + gx; + model->anchorObject->position.y = y; + + model->anchorObject->immobile = TRUE; +} + +static void +modelAddEdgeAnchors (Model *model, + int x, + int y, + int width, + int height) +{ + Object *o; + + o = &model->objects[0]; + o->position.x = x; + o->position.y = y; + o->immobile = TRUE; + + o = &model->objects[GRID_WIDTH - 1]; + o->position.x = x + width; + o->position.y = y; + o->immobile = TRUE; + + o = &model->objects[GRID_WIDTH * (GRID_HEIGHT - 1)]; + o->position.x = x; + o->position.y = y + height; + o->immobile = TRUE; + + o = &model->objects[model->numObjects - 1]; + o->position.x = x + width; + o->position.y = y + height; + o->immobile = TRUE; + + if (!model->anchorObject) + model->anchorObject = &model->objects[0]; +} + +static void +modelRemoveEdgeAnchors (Model *model, + int x, + int y, + int width, + int height) +{ + Object *o; + + o = &model->objects[0]; + o->position.x = x; + o->position.y = y; + if (o != model->anchorObject) + o->immobile = FALSE; + + o = &model->objects[GRID_WIDTH - 1]; + o->position.x = x + width; + o->position.y = y; + if (o != model->anchorObject) + o->immobile = FALSE; + + o = &model->objects[GRID_WIDTH * (GRID_HEIGHT - 1)]; + o->position.x = x; + o->position.y = y + height; + if (o != model->anchorObject) + o->immobile = FALSE; + + o = &model->objects[model->numObjects - 1]; + o->position.x = x + width; + o->position.y = y + height; + if (o != model->anchorObject) + o->immobile = FALSE; +} + +static void +modelAdjustObjectPosition (Model *model, + Object *object, + int x, + int y, + int width, + int height) +{ + Object *o; + int gridX, gridY, i = 0; + + for (gridY = 0; gridY < GRID_HEIGHT; gridY++) + { + for (gridX = 0; gridX < GRID_WIDTH; gridX++) + { + o = &model->objects[i]; + if (o == object) + { + o->position.x = x + (gridX * width) / (GRID_WIDTH - 1); + o->position.y = y + (gridY * height) / (GRID_HEIGHT - 1); + + return; + } + + i++; + } + } +} + +static void +modelInitObjects (Model *model, + int x, + int y, + int width, + int height) +{ + int gridX, gridY, i = 0; + float gw, gh; + + gw = GRID_WIDTH - 1; + gh = GRID_HEIGHT - 1; + + for (gridY = 0; gridY < GRID_HEIGHT; gridY++) + { + for (gridX = 0; gridX < GRID_WIDTH; gridX++) + { + objectInit (&model->objects[i], + x + (gridX * width) / gw, + y + (gridY * height) / gh, + 0, 0); + i++; + } + } + + modelSetMiddleAnchor (model, x, y, width, height); +} + +static void +modelUpdateSnapping (CompWindow *window, + Model *model) +{ + unsigned int edgeMask, gridMask, mask; + int gridX, gridY, i = 0; + + edgeMask = model->edgeMask; + + if (model->snapCnt[NORTH]) + edgeMask &= ~SouthEdgeMask; + else if (model->snapCnt[SOUTH]) + edgeMask &= ~NorthEdgeMask; + + if (model->snapCnt[WEST]) + edgeMask &= ~EastEdgeMask; + else if (model->snapCnt[EAST]) + edgeMask &= ~WestEdgeMask; + + for (gridY = 0; gridY < GRID_HEIGHT; gridY++) + { + if (gridY == 0) + gridMask = edgeMask & NorthEdgeMask; + else if (gridY == GRID_HEIGHT - 1) + gridMask = edgeMask & SouthEdgeMask; + else + gridMask = 0; + + for (gridX = 0; gridX < GRID_WIDTH; gridX++) + { + mask = gridMask; + + if (gridX == 0) + mask |= edgeMask & WestEdgeMask; + else if (gridX == GRID_WIDTH - 1) + mask |= edgeMask & EastEdgeMask; + + if (mask != model->objects[i].edgeMask) + { + model->objects[i].edgeMask = mask; + + if (mask & WestEdgeMask) + { + if (!model->objects[i].vertEdge.snapped) + findNextWestEdge (window, &model->objects[i]); + } + else if (mask & EastEdgeMask) + { + if (!model->objects[i].vertEdge.snapped) + findNextEastEdge (window, &model->objects[i]); + } + else + model->objects[i].vertEdge.snapped = FALSE; + + if (mask & NorthEdgeMask) + { + if (!model->objects[i].horzEdge.snapped) + findNextNorthEdge (window, &model->objects[i]); + } + else if (mask & SouthEdgeMask) + { + if (!model->objects[i].horzEdge.snapped) + findNextSouthEdge (window, &model->objects[i]); + } + else + model->objects[i].horzEdge.snapped = FALSE; + } + + i++; + } + } +} + +static void +modelReduceEdgeEscapeVelocity (Model *model) +{ + int gridX, gridY, i = 0; + + for (gridY = 0; gridY < GRID_HEIGHT; gridY++) + { + for (gridX = 0; gridX < GRID_WIDTH; gridX++) + { + if (model->objects[i].vertEdge.snapped) + model->objects[i].vertEdge.velocity *= drand48 () * 0.25f; + + if (model->objects[i].horzEdge.snapped) + model->objects[i].horzEdge.velocity *= drand48 () * 0.25f; + + i++; + } + } +} + +static Bool +modelDisableSnapping (CompWindow *window, + Model *model) +{ + int gridX, gridY, i = 0; + Bool snapped = FALSE; + + for (gridY = 0; gridY < GRID_HEIGHT; gridY++) + { + for (gridX = 0; gridX < GRID_WIDTH; gridX++) + { + if (model->objects[i].vertEdge.snapped || + model->objects[i].horzEdge.snapped) + snapped = TRUE; + + model->objects[i].vertEdge.snapped = FALSE; + model->objects[i].horzEdge.snapped = FALSE; + + model->objects[i].edgeMask = 0; + + i++; + } + } + + memset (model->snapCnt, 0, sizeof (model->snapCnt)); + + return snapped; +} + +static void +modelAdjustObjectsForShiver (Model *model, + int x, + int y, + int width, + int height) +{ + int gridX, gridY, i = 0; + float vX, vY; + float w, h; + float scale; + + w = width; + h = height; + + for (gridY = 0; gridY < GRID_HEIGHT; gridY++) + { + for (gridX = 0; gridX < GRID_WIDTH; gridX++) + { + if (!model->objects[i].immobile) + { + vX = model->objects[i].position.x - (x + w / 2); + vY = model->objects[i].position.y - (y + h / 2); + + vX /= w; + vY /= h; + + scale = ((float) rand () * 7.5f) / RAND_MAX; + + model->objects[i].velocity.x += vX * scale; + model->objects[i].velocity.y += vY * scale; + } + + i++; + } + } +} + +static void +modelInitSprings (Model *model, + int x, + int y, + int width, + int height) +{ + int gridX, gridY, i = 0; + float hpad, vpad; + + model->numSprings = 0; + + hpad = ((float) width) / (GRID_WIDTH - 1); + vpad = ((float) height) / (GRID_HEIGHT - 1); + + for (gridY = 0; gridY < GRID_HEIGHT; gridY++) + { + for (gridX = 0; gridX < GRID_WIDTH; gridX++) + { + if (gridX > 0) + modelAddSpring (model, + &model->objects[i - 1], + &model->objects[i], + hpad, 0); + + if (gridY > 0) + modelAddSpring (model, + &model->objects[i - GRID_WIDTH], + &model->objects[i], + 0, vpad); + + i++; + } + } +} + +static void +modelMove (Model *model, + float tx, + float ty) +{ + int i; + + for (i = 0; i < model->numObjects; i++) + { + model->objects[i].position.x += tx; + model->objects[i].position.y += ty; + } +} + +static Model * +createModel (int x, + int y, + int width, + int height, + unsigned int edgeMask) +{ + Model *model; + + model = malloc (sizeof (Model)); + if (!model) + return 0; + + model->numObjects = GRID_WIDTH * GRID_HEIGHT; + model->objects = malloc (sizeof (Object) * model->numObjects); + if (!model->objects) + { + free (model); + return 0; + } + + model->anchorObject = 0; + model->numSprings = 0; + + model->steps = 0; + + memset (model->snapCnt, 0, sizeof (model->snapCnt)); + + model->edgeMask = edgeMask; + + modelInitObjects (model, x, y, width, height); + modelInitSprings (model, x, y, width, height); + + modelCalcBounds (model); + + return model; +} + +static void +objectApplyForce (Object *object, + float fx, + float fy) +{ + object->force.x += fx; + object->force.y += fy; +} + +static void +springExertForces (Spring *spring, + float k) +{ + Vector da, db; + Vector a, b; + + a = spring->a->position; + b = spring->b->position; + + da.x = 0.5f * (b.x - a.x - spring->offset.x); + da.y = 0.5f * (b.y - a.y - spring->offset.y); + + db.x = 0.5f * (a.x - b.x + spring->offset.x); + db.y = 0.5f * (a.y - b.y + spring->offset.y); + + objectApplyForce (spring->a, k * da.x, k * da.y); + objectApplyForce (spring->b, k * db.x, k * db.y); +} + +static Bool +objectReleaseWestEdge (CompWindow *w, + Model *model, + Object *object) +{ + if (fabs (object->velocity.x) > object->vertEdge.velocity) + { + object->position.x += object->velocity.x * 2.0f; + + model->snapCnt[WEST]--; + + object->vertEdge.snapped = FALSE; + object->edgeMask = 0; + + modelUpdateSnapping (w, model); + + return TRUE; + } + + object->velocity.x = 0.0f; + + return FALSE; +} + +static Bool +objectReleaseEastEdge (CompWindow *w, + Model *model, + Object *object) +{ + if (fabs (object->velocity.x) > object->vertEdge.velocity) + { + object->position.x += object->velocity.x * 2.0f; + + model->snapCnt[EAST]--; + + object->vertEdge.snapped = FALSE; + object->edgeMask = 0; + + modelUpdateSnapping (w, model); + + return TRUE; + } + + object->velocity.x = 0.0f; + + return FALSE; +} + +static Bool +objectReleaseNorthEdge (CompWindow *w, + Model *model, + Object *object) +{ + if (fabs (object->velocity.y) > object->horzEdge.velocity) + { + object->position.y += object->velocity.y * 2.0f; + + model->snapCnt[NORTH]--; + + object->horzEdge.snapped = FALSE; + object->edgeMask = 0; + + modelUpdateSnapping (w, model); + + return TRUE; + } + + object->velocity.y = 0.0f; + + return FALSE; +} + +static Bool +objectReleaseSouthEdge (CompWindow *w, + Model *model, + Object *object) +{ + if (fabs (object->velocity.y) > object->horzEdge.velocity) + { + object->position.y += object->velocity.y * 2.0f; + + model->snapCnt[SOUTH]--; + + object->horzEdge.snapped = FALSE; + object->edgeMask = 0; + + modelUpdateSnapping (w, model); + + return TRUE; + } + + object->velocity.y = 0.0f; + + return FALSE; +} + +static float +modelStepObject (CompWindow *window, + Model *model, + Object *object, + float friction, + float *force) +{ + object->theta += 0.05f; + + if (object->immobile) + { + object->velocity.x = 0.0f; + object->velocity.y = 0.0f; + + object->force.x = 0.0f; + object->force.y = 0.0f; + + *force = 0.0f; + + return 0.0f; + } + else + { + object->force.x -= friction * object->velocity.x; + object->force.y -= friction * object->velocity.y; + + object->velocity.x += object->force.x / MASS; + object->velocity.y += object->force.y / MASS; + + if (object->edgeMask) + { + if (object->edgeMask & WestEdgeMask) + { + if (object->position.y < object->vertEdge.start || + object->position.y > object->vertEdge.end) + findNextWestEdge (window, object); + + if (!object->vertEdge.snapped || + objectReleaseWestEdge (window, model, object)) + { + object->position.x += object->velocity.x; + + if (object->velocity.x < 0.0f && + object->position.x < object->vertEdge.attract) + { + if (object->position.x < object->vertEdge.next) + { + object->vertEdge.snapped = TRUE; + object->position.x = object->vertEdge.next; + object->velocity.x = 0.0f; + + model->snapCnt[WEST]++; + + modelUpdateSnapping (window, model); + } + else + { + object->velocity.x -= + object->vertEdge.attract - object->position.x; + } + } + + if (object->position.x > object->vertEdge.prev) + findNextWestEdge (window, object); + } + } + else if (object->edgeMask & EastEdgeMask) + { + if (object->position.y < object->vertEdge.start || + object->position.y > object->vertEdge.end) + findNextEastEdge (window, object); + + if (!object->vertEdge.snapped || + objectReleaseEastEdge (window, model, object)) + { + object->position.x += object->velocity.x; + + if (object->velocity.x > 0.0f && + object->position.x > object->vertEdge.attract) + { + if (object->position.x > object->vertEdge.next) + { + object->vertEdge.snapped = TRUE; + object->position.x = object->vertEdge.next; + object->velocity.x = 0.0f; + + model->snapCnt[EAST]++; + + modelUpdateSnapping (window, model); + } + else + { + object->velocity.x = + object->position.x - object->vertEdge.attract; + } + } + + if (object->position.x < object->vertEdge.prev) + findNextEastEdge (window, object); + } + } + else + object->position.x += object->velocity.x; + + if (object->edgeMask & NorthEdgeMask) + { + if (object->position.x < object->horzEdge.start || + object->position.x > object->horzEdge.end) + findNextNorthEdge (window, object); + + if (!object->horzEdge.snapped || + objectReleaseNorthEdge (window, model, object)) + { + object->position.y += object->velocity.y; + + if (object->velocity.y < 0.0f && + object->position.y < object->horzEdge.attract) + { + if (object->position.y < object->horzEdge.next) + { + object->horzEdge.snapped = TRUE; + object->position.y = object->horzEdge.next; + object->velocity.y = 0.0f; + + model->snapCnt[NORTH]++; + + modelUpdateSnapping (window, model); + } + else + { + object->velocity.y -= + object->horzEdge.attract - object->position.y; + } + } + + if (object->position.y > object->horzEdge.prev) + findNextNorthEdge (window, object); + } + } + else if (object->edgeMask & SouthEdgeMask) + { + if (object->position.x < object->horzEdge.start || + object->position.x > object->horzEdge.end) + findNextSouthEdge (window, object); + + if (!object->horzEdge.snapped || + objectReleaseSouthEdge (window, model, object)) + { + object->position.y += object->velocity.y; + + if (object->velocity.y > 0.0f && + object->position.y > object->horzEdge.attract) + { + if (object->position.y > object->horzEdge.next) + { + object->horzEdge.snapped = TRUE; + object->position.y = object->horzEdge.next; + object->velocity.y = 0.0f; + + model->snapCnt[SOUTH]++; + + modelUpdateSnapping (window, model); + } + else + { + object->velocity.y = + object->position.y - object->horzEdge.attract; + } + } + + if (object->position.y < object->horzEdge.prev) + findNextSouthEdge (window, object); + } + } + else + object->position.y += object->velocity.y; + } + else + { + object->position.x += object->velocity.x; + object->position.y += object->velocity.y; + } + + *force = fabs (object->force.x) + fabs (object->force.y); + + object->force.x = 0.0f; + object->force.y = 0.0f; + + return fabs (object->velocity.x) + fabs (object->velocity.y); + } +} + +static int +modelStep (CompWindow *window, + Model *model, + float friction, + float k, + float time) +{ + int i, j, steps, wobbly = 0; + float velocitySum = 0.0f; + float force, forceSum = 0.0f; + + model->steps += time / 15.0f; + steps = floor (model->steps); + model->steps -= steps; + + if (!steps) + return TRUE; + + for (j = 0; j < steps; j++) + { + for (i = 0; i < model->numSprings; i++) + springExertForces (&model->springs[i], k); + + for (i = 0; i < model->numObjects; i++) + { + velocitySum += modelStepObject (window, + model, + &model->objects[i], + friction, + &force); + forceSum += force; + } + } + + modelCalcBounds (model); + + if (velocitySum > 0.5f) + wobbly |= WobblyVelocity; + + if (forceSum > 20.0f) + wobbly |= WobblyForce; + + return wobbly; +} + +static void +bezierPatchEvaluate (Model *model, + float u, + float v, + float *patchX, + float *patchY) +{ + float coeffsU[4], coeffsV[4]; + float x, y; + int i, j; + + coeffsU[0] = (1 - u) * (1 - u) * (1 - u); + coeffsU[1] = 3 * u * (1 - u) * (1 - u); + coeffsU[2] = 3 * u * u * (1 - u); + coeffsU[3] = u * u * u; + + coeffsV[0] = (1 - v) * (1 - v) * (1 - v); + coeffsV[1] = 3 * v * (1 - v) * (1 - v); + coeffsV[2] = 3 * v * v * (1 - v); + coeffsV[3] = v * v * v; + + x = y = 0.0f; + + for (i = 0; i < 4; i++) + { + for (j = 0; j < 4; j++) + { + x += coeffsU[i] * coeffsV[j] * + model->objects[j * GRID_WIDTH + i].position.x; + y += coeffsU[i] * coeffsV[j] * + model->objects[j * GRID_WIDTH + i].position.y; + } + } + + *patchX = x; + *patchY = y; +} + +static Bool +wobblyEnsureModel (CompWindow *w) +{ + WOBBLY_WINDOW (w); + + if (!ww->model) + { + unsigned int edgeMask = 0; + + if (w->type & CompWindowTypeNormalMask) + edgeMask = WestEdgeMask | EastEdgeMask | NorthEdgeMask | + SouthEdgeMask; + + ww->model = createModel (WIN_X (w), WIN_Y (w), WIN_W (w), WIN_H (w), + edgeMask); + if (!ww->model) + return FALSE; + } + + return TRUE; +} + +static float +objectDistance (Object *object, + float x, + float y) +{ + float dx, dy; + + dx = object->position.x - x; + dy = object->position.y - y; + + return sqrt (dx * dx + dy * dy); +} + +static Object * +modelFindNearestObject (Model *model, + float x, + float y) +{ + Object *object = &model->objects[0]; + float distance, minDistance = 0.0; + int i; + + for (i = 0; i < model->numObjects; i++) + { + distance = objectDistance (&model->objects[i], x, y); + if (i == 0 || distance < minDistance) + { + minDistance = distance; + object = &model->objects[i]; + } + } + + return object; +} + +static Bool +isWobblyWin (CompWindow *w) +{ + WOBBLY_WINDOW (w); + + if (ww->model) + return TRUE; + + /* avoid tiny windows */ + if (w->width == 1 && w->height == 1) + return FALSE; + + /* avoid fullscreen windows */ + if (w->attrib.x <= 0 && + w->attrib.y <= 0 && + w->attrib.x + w->width >= w->screen->width && + w->attrib.y + w->height >= w->screen->height) + return FALSE; + + return TRUE; +} + +static void +wobblyPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + WobblyWindow *ww; + CompWindow *w; + + WOBBLY_SCREEN (s); + + if (ws->wobblyWindows & (WobblyInitial | WobblyVelocity)) + { + BoxRec box; + Point topLeft, bottomRight; + float friction, springK; + Model *model; + + friction = ws->opt[WOBBLY_SCREEN_OPTION_FRICTION].value.f; + springK = ws->opt[WOBBLY_SCREEN_OPTION_SPRING_K].value.f; + + ws->wobblyWindows = 0; + for (w = s->windows; w; w = w->next) + { + ww = GET_WOBBLY_WINDOW (w, ws); + + if (ww->wobbly) + { + if (ww->wobbly & (WobblyInitial | WobblyVelocity)) + { + model = ww->model; + + topLeft = model->topLeft; + bottomRight = model->bottomRight; + + ww->wobbly = modelStep (w, model, friction, springK, + (ww->wobbly & WobblyVelocity) ? + msSinceLastPaint : + s->redrawTime); + + if ((ww->state & MAXIMIZE_STATE) && ww->grabbed) + ww->wobbly |= WobblyForce; + + if (ww->wobbly) + { + /* snapped to more than one edge, we have to reduce + edge escape velocity until only one edge is snapped */ + if (ww->wobbly == WobblyForce && !ww->grabbed) + { + modelReduceEdgeEscapeVelocity (ww->model); + ww->wobbly |= WobblyInitial; + } + } + else + { + ww->model = 0; + + if (w->attrib.x == w->serverX && + w->attrib.y == w->serverY) + { + moveWindow (w, + model->topLeft.x + w->output.left - + w->attrib.x, + model->topLeft.y + w->output.top - + w->attrib.y, + TRUE, TRUE); + syncWindowPosition (w); + } + + ww->model = model; + } + + if (!(s->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK)) + { + if (ww->wobbly) + { + if (ww->model->topLeft.x < topLeft.x) + topLeft.x = ww->model->topLeft.x; + if (ww->model->topLeft.y < topLeft.y) + topLeft.y = ww->model->topLeft.y; + if (ww->model->bottomRight.x > bottomRight.x) + bottomRight.x = ww->model->bottomRight.x; + if (ww->model->bottomRight.y > bottomRight.y) + bottomRight.y = ww->model->bottomRight.y; + } + else + addWindowDamage (w); + + box.x1 = topLeft.x; + box.y1 = topLeft.y; + box.x2 = bottomRight.x + 0.5f; + box.y2 = bottomRight.y + 0.5f; + + box.x1 -= w->attrib.x + w->attrib.border_width; + box.y1 -= w->attrib.y + w->attrib.border_width; + box.x2 -= w->attrib.x + w->attrib.border_width; + box.y2 -= w->attrib.y + w->attrib.border_width; + + addWindowDamageRect (w, &box); + } + } + + ws->wobblyWindows |= ww->wobbly; + } + } + } + + UNWRAP (ws, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (ws, s, preparePaintScreen, wobblyPreparePaintScreen); +} + +static void +wobblyDonePaintScreen (CompScreen *s) +{ + WOBBLY_SCREEN (s); + + if (ws->wobblyWindows & (WobblyVelocity | WobblyInitial)) + damagePendingOnScreen (s); + + UNWRAP (ws, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (ws, s, donePaintScreen, wobblyDonePaintScreen); +} + +static void +wobblyDrawWindowGeometry (CompWindow *w) +{ + int texUnit = w->texUnits; + int currentTexUnit = 0; + int stride = (1 + texUnit) * 2; + GLfloat *vertices = w->vertices + (stride - 2); + + stride *= sizeof (GLfloat); + + glVertexPointer (2, GL_FLOAT, stride, vertices); + + while (texUnit--) + { + if (texUnit != currentTexUnit) + { + w->screen->clientActiveTexture (GL_TEXTURE0_ARB + texUnit); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + currentTexUnit = texUnit; + } + vertices -= 2; + glTexCoordPointer (2, GL_FLOAT, stride, vertices); + } + + glDrawElements (GL_QUADS, w->indexCount, GL_UNSIGNED_SHORT, w->indices); + + /* disable all texture coordinate arrays except 0 */ + texUnit = w->texUnits; + if (texUnit > 1) + { + while (--texUnit) + { + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB + texUnit); + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + } + + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB); + } +} + +static void +wobblyAddWindowGeometry (CompWindow *w, + CompMatrix *matrix, + int nMatrix, + Region region, + Region clip) +{ + WOBBLY_WINDOW (w); + WOBBLY_SCREEN (w->screen); + + if (ww->wobbly) + { + BoxPtr pClip; + int nClip, nVertices, nIndices; + GLushort *i; + GLfloat *v; + int x1, y1, x2, y2; + float width, height; + float deformedX, deformedY; + int x, y, iw, ih, wx, wy; + int vSize, it; + int gridW, gridH; + Bool rect = TRUE; + + for (it = 0; it < nMatrix; it++) + { + if (matrix[it].xy != 0.0f || matrix[it].yx != 0.0f) + { + rect = FALSE; + break; + } + } + + wx = WIN_X (w); + wy = WIN_Y (w); + width = WIN_W (w); + height = WIN_H (w); + + gridW = width / ws->opt[WOBBLY_SCREEN_OPTION_GRID_RESOLUTION].value.i; + if (gridW < ws->opt[WOBBLY_SCREEN_OPTION_MIN_GRID_SIZE].value.i) + gridW = ws->opt[WOBBLY_SCREEN_OPTION_MIN_GRID_SIZE].value.i; + + gridH = height / ws->opt[WOBBLY_SCREEN_OPTION_GRID_RESOLUTION].value.i; + if (gridH < ws->opt[WOBBLY_SCREEN_OPTION_MIN_GRID_SIZE].value.i) + gridH = ws->opt[WOBBLY_SCREEN_OPTION_MIN_GRID_SIZE].value.i; + + nClip = region->numRects; + pClip = region->rects; + + w->texUnits = nMatrix; + + vSize = 2 + nMatrix * 2; + + nVertices = w->vCount; + nIndices = w->indexCount; + + v = w->vertices + (nVertices * vSize); + i = w->indices + nIndices; + + while (nClip--) + { + x1 = pClip->x1; + y1 = pClip->y1; + x2 = pClip->x2; + y2 = pClip->y2; + + iw = ((x2 - x1 - 1) / gridW) + 1; + ih = ((y2 - y1 - 1) / gridH) + 1; + + if (nIndices + (iw * ih * 4) > w->indexSize) + { + if (!moreWindowIndices (w, nIndices + (iw * ih * 4))) + return; + + i = w->indices + nIndices; + } + + iw++; + ih++; + + for (y = 0; y < ih - 1; y++) + { + for (x = 0; x < iw - 1; x++) + { + *i++ = nVertices + iw * (y + 1) + x; + *i++ = nVertices + iw * (y + 1) + x + 1; + *i++ = nVertices + iw * y + x + 1; + *i++ = nVertices + iw * y + x; + + nIndices += 4; + } + } + + if (((nVertices + iw * ih) * vSize) > w->vertexSize) + { + if (!moreWindowVertices (w, (nVertices + iw * ih) * vSize)) + return; + + v = w->vertices + (nVertices * vSize); + } + + for (y = y1;; y += gridH) + { + if (y > y2) + y = y2; + + for (x = x1;; x += gridW) + { + if (x > x2) + x = x2; + + bezierPatchEvaluate (ww->model, + (x - wx) / width, + (y - wy) / height, + &deformedX, + &deformedY); + + if (rect) + { + for (it = 0; it < nMatrix; it++) + { + *v++ = COMP_TEX_COORD_X (&matrix[it], x); + *v++ = COMP_TEX_COORD_Y (&matrix[it], y); + } + } + else + { + for (it = 0; it < nMatrix; it++) + { + *v++ = COMP_TEX_COORD_XY (&matrix[it], x, y); + *v++ = COMP_TEX_COORD_YX (&matrix[it], x, y); + } + } + + *v++ = deformedX; + *v++ = deformedY; + + nVertices++; + + if (x == x2) + break; + } + + if (y == y2) + break; + } + + pClip++; + } + + w->vCount = nVertices; + w->indexCount = nIndices; + w->drawWindowGeometry = wobblyDrawWindowGeometry; + } + else + { + UNWRAP (ws, w->screen, addWindowGeometry); + (*w->screen->addWindowGeometry) (w, matrix, nMatrix, region, clip); + WRAP (ws, w->screen, addWindowGeometry, wobblyAddWindowGeometry); + } +} + +static Bool +wobblyPaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + Bool status; + + WOBBLY_SCREEN (w->screen); + WOBBLY_WINDOW (w); + + if (ww->wobbly) + mask |= PAINT_WINDOW_TRANSFORMED_MASK; + + UNWRAP (ws, w->screen, paintWindow); + status = (*w->screen->paintWindow) (w, attrib, transform, region, mask); + WRAP (ws, w->screen, paintWindow, wobblyPaintWindow); + + return status; +} + +static Bool +wobblyEnableSnapping (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + CompWindow *w; + + WOBBLY_DISPLAY (d); + + for (s = d->screens; s; s = s->next) + { + for (w = s->windows; w; w = w->next) + { + WOBBLY_WINDOW (w); + + if (ww->grabbed && ww->model) + modelUpdateSnapping (w, ww->model); + } + } + + wd->snapping = TRUE; + + return FALSE; +} + +static Bool +wobblyDisableSnapping (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + CompWindow *w; + + WOBBLY_DISPLAY (d); + + if (!wd->snapping) + return FALSE; + + for (s = d->screens; s; s = s->next) + { + for (w = s->windows; w; w = w->next) + { + WOBBLY_WINDOW (w); + + if (ww->grabbed && ww->model) + { + if (modelDisableSnapping (w, ww->model)) + { + WOBBLY_SCREEN (w->screen); + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (w->screen); + } + } + } + } + + wd->snapping = FALSE; + + return FALSE; +} + +static Bool +wobblyShiver (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompWindow *w; + Window xid; + + xid = getIntOptionNamed (option, nOption, "window", 0); + + w = findWindowAtDisplay (d, xid); + if (w && isWobblyWin (w) && wobblyEnsureModel (w)) + { + WOBBLY_SCREEN (w->screen); + WOBBLY_WINDOW (w); + + modelSetMiddleAnchor (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + modelAdjustObjectsForShiver (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (w->screen); + } + + return FALSE; +} + +static void +wobblyHandleEvent (CompDisplay *d, + XEvent *event) +{ + Window activeWindow = d->activeWindow; + CompWindow *w; + CompScreen *s; + + WOBBLY_DISPLAY (d); + + switch (event->type) { + case MapNotify: + w = findWindowAtDisplay (d, event->xmap.window); + if (w) + { + WOBBLY_WINDOW (w); + + if (ww->model) + { + modelInitObjects (ww->model, + WIN_X (w), WIN_Y (w), WIN_W (w), WIN_H (w)); + + modelInitSprings (ww->model, + WIN_X (w), WIN_Y (w), WIN_W (w), WIN_H (w)); + } + } + break; + default: + if (event->type == d->xkbEvent) + { + XkbAnyEvent *xkbEvent = (XkbAnyEvent *) event; + + if (xkbEvent->xkb_type == XkbStateNotify) + { + XkbStateNotifyEvent *stateEvent = (XkbStateNotifyEvent *) event; + CompAction *action; + Bool inverted; + unsigned int mods = 0xffffffff; + + action = &wd->opt[WOBBLY_DISPLAY_OPTION_SNAP].value.action; + inverted = wd->opt[WOBBLY_DISPLAY_OPTION_SNAP_INVERTED].value.b; + + if (action->type & CompBindingTypeKey) + mods = action->key.modifiers; + + if ((stateEvent->mods & mods) == mods) + { + if (inverted) + wobblyDisableSnapping (d, NULL, 0, NULL, 0); + else + wobblyEnableSnapping (d, NULL, 0, NULL, 0); + } + else + { + if (inverted) + wobblyEnableSnapping (d, NULL, 0, NULL, 0); + else + wobblyDisableSnapping (d, NULL, 0, NULL, 0); + } + } + } + break; + } + + UNWRAP (wd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (wd, d, handleEvent, wobblyHandleEvent); + + switch (event->type) { + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + { + WOBBLY_SCREEN (s); + + if (ws->grabWindow && + ws->moveWindow && + ws->opt[WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT].value.b) + { + WOBBLY_WINDOW (ws->grabWindow); + + if (ww->state & MAXIMIZE_STATE) + { + if (ww->model && ww->grabbed) + { + int dx, dy; + + if (ww->state & CompWindowStateMaximizedHorzMask) + dx = pointerX - lastPointerX; + else + dx = 0; + + if (ww->state & CompWindowStateMaximizedVertMask) + dy = pointerY - lastPointerY; + else + dy = 0; + + ww->model->anchorObject->position.x += dx; + ww->model->anchorObject->position.y += dy; + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (s); + } + } + } + } + default: + break; + } + + if (d->activeWindow != activeWindow) + { + w = findWindowAtDisplay (d, d->activeWindow); + if (w && isWobblyWin (w)) + { + int mIndex; + int focusEffect; + + WOBBLY_WINDOW (w); + WOBBLY_SCREEN (w->screen); + + mIndex = WOBBLY_SCREEN_OPTION_FOCUS_WINDOW_MATCH; + focusEffect = ws->opt[WOBBLY_SCREEN_OPTION_FOCUS_EFFECT].value.i; + + if ((focusEffect != WOBBLY_EFFECT_NONE) && + matchEval (&ws->opt[mIndex].value.match, w) && + wobblyEnsureModel (w)) + { + switch (focusEffect) { + case WOBBLY_EFFECT_SHIVER: + modelAdjustObjectsForShiver (ww->model, + WIN_X (w), + WIN_Y (w), + WIN_W (w), + WIN_H (w)); + default: + break; + } + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (w->screen); + } + } + } +} + +static Bool +wobblyDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status; + + WOBBLY_SCREEN (w->screen); + + if (!initial) + { + WOBBLY_WINDOW (w); + + if (ww->wobbly == WobblyForce) + { + REGION region; + + region.rects = ®ion.extents; + region.numRects = region.size = 1; + + region.extents.x1 = ww->model->topLeft.x; + region.extents.y1 = ww->model->topLeft.y; + region.extents.x2 = ww->model->bottomRight.x + 0.5f; + region.extents.y2 = ww->model->bottomRight.y + 0.5f; + + damageScreenRegion (w->screen, ®ion); + + return TRUE; + } + } + + UNWRAP (ws, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (ws, w->screen, damageWindowRect, wobblyDamageWindowRect); + + if (initial) + { + if (isWobblyWin (w)) + { + int mIndex; + int mapEffect; + + WOBBLY_WINDOW (w); + WOBBLY_SCREEN (w->screen); + + mIndex = WOBBLY_SCREEN_OPTION_MAP_WINDOW_MATCH; + mapEffect = ws->opt[WOBBLY_SCREEN_OPTION_MAP_EFFECT].value.i; + + if (ws->opt[WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT].value.b) + wobblyEnsureModel (w); + + if ((mapEffect != WOBBLY_EFFECT_NONE) && + matchEval (&ws->opt[mIndex].value.match, w) && + wobblyEnsureModel (w)) + { + switch (mapEffect) { + case WOBBLY_EFFECT_SHIVER: + modelAdjustObjectsForShiver (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + default: + break; + } + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (w->screen); + } + } + } + + return status; +} + +static void +wobblyWindowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ + WOBBLY_SCREEN (w->screen); + WOBBLY_WINDOW (w); + + if (ws->opt[WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT].value.b && + isWobblyWin (w) && + /* prevent wobbling when shading maximized windows - assuming that + the height difference shaded - non-shaded will hardly be -1 and + a lack of wobbly animation in that corner case is tolerable */ + (dheight != -1) && + ((w->state | ww->state) & MAXIMIZE_STATE)) + { + ww->state &= ~MAXIMIZE_STATE; + ww->state |= w->state & MAXIMIZE_STATE; + + if (wobblyEnsureModel (w)) + { + if (w->state & MAXIMIZE_STATE) + { + if (!ww->grabbed && ww->model->anchorObject) + { + ww->model->anchorObject->immobile = FALSE; + ww->model->anchorObject = NULL; + } + + modelAddEdgeAnchors (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + } + else + { + modelRemoveEdgeAnchors (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + modelSetMiddleAnchor (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + } + + modelInitSprings (ww->model, + WIN_X (w), WIN_Y (w), WIN_W (w), WIN_H (w)); + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (w->screen); + } + } + else if (ww->model) + { + if (ww->wobbly) + { + if (!(ww->state & MAXIMIZE_STATE)) + modelSetTopAnchor (ww->model, WIN_X (w), WIN_Y (w), WIN_W (w)); + } + else + { + modelInitObjects (ww->model, + WIN_X (w), WIN_Y (w), WIN_W (w), WIN_H (w)); + } + + modelInitSprings (ww->model, + WIN_X (w), WIN_Y (w), WIN_W (w), WIN_H (w)); + } + + /* update grab */ + if (ww->model && ww->grabbed) + { + if (ww->model->anchorObject) + ww->model->anchorObject->immobile = FALSE; + + ww->model->anchorObject = modelFindNearestObject (ww->model, + pointerX, + pointerY); + ww->model->anchorObject->immobile = TRUE; + + modelAdjustObjectPosition (ww->model, + ww->model->anchorObject, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + } + + UNWRAP (ws, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP (ws, w->screen, windowResizeNotify, wobblyWindowResizeNotify); +} + +static void +wobblyWindowMoveNotify (CompWindow *w, + int dx, + int dy, + Bool immediate) +{ + WOBBLY_SCREEN (w->screen); + WOBBLY_WINDOW (w); + + if (ww->model) + { + if (ww->grabbed && !immediate) + { + if (ww->state & MAXIMIZE_STATE) + { + int i; + + for (i = 0; i < ww->model->numObjects; i++) + { + if (ww->model->objects[i].immobile) + { + ww->model->objects[i].position.x += dx; + ww->model->objects[i].position.y += dy; + } + } + } + else + { + ww->model->anchorObject->position.x += dx; + ww->model->anchorObject->position.y += dy; + } + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (w->screen); + } + else + modelMove (ww->model, dx, dy); + } + + UNWRAP (ws, w->screen, windowMoveNotify); + (*w->screen->windowMoveNotify) (w, dx, dy, immediate); + WRAP (ws, w->screen, windowMoveNotify, wobblyWindowMoveNotify); +} + +static void +wobblyWindowGrabNotify (CompWindow *w, + int x, + int y, + unsigned int state, + unsigned int mask) +{ + int mIndex; + + WOBBLY_SCREEN (w->screen); + + mIndex = WOBBLY_SCREEN_OPTION_MOVE_WINDOW_MATCH; + + if (!ws->grabWindow) + { + ws->grabMask = mask; + ws->grabWindow = w; + } + ws->moveWindow = FALSE; + + if ((mask & CompWindowGrabButtonMask) && + matchEval (&ws->opt[mIndex].value.match, w) && + isWobblyWin (w)) + { + WOBBLY_WINDOW (w); + + ws->moveWindow = TRUE; + + if (wobblyEnsureModel (w)) + { + Spring *s; + int i; + + if (ws->opt[WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT].value.b) + { + if (w->state & MAXIMIZE_STATE) + { + modelAddEdgeAnchors (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + } + else + { + modelRemoveEdgeAnchors (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + + if (ww->model->anchorObject) + ww->model->anchorObject->immobile = FALSE; + } + } + else + { + if (ww->model->anchorObject) + ww->model->anchorObject->immobile = FALSE; + } + + ww->model->anchorObject = modelFindNearestObject (ww->model, x, y); + ww->model->anchorObject->immobile = TRUE; + + ww->grabbed = TRUE; + + if (mask & CompWindowGrabMoveMask) + { + WOBBLY_DISPLAY (w->screen->display); + + modelDisableSnapping (w, ww->model); + if (wd->snapping) + modelUpdateSnapping (w, ww->model); + } + + mIndex = WOBBLY_SCREEN_OPTION_GRAB_WINDOW_MATCH; + + if (matchEval (&ws->opt[mIndex].value.match, w)) + { + for (i = 0; i < ww->model->numSprings; i++) + { + s = &ww->model->springs[i]; + + if (s->a == ww->model->anchorObject) + { + s->b->velocity.x -= s->offset.x * 0.05f; + s->b->velocity.y -= s->offset.y * 0.05f; + } + else if (s->b == ww->model->anchorObject) + { + s->a->velocity.x += s->offset.x * 0.05f; + s->a->velocity.y += s->offset.y * 0.05f; + } + } + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (w->screen); + } + } + } + + UNWRAP (ws, w->screen, windowGrabNotify); + (*w->screen->windowGrabNotify) (w, x, y, state, mask); + WRAP (ws, w->screen, windowGrabNotify, wobblyWindowGrabNotify); +} + +static void +wobblyWindowUngrabNotify (CompWindow *w) +{ + WOBBLY_SCREEN (w->screen); + WOBBLY_WINDOW (w); + + if (w == ws->grabWindow) + { + ws->grabMask = 0; + ws->grabWindow = NULL; + } + + if (ww->grabbed) + { + if (ww->model) + { + if (ww->model->anchorObject) + ww->model->anchorObject->immobile = FALSE; + + ww->model->anchorObject = NULL; + + if (ws->opt[WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT].value.b) + { + if (ww->state & MAXIMIZE_STATE) + modelAddEdgeAnchors (ww->model, + WIN_X (w), WIN_Y (w), + WIN_W (w), WIN_H (w)); + } + + ww->wobbly |= WobblyInitial; + ws->wobblyWindows |= ww->wobbly; + + damagePendingOnScreen (w->screen); + } + + ww->grabbed = FALSE; + } + + UNWRAP (ws, w->screen, windowUngrabNotify); + (*w->screen->windowUngrabNotify) (w); + WRAP (ws, w->screen, windowUngrabNotify, wobblyWindowUngrabNotify); +} + + +static Bool +wobblyPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + WOBBLY_SCREEN (s); + + if (ws->wobblyWindows) + mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + + UNWRAP (ws, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (ws, s, paintOutput, wobblyPaintOutput); + + return status; +} + +static CompOption * +wobblyGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + WOBBLY_DISPLAY (display); + + *count = NUM_OPTIONS (wd); + return wd->opt; +} + +static Bool +wobblySetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + WOBBLY_DISPLAY (display); + + o = compFindOption (wd->opt, NUM_OPTIONS (wd), name, &index); + if (!o) + return FALSE; + + switch (index) { + case WOBBLY_DISPLAY_OPTION_SNAP: + /* ignore the key */ + value->action.key.keycode = 0; + + if (compSetActionOption (o, value)) + return TRUE; + break; + default: + return compSetDisplayOption (display, o, value); + } + + return FALSE; +} + +static const CompMetadataOptionInfo wobblyDisplayOptionInfo[] = { + { "snap", "action", "false", + wobblyEnableSnapping, wobblyDisableSnapping }, + { "snap_inverted", "bool", 0, 0, 0 }, + { "shiver", "action", 0, wobblyShiver, 0 } +}; + +static Bool +wobblyInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + WobblyDisplay *wd; + + wd = malloc (sizeof (WobblyDisplay)); + if (!wd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &wobblyMetadata, + wobblyDisplayOptionInfo, + wd->opt, + WOBBLY_DISPLAY_OPTION_NUM)) + { + free (wd); + return FALSE; + } + + wd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (wd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, wd->opt, WOBBLY_DISPLAY_OPTION_NUM); + free (wd); + return FALSE; + } + + WRAP (wd, d, handleEvent, wobblyHandleEvent); + + wd->snapping = FALSE; + + d->privates[displayPrivateIndex].ptr = wd; + + return TRUE; +} + +static void +wobblyFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + WOBBLY_DISPLAY (d); + + freeScreenPrivateIndex (d, wd->screenPrivateIndex); + + UNWRAP (wd, d, handleEvent); + + compFiniDisplayOptions (d, wd->opt, WOBBLY_DISPLAY_OPTION_NUM); + + free (wd); +} + +static Bool +wobblyInitScreen (CompPlugin *p, + CompScreen *s) +{ + WobblyScreen *ws; + + WOBBLY_DISPLAY (s->display); + + ws = malloc (sizeof (WobblyScreen)); + if (!ws) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &wobblyMetadata, + wobblyScreenOptionInfo, + ws->opt, + WOBBLY_SCREEN_OPTION_NUM)) + { + free (ws); + return FALSE; + } + + ws->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (ws->windowPrivateIndex < 0) + { + compFiniScreenOptions (s, ws->opt, WOBBLY_SCREEN_OPTION_NUM); + free (ws); + return FALSE; + } + + ws->wobblyWindows = FALSE; + + ws->grabMask = 0; + ws->grabWindow = NULL; + ws->moveWindow = FALSE; + + WRAP (ws, s, preparePaintScreen, wobblyPreparePaintScreen); + WRAP (ws, s, donePaintScreen, wobblyDonePaintScreen); + WRAP (ws, s, paintOutput, wobblyPaintOutput); + WRAP (ws, s, paintWindow, wobblyPaintWindow); + WRAP (ws, s, damageWindowRect, wobblyDamageWindowRect); + WRAP (ws, s, addWindowGeometry, wobblyAddWindowGeometry); + WRAP (ws, s, windowResizeNotify, wobblyWindowResizeNotify); + WRAP (ws, s, windowMoveNotify, wobblyWindowMoveNotify); + WRAP (ws, s, windowGrabNotify, wobblyWindowGrabNotify); + WRAP (ws, s, windowUngrabNotify, wobblyWindowUngrabNotify); + + s->privates[wd->screenPrivateIndex].ptr = ws; + + return TRUE; +} + +static void +wobblyFiniScreen (CompPlugin *p, + CompScreen *s) +{ + WOBBLY_SCREEN (s); + + freeWindowPrivateIndex (s, ws->windowPrivateIndex); + + UNWRAP (ws, s, preparePaintScreen); + UNWRAP (ws, s, donePaintScreen); + UNWRAP (ws, s, paintOutput); + UNWRAP (ws, s, paintWindow); + UNWRAP (ws, s, damageWindowRect); + UNWRAP (ws, s, addWindowGeometry); + UNWRAP (ws, s, windowResizeNotify); + UNWRAP (ws, s, windowMoveNotify); + UNWRAP (ws, s, windowGrabNotify); + UNWRAP (ws, s, windowUngrabNotify); + + compFiniScreenOptions (s, ws->opt, WOBBLY_SCREEN_OPTION_NUM); + + free (ws); +} + +static Bool +wobblyInitWindow (CompPlugin *p, + CompWindow *w) +{ + WobblyWindow *ww; + + WOBBLY_SCREEN (w->screen); + + ww = malloc (sizeof (WobblyWindow)); + if (!ww) + return FALSE; + + ww->model = 0; + ww->wobbly = 0; + ww->grabbed = FALSE; + ww->state = w->state; + + w->privates[ws->windowPrivateIndex].ptr = ww; + + if (w->mapNum && ws->opt[WOBBLY_SCREEN_OPTION_MAXIMIZE_EFFECT].value.b) + { + if (isWobblyWin (w)) + wobblyEnsureModel (w); + } + + return TRUE; +} + +static void +wobblyFiniWindow (CompPlugin *p, + CompWindow *w) +{ + WOBBLY_WINDOW (w); + WOBBLY_SCREEN (w->screen); + + if (ws->grabWindow == w) + { + ws->grabWindow = NULL; + ws->grabMask = 0; + } + + if (ww->model) + { + free (ww->model->objects); + free (ww->model); + } + + free (ww); +} + +static Bool +wobblyInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&wobblyMetadata, + p->vTable->name, + wobblyDisplayOptionInfo, + WOBBLY_DISPLAY_OPTION_NUM, + wobblyScreenOptionInfo, + WOBBLY_SCREEN_OPTION_NUM)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&wobblyMetadata); + return FALSE; + } + + compAddMetadataFromFile (&wobblyMetadata, p->vTable->name); + + return TRUE; +} + +static void +wobblyFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&wobblyMetadata); +} + +static int +wobblyGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +wobblyGetMetadata (CompPlugin *plugin) +{ + return &wobblyMetadata; +} + +CompPluginVTable wobblyVTable = { + "wobbly", + wobblyGetVersion, + wobblyGetMetadata, + wobblyInit, + wobblyFini, + wobblyInitDisplay, + wobblyFiniDisplay, + wobblyInitScreen, + wobblyFiniScreen, + wobblyInitWindow, + wobblyFiniWindow, + wobblyGetDisplayOptions, + wobblySetDisplayOption, + wobblyGetScreenOptions, + wobblySetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &wobblyVTable; +} diff --git a/plugins/zoom.c b/plugins/zoom.c new file mode 100644 index 0000000..b84155c --- /dev/null +++ b/plugins/zoom.c @@ -0,0 +1,1157 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include + +#include + +#include + +static CompMetadata zoomMetadata; + +static int displayPrivateIndex; + +#define ZOOM_DISPLAY_OPTION_INITIATE 0 +#define ZOOM_DISPLAY_OPTION_IN 1 +#define ZOOM_DISPLAY_OPTION_OUT 2 +#define ZOOM_DISPLAY_OPTION_PAN 3 +#define ZOOM_DISPLAY_OPTION_NUM 4 + +typedef struct _ZoomDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + CompOption opt[ZOOM_DISPLAY_OPTION_NUM]; +} ZoomDisplay; + +typedef struct _ZoomBox { + float x1; + float y1; + float x2; + float y2; +} ZoomBox; + +#define ZOOM_SCREEN_OPTION_SPEED 0 +#define ZOOM_SCREEN_OPTION_TIMESTEP 1 +#define ZOOM_SCREEN_OPTION_ZOOM_FACTOR 2 +#define ZOOM_SCREEN_OPTION_FILTER_LINEAR 3 +#define ZOOM_SCREEN_OPTION_NUM 4 + +typedef struct _ZoomScreen { + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + + CompOption opt[ZOOM_SCREEN_OPTION_NUM]; + + float pointerSensitivity; + + int grabIndex; + Bool grab; + + int zoomed; + + Bool adjust; + + int panGrabIndex; + Cursor panCursor; + + GLfloat velocity; + GLfloat scale; + + ZoomBox current[16]; + ZoomBox last[16]; + + int x1, y1, x2, y2; + + int zoomOutput; +} ZoomScreen; + +#define GET_ZOOM_DISPLAY(d) \ + ((ZoomDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define ZOOM_DISPLAY(d) \ + ZoomDisplay *zd = GET_ZOOM_DISPLAY (d) + +#define GET_ZOOM_SCREEN(s, zd) \ + ((ZoomScreen *) (s)->privates[(zd)->screenPrivateIndex].ptr) + +#define ZOOM_SCREEN(s) \ + ZoomScreen *zs = GET_ZOOM_SCREEN (s, GET_ZOOM_DISPLAY (s->display)) + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static CompOption * +zoomGetScreenOptions (CompPlugin *plugin, + CompScreen *screen, + int *count) +{ + ZOOM_SCREEN (screen); + + *count = NUM_OPTIONS (zs); + return zs->opt; +} + +static Bool +zoomSetScreenOption (CompPlugin *plugin, + CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + + ZOOM_SCREEN (screen); + + o = compFindOption (zs->opt, NUM_OPTIONS (zs), name, NULL); + if (!o) + return FALSE; + + return compSetScreenOption (screen, o, value); +} + +static int +adjustZoomVelocity (ZoomScreen *zs) +{ + float d, adjust, amount; + + d = (1.0f - zs->scale) * 10.0f; + + adjust = d * 0.002f; + amount = fabs (d); + if (amount < 1.0f) + amount = 1.0f; + else if (amount > 5.0f) + amount = 5.0f; + + zs->velocity = (amount * zs->velocity + adjust) / (amount + 1.0f); + + return (fabs (d) < 0.02f && fabs (zs->velocity) < 0.005f); +} + +static void +zoomInEvent (CompScreen *s) +{ + CompOption o[6]; + + ZOOM_SCREEN (s); + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeInt; + o[1].name = "output"; + o[1].value.i = zs->zoomOutput; + + o[2].type = CompOptionTypeInt; + o[2].name = "x1"; + o[2].value.i = zs->current[zs->zoomOutput].x1; + + o[3].type = CompOptionTypeInt; + o[3].name = "y1"; + o[3].value.i = zs->current[zs->zoomOutput].y1; + + o[4].type = CompOptionTypeInt; + o[4].name = "x2"; + o[4].value.i = zs->current[zs->zoomOutput].x2; + + o[5].type = CompOptionTypeInt; + o[5].name = "y2"; + o[5].value.i = zs->current[zs->zoomOutput].y2; + + (*s->display->handleEcompEvent) (s->display, "zoom", "in", o, 6); +} + +static void +zoomOutEvent (CompScreen *s) +{ + CompOption o[2]; + + ZOOM_SCREEN (s); + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeInt; + o[1].name = "output"; + o[1].value.i = zs->zoomOutput; + + (*s->display->handleEcompEvent) (s->display, "zoom", "out", o, 2); +} + +static void +zoomPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + ZOOM_SCREEN (s); + + if (zs->adjust) + { + int steps; + float amount; + + amount = msSinceLastPaint * 0.35f * + zs->opt[ZOOM_SCREEN_OPTION_SPEED].value.f; + steps = amount / (0.5f * zs->opt[ZOOM_SCREEN_OPTION_TIMESTEP].value.f); + if (!steps) steps = 1; + + while (steps--) + { + if (adjustZoomVelocity (zs)) + { + BoxPtr pBox = &s->outputDev[zs->zoomOutput].region.extents; + + zs->scale = 1.0f; + zs->velocity = 0.0f; + zs->adjust = FALSE; + + if (zs->current[zs->zoomOutput].x1 == pBox->x1 && + zs->current[zs->zoomOutput].y1 == pBox->y1 && + zs->current[zs->zoomOutput].x2 == pBox->x2 && + zs->current[zs->zoomOutput].y2 == pBox->y2) + { + zs->zoomed &= ~(1 << zs->zoomOutput); + zoomOutEvent (s); + } + else + { + zoomInEvent (s); + } + + break; + } + else + { + zs->scale += (zs->velocity * msSinceLastPaint) / s->redrawTime; + } + } + } + + UNWRAP (zs, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (zs, s, preparePaintScreen, zoomPreparePaintScreen); +} + +static void +zoomGetCurrentZoom (CompScreen *s, + int output, + ZoomBox *pBox) +{ + ZOOM_SCREEN (s); + + if (output == zs->zoomOutput) + { + float inverse; + + inverse = 1.0f - zs->scale; + + pBox->x1 = zs->scale * zs->current[output].x1 + + inverse * zs->last[output].x1; + pBox->y1 = zs->scale * zs->current[output].y1 + + inverse * zs->last[output].y1; + pBox->x2 = zs->scale * zs->current[output].x2 + + inverse * zs->last[output].x2; + pBox->y2 = zs->scale * zs->current[output].y2 + + inverse * zs->last[output].y2; + } + else + { + pBox->x1 = zs->current[output].x1; + pBox->y1 = zs->current[output].y1; + pBox->x2 = zs->current[output].x2; + pBox->y2 = zs->current[output].y2; + } +} + +static void +zoomDonePaintScreen (CompScreen *s) +{ + ZOOM_SCREEN (s); + + if (zs->adjust) + damageScreen (s); + + UNWRAP (zs, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (zs, s, donePaintScreen, zoomDonePaintScreen); +} + +static Bool +zoomPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + CompTransform zTransform = *transform; + Bool status; + + ZOOM_SCREEN (s); + + if (output->id != ~0 && (zs->zoomed & (1 << output->id))) + { + int saveFilter; + ZoomBox box; + float scale, x, y, x1, y1; + float oWidth = output->width; + float oHeight = output->height; + + mask &= ~PAINT_SCREEN_REGION_MASK; + + zoomGetCurrentZoom (s, output->id, &box); + + x1 = box.x1 - output->region.extents.x1; + y1 = box.y1 - output->region.extents.y1; + + scale = oWidth / (box.x2 - box.x1); + + x = ((oWidth / 2.0f) - x1) / oWidth; + y = ((oHeight / 2.0f) - y1) / oHeight; + + x = 0.5f - x * scale; + y = 0.5f - y * scale; + + matrixTranslate (&zTransform, -x, y, 0.0f); + matrixScale (&zTransform, scale, scale, 1.0f); + + mask |= PAINT_SCREEN_TRANSFORMED_MASK; + + saveFilter = s->filter[SCREEN_TRANS_FILTER]; + + if ((zs->zoomOutput != output->id || !zs->adjust) && scale > 3.9f && + !zs->opt[ZOOM_SCREEN_OPTION_FILTER_LINEAR].value.b) + s->filter[SCREEN_TRANS_FILTER] = COMP_TEXTURE_FILTER_FAST; + + UNWRAP (zs, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, &zTransform, region, output, + mask); + WRAP (zs, s, paintOutput, zoomPaintOutput); + + s->filter[SCREEN_TRANS_FILTER] = saveFilter; + } + else + { + UNWRAP (zs, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, + mask); + WRAP (zs, s, paintOutput, zoomPaintOutput); + } + + if (status && zs->grab) + { + int x1, x2, y1, y2; + + x1 = MIN (zs->x1, zs->x2); + y1 = MIN (zs->y1, zs->y2); + x2 = MAX (zs->x1, zs->x2); + y2 = MAX (zs->y1, zs->y2); + + if (zs->grabIndex) + { + transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &zTransform); + + glPushMatrix (); + glLoadMatrixf (zTransform.m); + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glEnable (GL_BLEND); + glColor4us (0x2fff, 0x2fff, 0x4fff, 0x4fff); + glRecti (x1, y2, x2, y1); + glColor4us (0x2fff, 0x2fff, 0x4fff, 0x9fff); + glBegin (GL_LINE_LOOP); + glVertex2i (x1, y1); + glVertex2i (x2, y1); + glVertex2i (x2, y2); + glVertex2i (x1, y2); + glEnd (); + glColor4usv (defaultColor); + glDisable (GL_BLEND); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + glPopMatrix (); + } + } + + return status; +} + +static void +zoomInitiateForSelection (CompScreen *s, + int output) +{ + int tmp; + + ZOOM_SCREEN (s); + + if (zs->x1 > zs->x2) + { + tmp = zs->x1; + zs->x1 = zs->x2; + zs->x2 = tmp; + } + + if (zs->y1 > zs->y2) + { + tmp = zs->y1; + zs->y1 = zs->y2; + zs->y2 = tmp; + } + + if (zs->x1 < zs->x2 && zs->y1 < zs->y2) + { + float oWidth, oHeight; + float xScale, yScale, scale; + BoxRec box; + int cx, cy; + int width, height; + + oWidth = s->outputDev[output].width; + oHeight = s->outputDev[output].height; + + cx = (int) ((zs->x1 + zs->x2) / 2.0f + 0.5f); + cy = (int) ((zs->y1 + zs->y2) / 2.0f + 0.5f); + + width = zs->x2 - zs->x1; + height = zs->y2 - zs->y1; + + xScale = oWidth / width; + yScale = oHeight / height; + + scale = MAX (MIN (xScale, yScale), 1.0f); + + box.x1 = cx - (oWidth / scale) / 2.0f; + box.y1 = cy - (oHeight / scale) / 2.0f; + box.x2 = cx + (oWidth / scale) / 2.0f; + box.y2 = cy + (oHeight / scale) / 2.0f; + + if (box.x1 < s->outputDev[output].region.extents.x1) + { + box.x2 += s->outputDev[output].region.extents.x1 - box.x1; + box.x1 = s->outputDev[output].region.extents.x1; + } + else if (box.x2 > s->outputDev[output].region.extents.x2) + { + box.x1 -= box.x2 - s->outputDev[output].region.extents.x2; + box.x2 = s->outputDev[output].region.extents.x2; + } + + if (box.y1 < s->outputDev[output].region.extents.y1) + { + box.y2 += s->outputDev[output].region.extents.y1 - box.y1; + box.y1 = s->outputDev[output].region.extents.y1; + } + else if (box.y2 > s->outputDev[output].region.extents.y2) + { + box.y1 -= box.y2 - s->outputDev[output].region.extents.y2; + box.y2 = s->outputDev[output].region.extents.y2; + } + + if (zs->zoomed & (1 << output)) + { + zoomGetCurrentZoom (s, output, &zs->last[output]); + } + else + { + zs->last[output].x1 = s->outputDev[output].region.extents.x1; + zs->last[output].y1 = s->outputDev[output].region.extents.y1; + zs->last[output].x2 = s->outputDev[output].region.extents.x2; + zs->last[output].y2 = s->outputDev[output].region.extents.y2; + } + + zs->current[output].x1 = box.x1; + zs->current[output].y1 = box.y1; + zs->current[output].x2 = box.x2; + zs->current[output].y2 = box.y2; + + zs->scale = 0.0f; + zs->adjust = TRUE; + zs->zoomOutput = output; + zs->zoomed |= (1 << output); + + damageScreen (s); + } +} + +static Bool +zoomIn (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + float w, h, x0, y0; + int output; + ZoomBox box; + + ZOOM_SCREEN (s); + + output = outputDeviceForPoint (s, pointerX, pointerY); + + if (!zs->grabIndex) + zs->grabIndex = pushScreenGrab (s, None, "zoom"); + + if (zs->zoomed & (1 << output)) + { + zoomGetCurrentZoom (s, output, &box); + } + else + { + box.x1 = s->outputDev[output].region.extents.x1; + box.y1 = s->outputDev[output].region.extents.y1; + box.x2 = s->outputDev[output].region.extents.x2; + box.y2 = s->outputDev[output].region.extents.y2; + } + + w = (box.x2 - box.x1) / + zs->opt[ZOOM_SCREEN_OPTION_ZOOM_FACTOR].value.f; + h = (box.y2 - box.y1) / + zs->opt[ZOOM_SCREEN_OPTION_ZOOM_FACTOR].value.f; + + x0 = (pointerX - s->outputDev[output].region.extents.x1) / (float) + s->outputDev[output].width; + y0 = (pointerY - s->outputDev[output].region.extents.y1) / (float) + s->outputDev[output].height; + + zs->x1 = box.x1 + (x0 * (box.x2 - box.x1) - x0 * w + 0.5f); + zs->y1 = box.y1 + (y0 * (box.y2 - box.y1) - y0 * h + 0.5f); + zs->x2 = zs->x1 + w; + zs->y2 = zs->y1 + h; + + zoomInitiateForSelection (s, output); + + return TRUE; + } + + return FALSE; +} + +static Bool +zoomInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + int output, x1, y1; + float scale; + + ZOOM_SCREEN (s); + + if (otherScreenGrabExist (s, "zoom", 0)) + return FALSE; + + if (!zs->grabIndex) + zs->grabIndex = pushScreenGrab (s, None, "zoom"); + + //if (state & CompActionStateInitButton) /*XXX*/ + action->state |= CompActionStateTermButton; + + + /* start selection zoom rectangle */ + + output = outputDeviceForPoint (s, pointerX, pointerY); + + if (zs->zoomed & (1 << output)) + { + ZoomBox box; + float oWidth; + + zoomGetCurrentZoom (s, output, &box); + + oWidth = s->outputDev[output].width; + scale = oWidth / (box.x2 - box.x1); + + x1 = box.x1; + y1 = box.y1; + } + else + { + scale = 1.0f; + x1 = s->outputDev[output].region.extents.x1; + y1 = s->outputDev[output].region.extents.y1; + } + + zs->x1 = zs->x2 = x1 + + ((pointerX - s->outputDev[output].region.extents.x1) / + scale + 0.5f); + zs->y1 = zs->y2 = y1 + + ((pointerY - s->outputDev[output].region.extents.y1) / + scale + 0.5f); + + zs->zoomOutput = output; + + zs->grab = TRUE; + + damageScreen (s); + + return TRUE; + } + + return FALSE; +} + +static Bool +zoomOut (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + int output; + + ZOOM_SCREEN (s); + + output = outputDeviceForPoint (s, pointerX, pointerY); + + zoomGetCurrentZoom (s, output, &zs->last[output]); + + zs->current[output].x1 = s->outputDev[output].region.extents.x1; + zs->current[output].y1 = s->outputDev[output].region.extents.y1; + zs->current[output].x2 = s->outputDev[output].region.extents.x2; + zs->current[output].y2 = s->outputDev[output].region.extents.y2; + + zs->zoomOutput = output; + zs->scale = 0.0f; + zs->adjust = TRUE; + zs->grab = FALSE; + + if (zs->grabIndex) + { + removeScreenGrab (s, zs->grabIndex, NULL); + zs->grabIndex = 0; + } + + damageScreen (s); + + return TRUE; + } + + return FALSE; +} + +static Bool +zoomTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + ZOOM_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (zs->grab) + { + int output; + + output = outputDeviceForPoint (s, zs->x1, zs->y1); + + if (zs->x2 > s->outputDev[output].region.extents.x2) + zs->x2 = s->outputDev[output].region.extents.x2; + + if (zs->y2 > s->outputDev[output].region.extents.y2) + zs->y2 = s->outputDev[output].region.extents.y2; + + zoomInitiateForSelection (s, output); + + zs->grab = FALSE; + } + else + { + CompOption o; + + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = s->root; + + zoomOut (d, action, state, &o, 1); + } + } + + action->state &= ~(CompActionStateTermKey | CompActionStateTermButton); + + return FALSE; +} + +static Bool +zoomInitiatePan (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + int output; + + ZOOM_SCREEN (s); + + output = outputDeviceForPoint (s, pointerX, pointerY); + + if (!(zs->zoomed & (1 << output))) + return FALSE; + + if (otherScreenGrabExist (s, "zoom", 0)) + return FALSE; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (!zs->panGrabIndex) + zs->panGrabIndex = pushScreenGrab (s, zs->panCursor, "zoom-pan"); + + zs->zoomOutput = output; + + return TRUE; + } + + return FALSE; +} + +static Bool +zoomTerminatePan (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + ZOOM_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (zs->panGrabIndex) + { + removeScreenGrab (s, zs->panGrabIndex, NULL); + zs->panGrabIndex = 0; + + zoomInEvent (s); + } + + return TRUE; + } + + action->state &= ~(CompActionStateTermKey | CompActionStateTermButton); + + return FALSE; +} + +static void +zoomHandleMotionEvent (CompScreen *s, + int xRoot, + int yRoot) +{ + ZOOM_SCREEN (s); + + if (zs->grabIndex) + { + int output = zs->zoomOutput; + ZoomBox box; + float scale, oWidth = s->outputDev[output].width; + + zoomGetCurrentZoom (s, output, &box); + + if (zs->zoomed & (1 << output)) + scale = oWidth / (box.x2 - box.x1); + else + scale = 1.0f; + + if (zs->panGrabIndex) + { + float dx, dy; + + dx = (xRoot - lastPointerX) / scale; + dy = (yRoot - lastPointerY) / scale; + + box.x1 -= dx; + box.y1 -= dy; + box.x2 -= dx; + box.y2 -= dy; + + if (box.x1 < s->outputDev[output].region.extents.x1) + { + box.x2 += s->outputDev[output].region.extents.x1 - box.x1; + box.x1 = s->outputDev[output].region.extents.x1; + } + else if (box.x2 > s->outputDev[output].region.extents.x2) + { + box.x1 -= box.x2 - s->outputDev[output].region.extents.x2; + box.x2 = s->outputDev[output].region.extents.x2; + } + + if (box.y1 < s->outputDev[output].region.extents.y1) + { + box.y2 += s->outputDev[output].region.extents.y1 - box.y1; + box.y1 = s->outputDev[output].region.extents.y1; + } + else if (box.y2 > s->outputDev[output].region.extents.y2) + { + box.y1 -= box.y2 - s->outputDev[output].region.extents.y2; + box.y2 = s->outputDev[output].region.extents.y2; + } + + zs->current[output] = box; + + damageScreen (s); + } + else + { + int x1, y1; + + if (zs->zoomed & (1 << output)) + { + x1 = box.x1; + y1 = box.y1; + } + else + { + x1 = s->outputDev[output].region.extents.x1; + y1 = s->outputDev[output].region.extents.y1; + } + + zs->x2 = x1 + + ((xRoot - s->outputDev[output].region.extents.x1) / + scale + 0.5f); + zs->y2 = y1 + + ((yRoot - s->outputDev[output].region.extents.y1) / + scale + 0.5f); + + damageScreen (s); + } + } +} + +static void +zoomHandleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + + ZOOM_DISPLAY (d); + + switch (event->type) { + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + zoomHandleMotionEvent (s, pointerX, pointerY); + break; + case EnterNotify: + case LeaveNotify: + s = findScreenAtDisplay (d, event->xcrossing.root); + if (s) + zoomHandleMotionEvent (s, pointerX, pointerY); + default: + break; + } + + UNWRAP (zd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (zd, d, handleEvent, zoomHandleEvent); +} + +static CompOption * +zoomGetDisplayOptions (CompPlugin *plugin, + CompDisplay *display, + int *count) +{ + ZOOM_DISPLAY (display); + + *count = NUM_OPTIONS (zd); + return zd->opt; +} + +static Bool +zoomSetDisplayOption (CompPlugin *plugin, + CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + ZOOM_DISPLAY (display); + + o = compFindOption (zd->opt, NUM_OPTIONS (zd), name, &index); + if (!o) + return FALSE; + + switch (index) { + case ZOOM_DISPLAY_OPTION_OUT: + if (compSetActionOption (o, value)) + return TRUE; + break; + default: + return compSetDisplayOption (display, o, value); + } + + return FALSE; +} + +static const CompMetadataOptionInfo zoomDisplayOptionInfo[] = { + { "initiate", "action", 0, zoomInitiate, zoomTerminate }, + { "zoom_in", "action", 0, zoomIn, 0 }, + { "zoom_out", "action", 0, zoomOut, 0 }, + { "zoom_pan", "action", 0, zoomInitiatePan, zoomTerminatePan } +}; + +static Bool +zoomInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ZoomDisplay *zd; + + zd = malloc (sizeof (ZoomDisplay)); + if (!zd) + return FALSE; + + if (!compInitDisplayOptionsFromMetadata (d, + &zoomMetadata, + zoomDisplayOptionInfo, + zd->opt, + ZOOM_DISPLAY_OPTION_NUM)) + { + free (zd); + return FALSE; + } + + zd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (zd->screenPrivateIndex < 0) + { + compFiniDisplayOptions (d, zd->opt, ZOOM_DISPLAY_OPTION_NUM); + free (zd); + return FALSE; + } + + WRAP (zd, d, handleEvent, zoomHandleEvent); + + d->privates[displayPrivateIndex].ptr = zd; + + return TRUE; +} + +static void +zoomFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + ZOOM_DISPLAY (d); + + freeScreenPrivateIndex (d, zd->screenPrivateIndex); + + UNWRAP (zd, d, handleEvent); + + compFiniDisplayOptions (d, zd->opt, ZOOM_DISPLAY_OPTION_NUM); + + free (zd); +} + +static const CompMetadataOptionInfo zoomScreenOptionInfo[] = { + { "speed", "float", "0.1", 0, 0 }, + { "timestep", "float", "0.1", 0, 0 }, + { "zoom_factor", "float", "1.01", 0, 0 }, + { "filter_linear", "bool", 0, 0, 0 } +}; + +static Bool +zoomInitScreen (CompPlugin *p, + CompScreen *s) +{ + ZoomScreen *zs; + + ZOOM_DISPLAY (s->display); + + zs = malloc (sizeof (ZoomScreen)); + if (!zs) + return FALSE; + + if (!compInitScreenOptionsFromMetadata (s, + &zoomMetadata, + zoomScreenOptionInfo, + zs->opt, + ZOOM_SCREEN_OPTION_NUM)) + { + free (zs); + return FALSE; + } + + zs->grabIndex = 0; + zs->grab = FALSE; + + zs->velocity = 0.0f; + + zs->zoomOutput = 0; + + zs->zoomed = 0; + zs->adjust = FALSE; + + zs->panGrabIndex = 0; + zs->panCursor = XCreateFontCursor (s->display->display, XC_fleur); + + zs->scale = 0.0f; + + memset (&zs->current, 0, sizeof (zs->current)); + memset (&zs->last, 0, sizeof (zs->last)); + + WRAP (zs, s, preparePaintScreen, zoomPreparePaintScreen); + WRAP (zs, s, donePaintScreen, zoomDonePaintScreen); + WRAP (zs, s, paintOutput, zoomPaintOutput); + + s->privates[zd->screenPrivateIndex].ptr = zs; + + return TRUE; +} + +static void +zoomFiniScreen (CompPlugin *p, + CompScreen *s) +{ + ZOOM_SCREEN (s); + + if (zs->panCursor) + XFreeCursor (s->display->display, zs->panCursor); + + UNWRAP (zs, s, preparePaintScreen); + UNWRAP (zs, s, donePaintScreen); + UNWRAP (zs, s, paintOutput); + + compFiniScreenOptions (s, zs->opt, ZOOM_SCREEN_OPTION_NUM); + + free (zs); +} + +static Bool +zoomInit (CompPlugin *p) +{ + if (!compInitPluginMetadataFromInfo (&zoomMetadata, + p->vTable->name, + zoomDisplayOptionInfo, + ZOOM_DISPLAY_OPTION_NUM, + zoomScreenOptionInfo, + ZOOM_SCREEN_OPTION_NUM)) + return FALSE; + + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + { + compFiniMetadata (&zoomMetadata); + return FALSE; + } + + compAddMetadataFromFile (&zoomMetadata, p->vTable->name); + + return TRUE; +} + +static void +zoomFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); + compFiniMetadata (&zoomMetadata); +} + +static int +zoomGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +static CompMetadata * +zoomGetMetadata (CompPlugin *plugin) +{ + return &zoomMetadata; +} + +CompPluginVTable zoomVTable = { + "zoom", + zoomGetVersion, + zoomGetMetadata, + zoomInit, + zoomFini, + zoomInitDisplay, + zoomFiniDisplay, + zoomInitScreen, + zoomFiniScreen, + 0, /* InitWindow */ + 0, /* FiniWindow */ + zoomGetDisplayOptions, + zoomSetDisplayOption, + zoomGetScreenOptions, + zoomSetScreenOption +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &zoomVTable; +} diff --git a/po/.intltool-merge-cache b/po/.intltool-merge-cache new file mode 100644 index 0000000..dc7b33e --- /dev/null +++ b/po/.intltool-merge-cache @@ -0,0 +1 @@ +deAutomatic detection of output devicesAutomatische Erkennung von AusgabegerätenhuClose active windowAktív ablak bezárásaitRender skydomeRendering skydomezh_CNAmount of saturation in percent饱和度百分比itDesktop CubeCubo desktopcsToggle use of slow animationsPřepnout použití pomalých animacíhuMaximize Window HorizontallyAblak maximalizálása vízszintesencsRotation AccelerationZrychlení otáčenícsRotate leftOtočit vlevopt_BRTimeout before flipping viewportTempo de espera antes da inversão do viewportpt_BRRotate to face 8 and bring active window alongGirar para a face 8 e trazer a janela ativa juntosvRender skydomeRita ut skydomecsRun command 7Spustit příkaz 7csList of strings describing output devicesSeznam řetězců, které popisují výstupní zařízeníjaNext Slide次のスライドruEdge Flip MoveОтражение при перемещении к краюsvPlane To Face 6Plana till yta 6caBring selected window to frontPorta la finestra seleccionada endavantesUse spring model for wobbly window effectUsa el modelo de muelle para el efecto de ventana gelatinosaitSnap windowsAggancia finestreesRotate To Face 3Girar hacia el 3pt_BRDialogCaixa de diálogozh_CNMenu菜单plFlip to left viewport and warp pointerPrzełącz do widoku z lewej i przenieś wskaźnik na krawędź ekranuzh_CNVertical Virtual Size垂直虚拟大小itRotate leftRuota _sinistraitScale imageRidimensiona immaginecsRotate Flip LeftOtočit překlopením vlevokmUnknownមិន​ស្គាល់fiMaximize EffectSuurennustehostedaSnap To Top FaceFastgør til oversidenzh_TWAdd line新增線esRotate to face 9 and bring active window alongGira hacia el 9 y arrastra la ventana activajaFocus Effect効果をフォーカスruOverlay IconНаложить значокsvRotate to face 9Rotera till yta 9deCommand line to be executed in shell when run_command3 is invokedDie Kommandozeile, die bei Ausführung von run_command3 in der Shell ausgeführt wirddeAnimate SkydomeSkydome animierenesRun command 3Ejecutar comando 3jaRun command 1ランコマンド1esRotate CubeGirar cuboplDesktopPulpitfrRotate rightRotation à droitept_BRGenerate mipmaps when possible for higher quality scalingGerar mapas quando possível para dimensionamento de melhor qualidadeplSelect previous windowWybierz poprzednie oknoitRotate To Face 5Ruota su faccia 5caInitiateIniciajaFold AccelerationアクセラレーションをフォールドitRotate To Face 4 with WindowRuota su faccia 4 con finestrafiCommand line 10Komentorivi 10deZoom SpeedZoomgeschwindigkeitzh_TWMipmapMipmapfiShadow Offset XVarjon poikkeama (X)jaFlip to left viewport and warp pointer左ビューポートとワープポインタにフリップzh_CNA keybinding that when invoked, will run the shell command identified by command10键绑定在调用时,将运行 command10 确定的 shell 命令ruRotate Right with WindowВращать вправо вместе с окномhuStart moving windowAblakmozgatás indításazh_TWCommand line 6指令行 6itFlip to left viewport and warp pointerCapovolgi verso sinistra riquadro di visualizzazione e altera puntatoreplToggle active window maximized horizontallyPrzełącz maksymalizację poziomą aktywnego oknadaOverlay IconOverlejringsikondaEdge Flip PointerMarkør til kant, venddaBring To FrontPlacer forrestesRotate to face 4 and bring active window alongGira hacia el 4 y arrastra la ventana activaesWorkaroundsSoluciones alternativaspt_BRRotate to viewportGirar para o viewportsvToggle rain effectVäxla regneffektpt_BRDecrease window opacityReduzir opacidade da janelazh_TWShow Main Menu顯示主功能表fiRotate To Face 10Käännä työpöydälle 10esToggle Window ShadedActivar o desactivar ventana con sombracaShiverEstremeixhuTerminal command lineTerminál parancssorplCommandPoleceniecaAudible system beepAvís sonor del sistemajaRaise windows when clickedクリック時にウィンドウを上げるptA keybinding that when invoked, will run the shell command identified by command9Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando9zh_CNCommand line 10命令行 10esShiverTemblorjaClose active windowアクティブなウィンドウを閉じるzh_CNWobble effect when maximizing and unmaximizing windows最大化和取消最大化窗口时的颤动效果ruDndПеретаскиваниеptSnapoff maximized windowsJanelas maximizadas quebradassvPlane To Face 1Plana till yta 1huSaturationTelítettségptAudible BellCampainha AudívelsvCommand line to be executed in shell when run_command1 is invokedKommandorad som ska köras i ett skal när run_command1 anropasitPopup switcher if not visible and select previous windowMostra il selettore se non visibile e seleziona la finestra precedenteitZoom SpeedVelocità zoomjaRotate Flip Right右にフリップ回転csDefault IconVýchozí ikonadaWater offset scaleStørrelse på vandforskydningruMaximize Window HorizontallyРазвернуть окно горизонтальноcaRotate desktop cubeGira el cub de l'escriptorizh_CNHide windows not in taskbar when entering show desktop mode隐藏进入显示桌面方式时不在任务栏中的窗口frOverlay an icon on windows once they are scaledSuperposer une icône sur les fenêtres lorsqu'elles ont été mises à l'échellehuDecorator command line that is executed if no decorator is already runningDíszítő parancs, amely akkor kerül végrehajtásra, ha még nem fut díszítőpt_BRZoom factorFator de zoomcsPointBodcsTake a screenshotPořídit snímek obrazovkydeInitiate Window PickerFensterauswahl initiierenhuLaunch ApplicationAlkalmazás indításadeTexture FilterStrukturfilterjaUse spring model for wobbly window effect揺れるウィンドウ効果用にバネモデルを使用zh_CNMaximize Window Vertically垂直方向最大化窗口zh_CNToggle Window Maximized Horizontally将窗口水平方向切换到最大化ptRotate Left with WindowGirar para a Esquerda com JanelasvNormalNormalfrOffset ScaleÉchelle de décalagesvRotate To Face 1Rotera till yta 1itMaximize Window HorizontallyIngrandisci finestra in orizzontaleesEdge Flip PointerPuntero de inversión de bordept_BRPointer Invert YInverter Y com o PonteirosvInitiate eraseInitiera raderingcaAmount of saturation in percentQuantitat de saturació en percentatgecsWobbly WindowsVlnící se oknaesScaleEscalarsvRun command 11Kör kommando 11deOutputsAusgabenjaOpen window menuウィンドウメニューを開くfrSync To VBlankSync vers VBlankfrCommand line to be executed in shell when run_command6 is invokedLigne de commande à exécuter dans le shell lorsque run_command6 est appelédaShadow RadiusSkyggeradiusfiRotate to face 2 and bring active window alongKäännä työpöydälle 2 ja pidä aktiivinen ikkuna mukanafrCommand line to be executed in shell when run_command9 is invokedLigne de commande à exécuter dans le shell lorsque run_command9 est appeléesRotate to face 11 and bring active window alongGira hacia el 11 y arrastra la ventana activazh_TWA keybinding that when invoked, will run the shell command identified by command7啟用時將執行經 command7 識別之外圍程序指令的按鍵組合fiSlow AnimationsHitaat animaatiotdaDarken background when scaling windowsGør baggrunden mørkere, når vinduerne skalereszh_CNPopup switcher if not visible and select previous window out of all windows不可见时弹出切换程序并选择所有窗口的上一个窗口csFlip to next viewport when dragging object to screen edgePřeklopit na další viewport při přetažení objektu na hranici obrazovkyfiAutomatic detection of refresh rateVirkistystaajuuden automaattinen tunnistusdeFold TimestepFaltzeitintervallfiOpacity StepPeittävyyden askelruInitiateИнициироватьplSensitivity of pointer movementCzułość ruchu wskaźnikapt_BRAdds water effects to different desktop actionsAdiciona efeitos aquáticos a diferentes ações da área de trabalhocsAmount of saturation in percentHodnota sytosti v procentechfiTake a screenshotOta kuvankaappauszh_CNA keybinding that when invoked, will run the shell command identified by command3键绑定在调用时,将运行 command3 确定的 shell 命令caTime (in ms) before scale mode is terminated when hovering over a windowTemps (en ms) abans de finalitzar el mode d'escala en passar el punter per sobre una finestrafrScale images to cover top face of cubeMettre les images à l'échelle pour couvrir la face supérieure du cubezh_TWGo back to previous slide返回上一張投影片frUnmaximize active windowAgrandir la fenêtre activedaFold SpeedFoldehastighedafDesktopWerkskermplRotate Left with WindowObróć w lewo z oknemplWave effect from window titleEfekt fali os tytułu oknaplPlane DownPłaszczyzna dolnafrFullscreen Visual BellCloche visuelle plein écranptUse spring model for wobbly window effectUsar modelo de salto para efeito de instabilidade na janelapt_BRZoom TimestepTimestep do ZoomesPlace windows on cubeColoca las ventanas en un cubosvWindow ManagementFönsterhanteringesSnapoff and auto unmaximized maximized windows when draggingSeparar y desmaximizar automáticamente ventanas maximizadas al arrastrarsvWindows that should wobble when grabbedFönster som ska dallra när de fångasfiMinimize active windowPienennä aktiivinen ikkunaplFocus BlurRozmycie ostrościpt_BRZoom SpeedVelocidade do ZoomplStroke widthSzerokość pędzlapt_BRPlace windows on cubeColocar janelas no cubodeFlip to right viewport and warp pointerZum rechten Viewport wechseln und Zeiger verzerrenesCommand line 9Línea de comandos 9pt_BRLower WindowJanela Mais BaixacsCommand line 2Příkazová řádka 2pt_BRRotation TimestepTimestep da RotaçãoitEdge Flip DnDDnD riflessione bordifrA keybinding that when invoked, will run the shell command identified by command10Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command10daShiverRystendaDesktopSkrivebordesFading WindowsDesvanecer ventanasfiCommand line to be executed in shell when run_command5 is invokedSuoritettava komentorivi, kun run_command5 suoritetaan.ptRun command 2Executar comando 2pt_BRToggle active window maximizedAlternar janela ativa maximizadazh_TWSkydome Image天空頂影像plPointer Invert YOdwrócenie osi Y dla wskaźnikaitCommand line to be executed in shell when run_command1 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command1fiNext windowSeuraava ikkunaesOnly perform screen updates during vertical blanking periodSólo se llevan a cabo actualizaciones de la pantalla durante el período de borrado verticaljaSlow Animationsアニメーションのスロー再生frUtilityUtilitairezh_TWToggle wiper effect切換雨刷效果pt_BRWave effect from window titleEfeito de onda no título da janelajaCommand line to be executed in shell when run_command2 is invokedrun_command2の呼び出し時にシェルで実行されるコマンドラインzh_TWUse spring model for wobbly window effect針對搖擺視窗特效使用彈簧模式plPut screenshot images in this directoryUmieszcza zrzuty ekranu w tym kataloguitRun command 8Esegui comando 8huDistance desktop should be zoom out while switching windowsA munkaasztal kinagyításának mértéke ablakváltás soránsvNext windowNästa fönsterplToggle wiper effectPrzełącza efekt wycieraczkicaVertical Virtual SizeMida virtual verticaljaResize windowウィンドウのサイズ変更ptUnmaximize active windowDesmaximizar janela ativaitZoom and pan desktop cubeApplica zoom a panoramica a cubo desktopesZoom DesktopAmpliar/reducir escritoriopt_BRCommand line 1Linha de comando 1csSensitivity of pointer movementCitlivost pohybu ukazateleesConstrain Y coordinate to workspace areaLimita la coordenada Y al área de trabajopt_BROpacity level of moving windowsNível de opacidade das janelas em movimentopt_BRRotate to face 6Girar para a face 6jaNumber of Desktopsデスクトップ数ruScreenshot command lineКомандная строка снимка экранаpt_BRInside cubeDentro do cubopaNormalਸਧਾਰਨpt_BRScale imageDimensionar imagemsvSlow AnimationsLångsamma animeringardeShadow RadiusSchattenradiusesRotate to face 8 and bring active window alongGira hacia el 8 y arrastra la ventana activaesPointer Invert YInvertir Y en punteroesVertical Virtual SizeTamaño vertical virtualcaFlip to next viewport when moving pointer to screen edgeInverteix cap a la propera àrea de visualització en moure el punter cap a la vora de la pantallaitRotate to face 9Ruota su faccia 9deMipmapMipmapfiOpacityPeittävyyssvAdjust ImageJustera bildjaMaximize Effect効果を最大限にするplShade ResistanceOpór przyciemnianiahuClick on window moves input focus to itAz ablakra kattintással az ablakra irányítja a fókusztdaRotation AccelerationRotationsaccelerationpt_BRDarken background when scaling windowsEscurecer segundo plano ao dimensionar janelasesCommand line to be executed in shell when run_command1 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command1itSpace between windowsSpazio tra finestreplAdvance to next slidePrzejdź do następnej klatkihuWobble effect when maximizing and unmaximizing windowsImbolygás ablakok maximalizálásakor és visszaállításakorcaShow Main MenuMostra el menú principalfrA keybinding that when invoked, will run the shell command identified by command9Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command9deZoom TimestepZoomintervallcsOverlay an icon on windows once they are scaledPřekrýt okna ikonou, pokud je změněna jejich velikostsvRotate to face 2Rotera till yta 2svRotate To Face 11Rotera till yta 11frEdge Flip DnDRotation de côté - Glissement-déplacementptGenerate mipmaps when possible for higher quality scalingGerar mapas quando possível para dimensionamento de melhor qualidadeplSpeedSzybkośćdeSelect next windowNächstes Fenster auswählencsToggle wiper effectPřepnout efekt stěračeesRotate RightGirar a la derechaplLine widthSzerokość liniisvInvert Y axis for pointer movementInvertera Y-axeln för pekarens rörelserjaPlace windows at appropriate positions when mappedマップ時にウィンドウを適切な位置に配置するzh_CNInitiate Window Picker For Windows on Current Output启动当前输出窗口的窗口拾取器plRaise windows when clickedPodnieś okna po kliknięciubgUnknownНеизвестноpt_BRRotate to face 9 and bring active window alongGirar para a face 9 e trazer a janela ativa juntopt_BRFlip to left viewport and warp pointerInverter para o viewport esquerdo junto com o ponteirocsHorizontal Virtual SizeVodorovná virtuální velikostesFade in windows when mapped and fade out windows when unmappedLas ventanas aparecen progresivamente cuando se asignan y se desvanecen cuando se desasignanzh_TWToggle Window Maximized Vertically將視窗垂直切換到最大deColor of top and bottom sides of the cubeFarbe der Ober- und Unterseite des WürfelsdaToggle active window shadedSlå nedtoning af det aktive vindue til/frahuFlip to left viewport and warp pointerForgatás a bal oldali nézőpontig és mutató léptetésezh_CNFold Timestep折叠时间区间jaImage filesイメージファイルitToggle Window MaximizedAlterna finestra ingranditapt_BRRotate to face 7 and bring active window alongGirar para a face 7 e trazer a janela ativa juntojaDistance desktop should be zoom out while switching windowsウィンドウ切り替え中デスクトップ距離をズームアウトzh_CNZoom Out缩小daMinimize timestepMinimer tidstrinzh_TWDrop shadow X offset投影 X 軸偏移caIconIconacsDetect Refresh RateZjistit obnovovací frekvencihuZoom InNagyítászh_TWRaise On Click按一下時提高csLower window beneath other windowsPřesunout okno do pozadízh_CNCommand line to be executed in shell when run_command2 is invoked调用 run_command2 时,shell 中要执行的命令行fiRotate to face 8Käännä työpöydälle 8frMaximize active window horizontallyOptimiser la fenêtre active horizontalementitRotate To Face 9Ruota su faccia 9deMaximize active window horizontallyAktives Fenster horizontal maximierenzh_TWColor of top and bottom sides of the cube立方體的頂面和底面顏色svShow the main menuVisa huvudmenynjaRaise selected windows after interval時間間隔後に選択したウィンドウを上げるzh_CNScale调整大小itRun command 10Esegui comando 10esBring To FrontTraer a primer planopt_BRCommand line to be executed in shell when run_command6 is invokedLinha de comando a ser executada no shell quando run_command6 for acionadoesMinimizedMinimizadadeUtilityDienstprogrammzh_CNMaximize Window Horizontally水平方向最大化窗口svPlane DownPlana nedåthuRotate with windowForgatás az ablakkal együttcsBring selected window to frontPřenést vybrané okno na popředífrMinimizedMinimiséruComboПоле ввода со спискомruMenuМенюdeSwitcher timestepSchalterzeitintervallzh_TWDialog對話方塊jaShade Resistanceシェード耐性svTerminal command lineKommandorad för terminaldeList of PNG and SVG files that should be rendered on top face of cubeListe der PNG- und SVG-Dateien, die auf der Oberseite des Würfels angezeigt werden sollenzh_TWToggle wiper切換雨刷zh_CNSlow Animations慢速动画frCube ColorCouleur du cubesvTimestepTidsintervallfiTake a screenshot of a windowOta kuvankaappaus ikkunastapt_BRSwitcher timestepTimestep do alternadoritBring selected window to frontPorta finestra selezionata in primo pianodeVertical Virtual SizeVertikale virtuelle GrößecsSpring KPružina KfiRotate to face 10Käännä työpöydälle 10zh_TWInitiate Window Move起始化視窗移動zh_CNScale windows调整窗口大小ruAutomatic detection of output devicesАвтоматическое определение устройств выводаdaUse spring model for wobbly window effectBrug fjedermodel til "slingrende" vinduercaIncrease window opacityAugmenta l'opacitat de la finestraruApplication SwitcherПереключатель приложенийptFlip to next viewport when dragging object to screen edgeInverter para o viewport seguinte ao arrastar o objeto para a borda da telafrFilter LinearFiltre linéairefiSelect previous windowValitse edellinen ikkunaplRotation TimestepOpóźnienie obrotucaRender skydomeRenderitza la cúpulacsDarken background when scaling windowsZtmavit pozadí při škálování okenruEdge Flip DnDОтражение при перетаскивании к краюcsColor to use for the bottom color-stop of the skydome-fallback gradientBarva, která se použije na dolní část gradientu nebeské báně.ptScale windowsDimensionar janelassvMinimize WindowMinimera fönsteresRun command 11Ejecutar comando 11ruFocus Window EffectЭффект фокусировки окнаhuUnredirect Fullscreen WindowsTeljes méretű ablakok visszairányításadeRotate to face 9 and bring active window alongDrehen zu Fläche 9 und aktives Fenster mitführenzh_CNAuto-Raise Delay自动升起延迟huShow Run Application dialog"Alkalmazás futtatása" párbeszédablak megjelenítéseruInitiate Window Picker For Window GroupИнициировать средство выбора окна для группы оконelNormalΚανονικόdeRotate to face 10 and bring active window alongDrehen zu Fläche 10 und aktives Fenster mitführensvUse diffuse light when screen is transformedAnvänd diffus belysning när skärmen transformerasfrInside CubeÀ l'intérieur du cubeesRotation AccelerationAceleración de giroplClearCzyśćsvDesktopSkrivborddeRun command 1Befehl 1 ausführenfrZoom factorFacteur du zoompt_BRStart resizing windowIniciar redimensionamento da janelazh_TWRotate To旋轉至deRotate to face 5 and bring active window alongDrehen zu Fläche 5 und aktives Fenster mitführenzh_TWClose Window關閉視窗esSelect next windowSeleccionar la siguiente ventanapt_BROpacityOpacidadeitModalDialogFinestra di dialogo modalesvLower WindowSänk fönsterruRotate RightВращать вправоitFocus Window EffectEffetto finestra attivodeNext SlideNächstes Diazh_TWToggle rain effect切換下雨特效huToggle Window ShadedAblakárnyékolás átkapcsolásafiRun command 7Suorita komento 7plMinimize speedSzybkość minimalizacjihuWindow blur speedAblak elmosásának sebességedaRotate Left with WindowRoter til venstre med vindueplPrev windowPoprzednie oknoesRotate To Face 2 with WindowGirar hacia el 2 con ventanacsClick To FocusKliknutí k zaměřenísvSkydome ImageSkydome-bilditFrictionAttritocaScreenshot command lineLínia d'ordres de captura de pantallacsRotate To Face 9Otočit na stranu 9esConstrain YLimitar YcsRotate To Face 9 with WindowOtočit na stranu 9 s oknemzh_CNFlip to right viewport and warp pointer翻转至右视点并隐藏指针esRotate to face 5 and bring active window alongGira hacia el 5 y arrastra la ventana activaesVisual BellTimbre virtualdeRotate with windowMit Fenster drehensvShiverSkakacsCommand line to be executed in shell when run_command5 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command5esModalDialogCuadro de diálogo modalsvUnfold cubeVik ut kubcaAmount of brightness in percentQuantitat de brillantor en percentatgefrSensitivity of pointer movementSensibilité du mouvement du pointeurcaShadow RadiusRadi de l'ombrafiMaximize active windowSuurenna aktiivinen ikkunaplConstrain Y coordinate to workspace areaOgranicz współrzędną Y do obszaru roboczegocsStart RotationZahájit otáčenícaCube ColorColor del cubitA keybinding that when invoked, will run the shell command identified by command5Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command5svRegex MatchingReguljär uttrycksmatchningfrTimestepIntervalledaTransform windows when they are minimized and unminimizedVinduer skal ændres, når de minimeres og gendanneszh_TWRotation Timestep旋轉時間間隔ruDrop shadow Y offsetСмещение отбрасываемой тени по оси YdaMenuMenuptOpen window menuAbrir menu de janelasesOffset ScaleEscala de desplazamientotrUnknownBilinmeyenptRun command 7Executar comando 7caAnimate SkydomeCúpula animadadeAdvance to next slideNächstes Dia anzeigenjaDecrease window opacityウィンドウの不透明度を下げるzh_CNDock靠接zh_TWDelay (in ms) between each rain-drop每滴雨之間的延遲 (毫秒)zh_TWRotation Speed旋轉速度svMap WindowsKoppla fönsterfiSaturationKylläisyysesSensitivity of pointer movementSensibilidad de movimiento del punterohuToggle rain"Eső" kapcsolódeImage to use as texture for the skydomeBild für die Struktur des SkydomeruRotate Flip RightВращать с отражением вправоruRotate Left with WindowВращать влево вместе с окномsvA keybinding that when invoked, will run the shell command identified by command11En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando11frOverlay IconSuperposer l'icônept_BRHide Skip Taskbar WindowsOcultar Janelas Ignorar Barra de TarefasesDirectoryCarpetajaEdge Flip Pointerエッジフリップポインタpt_BRPlace windows at appropriate positions when mappedColocar janelas nas posições apropriadas quando houver mapeamentopt_BRRotation AccelerationAceleração da RotaçãofrRotate leftRotation à gauchecaLayout and start transforming all windowsDissenya i inicia la transformació de totes les finestresfrToolbarBarre d'outilssvAdvance to next slideFortsätt till nästa bildhuDelay (in ms) between each rain-dropEsőcseppek közötti késleltetés (0-3600000 ms)ruSplashЗаставкаruRaise On ClickВызвать щелчкомdeRun command 5Befehl 5 ausführensvZoom OutZooma utdeTimeout before flipping viewportZeitüberschreitung vor Viewport-Wechselzh_CNLighting加亮ptSkydome ImageImagem do Skydomezh_TWRotate To Face 6往面 6 旋轉plOffset ScaleSkala przesunięciacsShade ResistanceStálost stínusvShadow OpacitySkuggopakhetjaSnap Cube Rotation to Top Faceキューブ回転を上面にスナップitAuto-RaiseAumento automaticoitResize windowRidimensiona finestrazh_CNScale timestep缩放时间区间caWindow DecorationDecoració de la finestraptCommand line 7Linha de comando 7plRotate LeftObróć w lewofiMinimize speedVähennä nopeuttadeFlip to next viewport when moving window to screen edgeZum nächsten Viewport wechseln, wenn Fenster an den Bildschirmrand verschoben wirdfrAuto-Raise DelayDélai de remontée automatiquecaUnknownDesconegudaplRender skydomeWyświetlaj tło dla kostkifiZoom DesktopTyöpöydän zoomauspt_BRToggle Window Maximized HorizontallyAlternar Janela Maximizada HorizontalmentefrMaximize WindowOptimiser la fenêtredaRotate leftRoter til venstrezh_CNRotate To Face 2 with Window旋转到带窗口的第 2 面ptPlace WindowsColocar JanelassvShadow RadiusSkuggradiezh_CNScale speed缩放速度svZoom DesktopZooma skrivbordfrDecrease OpacityRéduire l'opacitéitNormalNormalesvCommand line 3Kommandorad 3pt_BRInitiate Window Picker For All WindowsIniciar o Seletor de Janelas para Todas as Janelaszh_CNShadow Radius阴影半径daDistance desktop should be zoom out while switching windowsFjernskrivebord zoomes ud, når der skiftes til et andet vinduesvScale imageSkala bilddeDarken BackgroundHintergrund abdunkelnitUse diffuse light when screen is transformedUsa luce diffusa alla trasformazione della schermatazh_CNAudible system beep可听见的系统嘟嘟声fiUnfoldLevitäpt_BRInitiateIniciarzh_CNRotate To Face 12 with Window旋转到带窗口的第 12 面jaTake a screenshot of a windowウィンドウのスクリーンショットを撮るcaRain DelayRetard de plujazh_TWTooltip工具提示deOpen window menuFenstermenü öffnenitInitiate Window Picker For Window GroupAvvia Selettore finestre per gruppo di finestrezh_TWZoom Out縮小huPlace windows at appropriate positions when mappedTérképezés esetén az ablakok elhelyezése a megfelelő pozícióbazh_CNRun command 4运行命令 4fiRun command 6Suorita komento 6pt_BRSpring KSalto KjaRotate to face 8面8に回転ruLineЛинияpt_BRSpring KonstantConstante da MolaitFlip to next viewport when moving pointer to screen edgeRifletti su finestra successiva durante lo spostamento del puntatore sul bordo della schermataplClick on window moves input focus to itKlinkięcie okna ogniskuje na nim wprowadzaniecaResize WindowCanvia la mida de la finestraesA keybinding that when invoked, will run the shell command identified by command2Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command2zh_TWColor to use for the bottom color-stop of the skydome-fallback gradient要使用的天空頂後援漸層之底部色彩停止點ruOpacity level of moving windowsСтепень прозрачности движущихся оконplWobbly WindowsDrgające oknahuTimeout before flipping viewportA nézőpont váltása előtti időkorlátcsMaximize active window verticallyMaximalizovat aktivní okno vertikálněsvRotation AccelerationRoteringsaccelerationzh_CNInitiate Window Move启动窗口移动svPlane To Face 12Plana till yta 12pt_BRRun command 2Executar comando 2svWobbly WindowsGeléaktiga fönstercsScaleMěřítkofiZoom OutLoitonnuscsRotation SpeedRychlost otáčenícaHorizontal Virtual SizeMida virtual horitzontalitRun command 7Esegui comando 7zh_CNFading Windows渐弱窗口pt_BRRun command 9Executar comando 9pt_BRWindow screenshot command lineLinha de comando para captura de tela de janelasptToggle rainAlternar chuvajaSwitcher timestepスイッチャタイムステップdaInitiate Window PickerStart vinduesvælgerzh_CNRun command 9运行命令 9frShade ResistanceOmbrer la résistanceesWindow decorationsLa decoración de las ventanaszh_CNRotate to face 11 and bring active window along旋转到第 11 面并带来活动窗口ruTake a screenshot of a windowСделать снимок окнаfrShadow Offset XDécalage X de l'ombrezh_TWFlip to next viewport when moving pointer to screen edge將指標移動到螢幕邊緣時翻轉到下一個檢視區daConstrain Y coordinate to workspace areaBegræns Y-koordinaten til arbejdsområdetzh_TWRun Dialog執行對話方塊fiRotate To Face 11 with WindowKäännä työpöydälle 11 ikkunan kanssaitInside cubeNel cubozh_CNToggle wiper转换擦拭器frMaximize Window VerticallyOptimiser la fenêtre verticalementpt_BRRotation SpeedVelocidade da Rotaçãopt_BRRun command 1Executar comando 1fiFullscreen Visual BellKokoruudun näkyvä kellocsWindow fade speedRychlost blednutí oknafiTooltipTyökaluvihjecsCommand line 9Příkazová řádka 9zh_CNOpacity不透明度caLower window beneath other windowsAbaixa la finestra per sota de les altresruDarken background when scaling windowsЗатемнение фона при масштабировании оконdaFold TimestepTidstrin for foldningitShiverTremoliojaRotate To Face 4 with Windowウィンドウと一緒に面4に回転zh_TWShadow Radius陰影半徑itCommand line 4Riga di comando 4daToggle Window MaximizedSlå maksimering af vindue til/fraesA keybinding that when invoked, will run the shell command identified by command8Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command8caInitiate Window Picker For All WindowsInicia el seleccionador per a totes les finestresdeLayout and start transforming all windowsLayout durchführen und mit der Umformung aller Fenster beginnendaUnfoldFold uditVisual BellSegnale acustico visivocsInitiateIniciovatzh_TWHover Time停留時間deRotate to face 2Drehen zu Fläche 2zh_TWRotate Left往左旋轉itZoom factorFattore zoomzh_TWCommand line 11指令行 11huVertical Virtual SizeFüggőleges virtuális méretsvRotate to face 10 and bring active window alongRotera till yta 10 och ta med aktivt fönstercsIgnore Hints When MaximizedPři maximalizaci ignorovat tipyfiMinimum Grid SizePienin mahdollinen hilakokoruUnfoldРазвертываниеptScale images to cover top face of cubeDimensionar imagens para cobertura da face superior do cuboruResize WindowИзменить размеры окнаzh_TWClose active window關閉作用中視窗deOpacityDurchlässigkeititRotate to face 4 and bring active window alongRuota su faccia 4 insieme a finestra attivasvWindows that should be scaled in scale modeFönster som ska skalas i skalningslägethuImage to use as texture for the skydomeA kupola textúrájaként használt képdeToolbarWerkzeugleisteitWindow DecorationDecorazione finestrajaScale speedスケール速度fiLayout and start transforming windows on current outputAsettele tämänhetkisen kohteen ikkunat ja aloita niiden muuntoruRotate CubeВращать кубesOverlay an icon on windows once they are scaledSuperponer un icono sobre las ventanas cuando se escalencaSkydome ImageImatge de la cúpulaplGrid ResolutionRozdzielczość siatkizh_TWInside cube立方體內部daMaximize active window horizontallyMaksimer det aktive vindue i breddencaRaise WindowEleva la finestraptDetect Refresh RateDetectar Taxa de AtualizaçãojaUnmaximize active windowアクティブウィンドウの最大化解除huResize WindowAblak átméretezéseptRotate To Face 7 with WindowGirar para a Face 7 com JanelahuRaise selected windows after intervalA kijelölt ablak megnyitása ennyi idő utándeDropdownMenuDropdownMenudeToggle wiper effectWischereffekt ein-/ausschaltenplAmount of brightness in percentStopień jasności w procentachhuTimestepIdőközpt_BRFold SpeedDobrar a VelocidadeesSkydomeCúpulapt_BRMaximize active window horizontallyMaximizar janela ativa horizontalmentefrToggle use of slow animationsBasculer l'utilisation d'animations lentespt_BRFold TimestepDobrar o TimestepruAudible system beepСлышимый системный звуковой сигналzh_TWAdds water effects to different desktop actions新增水波特效到不同的桌面動作pt_BRHover TimeTempo de FocosvGConfGConfpt_BRConstrain Y coordinate to workspace areaRestringir a coordenada Y conforme a área de trabalhoptA keybinding that when invoked, will run the shell command identified by command2Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando2huPlane UpGördítés feljaA keybinding that when invoked, will run the shell command identified by command2呼び出し時にcommand2により識別されたシェルコマンドを実行するキーバインドruMinimum Grid SizeМинимальный размер решеткиruRaise window above other windowsВызов и размещение окна поверх других оконzh_TWShow Run Application dialog顯示執行應用程式對話方塊deFlip to next viewport when moving pointer to screen edgeZum nächsten Viewport wechseln, wenn Zeiger an den Bildschirmrand verschoben wirddaDefault IconStandardikonesToggle active window shadedActiva o desactiva la ventana activa con sombraitMenuMenuhuClone OutputKimenet klónozásaitRotate to face 3Ruota su faccia 3svRaise WindowHöj fönsterfiIncrease OpacityVähennä läpikuultavuuttaitSlow AnimationsAnimazioni lentefrSaturationSaturationcsUtilityNástrojcsShow Main MenuZobrazit hlavní nabídkuhuRotate Left with WindowForgatás balra az ablakkal együtthuPlane rightGördítés jobbraitMaximize WindowRipristina finestraitPointer SensitivitySensibilità puntatorefiScale speedSkaalausnopeusjaWater Effect水効果caSkydome Gradient End ColorColor final del degradat de la cúpulafrNormalNormalcsOpacity StepKrok krytíhuConstrain YY megszorításcsGrid ResolutionRozlišení mřížkyesHorizontal Virtual SizeTamaño horizontal virtualdeFlip TimeWechselzeititMinimum Grid SizeDimensioni minime grigliajaPopup switcher if not visible and select next window表示されていない場合スイッチャをポップアップして次のウィンドウを選択zh_TWAmount of brightness in percent亮度比例fiGo back to previous slideTakaisin edelliseen diaanruPopup switcher if not visible and select next window out of all windowsОтображение переключателя (если он невидим) и выбор следующего окна из всех имеющихсяptMap EffectEfeito de MapadeRotate to face 2 and bring active window alongDrehen zu Fläche 2 und aktives Fenster mitführendaZoom SpeedZoomhastigheditMove windowFinestra mobilefiDelay (in ms) between each rain-dropKunkin sadepisaran välinen viive (ms)deDefault window icon imageStandardfenstersymbolfrRotate to face 9Rotation vers la face 9ptRotate to face 3Girar para a face 3zh_TWOpacity Step不透明度間隔ruMove windowПереместить окноesUnmaximize WindowDesmaximizar ventanadaToggle active window maximizedSlå maksimering af det aktive vindue til/fradaScreenshot command lineKommandolinje til skærmbilledeitShadow OpacityOpacità finestrasvWindow DecorationFönsterdekorationzh_CNShade resistance抗遮蔽性zh_CNUnfold cube展开立方体zh_TWTexture Filter材質過濾器pt_BRClick To FocusClique para Posicionar o FocodaSpring KonstantFjederkonstantdaShade resistanceSkyggemodstanddaScaleSkalerxhUnknownAkwaziwaruDecorator command line that is executed if no decorator is already runningКомандная строка декоратора, которая выполняется, если декоратор еще не запущенitEnable pointer water effectsAbilita effetti acqua puntatorecsMinimum Vertex Grid SizeMinimální velikost vrcholů mřížkysvCommand line 10Kommandorad 10elMenuΜενούplWater offset scaleSkala przesunięcia wodyhuRain DelayEső késleltetésehuShow icon next to thumbnailIkon megjelenítése a miniatűr melletthuWorkaroundsKerülő megoldásokfrToggle wiperActiver/désactiver l'essuie-glacecsRotate Flip RightOtočit překlopením vpravocsRotate to face 12 and bring active window alongOtočit na stranu 12 a vzít aktivní okno s seboufiHide Skip Taskbar WindowsPiilota tehtäväpalkin ohitetut ikkunatpt_BRIgnore Hints When MaximizedIgnorar Dicas Quando MaximizadoitSensitivity of pointer movementSensibilità spostamento puntatorept_BRSnapoff and auto unmaximized maximized windows when draggingJanelas maximizadas quebradas e automaticamente desmaximizadas ao arrastarhuRender skydomeKupola renderelésefrClose WindowFermer la fenêtrejaCommand line 6コマンドライン6huScreenshotKépernyőképsvHover TimePekartidcsRotate to face 2Otočit na stranu 2ruSwitcher speedСкорость переключателяcaLayout and start transforming windows on current outputDissenya i inicia la transformació de les finestres de la sortida actualesPlace windows at appropriate positions when mappedColoca las ventanas en sus lugares adecuados en la asignaciónhuStart RotationForgatás indításasvRotate to face 8Rotera till yta 8zh_CNDelay (in ms) between each rain-drop每次降雨效果之间的延时(以毫秒为单位)jaOffset ScaleオフセットスケールfrWorkaroundsSolutionszh_CNRain Delay电子流延迟itAmount of saturation in percentQuantità di saturazione in percentualezh_TWBring selected window to front將選取視窗提到最上層zh_TWDecorator command line that is executed if no decorator is already running如果沒有裝飾程式正在執行,則需執行的裝飾程式指令行。fiDndDndfiOverlay an icon on windows once they are scaledAseta kuvake päälle ikkunoihin, kun ne skaalataancsPrev windowPředchozí oknoesSpring KConstante de tensiónfrDecorator command line that is executed if no decorator is already runningLigne de commande du décorateur qui est exécutée si aucun décorateur ne fonctionnefrSelect next windowSélectionner la fenêtre suivantefiOffset ScaleSiirtymän skaalaplSwitcher speedSzybkość przełącznikaplScreenshotZrzut ekranuhuFade SpeedElhalványulás sebességedeUnmaximize active windowMaximierung des aktiven Fensters aufhebenruMaximize active windowРазвертывание активного окнаptRotate To Face 3Girar para a Face 3ruSnap To Top FaceПривязать к верхней граниpt_BRSelect previous windowSelecionar janela anteriorcsCommand line 5Příkazová řádka 5esOpacity level of moving windowsNivel de opacidad de las ventanas en movimientozh_TWSelect next window選取下一個視窗deSaturationSättigungfiNumber of DesktopsTyöpöytien määräptZoom InAumentar o zoomfrRotate to face 10 and bring active window alongRotation vers la face 10 avec la fenêtre activeesTake a screenshot of a windowToma una captura de pantalla de una ventanacaAdds water effects to different desktop actionsAfegeix efectes d'aigua a diferents accions de l'escriptorijaRotate Cubeキューブの回転caDarken background when scaling windowsEnfosqueix el fons en canviar la mida de les finestrescaRaise windows when clickedEleva les finestres en fer cliccsClose active windowZavřít aktivní oknojaRotate to face 4 and bring active window along面4に回転して、アクティブなウィンドウを移動esColor of top and bottom sides of the cubeEl color de los lados superior e inferior del cubofrRotate to face 7 and bring active window alongRotation vers la face 7 avec la fenêtre activefrFlip to next viewport when moving window to screen edgeRotation vers la fenêtre suivante - Déplacement de la fenêtre vers le côté de l'écranplStart resizing windowRozpocznij przenoszenie oknasvToggle active window maximized horizontallyVäxla horisontell maximering av aktivt fönsterzh_CNDecrease window opacity降低窗口不透明度svMinimize EffectMinimeringseffektplIgnore Hints When MaximizedIgnoruj podpowiedzi dla zmaksymalizowanych okienplAmount of saturation in percentStopień nasycenia w procentachjaToggle rain雨の切り替えjaPlace windows on cubeウィンドウをキューブに配置するesClick on window moves input focus to itAl hacer clic en la ventana se mueve el foco de entrada a ellazh_CNFilter Linear过滤器线性huSnap windowsAblakok illesztéseplHorizontal Virtual SizePoziomy rozmiar wirtualnycsZoom SpeedRychlost přiblíženíptZoom DesktopAproximar Área de TrabalhohuLineVonalzh_CNShow Run Application dialog显示运行应用程序对话框zh_TWZoom In放大plTake a screenshot of a windowPobierz zrzut oknaruDesktop CubeКуб рабочего столаzh_CNCommand line to be executed in shell when run_command3 is invoked调用 run_command3 时,shell 中要执行的命令行itCommand line to be executed in shell when run_command9 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command9itRotate To Face 12Ruota su faccia 12jaRotate Right with Windowウィンドウと一緒に右に回転zh_CNConstrain Y约束 YsvPlane rightPlana åt högerpt_BRRotate To Face 7 with WindowGirar para a Face 7 com JanelacsRotate to viewportOtočit na zorné polept_BRRotate desktop cubeGirar cubo da área de trabalhohuRotate LeftForgatás balraruAuto-RaiseАвтоматический вызовesIgnore Hints When MaximizedIgnorar sugerencias al maximizaritRun command 11Esegui comando 11huFocus Window EffectAblakfókusz-effektusfiToggle Window Maximized HorizontallyOta käyttöön vaakatasossa maksimoidut ikkunatzh_TWRotate To Face 2 with Window隨視窗往面 2 旋轉daAutomatic detection of refresh rateAutomatisk registrering af opdateringshastighedcaSpring FrictionFricció d'elasticitatdaDetect OutputsRegistrer udgangedeCommand line 7Kommandozeile 7zh_TWRun command 2執行指令 2zh_TWA keybinding that when invoked, will run the shell command identified by command1啟用時將執行經 command1 識別之外圍程序指令的按鍵組合deRotate To Face 7Drehen zu Fläche 7frCommand line 4Ligne de commande 4fiA keybinding that when invoked, will run the shell command identified by command3Tunnisteen command3 mukaisen komennon suorittava näppäinyhdistelmähuNext windowKövetkező ablakitPlace windows on cubePosiziona finestre sul cubofiFold SpeedNopeuskerroinzh_CNRotate Flip Left旋转左翻pt_BRTitle waveOndas no títulofiFold TimestepAikavälikerroincsRotate to face 7Otočit na stranu 7zh_CNRotation Timestep旋转时间区间daMaximize WindowMaksimer vindueptRaise selected windows after intervalElevar janelas selecionadas após intervaloitUse spring model for wobbly window effectUsa modello sorgente per effetto tremolio finestrefiNext SlideSeuraava diasvY position valuesY-positionsvärdenjaSpeed速度huShadow Offset XÁrnyék X eltoláscaSkydomeCúpulacsDesktop CubeKostka plochyzh_CNLayout and start transforming all windows对所有窗口调整布局并开始转换zh_CNClose Window关闭窗口csFrictionTřeníbnUnknownঅজানাruTimeout before flipping viewportЗадержка во времени до отражения кадрового окнаplShow Main MenuWyświetl menu głównesvDarken background when scaling windowsMörka bakgrunden vid fönsterskalningjaScale timestepスケールタイムステップcsRun command 8Spustit příkaz 8zh_CNLine线fiPlace WindowsAsettele ikkunatplRaise selected windows after intervalPodnieś wskazane okno po interwaleptRotate To Face 5 with WindowGirar para a Face 5 com JanelafiMove windowSiirrä ikkunaacsCommand line to be executed in shell when run_command7 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command7deDesktopDesktopfiScaleSkaalausjaCommand line to be executed in shell when run_command8 is invokedrun_command8の呼び出し時にシェルで実行されるコマンドラインzh_CNDrop shadow radius减小阴影半径frSnapoff and auto unmaximized maximized windows when draggingDésactiver l'alignement et la réduction automatique des fenêtres lorsque vous les faites glisserruSpeedСкоростьptRotate to face 11 and bring active window alongGirar para a face 11 e trazer a janela ativa juntoitMinimize WindowRiduci finestra a iconafrToggle Window ShadedBasculer la fenêtre ombréept_BRAuto-Raise DelayAtraso na Elevação Automáticazh_TWToggle active window shaded將使用中視窗切換到遮蔽pt_BRSpacingEspaçamentoitRotate Left with WindowRuota a sinistra con finestrapt_BRCommand line 9Linha de comando 9pt_BRIgnore size increment and aspect hints when window is maximizedIgnorar dicas de aspecto e de incremento de tamanho quando a janela for maximizadaplMove WindowPrzenieś oknoitA keybinding that when invoked, will run the shell command identified by command11Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command11svRotate To Face 11 with WindowRotera till yta 11 med fönsterdeRotate to face 7Drehen zu Fläche 7fiToggle Window Maximized VerticallyOta käyttöön pystytasossa maksimoidut ikkunatdaDecorator command line that is executed if no decorator is already runningDekoratørkommandolinje, som udføres, hvis der ikke allerede kører en dekoratørpt_BRHide windows not in taskbar when entering show desktop modeOcultar as janelas que não estão na barra de tarefas ao entrar no modo mostrar área de trabalhofiFlip to right viewport and warp pointerVaihda oikeaan näkymään ja siirrä osoitinfrMinimum Grid SizeTaille de grille minimalezh_TWSpace between windows視窗間隔itMinimum Vertex Grid SizeDimensioni minime griglia VertexesTimestepPAsojaToggle wiperワイパーの切り替えzh_TWTitle wave標題波紋jaSnapoff maximized windows最大化したウィンドウのスナップ解除fiSpring FrictionJousikitkaesA keybinding that when invoked, will run the shell command identified by command11Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command11jaMaximize Window Vertically垂直方向にウィンドウを最大化するplPopup switcher if not visible and select next window out of all windowsOkno przełączania gdy niewidoczne i wybór następnego okna spośród wszystkichruDropdownMenuРаскрывающееся менюesRaise WindowElevar ventanajaFriction摩擦deFlip to left viewport and warp pointerZum linken Viewport wechseln und Zeiger verzerrenfrMinimize WindowMinimiser la fenêtrefiDecrease OpacityLisää läpikuultavuuttaruTransform windows when they are minimized and unminimizedПреобразовывать окна при свертывании и отмене свертыванияcaSync To VBlankSincronitza amb enfosquiment verticalplLaunch ApplicationUruchom programfiRotate to face 2Käännä työpöydälle 2deRotate Flip RightDrehen (nach rechts kippen)zh_TWAudible system beep系統發出嗶聲時啟用聲訊svMaximize EffectMaximeringseffektsvInterval between ping messagesIntervall mellan ping-meddelandenfrPlace WindowsPlacer des fenêtresptUnredirect Fullscreen WindowsAnular redirecionamento de janelas de tela inteirajaFilter Linear線形のフィルタdaNext windowNæste vindueesResize WindowCambiar de tamaño la ventanapaUnknownਅਣਜਾਣesCommand line 1Línea de comandos 1daDockDokcaAdvance to next slideAvança cap a la diapositiva següentjaDndDndfiRotate to face 12Käännä työpöydälle 12ptInside cubeDentro do cuboesDialogCuadro de diálogozh_TWLower window beneath other windows將視窗降低到其他視窗之下esMaximize EffectMaximizar efectozh_TWUnmaximize Window視窗解除最大化ruTexture FilterФильтр текстурfiTimestepAikaviivejaInitiate Window Picker For Window Groupウィンドウグループでウィンドウピッカーを起動deLower window beneath other windowsFenster unter andere Fenster verschiebenplPlane LeftLewa płaszczyzna svClone OutputKlona utmatningpt_BRPopupMenuPopupMenudeMinimize WindowFenster minimierenesCommand line 2Línea de comandos 2svBrightnessLjusstyrkajaFade Speedフェードスピードpt_BRFlip to next viewport when moving window to screen edgeInverter para o viewport seguinte ao mover a janela para a borda da telasvRotate To Face 4Rotera till yta 4deIncrease OpacityDurchlässigkeit erhöhencaRotate ToGira cap ajaZoom and pan desktop cubeデスクトップキューブのズームとパンplSpring KonstantWspółczynnik sprężystoścideHide Skip Taskbar WindowsProgrammleistenfenster ausblendenesFocus EffectEnfocar efectoitSpring FrictionAttrito saltohuColor to use for the bottom color-stop of the skydome-fallback gradientA kupola tartalék színátmenet alsó színállomásához használandó színfiRotate To Face 5 with WindowKäännä työpöydälle 5 ikkunan kanssafrDrop shadow radiusRayon de l'ombre des gouttesptCommand line 11Linha de comando 11svNumber of DesktopsAntal skrivborditSkydome ImageImmagine skydomejaRotate To Face 7面7に回転kmMenuម៉ឺនុយroUnknownNecunoscutfrDesktopBureauzh_TWRotate to face 10往面 10 旋轉itPointPuntosvEdge Flip DnDKantvänd DnDdeSnap Cube Rotation to Top FaceWürfeldrehung an Oberseite einrastencsDesktopPlochazh_CNFlip to left viewport and warp pointer翻转至左视点并隐藏指针zh_CNOpacity Step不透明度级别pt_BRDrop shadow radiusDescartar o raio da sombrafiOpacity level of moving windowsLiikkuvien ikkunoiden läpikuultavuustasoplToggle use of slow animationsWyłącz powolne animacjeruAdvance to next slideПереход к следующему слайдуpt_BRRotate To Face 9 with WindowGirar para a Face 9 com JanelaitClose WindowChiudi finestrajaMove Windowウィンドウを移動frComboZone de listeitTimestepIntervallofiZoom TimestepZoomausaikavälicaMenuMenúhuFold TimestepHajtás időközzh_CNMap Effect图效果frUnredirect Fullscreen WindowsNe pas rediriger les fenêtres plein écranesCommand line to be executed in shell when run_command8 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command8pt_BRMake window shiverFazer a janela estremecerdaScale windowsSkaler vinduerzh_CNRotate To Face 8 with Window旋转到带窗口的第 8 面caMove windowMou la finestraplVisual BellWizualny dzwonek systemowysvPlane To Face 7Plana till yta 7csInside cubeV kostcejaRotate To Face 8 with Windowウィンドウと一緒に面8に回転zh_TWRotate right往右旋轉zh_CNRotate to face 11旋转到第 11 面ptRun command 9Executar comando 9pt_BRToggle Window ShadedAlternar Janela Sombreadazh_TWDock黏合itZoom OutRiduci ingrandimentofiAdvance to next slideEtene seuraavaan diaanhuToggle rain effect"Eső" effektus kapcsolóesLineLíneahuPointer SensitivityMutató érzékenységesvPlane to face 7Plana till yta 7fiDefault IconOletuskuvakedaAmount of saturation in percentFarvemætningen angivet i procentcaSkydome Gradient Start ColorColor inicial del degradat de la cúpulajaRotate To Face 11 with Windowウィンドウと一緒に面11に回転caUse spring model for wobbly window effectUtilitza el model d'elàstic per a l'efecte de finestra tremolosaitAnimate SkydomeAnima skydomesvShow Run Application dialogVisa dialogen Kör programfiCube ColorKuution värihuMinimize EffectMinimalizálás effektusjaRotate To Face 6 with Windowウィンドウと一緒に面6に回転caInverted window snappingAjustament de finestres invertitesCommand line 10Línea de comandos 10esUnredirect Fullscreen WindowsAnular redirección de ventanas a pantalla completafiAdds water effects to different desktop actionsLisää vesitehosteen erilaisille työpöydän toiminnoilleruZoom TimestepКвант времени изменения масштабаplMaximize Window VerticallyMaksymalizuj okno w pioniesvA keybinding that when invoked, will run the shell command identified by command8En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando8frRender skydomeAfficher le skydomedaGenerate mipmaps when possible for higher quality scalingGenerer mipmaps, når det er muligt, for at opnå en højere kvalitetsskaleringptShow icon next to thumbnailMostrar ícone ao lado da miniaturazh_TWSelect previous window選取上一個視窗jaMipmapミップマップzh_CNRaise On Click单击时上升svA keybinding that when invoked, will run the shell command identified by command10En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando10deRotate to face 10Drehen zu Fläche 10csUnredirect Fullscreen WindowsUnredirect Fullscreen WindowssvSpace between windowsMellanrum mellan fönsterdeWorkaroundsWorkaroundsfiLightingValaistusdaUtilityVærktøjhuAdd lineVonal hozzáadásahuMinimize speedMinimalizálás sebességeitDrop shadow radiusRaggio ombreggiatura esternaptDesktop CubeCubo da Área de TrabalhohuToggle wiper"Ablaktörlő" kapcsolópt_BRSpace between windowsEspaço entre as janelasjaRotate To Face 12 with Windowウィンドウと一緒に面12に回転zh_TWSpeed速度jaRotate left左に回転deInitiate Window Picker For Window GroupFensterauswahl für Fenstergruppe initiierendaUnfold cubeFold kubussen udzh_TWSnap Inverted嵌入反轉zh_TWDrop shadow radius投影半徑fiToggle rainOta käyttöön sadefiCommand line 11Komentorivi 11jaBring To Front正面へ移動frPointer Invert YInversion Y du pointeurjaPoint点plInitiate clone selectionRozpocznij klonowanie zaznaczeniafiToggle active window maximized horizontallyOta käyttöön aktiiviset vaakatasossa maksimoidut ikkunatfrCommand line 3Ligne de commande 3huOpacityÁtlátszatlanságjaRun command 7ランコマンド7frList of strings describing output devicesListe des chaînes décrivant les périphériques de sortiecsUnfold cubeRozbalit kostkuhuOpacity level of moving windowsAblakmozgatás átlátszatlanságának szintjejaZoom Timestepズームタイムステップpt_BRUtilityUtilitáriozh_TWFullscreen fade effect on system beep系統發出嗶聲時啟用全螢幕淡出/淡入特效svFlip to next viewport when moving window to screen edgeVänd till nästa skrivbordsvy när fönster flyttas till skärmens kantzh_CNOverlay Icon覆盖图标caMinimize WindowMinimitza la finestraitScale images to cover top face of cubeRidimensiona immagini per coprire faccia superiore del cuboesFlip TimeTiempo de inversiónplComboMenu rozwijalnehuSensitivity of pointer movementMutatómozgatás érzékenységedeZoom DesktopDesktop zoomenfiA keybinding that when invoked, will run the shell command identified by command10Tunnisteen command10 mukaisen komennon suorittava näppäinyhdistelmäcaEdge Flip PointerPunter d'inversió de vorasvScale timestepTidsintervall för skalninghuWindow decorationsAblakdekorációkitDarken background when scaling windowsScurisci sfondo durante ridimensionamento finestreitRotate To Face 6Ruota su faccia 6fiSpacingTilazh_CNWater Effect水纹效果csFullscreenCelá obrazovkazh_CNOverlay an icon on windows once they are scaled缩放窗口时覆盖图标pt_BRMaximize Window VerticallyMaximizar Janela VerticalmentesvWobble effect when maximizing and unmaximizing windowsGeléeffekt vid maximering och avmaximering av fönsterptLower window beneath other windowsJanela mais baixa sob as demais janelassvTake a screenshotTa en skärmbildplTerminal command linePolecenie terminalaplToggle active window maximizedPrzełącza maksymalizację aktywnego oknacsInitiate Window ResizeIniciovat změnu velikosti oknapt_BRRotate To Face 8Girar para a Face 8esOutputsSalidascsRotate To Face 8Otočit na stranu 8itBring To FrontPorta in primo pianoitRotate to face 3 and bring active window alongRuota su faccia 3 insieme a finestra attivacsOpen window menuOtevřít nabídku oknafiStart RotationAloita kääntäminenfrCommandCommandept_BRColor to use for the top color-stop of the skydome-fallback gradientCor a ser usada na parte superior do gradiente de fallback do skydomefrZoom SpeedVitesse du zoomfrRefresh RateFréquence de rafraîchissementptDefault IconÍcone PadrãoesRotate to face 6Gira hacia el 6fiRotate CubeKäännä kuutiotadeRun command 4Befehl 4 ausführenzh_TWScale images to cover top face of cube調整影像比例以覆蓋立方體頂面svFocus WindowsFokusera fönsterruOpacity StepШаг прозрачностиitA keybinding that when invoked, will run the shell command identified by command6Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command6fiAutomatic detection of output devicesUlostulolaitteiden automaattinen tunnistusitCommand line to be executed in shell when run_command2 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command2esOverlay IconSuperponer iconoruShadow OpacityПрозрачность тениjaHover Timeホバー時間frShadow RadiusRayon de l'ombreitUtilityUtilityjaSkydome Imageスカイドームイメージzh_TWEdge Flip Pointer邊緣翻轉指標ptRotate to face 2 and bring active window alongGirar para a face 2 e trazer a janela ativa juntodaLower WindowSænk vinduefrWater offset scaleÉchelle de décalage d'eausvUnmaximize WindowAvmaximera fönsterdeRotation SpeedDrehgeschwindigkeitptSnap windowsFechar janelasfiAccelerationKiihdytyspt_BRDrop shadow X offsetDescartar o deslocamento X da sombrajaMinimize Effect効果を最小限にするcsInitiate Window Picker For All WindowsSpustit výběr oken pro všechna oknazh_TWUnredirect Fullscreen Windows全螢幕視窗解除重新導向zh_CNStart Rotation开始旋转frAuto-RaiseRemontée automatiquezh_TWRefresh Rate重新整理速率zh_TWAdd point新增點deInvert Y axis for pointer movementY-Achse für Zeigerbewegung umkehrenfiPointPistesvDecrease window opacityMinska fönstret opakhetzh_CNFold Acceleration折叠加速jaSaturation飽和度ptShadow OpacityOpacidade da SombraptRun command 6Executar comando 6caRotate with windowGira amb la finestraitRotate to face 5Ruota su faccia 5fiInitiate Window ResizeMuuta ikkunan kokoaptImage filesArquivos de imagemfrAutomatic detection of output devicesDétection automatiques des périphériques de sortieesMaximize active windowMaximiza la ventana activasvRotate CubeRotera kubzh_CNShow icon next to thumbnail在缩略图旁边显示图标plAutomatic detection of output devicesAutomatyczne wykrywanie urządzeń wyjściowychsvRotate to face 7 and bring active window alongRotera till yta 7 och ta med aktivt fönsterfiFade SpeedHäivytyksen nopeusjaAdd point点を追加csAccelerationAkceleracezh_CNCommand line to be executed in shell when run_command1 is invoked调用 run_command1 时,shell 中要执行的命令行csInitiate Window Picker For Windows on Current OutputSpustit výběr oken pro okna na aktuálním výstupuesToggle Window MaximizedActivar o desactivar ventana maximizadadeUse spring model for wobbly window effectSpring-Modell für Fenster-Wackeleffekt verwendenfrConstrain YContraindre YfrCommand line to be executed in shell when run_command7 is invokedLigne de commande à exécuter dans le shell lorsque run_command7 est appelédaSpace between windowsMellemrum mellem vinduerhuDndEgérműveletpt_BRCommand line 2Linha de comando 2itRotate To Face 5 with WindowRuota su faccia 5 con finestrazh_TWSync To VBlank同步化到 VBlanksvRain DelayRegnfördröjningfrFocus Window EffectEffet de focus de la fenêtrefrRaise windows when clickedRemonter les fenêtres lorsque vous cliquez dessuscsGo back to previous slideJít zpět na předchozí snímekdeVisual BellVisuelle GlockecaIgnore Hints When MaximizedIgnora els suggeriments quan està maximitzadacsSnapoff and auto unmaximized maximized windows when draggingSnapoff and auto unmaximized maximized windows when draggingplWindow fade speedSzybkość płynnego pojawiania się/zanikania okienjaZoomズームfiPlace windows on cubeAsettele ikkunat työpöytäkuution pinnallehuMake window shiverAblak összetörésefrZoom TimestepIntervalle du zoomdeTime (in ms) before scale mode is terminated when hovering over a windowZeit (in ms) bis zum Beenden des Skaliermodus beim Verweilen über einem FensteresStart RotationIniciar girosvSaturationFärgmättnaddeStart moving windowFensterverschiebung startenitDrop shadow X offsetOffset X ombreggiatura esternaesRun command 4Ejecutar comando 4huFullscreen Visual BellTeljes képernyő vizuális csengődePointer SensitivityZeigerempfindlichkeitfiWindow screenshot command lineIkkunan kuvakaappauksen komentoplRun DialogDialog UruchomitAutomatic detection of refresh rateRilevamento automatico della frequenza di aggiornamentofiA keybinding that when invoked, will run the shell command identified by command4Tunnisteen command4 mukaisen komennon suorittava näppäinyhdistelmäitMaximize active window verticallyIngrandisci finestra attiva in verticalesvRotate to face 3Rotera till yta 3zh_CNAmount of opacity in percent不透明度百分比ruGo back to previous slideВозврат к предыдущему слайдуesUnfoldDesplegarsvA keybinding that when invoked, will run the shell command identified by command6En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando6svVideo PlaybackVideouppspelningpt_BRFold AccelerationDobrar a Aceleraçãozh_TWToggle Window Maximized將視窗切換到最大jaWindow fade speedウィンドウフェードスピードfiMenuValikkozh_TWInverted window snapping反轉視窗嵌入itMaximize EffectRipristina effettofiBrightnessKirkkausdeMaximize active window verticallyAktives Fenster vertikal maximierenhuRotation SpeedForgatás sebességeitRotate To Face 2 with WindowRuota su faccia 2 con finestrafiZoom SpeedZoomausnopeusfiColor to use for the top color-stop of the skydome-fallback gradientVäri, jota käytetään ylimpänä värinä taivaan liukuvärissäfiOpen window menuAvaa ikkunavalikkohuNext SlideKövetkező diazh_CNTooltip工具提示zh_TWFocus Window Effect定焦視窗特效daRain DelayRegnforsinkelseitCommand line to be executed in shell when run_command11 is invokedRiga di comando da eseguire nella shell quando viene invocato run_comman11esAuto-Raise DelayRetraso de elevación automáticasvRotate rightRotera åt högercsCommand line 3Příkazový řádek 3svVertical Virtual SizeVertikal virtuell storlekplShadow RadiusPromień cieniasvMount pointMonteringspunktdaLower window beneath other windowsPlacer vinduet under de andre vinduerdaNext SlideNæste diasruFullscreenПолноэкранный режимdeCommand line 6Kommandozeile 6zh_TWRun command 5執行指令 5zh_TWPointer Invert Y指標反轉 Y 軸zh_CNEdge Flip Move边缘翻转移动ptMaximize EffectMaximizar EfeitoesRotate to face 2 and bring active window alongGira hacia el 2 y arrastra la ventana activafrZoom DesktopZoom - BureauptEdge Flip MoveMovimento de Inversão de BordasjaHorizontal Virtual Size水平仮想サイズsvAdd lineLägg till radzh_CNClick To Focus单击设置焦点csSplashÚvodní oknocsMipmapMipmapptA keybinding that when invoked, will run the shell command identified by command8Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando8svSvgSvgsvRotate to face 9 and bring active window alongRotera till yta 9 och ta med aktivt fönsterzh_CNRotate To Face 4旋转到第 4 面ptLower WindowJanela Mais BaixajaTooltipツールヒントjaApplication Switcherアプリケーションスイッチャzh_CNCommand line to be executed in shell when run_command6 is invoked调用 run_command6 时,shell 中要执行的命令行plPlace windows on a planeUmieszczaj okna na płaszczyźniefiPopup switcher if not visible and select next window out of all windowsTuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse seuraava ikkuna kaikista ikkunoistajaA keybinding that when invoked, will run the shell command identified by command11呼び出し時にcommand11により識別されたシェルコマンドを実行するキーバインドpt_BRA keybinding that when invoked, will run the shell command identified by command7Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando7jaCommand line to be executed in shell when run_command9 is invokedrun_command9の呼び出し時にシェルで実行されるコマンドラインjaToggle active window maximized vertically垂直方向に最大化されたアクティブウィンドウを切り替えesDefault IconIcono por defectoptRotate To Face 2 with WindowGirar para a Face 2 com JaneladaApplication SwitcherProgramskifterfiBring To FrontTuo etualallezh_TWRaise windows when clicked在按一下時提高視窗高度zh_TWCommand line to be executed in shell when run_command6 is invoked啟用 run_command6 時要在外圍程序中執行的指令行pt_BRSaturationSaturaçãocaRotate Left with WindowGira cap a l'esquerra amb la finestrafrWindow screenshot command lineLigne de commande de capture de fenêtrept_BRFullscreen fade effect on system beepEfeito de esmaecimento de tela inteira ao som de bip do sistemadeDelay (in ms) between each rain-dropVerzögerung (in ms) zwischen den einzelnen RegentropfenesDarken background when scaling windowsOscurece el fondo al escalar las ventanasitRotate to face 2Ruota su faccia 2ruSelect next windowВыбрать следующее окноfiRotate Flip RightKierrä oikeallehuAmount of opacity in percentÁtlátszatlanság (0-100%)svBlur SpeedSuddighetshastighetptRotate CubeGirar CubodeDrop shadow radiusDrop-Shadow-RadiusruFade effect on system beepЭффект проявления/исчезания при системном звуковом сигналеsvY PositionsY-positionerplDialogOkno dialogowefrRotate Flip RightRotation sur le côté droitcaToggle active window maximizedCommuta la finestra activa maximitzadadaZoom DesktopZoom på skrivebordhuFlip to next viewport when dragging object to screen edgeObjektum kép szélére húzása esetén forgatás a következő nézőpontigdeRotate Flip LeftDrehen (nach links kippen)zh_CNScale images to cover top face of cube调整图像大小以覆盖立方体的顶面jaRotate to face 9面9に回転frFold TimestepIntervalle de pliageplRotation AccelerationPrzyspieszenie obrotuplDecorator command line that is executed if no decorator is already runningPolecenie dekoratora wykonywane gdy dekorator nie jest uruchomionyruSnapoff maximized windowsОтменить привязку полностью развернутых оконruAccelerationУскорениеhuNotificationÉrtesítésruUtilityУтилитаpt_BRAmount of brightness in percentPorcentagem de brilhopt_BRHide all windows and focus desktopOcultar todas as janelas e enfocar área de trabalhozh_CNNumber of Desktops桌面数esRotate LeftGirar a la izquierdacaOnly perform screen updates during vertical blanking periodNomés actualitza la pantalla durant els períodes d'enfosquiment verticalptCommand line to be executed in shell when run_command3 is invokedLinha de comando a ser executada no shell quando run_command3 for acionadozh_CNInitiate Window Resize启动窗口大小调整itMaximize Window VerticallyIngrandisci finestra in verticaledePopupMenuPopupMenuesDrop shadow X offsetDesechar desplazamiento X de la sombrazh_CNLayout and start transforming windows on current output对当前输出窗口调整布局并开始转换esClose active windowCierra la ventana activacsSnap To Top FacePřichytávat k horní straněplMake window shiverPotrząsaj oknamipt_BRRotate to face 5 and bring active window alongGirar para a face 5 e trazer a janela ativa juntozh_CNUnmaximize active window取消最大化活动窗口zh_CNAuto-Raise自动升起svFocus Window EffectFokuseffekt för fönsterfiIncrease window opacityVähennä ikkunan läpikuultavuuttafiDistance desktop should be zoom out while switching windowsEtäisyys, jonka työpöydän tulisi olla loitonnettuna ikkunoita vaihdettaessafiRotate rightKäännä oikeallept_BRUnmaximize WindowDesmaximizar JaneladePlace windows on cubeFenster auf Würfel platzierenhuUse spring model for wobbly window effectRugómodell használata az imbolygó ablakeffektusnálfrOpacity level of moving windowsNiveau d'opacité pour déplacer des fenêtresplLayout and start transforming windows on current outputRozmieść i zacznij przekształcać okna w bieżącym widokuzh_CNVisual Bell静音zh_CNFlip to next viewport when moving window to screen edge将窗口移至屏幕边缘时翻转到下个视点svA keybinding that when invoked, will run the shell command identified by command5En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando5ruUnfold cubeРазвертывание кубаsvMove WindowFlytta fönstersvOutputsUtmatningarzh_TWSnapoff maximized windows解除嵌入最大化視窗jaDetect Outputs出力検出ruHide Skip Taskbar WindowsСкрыть все, кроме окон панели задачhiUnknownअनंजानptA keybinding that when invoked, will run the shell command identified by command3Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando3plToggle window snappingPrzełącz przypinanie okienhuZoom DesktopMunkaasztal nagyításadeAmount of brightness in percentHelligkeitsgrad in ProzenthuFilter method used for blurringAz elmosáshoz használt szűrőmódszerpt_BRRotate To Face 5 with WindowGirar para a Face 5 com JanelahuDesktop PlaneMunkaasztal síkfrSkydome Gradient End ColorCouleur de fin du gradient de skydomeruImage to use as texture for the skydomeИзображение, используемое в качестве текстуры для фонаdaCube ColorKubusfarvezh_TWShow minimized windows顯示最小化的視窗frIncrease OpacityAugmenter l'opacitéplMap EffectEfekt mapowaniasvShow icon next to thumbnailVisa ikon bredvid miniatyrbildzh_CNRotate To旋转到svRefresh RateUppdateringsfrekvenspt_BRMinimum Grid SizeTamanho Mínimo da GradesvA keybinding that when invoked, will run the shell command identified by command9En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando9zh_CNTimestep时间区间zh_CNDistance desktop should be zoom out while switching windows切换窗口时应缩小远距离桌面pt_BRRotate to face 4 and bring active window alongGirar para a face 4 e trazer a janela ativa juntoesTooltipSugerenciadaSelect previous windowVælg forrige vinduecaApplication SwitcherCanviador d'aplicacionszh_CNRotate To Face 5旋转到第 5 面esRotate To Face 4Girar hacia el 4ptWindow MenuMenu da JanelafrShade resistanceOmbrer la résistancecaInitiate Window PickerInicia el seleccionador de finestrespt_BRLayout and start transforming windows on current outputCriar layout e iniciar transformação das janelas na saída atualhuSplashIndítóképitScale speedVelocità scalaruSnap InvertedИнвертированная привязкаplToggle rain effectPrzełącz efekt deszczusvAccelerationAccelereringfiPointer SensitivityOsoittimen herkkyysdaHover TimeMarkørens pegetidzh_TWRotate to face 8往面 8 旋轉ruMap EffectЭффект отраженияitShadow Offset YOffset ombreggiatura Yzh_CNTime (in ms) before scale mode is terminated when hovering over a window悬停在窗口上时比例模式终止前的时间(以毫秒为)fiCommand line 1Komentorivi 1esFullscreen Visual BellTimbre visual a pantalla completajaA keybinding that when invoked, will run the shell command identified by command1呼び出し時にcommand1により識別されたシェルコマンドを実行するキーバインドdaAdvance to next slideGå til næste diasdaFullscreen fade effect on system beepFadeeffekt i fuld skærm ved systemtoneitRotate to face 5 and bring active window alongRuota su faccia 5 insieme a finestra attivaitFade SpeedVelocità dissolvenzasvHide windows not in taskbar when entering show desktop modeDölj fönster som inte är i verktygsraden vid visa skrivbordslägetsvHorizontal Virtual SizeVirtuell horisontell storlekzh_CNOpen window menu打开窗口菜单fiRotate To Face 6Käännä työpöydälle 6deImage filesBilddateiencaInitiate Window ResizeInicia el canvi de mida de la finestrafrZoom InZoom avantfrSwitcher speedVitesse du commutateuresFullscreen fade effect on system beepEfecto de desvanecimiento a pantalla completa con el pitido del sistemaruMaximize WindowРазвернуть окноfrRotate to face 10Rotation vers la face 10itIgnore Hints When MaximizedIgnora suggerimenti quando ingranditajaPopup switcher if not visible and select previous window out of all windows表示されていない場合スイッチャをポップアップしてすべてのウィンドウから前のウィンドウを選択daScale speedSkaleringshastighedcyUnknownAnhysbysruInverted window snappingИнвертированная привязка окнаcsZoom DesktopPřiblížit plochuzh_CNRaise Window上升窗口zh_TWGrid Resolution格線解析度plAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsZezwól na to, by rysowanie okien pełnoekranowych nie było przekierowywane do map obrazu poza ekranemsvRotate Left with WindowRotera åt vänster med fönsterzh_CNCommand line to be executed in shell when run_command4 is invoked调用 run_command4 时,shell 中要执行的命令行ptTexture FilterFiltro de TexturacsBrightnessJascsShade resistanceStálost stínupt_BRSpring FrictionAtrito da Molapt_BRMinimize speedMinimizar velocidadept_BRDelay (in ms) between each rain-dropAtraso (em ms) entre cada pingo de chuvacaShow Run Application dialogMostra el diàleg d'execució de l'aplicaciójaRotate Right右に回転plInverted window snappingOdwrócone przyciąganie okienjaVisual Bell可視ベルfiRaise On ClickNosta napsautuksestajaRotate To Face 4面4に回転svCommand line 4Kommandorad 4pt_BRAnimate skydome when rotating cubeAnimar Skydome ao girar o cubozh_CNShiver碎裂deWindow fade speedFensterausblendgeschwindigkeitesMinimize timestepPaso al minimizar plScreenshot pluginWtyczka zrzutów ekranusvToggle active window maximized verticallyVäxla vertikal maximering av aktivt fönstersvMaximize active windowMaximera aktivt fönsterfiRotate To Face 5Käännä työpöydälle 5caSnapoff and auto unmaximized maximized windows when draggingSepara i desmaximitza les finestres maximitzades en arrossegarsvAdds water effects to different desktop actionsLägger till vatteneffekter till olika skrivbordsåtgärderfrDistance desktop should be zoom out while switching windowsLe bureau à distance doit être en zoom arrière lors du passage d'une fenêtre à une autrezh_TWCommand line 3指令行 3itSaturationSaturazionecsRotate To Face 7 with WindowOtočit na stranu 7 s oknemdeWater EffectWassereffektesSkydome Gradient End ColorColor de fin del degradado de cúpulafrInitiate Window PickerLancer le sélecteur de fenêtreptImage to use as texture for the skydomeImagem a usar como textura no skydomedaConstrain YBegræns YhuShow Main MenuFőmenü megjelenítésehuPlane RightGördítés jobbradeZoom OutAnsicht verkleinernzh_CNInitiate启动caDockAcoblamentpt_BRAudible system beepBip do sistema audívelruRotate ToВращать доruAdds water effects to different desktop actionsДобавление эффектов воды к различным действиям рабочего столаesAmount of opacity in percentPorcentaje de opacidadhuDarken background when scaling windowsSötétülő háttér az ablakok átméretezésekorpt_BRSkydome Gradient Start ColorCor Inicial do Gradiente do SkydomefrSnap windowsAligner les fenêtresjaRotate to face 6面6に回転huScreenshot pluginKépernyőkép bővítményafUnknownOnbekendplDarken BackgroundPrzyciemnij tłosvTimeout before flipping viewportTidsgräns innan vändning av skrivbordsvyjaRotate to face 9 and bring active window along面9に回転して、アクティブなウィンドウを移動huSpace between windowsAblakok közti távolságsvPlane to face 1Plana till yta 1zh_TWFlip to left viewport and warp pointer往左檢視區翻轉並使指標變形plBlur FilterFiltr rozmywaniaitFold TimestepIntervallo chiusurahuInitiate annotate erasingFeljegyzéstörlés indításazh_CNAllow drawing of fullscreen windows to not be redirected to offscreen pixmaps允许全屏窗口的绘制不重定向到屏幕外的象素映射plMaximize active window verticallyMaksymalizuj aktywne okno w pioniezh_CNUse diffuse light when screen is transformed转换屏幕时使用漫射灯huWindow screenshot command lineAblak képernyőkép parancssorsvPlane leftPlana åt vänsterplList of strings describing output devicesLista opisów urządzeń wyjściowychjaFlip to right viewport and warp pointer右ビューポートとワープポインタにフリップruList of PNG and SVG files that should be rendered on top face of cubeСписок PNG- и SVG-файлов, которые следует отобразить на верхней грани кубаjaAuto-Raise Delay自動調整の待ち時間zh_TWPlace Windows放置視窗jaTimestepタイムステップptLayout and start transforming windowsCriar layout das janelas e iniciar sua transformaçãoplConstrain YOgranicz Yzh_TWHide Skip Taskbar Windows隱藏跳過工作列視窗frToggle Window MaximizedBasculer la fenêtre agrandiekmNormalធម្មតាpt_BRA keybinding that when invoked, will run the shell command identified by command6Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando6csSelect previous windowVybrat předchozí oknosvFullscreen Visual BellVisuell helskärmssignaldaWindow decorationsVinduesdekorationersvDbusDbuscsMap EffectEfekt mapovánípt_BRStart moving windowIniciar movimento da janelazh_TWWindow screenshot command line視窗螢幕擷取指令行daToggle active window maximized horizontallySlå den vandrette maksimering af det aktive vindue til/fradeShow the main menuHauptmenü anzeigencsClick on window moves input focus to itKliknutím na okno přesunout zaměření na oknodeColor to use for the top color-stop of the skydome-fallback gradientFarbe, die oben im Skydome-Fallback-Verlauf verwendet werden sollesSwitcher timestepPaso de conmutadordaResize WindowTilpas vinduets størrelsecaWobbly WindowsFinestres tremolosesplZoom DesktopPowiększ biurkoetBrightnessHeledusplEdge Flip PointerPrzełączanie widoków za pomocą wskaźnikaitRotate LeftRuota sinistrahuRaise windows when clickedAblakok megnyitása kattintás eseténdeRotate CubeWürfel drehenptInitiate Window ResizeIniciar Redimensionamento de Janelaspt_BRGo back to previous slideVoltar ao slide anteriorplAnnotate pluginWtyczka rysowaniafrTransform windows when they are minimized and unminimizedTransformer les fenêtres lorsqu'elles sont réduites ou agrandiesitRaise windows when clickedAumenta le finestre al clicplDrop shadow opacityNieprzezroczystość cieniadeDirectoryVerzeichnisruVisual BellВизуализация звукового сигналаplInitiate Window MoveRozpocznij przenoszenie oknacsUnmaximize WindowZrušit maximalizaci oknadaColor to use for the top color-stop of the skydome-fallback gradientFarve til det øverste farvestop i himmelkuplens aftagende farveforløbzh_CNRotate To Face 10旋转到第 10 面frToggle active window maximizedBasculer la fenêtre active agrandiejaLower window beneath other windows他のウィンドウの下にウィンドウを下げるzh_CNAdd line增加线esZoom OutReduciritRaise selected windows after intervalAumenta finestre selezionate dopo l'intervalloruZoomИзменить масштабitOpacity level of moving windowsLivello di opacità delle finestre mobilijaScaleスケールesDrop shadow Y offsetDesechar desplazamiento Y de la sombraesZoomAmpliar/reducirpt_BRZoom and pan desktop cubeAplicar zoom e pan ao cubo da área de trabalhozh_TWCommand line 10指令行 10huPopup switcher if not visible and select previous window out of all windowsAblakváltó megjelenítése ha nem látható és az összes ablak közül az előző kiválasztásafrCommand line to be executed in shell when run_command3 is invokedLigne de commande à exécuter dans le shell lorsque run_command3 est appeléesImage filesArchivos de imagenzh_TWUnknown未知的zh_TWA keybinding that when invoked, will run the shell command identified by command2啟用時將執行經 command2 識別之外圍程序指令的按鍵組合pt_BROutputsSaídaspt_BRTexture filteringFiltragem da texturaplZoom SpeedSzybkość przybliżaniaitSpeedVelocitàfrRotate Flip LeftRotation sur le côté gauchezh_CNEdge Flip Pointer边缘翻转指针csWater offset scaleMěřítko odsazení vodyitTake a screenshotCrea istantaneaplRefresh RateCzęstotliwość odświeżaniasvOpacityOpakhetjaDefault Iconデフォルトのアイコンzh_TWIgnore size increment and aspect hints when window is maximized視窗最大化時忽略大小增量與畫面提示csRotate with windowOtočit s oknemzh_CNShow Main Menu显示主菜单frDarken background when scaling windowsAssombrir l'arrière-plan lors de la mise à l'échelle des fenêtrespt_BRScaleDimensionarcsRotate to face 7 and bring active window alongOtočit na stranu 7 a vzít aktivní okno s sebouptMaximize Window HorizontallyMaximizar Janela HorizontalmentejaRun command 6ランコマンド6pt_BRWindow MenuMenu da Janelapt_BRToggle active window maximized verticallyAlternar janela ativa maximizada verticalmentehuInside cubeA kocka belsejefiShow icon next to thumbnailNäytä kuvake esikatselukuvan vieressäesFullscreenPantalla completahuFill color for annotationsFeljegyzések kitöltő színeptRotate to face 9Girar para a face 9csScale imageŠkálovat obrázeksvAlgorithm to use for window placementAlgoritm att använda för fönsterplaceringcsWindow screenshot command lineWindow screenshot command lineesLayout and start transforming all windowsDiseñar y empezar a transformar todas las ventanasesAutomatic detection of output devicesDetección automática de dispositivos de salidazh_TWRotate To Face 7往面 7 旋轉zh_TWVisual Bell警示鈴聲jaConstrain Y coordinate to workspace areaY座標をワークスペースエリアにコンストレインzh_CNPopup switcher if not visible and select previous window不可见时弹出切换程序并选择上一个窗口frRotate to face 8Rotation vers la face 8deDrop shadow X offsetDrop-Shadow-X-OffsetitAnimate skydome when rotating cubeAnima skydome alla rotazione del cubodaLayout and start transforming all windowsArranger og start omdannelsen af alle vinduernedeFilter LinearLinearer FilterhuRotate RightForgatás jobbradeRaise On ClickDurch Klicken in den VordergrundcsRun command 9Spustit příkaz 9huEnable pointer water effectsMutató víz effektus bekapcsolásaptPlace windows at appropriate positions when mappedColocar janelas nas posições apropriadas quando houver mapeamentofrSpace between windowsEspace entre les fenêtresjaCommand line to be executed in shell when run_command3 is invokedrun_command3の呼び出し時にシェルで実行されるコマンドラインsvRotate To Face 5 with WindowRotera till yta 5 med fönsterplPlace windows at appropriate positions when mappedPodczas mapowania umieszczaj okna we właściwych miejscachjaAuto-Raise自動調整zh_TWAuto-Raise Delay自動發出延遲huCube ColorKocka színedeScaleSkalierendaScale images to cover top face of cubeTilpas billederne, så de dækker toppen af kubussendeShow icon next to thumbnailNeben Miniaturbild Symbol anzeigencaToggle use of slow animationsCommuta l'ús d'animacions lentesfiVertex Grid ResolutionKärkipisteen hilan tarkkuusptSpring KSalto KjaInside Cubeキューブ内部zh_TWOpacity level of moving windows移動視窗的不透明度jaZoom DesktopデスクトップのズームfiFlip TimeTyöpöydän reunan aktivoitumisviivecsRain DelayZpoždění deštěcsDrop shadow radiusPoloměr vrženého stínuesCommand line to be executed in shell when run_command3 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command3plTime (in ms) before scale mode is terminated when hovering over a windowCzas (w ms) zatrzymania kursora nad oknem, po którym zakończony będzie tryb skalowaniazh_TWInside Cube立方體內部pt_BRNormalNormaldeDetect OutputsAusgaben erkennenzh_CNOffset Scale偏移比例zh_TWCommand line 5指令行 5fiAuto-Raise DelayAutomaattinoston viivecsCommand line 6Příkazová řádka 6svRotate To Face 7 with WindowRotera till yta 7 med fönstercsFocus EffectEfekt zaměřenísvToggle Window ShadedVäxla fönsterskuggningfiShadow RadiusVarjon sädezh_CNSkydome背景daOpacity StepUigennemsigtighedstrinjaFade effect on system beepシステムビープ音のフェード効果plScale timestepOpóźnienie skalowaniasvScaleSkalajaWobble effect when maximizing and unmaximizing windowsウィンドウの最大化および最大化解除時の揺れる効果csPlace windows on cubeRozmístit okna na kostkuesMove WindowMover ventanaplInitiate Window ResizeRozpocznij zmianę rozmiarów oknazh_TWMenu功能表csAdds water effects to different desktop actionsDo různých akcí plochy přidává efekt vodyptAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsPermitir que o desenho das janelas em tela inteira não seja redirecionado para pixmaps fora da telacaList of strings describing output devicesLlista de cadenes que descriuen els dispositius de sortidazh_CNCommand line 6命令行 6pt_BRWorkaroundsSoluçõesruToggle active window maximizedРазвертывание активного окнаpt_BRDesktopDesktopdeOpacity StepDurchlässigkeits-Schrittzh_TWEdge Flip DnD邊緣翻轉 DnDcaZoom factorFactor del zoomcaMap Window EffectAssigna l'efecte de la finestrafiRotate To Face 8 with WindowKäännä työpöydälle 8 ikkunan kanssacsColor of top and bottom sides of the cubeBarva vrchní a spodní strany kostkycsHide windows not in taskbar when entering show desktop modeSkrýt okna nepřítomná v liště úloh při vstupu do režimu zobrazení plochyjaBring selected window to front選択したウィンドウを正面へ移動svRaise selected windows after intervalHöj markerade fönster efter intervallzh_CNLayout and start transforming window group对窗口组调整布局并开始转换frRun command 3Exécuter la commande 3plLayout and start transforming window groupRozmieść i zacznij przekształcać grupę okiencsRun command 10Spustit příkaz 10fiConstrain YRajoita Y-koordinaattideUnknownUnbekanntplShadow OpacityNIeprzezroczystość cieniazh_CNLower window beneath other windows将窗口降到其它窗口以下plAnnotateRysowaniecsInitiate Window MoveIniciovat přesun oknaplFlip TimeCzas przełączaniaitRotate RightRuota _destrajaNormal通常svSnap To Top FaceFäst mot översta ytansvUse metacity themeAnvänd metacity-temacsMinimizedMinimalizovanézh_TWDarken background when scaling windows調整視窗比例時暗化背景jaMake window shiverウィンドウを震動させるpt_BRFilter LinearFiltro LineardaSlow AnimationsLangsomme animationerslNormalNavadenptRotate To Face 4Girar para a Face 4ptMenuMenuhuPopup switcher if not visible and select next windowAblakváltó megjelenítése ha nem látható és a következő ablak kiválasztásaesOpacity StepPaso de opacidadzh_TWRotate To Face 11 with Window隨視窗往面 11 旋轉caDetect Refresh RateDetecta la freqüència d'actualitzacióruAdd lineДобавить линиюfrInitiate Window MoveLancer le déplacement de fenêtreitFold SpeedVelocità chiusuraptRotate to face 2Girar para a face 2csAmount of opacity in percentHodnota krytí v procentechdeWindow decorationsFensterdekorationendaAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsTillad trækning af fuldskærmsvinduer, uden at der omdirrigeres til pixmaps uden for skærmbilledetcaRefresh RateFreqüència d'actualitzacióitRaise On ClickAumenta al cliccaPrev windowFinestra anteriorfrWindow MenuMenu de la fenêtreptRotate to face 3 and bring active window alongGirar para a face 3 e trazer a janela ativa juntopt_BRPopup switcher if not visible and select next window out of all windowsMostrar alternador, se não estiver visível, e selecionar próxima janela de todas as janelasjaCommand line 7コマンドライン7pt_BRFlip to next viewport when moving pointer to screen edgeInverter para o viewport seguinte ao mover o ponteiro para a borda da telapt_BRCommand line to be executed in shell when run_command8 is invokedLinha de comando a ser executada no shell quando run_command8 for acionadoplSplashSplashcsRotate to face 3Otočit na stranu 3frPlace windows on cubePlacer des fenêtres sur le cubeplTake a screenshotPobierz zrzut ekranudeRotate To Face 9 with WindowDrehen zu Fläche 9 mit Fensterpt_BRHorizontal Virtual SizeTamanho Virtual Horizontalzh_TWUnmaximize active window作用中視窗解除最大化deMinimum Vertex Grid SizeMinimale GittergrößehuLayout and start transforming windowsAblaktranszformáció és elrendezés indításaplDefault IconDomyślna ikonazh_CNPlace Windows放置窗口ptCommand line to be executed in shell when run_command8 is invokedLinha de comando a ser executada no shell quando run_command8 for acionadocsCommand line to be executed in shell when run_command4 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command4pt_BRRotate RightGirar para a DireitasvMap Window EffectKopplingseffekt för fönsterruLayout and start transforming all windowsКомпоновка и запуск преобразования всех оконzh_CNRotate to face 4旋转到第 4 面deSelect previous windowVorheriges Fenster auswählensvRotate to face 1 and bring active window alongRotera till yta 1 och ta med aktivt fönsterhuFade in windows when mapped and fade out windows when unmappedLeképezés esetén az ablak erősítése, lecsatolás esetén elhalványításazh_TWSnap Cube Rotation to Top Face嵌入立方體旋轉至頂面pt_BROffset ScaleEscala de Deslocamentozh_TWRotate To Face 12 with Window隨視窗往面 12 旋轉csWindow decorationsDekorace okenfiClose WindowSulje ikkunafrA keybinding that when invoked, will run the shell command identified by command7Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command7frRotate Right with WindowRotation à droite avec la fenêtrept_BRRotate To Face 2Girar para a Face 2ruMap Window EffectЭффект отражения окнаesCommand line 11Línea de comandos 11daSpeedHastighedfiImage filesKuvatiedostotitComboCasella combinatahuMaximize active window verticallyAktív ablak maximalizálása függőlegesenplMinimum Grid SizeMinimalny wymiar siatkifrScale speedVitesse d'échelleesVertex Grid ResolutionResolución de cuadrícula de vérticeplWindow MenuMenu oknaptRotate To Face 8 with WindowGirar para a Face 8 com JanelaitWobble effect when maximizing and unmaximizing windowsEffetto tremolio quando si applica o si annulla il ripristino alle finestreitTime (in ms) before scale mode is terminated when hovering over a windowTempo (in ms) prima che la modalità di adattamento venga terminata al passaggio del mouse su una finestradaMaximize Window VerticallyMaksimer vindue lodretfrTake a screenshotFaire une capture d'écranfrDefault window icon imageImage de l'icône de la fenêtre par défautsvToggle use of slow animationsVäxla användning av långsamma animeringarfrOpacityOpacitéhuLower WindowAlacsonyabb ablakruShadow Offset YСмещение тени по оси Yzh_TWPlace windows on cube將視窗放到立方體plApplication SwitcherPrzełącznik aplikacjiesRotation TimestepPaso de girodaDialogDialogboksplPing DelayOpóźnienie pingjaRun command 8ランコマンド8huAnnotateFeljegyzészh_CNSpeed速度svZoom factorZoomfaktorptMaximize active windowMaximizar janela ativaruRotate to viewportВращение до кадрового окнаesNormalNormalcsCommand line to be executed in shell when run_command9 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command9pt_BRRotate To Face 4Girar para a Face 4ptAuto-Raise DelayAtraso na Elevação Automáticazh_TWUse diffuse light when screen is transformed在螢幕轉換時使用擴散光esLower window beneath other windowsColocar la ventana por debajo de otrascaShade ResistanceResistència a l'ombrafiRotate to face 11Käännä työpöydälle 11zh_CNPointer Invert Y指针反转 Yzh_TWShadow Opacity陰影不透明度zh_CNSpace between windows窗口之间的间隔fiRotate To Face 4 with WindowKäännä työpöydälle 4 ikkunan kanssapt_BRModalDialogModalDialogcsWater EffectVodní efektpt_BRRotate To Face 10Girar para a Face 10plRain DelayOpóźnienie deszczucaHide Skip Taskbar WindowsOculta les finestres ignorades de la barra de tasquessvPlane upPlana uppåtdaDrop shadow X offsetSlagskyggeforskydning XruMaximize EffectЭффект развертыванияitRotate To Face 7Ruota su faccia 7fiScale windowsIkkunoiden skaalauszh_CNAdds water effects to different desktop actions将水纹效果添加到不同的桌面操作jaRotate right右に回転jaFlip to next viewport when dragging object to screen edgeオブジェクトを画面の端にドラッグする時に次のビューポートにフリップするcaDecorator command line that is executed if no decorator is already runningLínia d'ordres del decorador que s'executa si no s'està executant cap decoradorsvSelect previous windowVälj föregående fönsterfrRotation TimestepIntervalle de la rotationcsUse diffuse light when screen is transformedPoužít rozptýlené světlo při transformaci oknadeZoom and pan desktop cubeDesktop-Würfel zoomen und schwenkenitScaleScalaptRotate To Face 4 with WindowGirar para a Face 4 com JanelaptToggle window snappingAlternar fechamento de janelasjaDecorator command line that is executed if no decorator is already runningデコレータが動作していない場合に実行されるデコレータコマンドラインzh_TWVertical Virtual Size垂直虛擬大小zh_CNSnapoff maximized windows删除最大化窗口快照frTake a screenshot of a windowFaire une capture d'écran d'une fenêtredeScale windowsFenster skalierenplAmount of opacity in percentStopień nieprzezroczystości w procentachdeUnredirect Fullscreen WindowsUmleitung von Vollbildfenstern aufhebenitCommand line 1Riga di comando 1zh_TWSaturation飽和度svBackground ImagesBakgrundsbildersvUnredirect Fullscreen WindowsOmdirigera tillbaka helskärmsfönsterdeResize windowFenster skalierenitActive PluginsPlug-in attivijaGenerate mipmaps when possible for higher quality scaling高品質スケーリングが可能な場合ミップマップを生成csList of PNG and SVG files that should be rendered on top face of cubeSeznam PNG a SVG souborů, které mají být vykresleny na vrchu kostkypt_BRAmount of saturation in percentPorcentagem de saturaçãodeToggle rain effectRegeneffekt ein/ausesNext windowVentana siguientecaMinimize EffectMinimitza l'efectezh_TWFlip to next viewport when moving window to screen edge將視窗移動到螢幕邊緣時翻轉到下一個檢視區jaOutputs出力zh_CNMaximize active window最大化活动窗口fiZoomZoomfiInitiate Window MoveSiirrä ikkunaazh_TWRotate To Face 4 with Window隨視窗往面 4 旋轉huDrop shadow X offsetÁrnyék X-eltolásajaActive PluginsアクティブプラグインitRotate To Face 12 with WindowRuota su faccia 12 con finestraitA keybinding that when invoked, will run the shell command identified by command7Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command7svWater EffectVatteneffektfrWave effect from window titleEffet de vague sur le titre de la fenêtrecaActive PluginsConnectors actiusfiFocus EffectKohdistustehostezh_TWDropdownMenuDropdownMenujaRain Delay雨の待ち時間caSaturationSaturacióplImage filesPliki obrazkówcsConstrain Y coordinate to workspace areaOmezení Y souřadnice na pracovní prostorruInside cubeВнутренняя поверхность кубаsvLaunch ApplicationKör programcaMaximize WindowMaximitza la finestracsPlace WindowsRozmístit oknafiMap Window EffectLiitä ikkunatehosteesRotate To Face 11 with WindowGirar hacia el 11 con ventanaruColor to use for the bottom color-stop of the skydome-fallback gradientЦвет, используемый для нижней границы градиента фонаzh_TWMap Effect映射特效ruClose active windowЗакрытие активного окнаhuIgnore Hints When MaximizedMaximális méretben tanácsok figyelmen kívül hagyásaptWorkaroundsSoluçõesdaModalDialogModaldialogbokszh_TWWobble effect when maximizing and unmaximizing windows視窗最大化和解除最大化時啟用搖擺特效deClearLeerenzh_TWCombo組合fiUnmaximize active windowPalauta aktiivinen ikkunaptRotate to face 10Girar para a face 10caToggle Window MaximizedCommuta la finestra maximitzadasvCommand line 1Kommandorad 1huWindow fade speedAblak elhalványulásának sebességezh_TWMove Window移動視窗jaPrev window前のウィンドウsvSelect next windowVälj nästa fönsteresRotate to face 7 and bring active window alongGira hacia el 7 y arrastra la ventana activazh_TWRun command 4執行指令 4caUnmaximize WindowDesmaximitza la finestraruSkydome Gradient Start ColorНачальный цвет градиента для фонаfrAdvance to next slidePasser à la diapositive suivanteplSaturationNasycenieplDrawRysujsvMaximize Window VerticallyMaximera fönster vertikaltesImage to use as texture for the skydomeImagen que se usará como textura de la cúpulafiDockTelakointipt_BRInitiate Window PickerIniciar Seletor de JanelassvOverlay IconLägg ikoner övercaModalDialogDiàleg de modedeUse diffuse light when screen is transformedBeim Umwandeln des Bildschirms diffuses Licht verwendendaZoom factorZoomfaktordeRun command 8Befehl 8 ausführenzh_CNWindow placement workarounds窗口放置工作区csToggle active window shadedPřepnout stínování aktivního oknadeRotate To Face 8Drehen zu Fläche 8ptMinimizedMinimizadoplClick To FocusKliknij by wybraćesShadow RadiusRadio de la sombrahuRefresh RateFrissítési frekvenciafiVisual BellNäkyvä kelloptRotate To Face 2Girar para a Face 2svNumber of virtual desktopsAntal virtuella skrivbordesShadow OpacityOpacidad de la sombrahuBlur behind translucent parts of windowsElmosás az ablakok áttetsző részei mögötthuSpacingTávolságitAmount of opacity in percentImporto opacità in percentualefiRun command 5Suorita komento 5csRotate To Face 7Otočit na stranu 7fiToggle Window MaximizedOta käyttöön maksimoidut ikkunatdaScale timestepTidstrin for skaleringcaOpen window menuObre el menú de la finestrazh_TWPopup switcher if not visible and select next window看不到切換器時快顯切換器,並選取下一個視窗caWindow decorationsDecoracions de finestreszh_CNNext Slide下一个滑块csRotate to face 2 and bring active window alongOtočit na stranu 2 a vzít aktivní okno s seboudeRun command 3Befehl 3 ausführenpt_BRShadow Offset YDeslocamento Y da SombradaEnable pointer water effectsAktiver markørvandeffekterzh_TWIncrease window opacity提高視窗不透明度fiRotate To Face 9 with WindowKäännä työpöydälle 9 ikkunan kanssafrRotate To Face 8Rotation vers la face 8plLine width for annotationsSzerokość linii przy rysowaniuplMipmap LODLOD mipmapyptRotate LeftGirar para a EsquerdasvGeneral OptionsAllmänna alternativfrBring To FrontPlacer au-dessusdeNormalNormalsvAutomatic detection of refresh rateAutomatisk identifiering av uppdateringsfrekvensesRun command 9Ejecutar comando 9zh_CNRotate to face 12 and bring active window along旋转到第 12 面并带来活动窗口svPlane to face 6Plana till yta 6ptRun command 8Executar comando 8daRefresh RateOpdateringshastighedsvPrev SlideFöregående diabildruPopupMenuВсплывающее менюcaWater offset scaleEscala de desplaçament d'aiguacaNext SlideDiapositiva següentzh_CNIgnore Hints When Maximized最大化时忽略提示svSnapoff and auto unmaximized maximized windows when draggingKoppla loss och automatiskt avmaximera maximerade fönster när de drassvZoom InZooma infiDecrease window opacityLisää ikkunan läpikuultavuuttadeLineLinieitRaise window above other windowsVisualizza la finestra sulle altre finestresvVisual BellVisuell signaljaCommand line 10コマンドライン10itDetect Refresh RateRileva frequenza di aggiornamentodeAudible system beepAkustischer System-WarntoncaSelect next windowSelecciona la finestra següentitWater offset scaleProporzioni offset acquasvMake window shiverSkaka fönsterfrLayout and start transforming all windowsDisposer et commencer à transformer les fenêtresesColor to use for the bottom color-stop of the skydome-fallback gradientColor utilizado para la parada de color inferior del degradado de vuelta atrás de la cúpulasvPointer Invert YInvertera pekarens Y-axeldeDndDndsvPlane To Face 2Plana till yta 2svCommand line 8Kommandorad 8ptIconÍconedaList of currently active pluginsListe over aktive pluginsdaDelay (in ms) between each rain-dropForsinkelse (i ms) mellem hver regndråberuAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsПозволяет рисовать окна в полноэкранном режиме без перенаправления в области растрового отображения за пределами экранаfrInverted window snappingAlignement inversé de la fenêtreitPlace WindowsPosiziona finestreplRotate Flip LeftObróć i przełącz w lewoitTitle waveOnda titoloruPointer SensitivityЧувствительность курсораpt_BRRaise On ClickElevar com um CliqueitRotate To Face 2Ruota su faccia 2huAdvance to next slideTovábblépés a következő diáraitShow minimized windowsMostra finestre ridotte a iconapt_BROverlay an icon on windows once they are scaledSobrepor um ícone em janelas após serem dimensionadashuShow the main menuFőmenü megjelenítésezh_CNCommand line 4命令行 4zh_TWRotate to face 4 and bring active window along往面 4 旋轉並隨同作用中視窗一起旋轉csRotate to face 12Otočit na stranu 12esRotate Flip RightGirar a inversión derechaesSync To VBlankSincronizar con borrado verticalsvTitle waveTitelvågfrVisual BellCloche virtuellehuZoom TimestepNagyítás időközpt_BRCommandCommanddePrev windowVorheriges FensterdeRotate To Face 8 with WindowDrehen zu Fläche 8 mit FensteritRotate To Face 3Ruota su faccia 3zh_TWActive Plugins主動式外掛程式svPlane To Face 8Plana till yta 8deA keybinding that when invoked, will run the shell command identified by command6Eine Tastenbelegung, die den durch Befehl 6 festgelegten Shell-Befehl ausführtptCommand line 5Linha de comando 5esFlip to next viewport when moving window to screen edgeSe invierte al viewport siguiente al mover una ventana al borde de la pantallacaHide windows not in taskbar when entering show desktop modeOculta les finestres que no es troben a la barra de tasques en accedir al mode d'escriptori de visualitzaciójaWindow screenshot command lineウィンドウスクリーンショットのコマンドラインfrCommand line 2Ligne de commande 2plInitiate Window Picker For Windows on Current OutputInicjuj wybór okien dla okien z bieżącego wyjściafrUnfoldDéplieresFade effect on system beepEfecto de desvanecimiento con pitido del sistemadaInverted window snappingOmvendt fastgøring af vinduerzh_TWRotate with window隨視窗旋轉ptRun command 10Executar comando 10deShow minimized windowsMinimierte Fenster anzeigenesGo back to previous slideVuelve a la diapositiva anteriorruWindow placement workaroundsОбходные пути при размещении окнаdeMinimize EffectEffekt minimierenzh_TWZoom Speed縮放速度daToggle window snappingSlå fastgøring af vinduer til/fraplAnimate skydome when rotating cubeAnimacja tła dla kostki podczas jej obracaniafiFade effect on system beepHäivitystehoste järjestelmän huomatuksessacsRotate Right with WindowOtočit vpravo s oknemfrSnap InvertedAlignement inverséesPopup switcher if not visible and select previous windowMostrar el conmutador si no está visible y seleccionar la ventana anteriorzh_CNA keybinding that when invoked, will run the shell command identified by command4键绑定在调用时,将运行 command4 确定的 shell 命令plScale imageSkaluj obrazekfiDropdownMenuAvattava valikkohuPlace windows on cubeAblakok elhelyezése a kockánesCommand line 3Línea de comandos 3itTexture filteringFiltro tramafiMipmapMipmapcsShadow OpacityKrytí stínufrClose active windowFermer la fenêtre activeptAnimate skydome when rotating cubeAnimar Skydome ao girar o cuboptWobbly WindowsJanelas InstáveisesDrop shadow radiusDesechar radio de la sombraplRotate Right with WindowObróć w prawo z oknemfiPopup switcher if not visible and select previous windowTuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse edellinen ikkunaptUnfold cubeDesdobrar cuboitTake a screenshot of a windowCrea istantanea di una finestradeToggle window snappingEinrasten von Fenstern ein/ausdaMap EffectTilknytningseffektpt_BRUse diffuse light when screen is transformedUsar luz difusa quando a tela for transformadafrFullscreenFullscreen (Plein écran)svMinimize timestepTidsintervall för minimeringdeTooltipKurzinfodaAudible BellHørbar klokkedeAuto-RaiseAutomatisch in den VordergrundptFlip TimeTempo de InversãoitToggle wiperAttiva/Disattiva cursorecsScale images to cover top face of cubeZměnit velikost obrázků podle vrchu kostkycsRotate To Face 5 with WindowOtočit na stranu 5 s oknemdeNotificationBenachrichtigungesRotate to face 5Gira hacia el 5zh_CNFlip Time翻转时间jaToggle active window maximized最大化されたアクティブウィンドウを切り替えfrNotificationNotificationfrPopup switcher if not visible and select next window out of all windowsAfficher la touche de modification si elle n'est pas visible et sélectionner la fenêtre suivante parmi toutes les fenêtresruHide windows not in taskbar when entering show desktop modeПри переходе в режим отображения рабочего стола окна, отсутствующие на панели задач, не отображаютсяcaClose WindowTanca la finestrajaToggle active window maximized horizontally水平方向に最大化されたアクティブウィンドウを切り替えzh_CNDialog对话框ptUnknownDesconhecidofrShow Run Application dialogAfficher la boîte de dialogue d'exécution de l'applicationitColor to use for the bottom color-stop of the skydome-fallback gradientColore da utilizzare per l'interruzione del colore inferiore della sfumatura in uscita skydomejaComboコンボzh_TWTimestep時間間隔pt_BRRotate with windowGirar com a janelafiCommand line to be executed in shell when run_command9 is invokedSuoritettava komentorivi, kun run_command9 suoritetaan.svCommand line to be executed in shell when run_command2 is invokedKommandorad som ska köras i ett skal när run_command2 anropasplPlane RightPrawa płaszczyznahuInitiate Window Picker For All WindowsAblakválasztó indítása minden ablakhozitDecrease OpacityRiduci opacitàdeSpring KSpring KdeOverlay IconSymbol überlagerncaFullscreen Visual BellCampana visual a pantalla completacaMaximize active window horizontallyMaximitza la finestra activa horitzontalmentzh_TWA keybinding that when invoked, will run the shell command identified by command6啟用時將執行經 command6 識別之外圍程序指令的按鍵組合itAutomatic detection of output devicesRilevamento automatico dispositivi di outputptNormalNormalzh_TWCommand line 9指令行 9caIncrease OpacityAugmenta l'opacitatjaRun DialogランダイアログptMaximize WindowMaximizar JanelajaSelect previous window前のウィンドウを選択itHorizontal Virtual SizeDimensioni virtuali orizzontaliptCommand line 10Linha de comando 10esClose WindowCerrar ventanaplAudible system beepDzwonek systemowyitSpacingSpaziaturasvUse spring model for wobbly window effectAnvänd fjädereffekt för fönstergeléeffekthuMinimum Vertex Grid SizeMinimum csúcs-rácspont méretehuCommandParancsruRotate Flip LeftВращать с отражением влевоitRun command 6Esegui comando 6huHover TimeMutatás idejejaInitiate Window Picker For Windows on Current Output現在の出力でウィンドウのウィンドウピッカーを起動huBlur FilterElmosásszűrősvWindows that should have a shadowFönster som ska ha en skuggafrRotate RightRotation à droiteesRender skydomeProcesar cúpulasvFade effect on system beepToningseffekt vid systemsignalfrWobbly WindowsFenêtres déforméesitIncrease window opacityAumenta opacità finestrafiUse spring model for wobbly window effectKäytä ikkunoiden joustavaa huojumistehostettapt_BRRotate to face 8Girar para a face 8ruFlip to next viewport when moving pointer to screen edgeОтражение на следующее кадровое окно при смещении курсора к краю экранаpt_BRCommand line 3Linha de comando 3deRotation TimestepDrehintervalldaRotate RightRoter højreukNormalНормальнийdaUse diffuse light when screen is transformedBrug spredt lys, når skærmbilledet omdannesplPopup switcher if not visible and select previous window out of all windowsOkno przełączania gdy niewidoczne i wybór poprzedniego okna spośród wszystkichcaMinimize active windowMinimitza la finestra activaitNext SlideDiapositiva successivadaSnap InvertedOmvendt fastgøringruInitiate Window Picker For All WindowsИнициировать средство выбора окна для всех оконjaOpacity level of moving windows移動ウィンドウの不透明度レベルfrShadow Offset YDécalage Y de l'ombrezh_CNMaximize Window最大化窗口ptInitiate Window MoveIniciar Movimento de JanelasitRotate To Face 7 with WindowRuota su faccia 7 con finestradaAdd pointTilføj punktpt_BRInitiate Window MoveIniciar Movimento de JanelasitInitiateAvviaesClearLimpiarcsToggle Window ShadedPřepnout stínování oknafiZoom factorZoomauskerroinfiCommandKomentofrRotate to viewportRotation vers un bureaupt_BRUnredirect Fullscreen WindowsAnular redirecionamento de janelas de tela inteirafiMinimize timestepVähennä aikaväliäfiOverlay IconAseta kuvake päälleskNormalNormálnysvFilter LinearFiltrera linjärtdeRaise selected windows after intervalAusgewählte Fenster nach Zeitintervall in Vordergrund verschiebenitToggle active window maximized verticallyAlterna finestra attiva ingrandita in verticalejaSplashスプラッシュcsMake window shiverRozechvět oknodaAmount of opacity in percentUigennemsigtighed i procentsvMinimize speedMinimeringshastighetplHover TimeCzas wyboru oknajaCommand line 5コマンドライン5huList of strings describing output devicesKimeneti eszközöket leíró karakterláncok listájacsFlip to right viewport and warp pointerPřeklopit na pravé zorné pole a zdeformovat ukazatelfiFade in windows when mapped and fade out windows when unmappedIkkunat häivytetään näkyvistä/näkyviinzh_CNCommand line 3命令行 3huFlip to next viewport when moving pointer to screen edgeMutató kép szélére húzása esetén forgatás a következő nézőpontigzh_TWPopupMenuPopupMenucaSnap InvertedAjustament invertitplColor to use for the bottom color-stop of the skydome-fallback gradientDolny kolor przejścia tonalnego w tle kostki pulpitówitInvert Y axis for pointer movementInverti asse Y per spostamento puntatorejaCommand line 1コマンドライン1huSpring KonstantRugóállandócsCommand line 7Příkazová řádka 7pt_BRRotate To Face 3 with WindowGirar para a Face 3 com JanelafiLineViivajaRotation Speed回転速度fiRotate To Face 12 with WindowKäännä työpöydälle 12 ikkunan kanssaitIgnore size increment and aspect hints when window is maximizedIgnora suggerimenti su aspetto e incremento dimensioni quando la finestra è ingranditacsTimeout before flipping viewportČasový limit před překlopením zorného polecsCommand line to be executed in shell when run_command1 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command1csLayout and start transforming windows on current outputRozvržení a počátek transformace oken na aktuálním výstupudaUnmaximize WindowGendan vinduefrCommand line to be executed in shell when run_command5 is invokedLigne de commande à exécuter dans le shell lorsque run_command5 est appelédeSplashSplashptOffset ScaleEscala de DeslocamentofrMove windowDéplacer la fenêtreplRotate ToObróć dopt_BRDefault window icon imageImagem do ícone padrão da janelacaLower WindowAbaixa la finestrazh_CNRun command 10运行命令 10zh_TWRun command 10執行指令 10zh_CNRotate To Face 6 with Window旋转到带窗口的第 6 面daBring selected window to frontPlacer det valgte vindue forrestruToggle window snappingПереключение привязки оконdeWater offset scaleWasser-Versatz-Skalierungzh_TWToolbar工具列dePointer Invert YY umkehren für ZeigerptScaleDimensionarzh_TWZoom Desktop縮放桌面plDrop shadow Y offsetPrzesunięcie cienia w osi YdaAutomatic detection of output devicesAutomatisk registrering af udgangsenhedercaAdd lineAfegeix una líniafiSnap windowsKiinnitä ikkunatzh_TWToggle active window maximized horizontally將使用中視窗水平切換到最大zh_CNCommand line to be executed in shell when run_command8 is invoked调用 run_command8 时,shell 中要执行的命令行svWindows that should be fadingFönster som ska tonasesRaise selected windows after intervalAlza las ventanas seleccionadas tras el intervaloptRotate To Face 5Girar para a Face 5daLineLineplDrop shadow radiusPromień cieniacaZoom SpeedVelocitat del zoomcaMap EffectAssigna l'efectecaSnapoff maximized windowsSepara les finestres maximitzadesfiEdge Flip MoveIkkunaa siirrettäessä aktivoituvat työpöydän reunatptCommand line to be executed in shell when run_command5 is invokedLinha de comando a ser executada no shell quando run_command5 for acionadopt_BRVisual BellCampainha VisualsvPngPngdeList of currently active pluginsListe der aktiven PluginscsFullscreen fade effect on system beepCeloobrazovkový efekt slábnutí při systémovém pípnutízh_CNBrightness亮度deToggle Window Maximized HorizontallyFenster horizontal maximieren ein/ausplPlane upPłaszczyzna u góryfiA keybinding that when invoked, will run the shell command identified by command1Tunnisteen command1 mukaisen komennon suorittava näppäinyhdistelmäitLower window beneath other windowsAbbassa finestra sotto alle altre finestresvInitiate Window PickerInitiera fönsterväljaredaClose WindowLuk vinduesvPng image loaderPng-bildläsarecsIncrease window opacityZvýšit krytí oknaptCommand line to be executed in shell when run_command10 is invokedLinha de comando a ser executada no shell quando run_command10 for acionadopt_BRScale images to cover top face of cubeDimensionar imagens para cobertura da face superior do cubojaShow Main Menuメインメニューの表示esSnap Cube Rotation to Top FaceSolapa el giro del cubo hacia la cara superiordeBring To FrontIn den Vordergrund verschiebenfiSpace between windowsIkkunoiden välinen tilaptZoomZoomzh_TWSpring Konstant彈簧常數caScale imageCanvia la mida de la imatgefiUnknownTuntematondeRotate to face 9Drehen zu Fläche 9ruMinimizedСвернутыеdeFold AccelerationBeschleunigung beim FaltensvFold SpeedVikningshastighetsvCube ColorKubfärgcsFullscreen Visual BellCeloobrazovkový vizuální zvonekitMinimize EffectRiduci effettoesDelay (in ms) between each rain-dropRetraso (en milisegundos) entre gotas de lluviaruDarken BackgroundЗатемнить фонptClick To FocusClique para Posicionar o FocoptShow the main menuMostrar o menu principaljaToggle Window Shadedシェードされたウィンドウを切り替えpt_BRUnfoldDesdobraresPopup switcher if not visible and select next window out of all windowsMostrar el conmutador si no está visible y seleccionar la siguiente ventana del conjunto total de ventanasitOffset ScaleScala offsetdaIncrease window opacityForøg vinduets uigennemsigtigheditCommand line 11Riga di comando 11ruMinimum Vertex Grid SizeМинимальный размер решетки на вершинахdaShadow OpacitySkyggens uigennemsigtighedesHide windows not in taskbar when entering show desktop modeOculta las ventanas que no se encuentran en la barra de tareas al entrar en el modo de muestra de escritorioruConstrain YОграничить YcsToggle Window MaximizedPřepnout maximalizaci oknahuSpring KRugó KdeTitle waveTitelwelleesDetect OutputsDetectar salidasfrRotate To Face 11Rotation vers la face 11huAccelerationGyorsításesMinimize speedVelocidad al minimizaritRun DialogFinestra di dialogo EseguijaAnimate skydome when rotating cubeキューブの回転時にスカイドームをアニメーション化するpt_BRUnknownDesconhecidoruMinimize speedСкорость свертыванияplDistance desktop should be zoom out while switching windowsOddalenie pulpitu podczas przełączania okienfrDesktop CubeCube du bureaufiCommand line to be executed in shell when run_command1 is invokedSuoritettava komentorivi, kun run_command1 suoritetaan.jaRotate with windowウィンドウとともに回転ptCommand line 6Linha de comando 6plPlane UpPłaszczyzna górnapt_BRToggle use of slow animationsAlternar uso de animações lentasdeAmount of saturation in percentSättigungsgrad in ProzentsvRotate To Face 8 with WindowRotera till yta 8 med fönstercaMinimum Grid SizeMida mínima de la graellahuBlur windowsAblakok elmosásadaSplashSplashcaMaximize Window VerticallyMaximitza la finestra verticalmentesSnap InvertedSolapamiento inversozh_TWRotate to face 3 and bring active window along往面 3 旋轉並隨同作用中視窗一起旋轉fiCommand line to be executed in shell when run_command3 is invokedSuoritettava komentorivi, kun run_command3 suoritetaan.ptFullscreen Visual BellCampainha Visual de Tela InteirajaRun command 3ランコマンド3zh_TWFlip to right viewport and warp pointer往右檢視區翻轉並使指標變形svMinimize WindowsMinimera fönsterdaActive PluginsAktive pluginsruToggle use of slow animationsПереключатель для использования медленной анимацииptUnmaximize WindowDesmaximizar Janelazh_CNRotate to face 8 and bring active window along旋转到第 8 面并带来活动窗口plPlane downPłaszczyzna u dołuzh_CNRotate To Face 6旋转到第 6 面huEdge Flip DnDÉlforgatás egérműveletsvResize windowSkala fönsterdaRotate Flip RightRoter og vend til højresvCommandKommandojaRotate to face 3 and bring active window along面3に回転して、アクティブなウィンドウを移動fiCommand line to be executed in shell when run_command4 is invokedSuoritettava komentorivi, kun run_command4 suoritetaan.deSpring FrictionReibungfrRun command 2Exécuter la commande 2plLower window beneath other windowsPrzenieś okno pod pozostałeesRun command 10Ejecutar comando 10ruMinimize active windowСвертывание активного окнаhuMaximize Window VerticallyAblak maximalizálása függőlegesensvRotate To Face 10 with WindowRotera till yta 10 med fönstercaZoom and pan desktop cubeFes zoom i gira el cub de l'escriptoricsMove WindowPřesunout oknoptActive PluginsPlug-ins AtivoscaSnap Cube Rotation to Top FaceDesplaça el gir del cub a la cara superiordaOpacityUigennemsigtighedcsDrop shadow Y offsetPosun vrženého stínu YesRotate to face 12Gira hacia el 12deRotate To Face 9Drehen zu Fläche 9ptFocus EffectEfeito de DestaquefiDrop shadow X offsetHylkää varjon poikkeama (X)zh_CNList of currently active plugins当前活动的插件列表fiHorizontal Virtual SizeVirtuaalinen vaakatasokokosvMove WindowsFlytta fönstercsA keybinding that when invoked, will run the shell command identified by command10Klávesové zkratky, které spustí příkaz určený command10daFullscreen Visual BellVisuel klokke i fuld skærmpt_BRRotate to face 11 and bring active window alongGirar para a face 11 e trazer a janela ativa juntocaFlip to left viewport and warp pointerInverteix cap a l'àrea de visualització esquerra i deforma el punterfrHide Skip Taskbar WindowsMasquer les fenêtres de la barre des tâches IgnorerplToggle Window MaximizedPrzełącz maksymalizację oknasvDefault IconStandardikonpt_BRVertical Virtual SizeTamanho Virtual VerticalcaScale timestepCanvia la mida de l'etapacaMinimizedMinimitzadescaSwitcher timestepEtapa del canviadorfiApplication SwitcherSovellusten vaihtajaitGenerate mipmaps when possible for higher quality scalingGenera mipmap quando possibile per migliorare la qualità di ridimensionamentosvRotate To Face 9 with WindowRotera till yta 9 med fönsteritRain DelayRitardo pioggiasvLineRadfiScale timestepSkaalausaikavälipt_BRWobble effect when maximizing and unmaximizing windowsEfeito de instabilidade ao maximizar e desmaximizar janelasesFrictionFricciónfiDetect Refresh RateTunnista päivitystaajuusdeDecrease OpacityDurchlässigkeit verringernsvHide Skip Taskbar WindowsDölj fönster inte i verktygsraddaWindow fade speedFadehastighed for vinduehuFlip TimeForgatási időcaFrictionFricciócaGo back to previous slideTorna a la diapositiva anteriorzh_TWWindow placement workarounds視窗位置解決方式zh_TWVertex Grid Resolution頂點格線解析度jaLayout and start transforming windows on current output現在の出力で配列してウィンドウの変換を開始するfrInvert Y axis for pointer movementInsérer l'axe Y pour le mouvement du pointeurpt_BRSplashSplashzh_TWSwitcher timestep切換器時間間隔fiResize WindowMuuta ikkunan kokoajaA keybinding that when invoked, will run the shell command identified by command9呼びし時にcommand9により識別されたシェルコマンドを実行するキーバインドsvPulsePulscsMinimize speedRychlost minimalizaceptWindow DecorationDecoração da JanelaptBring To FrontColocar em Primeiro PlanoitResize WindowRidimensiona finestrapt_BRRaise window above other windowsElevar janela acima das outrasjaGo back to previous slide前のスライドに戻るesCube ColorColor del cuboitStart RotationAvvia rotazionezh_CNRotate to face 6 and bring active window along旋转到第 6 面并带来活动窗口fiAdd lineLisää viivaesAdvance to next slideAvanza a la siguiente diapositivadaImage filesBilledfilersvRotate To Face 4 with WindowRotera till yta 4 med fönsterplMipmapMipmapaesRotate To Face 7 with WindowGirar hacia el 7 con ventanadeCommand line to be executed in shell when run_command10 is invokedDie Kommandozeile, die bei Ausführung von run_command10 in der Shell ausgeführt wirdzh_TWCommand line to be executed in shell when run_command2 is invoked啟用 run_command2 時要在外圍程序中執行的指令行huZoom SpeedNagyítás sebességesvRun command 4Kör kommando 4jaCommandコマンドptTransform windows when they are minimized and unminimizedTransformar janelas quando elas forem minimizadas e desminimizadassvRotate to face 7Rotera till yta 7ptMaximize Window VerticallyMaximizar Janela VerticalmentesvDecrease OpacityMinska opakhetitToggle wiper effectAttiva/Disattiva effetto cursorezh_CNSelect previous window选择上一个窗口plWindow decorationsDekoracje oknajaZoom InズームインitClick To FocusFare clic per attivarejaGrid Resolutionグリッド解像度jaRotate to face 7面7に回転plAnnotate Stroke ColorKolor pędzlaitDropdownMenuMenu a discesazh_TWShade resistance遮蔽阻力zh_TWRaise window above other windows將視窗提高到比其他視窗高caDesktopEscriptorifiRotate To Face 4Käännä työpöydälle 4ruUnmaximize WindowОтменить полное развертывание окнаesMaximize Window HorizontallyMaximizar ventana horizontalmentejaUnfold開くdeShow Main MenuHauptmenü anzeigenjaAdd line線を追加ruBring To FrontПереместить на передний планcaPlace windows on cubeSitua les finestres al cubptEdge Flip DnDDnD de Inversão de BordashuToggle active window maximizedAktív ablak maximális méret átkapcsolásafrLower WindowAbaisser la fenêtrefiMaximize Window VerticallySuurenna ikkunaa pystytasossafrInitiateLancerfrRotate with windowRotation avec la fenêtrefrIgnore Hints When MaximizedIgnorer les conseils lorsque la fenêtre est agrandiesvOpacity StepIntervall för opakhetcsShow minimized windowsZobrazit minimalizovaná oknaitInitiate Window MoveAvvia Spostamento finestrezh_CNRun command 7运行命令 7fiRotate To Face 10 with WindowKäännä työpöydälle 10 ikkunan kanssaplUnmaximize active windowCofnij maksymalizację aktywnego oknazh_CNZoom factor缩放比例pt_BRWindow DecorationDecoração da JanelacsNext windowDalší oknozh_CNRotate To Face 7 with Window旋转到带窗口的第 7 面jaA keybinding that when invoked, will run the shell command identified by command8呼び出し時にcommand8により識別されたシェルコマンドを実行するキーバインドcsFlip to left viewport and warp pointerPřeklopit na levé zorné pole a zdeformovat ukazatelruTitle waveВолны заголовкаcaRotate CubeGira el cubfrFade effect on system beepEffet de fondu au signal sonore du systèmept_BRShadow Offset XDeslocamento X da SombraplSelect next windowWybierz następne oknoptTimestepTimestepzh_CNDndDndesDesktopEscritoriofrSpring KRessort KcsRotate To Face 2 with WindowOtočit na stranu 2 s oknemzh_TWPoint點huDesktopMunkaasztaldeOnly perform screen updates during vertical blanking periodBildschirmaktualisierungen nur während Deaktivierung der vertikalen Anzeige durchführenzh_CNTimeout before flipping viewport翻转十点之前发生超时itRun command 5Esegui comando 5csOffset ScaleOffset ScaledaFlip TimeVendingstidsvRotate desktop cubeRotera skrivbordskubhuTake a screenshot of a windowKépernyőkép készítése az ablakrólhuDialogPárbeszédablakdeGrid ResolutionGitterauflösungzh_TWCommand line to be executed in shell when run_command11 is invoked啟用 run_command11 時要在外圍程序中執行的指令行itRotate To Face 6 with WindowRuota su faccia 6 con finestraplTimestepOpóźnieniehuToolbarEszköztárdeRefresh RateAktualisierungsratefrRotate LeftRotation à gauchept_BRToggle rainAlternar chuvafrTimeout before flipping viewportTimeout avant la rotation du bureauzh_TWAllow drawing of fullscreen windows to not be redirected to offscreen pixmaps使全螢幕的描繪動作不會重新導向到幕後 PixmapcsRotate to face 8Otočit na stranu 8fiRotate with windowKierrä ikkunan kanssapt_BRA keybinding that when invoked, will run the shell command identified by command4Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando4huApplication SwitcherAlkalmazásváltósvIconIkonitDrop shadow Y offsetOffset Y ombreggiatura esternaitShadow Offset XOffset ombreggiatura XfrRotate to face 3 and bring active window alongRotation vers la face 3 avec la fenêtre activeesRotate To Face 10 with WindowGirar hacia el 10 con ventanazh_TWMinimize speed最小化速度huZoom OutKicsinyítészh_TWCommand line to be executed in shell when run_command9 is invoked啟用 run_command9 時要在外圍程序中執行的指令行zh_CNOutputs输出fiIconKuvakeplFade in windows when mapped and fade out windows when unmappedOkna powinny pojawiać się płynnie podczas mapowania i płynnie zanikać podczas odmapowania.itInside CubeNel cuboesComboCombofiShow Run Application dialogNäytä Suorita komento -valintaikkunajaShadow Opacityシャドウ不透明度ruAnimate skydome when rotating cubeАнимирование фона при вращении кубаpt_BRInitiate Window Picker For Windows on Current OutputIniciar o Seletor de Janelas para as Janelas na Saída AtualcsAdvance to next slidePostoupit k dalšímu snímkucsA keybinding that when invoked, will run the shell command identified by command1Klávesové zkratky, které spustí příkaz určený command1jaHide Skip Taskbar Windowsスキップタスクバーウィンドウを非表示にするdeSkydome Gradient End ColorEndfarbe für Skydome-VerlauffrSnap To Top FaceAligner sur la face supérieurept_BRAdd pointAdicionar pontoptRun command 11Executar comando 11ruMinimize timestepКвант времени свертыванияsvToggle Window Maximized VerticallyVäxla fönstermaximering vertikaltdeDefault IconStandardsymbolzh_CNCube Color立方体颜色deConstrain Y coordinate to workspace areaY-Koordinate auf Arbeitsoberfläche einschränkenfiDefault window icon imageOletuskuva ikkunakuvakkeellecaFullscreen fade effect on system beepEfecte d'esvaïment a pantalla completa amb avís sonor del sistemacaCommandOrdredaEdge Flip MoveFlyt til kant, vendzh_TWAmount of saturation in percent飽和度比例caSlow AnimationsAnimacions lentesitRotate to face 12Ruota su faccia 12deUnmaximize WindowMaximierung von Fenstern aufhebenzh_TWInitiate Window Picker起始化視窗選擇器ptEnable pointer water effectsHabilitar ponteiro de efeitos aquáticoshuSkydome Gradient End ColorKupola színátmenetének záró színezh_TWPointer Sensitivity指標靈敏度daSwitcher speedHastighed for programskifterfiCommand line to be executed in shell when run_command11 is invokedSuoritettava komentorivi, kun run_command11 suoritetaan.itOverlay IconIcona di sovrapposizionedaSnapoff maximized windowsFrigør maksimerede vinduerruRain DelayЗадержка дождяfiHide windows not in taskbar when entering show desktop modePiilota ikkunat, jotka eivät ole tehtäväpalkissa työpöydän näyttötilaan siirryttäessähuUnmaximize WindowAblak visszaállításaptRotate desktop cubeGirar cubo da área de trabalhozh_CNRotate to face 3旋转到第 3 面pt_BRConstrain YRestringir YcsHide Skip Taskbar WindowsSkrýt okna nepřítomná v liště úlohzh_CNWindow Decoration窗口装饰plDesktop CubeKostka pulpituruToggle active window maximized verticallyРазвертывание активного окна по вертикалиcsResize windowZměnit velikost oknapt_BRFlip to right viewport and warp pointerInverter para o viewport direito junto com o ponteiroplClose active windowZamknij aktywne oknosvFold AccelerationVikningsaccelereringcsSelect next windowVybrat další oknoitRotate to face 11 and bring active window alongRuota su faccia 11 insieme a finestra attivajaNotification通知frRotate to face 7Rotation vers la face 7plToggle active window shadedPrzełącza przyciemnianie aktywnego oknaesTake a screenshotCapturar la pantalladaIgnore Hints When MaximizedIgnorer vink, når maksimeretzh_TWWater offset scale水波偏移比例deCommand line 4Kommandozeile 4daResize windowTilpas størrelsen på vinduetfrZoom and pan desktop cubeZoom et panoramique du cube du bureauzh_CNFocus Window Effect聚焦窗口效果zh_TWScale timestep調整比例時間間隔daWindow placement workaroundsLøsninger til vinduesplaceringerdeSwitcher speedSchaltergeschwindigkeititA keybinding that when invoked, will run the shell command identified by command8Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command8deRun command 2Befehl 12 ausführenfrScreenshot command lineLigne de commande de capture d'écranjaTake a screenshotスクリーンショットを撮るfiWater EffectVesitehosteptCube ColorCor do CubocaBring To FrontPorta endavantsvGo back to previous slideGå tillbaka till föregående diabildfiTexture FilterTekstuurisuodindaOffset ScaleForskydningsstørrelsecaMaximize active windowMaximitza la finestra activahuOnly perform screen updates during vertical blanking periodA képernyő-frissítések végrehajtása csak a függőleges törlési periódusbanitAmount of brightness in percentQuantità di luminosità in percentualezh_TWApplication Switcher應用程式切換器zh_TWFade effect on system beep系統發出嗶聲時啟用淡出/淡入特效svPointPunktsvAuto RotateAutomatisk roteringdeDrop shadow opacityDrop-Shadow-DurchlässigkeitsvStart resizing windowBörja skala fönstercsSkydome ImageObrázek nebeské báněfiPrev windowEdellinen ikkunadaAnimate SkydomeAnimer himmelkuppelzh_TWCommand指令deRotate RightRechts drehenesRotate to face 8Gira hacia el 8caLightingIl·luminacióhuRaise On ClickKattintás esetén megnyitásfrGenerate mipmaps when possible for higher quality scalingGénérer des mipmaps dans la mesure du possible pour une mise à l'échelle de meilleure qualitéfiA keybinding that when invoked, will run the shell command identified by command2Tunnisteen command2 mukaisen komennon suorittava näppäinyhdistelmäfrVertical Virtual SizeTaille virtuelle verticalehuLine widthVonalvastagságzh_TWHide all windows and focus desktop隱藏全部視窗並定焦桌面itUnmaximize WindowAnnulla ripristino finestrasvCommand line 2Kommandorad 2ruRun DialogДиалоговое окно запускаsvDrop shadow colorFärg för skuggkastningfrShow Main MenuAfficher le menu principalpt_BRMove windowMover janelaruScale speedСкорость масштабированияhuIconIkonesScale windowsEscalar ventanaszh_TWCommand line 7指令行 7huSelect previous windowElőző ablak kiválasztásaitList of PNG and SVG files that should be rendered on top face of cubeElenco dei file PNG e SVG da sottoporre a rendering sulla faccia superiore del cuboskUnknownNeznámyruWindow screenshot command lineКомандная строка снимка окнаruPointТочкаfrRotate to face 6Rotation vers la face 6itWater EffectEffetto acquaplNext windowNastępne oknozh_CNSensitivity of pointer movement指针移动灵敏度itStart moving windowAvvia finestra mobilezh_TWFold Speed摺疊速度svPlane UpPlana uppåtptOpacity StepEtapa de OpacidadefrSpacingEspacementjaShow icon next to thumbnailサムネイルの横にアイコンを表示csSpacingMezeryfrPopup switcher if not visible and select previous windowAfficher la touche de modification si elle n'est pas visible et sélectionner la fenêtre précédentecaSelect previous windowSelecciona la finestra anteriorfiSnap InvertedKiinnitä käänteisetruLayout and start transforming window groupКомпоновка и запуск преобразования группы оконdeDecrease window opacityFensterdurchlässigkeit verringernpt_BRRotate to face 5Girar para a face 5csRotate To Face 6Otočit na stranu 6frRotate to face 8 and bring active window alongRotation vers la face 8 avec la fenêtre activecsFlip to next viewport when moving window to screen edgePřeklopit na další viewport při přesunu okna na hranici obrazovkyesAudible system beepPitido del sistema audibleitRotate Flip LeftRuota capovolgimento verso sinistracaUse diffuse light when screen is transformedUtilitza llum de difusió en transformar la pantallafiRun command 3Suorita komento 3itMinimize speedRiduci velocitàdaStart resizing windowStart tilpasning af vinduesstørrelsenzh_CNRotate to face 2 and bring active window along旋转到第 2 面并带来活动窗口huDraw using toolRajzolás az eszközzelitMinimize timestepRiduci intervallofrUnknownInconnuzh_CNInitiate Window Picker For Window Group启动窗口组的窗口拾取器zh_TWIcon圖示fiRun command 4Suorita komento 4frRotate To Face 2 with WindowRotation vers la face 2 avec la fenêtreitApplication SwitcherCommutatore applicazioniitRotate Right with WindowRuota a destra con finestrajaModalDialogモーダルダイアログruIncrease window opacityУменьшение прозрачности окнаfrClick To FocusCliquer pour obtenir le focuszh_TWHorizontal Virtual Size水平虛擬大小ptRotate to face 4 and bring active window alongGirar para a face 4 e trazer a janela ativa juntofrMaximize EffectOptimiser l'effetcaToggle wiperCommuta l'eixugaparabrisesdaShow icon next to thumbnailVis ikon ud for miniaturebilledecaNext windowFinestra següentdaTitle waveTitelbølgesvTexture filteringTexturfiltreringsvCommand line 9Kommandorad 9deRotate To Face 5 with WindowDrehen zu Fläche 5 mit Fensterpt_BRA keybinding that when invoked, will run the shell command identified by command5Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando5itSpring KAttrito KhuOpacity StepÁtlátszatlanság mértékept_BRRotate To Face 3Girar para a Face 3huRotate desktop cubeA munkaasztalkocka forgatásasvTexture FilterTexturfiltercsGenerate mipmaps when possible for higher quality scalingJeli to možné, vytvářet pro kvalitní škálování mipmapycaOutputsSortideszh_TWToggle Window Shaded將視窗切換到遮蔽frA keybinding that when invoked, will run the shell command identified by command8Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command8pt_BRLineLinhasvRotate to face 1Rotera till yta 1ruInside CubeВнутренняя поверхность кубаjaDrop shadow Y offsetシャドウYオフセットを無視caNotificationNotificacióplScale speedSzybkość skalowaniafrList of currently active pluginsListe des plug-ins actuellement actifscaStart resizing windowComença el canvi de mida de la finestrafiRaise windows when clickedNosta ikkuna napsautuksestafrShow the main menuAfficher le menu principaljaIncrease Opacity不透明度を高めるcsSnap InvertedInvertované přichytávánídaZoom TimestepTidstrin for zoomzh_TWA keybinding that when invoked, will run the shell command identified by command8啟用時將執行經 command8 識別之外圍程序指令的按鍵組合huLower window beneath other windowsAlacsonyabb ablak egy másik ablak alattcaRaise window above other windowsEleva la finestra per damunt de les altreshuToggle Window MaximizedAblak maximális méret átkapcsolásafiLayout and start transforming windowsAsettele ja mukauta ikkunat valitsemista vartenplFullscreen Visual BellPełnoekranowy wizualny dzwonek systemowypt_BRColor to use for the bottom color-stop of the skydome-fallback gradientCor a ser usada na parte inferior do gradiente de fallback do skydomesvRotate to face 10Rotera till yta 10daSkydomeHimmelkuppelsvPlane To Face 10Plana till yta 10zh_CNToggle active window shaded将活动窗口切换到遮蔽csRotate desktop cubeOtočit kostkou plochruRotate with windowВращение вместе с окномdaImage to use as texture for the skydomeBillede, der skal bruges som tekstur til himmelkuplenpt_BRRotate To Face 5Girar para a Face 5csTooltipPopisekhuAnnotate pluginFeljegyzés bővítménysvNext SlideNästa diabildjaRotate to face 12面12に回転caToggle window snappingCommuta l'ajustament de finestresdeClose active windowAktives Fenster verschiebenitPointer Invert YInversione puntatore YplPulsePulsowaniekoUnknown알수 없음`huWater EffectVíz effektusdaScale imageTilpas billedeesGenerate mipmaps when possible for higher quality scalingGenerar mipmap cuando sea posible para obtener una escala de mayor calidadfrEnable pointer water effectsActiver les effets d'eau du pointeurzh_TWLower Window降低視窗高度ruSnap windowsПривязка оконzh_TWTake a screenshot擷取螢幕畫面deHide windows not in taskbar when entering show desktop modeFenster ausblenden, die sich bei Wechsel in Modus "Desktop anzeigen" nicht in Programmleiste befandenptUnfoldDesdobraresPlace WindowsColocar ventanaszh_TWDefault window icon image預設的視窗圖示影像esCommand line to be executed in shell when run_command6 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command6frFold SpeedVitesse de pliageplWindow blur speedSzybkość rozmywania okienptRender skydomeRenderizar skydomeruScale imageМасштабировать изображениеzh_CNScreenshot command line屏幕快照命令行caVertex Grid ResolutionResolució de la graella del vèrtexfiRotate to face 4 and bring active window alongKäännä työpöydälle 4 ja pidä aktiivinen ikkuna mukanasvInitiate Window ResizeInitiera fönsterskalningitRotate To Face 8Ruota su faccia 8esShow Main MenuMostrar menú principalcaDropdownMenuMenú desplegablehuWave effect from window titleHullám effektus az ablakcímbőljaLayout and start transforming window group配列してウィンドウグループの変換を開始するpt_BRMaximize Window HorizontallyMaximizar Janela Horizontalmentezh_CNInitiate Window Picker启动窗口检出器caSplashPantalla de presentaciósvSnapoff maximized windowsKoppla loss maximerade fönsterfrRotate To Face 9 with WindowRotation vers la face 9 avec la fenêtresvRotate To Face 2Rotera till yta 2esList of PNG and SVG files that should be rendered on top face of cubeLista de archivos PNG y SVG que se deben procesar en la cara superior del cuboplNormalNormalnezh_CNRotate Flip Right旋转右翻itRun command 4Esegui comando 4esInside cubeCubo interiorfrAnimate SkydomeAnimer le skydomezh_CNGo back to previous slide返回上一个滑块pt_BRClose WindowFechar JanelaesWindow MenuMenú de ventanasfiSplashSplashfrColor to use for the top color-stop of the skydome-fallback gradientCouleur à utiliser pour l'arrêt de couleur supérieure du gradient de rappel de skydomesvDraw using toolRita med verktygjaWindow MenuウィンドウメニューdaInitiateStartzh_CNOpacity level of moving windows移动窗口的不透明度svSpring KonstantFjäderkonstantdeInverted window snappingInvertiertes Einrasten von FensternruRaise selected windows after intervalВызов выбранных окон по истечении интервала времениcaRotate rightGira cap a la dretahuList of currently active pluginsAz aktuális bővítmények listájacaDrop shadow opacityOpacitat de l'ombra descendentesPointer SensitivitySensibilidad del punteropt_BRFrictionAtritozh_TWCommand line 8指令行 8esShade ResistanceResistencia de sombraitCube ColorColore cuboruRotation TimestepКвант времени вращенияdeMaximize WindowFenster maximierenplFullscreenPełny ekranzh_CNSync To VBlank与 Vblank 同步plUtilityNarzędziowejaIgnore size increment and aspect hints when window is maximizedウィンドウの最大化時には、サイズ増分とアスペクトのヒントを無視するdeRotate To Face 12 with WindowDrehen zu Fläche 12 mit Fensterzh_TWScale speed調整比例速度zh_TWOnly perform screen updates during vertical blanking period只在垂直空白期間執行螢幕更新caAmount of opacity in percentQuantitat d'opacitat en percentatgejaWindow placement workaroundsウィンドウ配置の回避策plDefault window icon imageObraz domyślnej ikony oknasvClearTömfiAuto-RaiseAutomaattinostocaShadow OpacityOpacitat de l'ombraitCommand line 2Riga di comando 2esCommand line 4Línea de comandos 4deShiverZitternjaUnredirect Fullscreen Windows全画面ウィンドウのリダイレクト解除frSpring KonstantConstante de ressortzh_CNIgnore size increment and aspect hints when window is maximized最大化窗口时忽略大小递增和屏幕比例提示zh_CNToggle use of slow animations转换慢速动画的使用deAuto-Raise DelayVerzögerung für Automatisch in den VordergrundfiSpring KonstantJousivakioesScale timestepPaso de escalahuPlace windows on a planeAblakok elhelyezése a síkondeWobbly WindowsWackelige Fensterzh_TWZoom and pan desktop cube縮放和平移桌面立方體zh_TWRotate To Face 4往面 4 旋轉plAdd pointDodaj punktsvHide all windows and focus desktopDölj alla fönster och fokusera på skrivbordfiCommand line 2Komentorivi 2ptColor of top and bottom sides of the cubeCor dos lados superior e inferior do cubofrFlip to next viewport when moving pointer to screen edgeRotation vers la fenêtre suivante - Déplacement du pointeur vers le côté de l'écranhuStroke widthKörvonal vastagságadeToggle Window Maximized VerticallyFenster vertikal maximieren ein/auszh_CNA keybinding that when invoked, will run the shell command identified by command5键绑定在调用时,将运行 command5 确定的 shell 命令csMinimize active windowMinimalizovat aktivní oknozh_CNSnapoff and auto unmaximized maximized windows when dragging拖动时删除快照并自动取消窗口的最大化jaShow Run Application dialogランアプリケーションダイアログの表示esRun DialogEjecutar diálogoruDialogДиалоговое окноplZoom TimestepOpóźnienie przybliżaniafrOnly perform screen updates during vertical blanking periodN'effectuer les mises à jour de l'écran que lors de la période de vidage verticalfrUse diffuse light when screen is transformedUtiliser la lumière diffuse lorsque l'écran est transforméesRotation SpeedVelocidad de girohuToggle use of slow animations"Lassú animációk" effektus kapcsolócsScreenshot command lineScreenshot command linecsPointer SensitivityCitlivost ukazatelefiRotate to face 9 and bring active window alongKäännä työpöydälle 9 ja pidä aktiivinen ikkuna mukanahuFullscreen fade effect on system beepTeljes képernyő halványuló effektus rendszercsengő eseténesDarken BackgroundOscurecer fondozh_CNShadow Opacity阴影不透明度svToggle wiper effectVäxla torkareffektesRotate To Face 12 with WindowGirar hacia el 12 con ventanahuAnnotate Fill ColorFeljegyzés kitöltő színehuOpen a terminalTerminál megnyitásaruUse diffuse light when screen is transformedИспользование рассеянного света при преобразовании экранаzh_TWConstrain Y coordinate to workspace area等比縮放 Y 軸對應到工作環境區域caDialogDiàlegbsUnknownNepoznatozh_CNWindow screenshot command line窗口屏幕快照命令行frSkydome ImageImage du skydomefiWindow MenuIkkunavalikkodaInitiate Window Picker For Windows on Current OutputStart vinduesvælgeren for vinduer i det aktuelle outputområdecsCommand line to be executed in shell when run_command6 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command6pt_BRList of currently active pluginsLista de plug-ins atualmente ativoszh_TWA keybinding that when invoked, will run the shell command identified by command5啟用時將執行經 command5 識別之外圍程序指令的按鍵組合itInitiate Window Picker For All WindowsAvvia Selettore finestre per tutte le finestreplScreenshot command linePolecenie zrzutu ekranufrResize windowRedimensionner la fenêtresvShadow windowsSkuggfönsterdeShadow OpacitySchattendurchlässigkeithuDropdownMenuLegördülőMenüdaColor to use for the bottom color-stop of the skydome-fallback gradientFarve til det nederste farvestop i himmelkuplens aftagende farveforløbzh_CNRotate Left with Window逆时针旋转窗口ruZoom SpeedСкорость изменения масштабаsvPut screenshot images in this directoryLägg skärmbilder i den här katalogenfrScale windowsMettre les fenêtres à l'échelleesToolbarBarra de herramientasesPrev windowVentana anteriorpt_BRRun command 11Executar comando 11plFilter LinearFiltruj liniowocsCommand line 10Příkazová řádka 10fiPopupMenuPonnahdusvalikkoruRotate desktop cubeВращение куба рабочего столаdaDarken BackgroundGør baggrund mørkeresvVideo playbackVideo uppspelningesSwitcher speedVelocidad de conmutadoresMinimize EffectMinimizar efectopt_BRPopup switcher if not visible and select previous window out of all windowsMostrar alternador, se não estiver visível, e selecionar janela anterior de todas as janelascsDistance desktop should be zoom out while switching windowsVzdálená plocha může být při přepínání oken oddálenajaSpacingスペースcaTake a screenshot of a windowFes una captura de pantalla d'una finestracsShadow Offset XPosun stínu XfiRotate RightKäännä oikealleesRotate To Face 2Girar hacia el 2itRotate To Face 11 with WindowRuota su faccia 11 con finestracaUnredirect Fullscreen WindowsNo redirigeixis les finestres a pantalla completadeRotate rightRechts drehenzh_TWAutomatic detection of refresh rate自動偵測重新整理速率deRotate to face 6 and bring active window alongDrehen zu Fläche 6 und aktives Fenster mitführenjaRotate to face 11 and bring active window along面11に回転して、アクティブなウィンドウを移動fiSensitivity of pointer movementOsoitinliikkeen herkkyysruAuto-Raise DelayЗадержка автоматического вызоваdeTimestepZeitintervallzh_TWDarken Background暗化背景jaRun command 9ランコマンド9esRotate To Face 8 with WindowGirar hacia el 8 con ventanafiGrid ResolutionHilan tarkkuussvSnap windowsFäst fönsterjaRender skydomeスカイドームのレンダリングdaMaximize active windowMaksimer det aktive vinduejaIncrease window opacityウィンドウの不透明度を高めるjaCommand line 11コマンドライン11ruZoom factorКоэффициент масштабированияcsCommand line to be executed in shell when run_command3 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command3zh_TWDetect Refresh Rate偵測重新整理速率svAmount of opacity in percentMängden opakhet i procentruShadow Offset XСмещение тени по оси XjaSpring Frictionバネ摩擦pt_BRLayout and start transforming window groupCriar layout e iniciar transformação do grupo de janelasesAudible BellTimbre audiblezh_CNHide all windows and focus desktop隐藏所有窗口和焦点桌面zh_CNSplashSplashhuPing DelayPing késleltetéseitMinimizedRidotto a iconacsDecrease OpacitySnížit krytíruDetect Refresh RateОпределить частоту обновленияcaShadow Offset XDesplaçament en X de l'ombradaPopup switcher if not visible and select next window out of all windowsVis opgaveskifteren, hvis den ikke er synlig, og vælg næste vindue blandt alle vinduerjaPlace Windowsウィンドウを配置するcsRotate rightOtočit vpravodeA keybinding that when invoked, will run the shell command identified by command7Eine Tastenbelegung, die den durch Befehl 7 festgelegten Shell-Befehl ausführtpt_BRWindow placement workaroundsSoluções para colocação de janelaszh_CNRotate with window带窗口旋转pt_BRSwitcher speedVelocidade do alternadorplSpacingOdstępydeAmount of opacity in percentDurchlässigkeitsgrad in ProzentjaTime (in ms) before scale mode is terminated when hovering over a windowウィンドウ上をホバー時に、スケールモードを終了するまでの時間(ms)huComboLegördülőfiMake window shiverTee ikkunasta väriseväcsToggle window snappingPřepnout přichytávání okenhuGrid ResolutionRács felbontásaitRotate To Face 4Ruota su faccia 4csToggle active window maximized horizontallyPřepnout horizontální maximalizaci aktivního oknahuDrop shadow Y offsetÁrnyék Y-eltolásaesZoom InAmpliarfrHover TimeTemps de survolsvBring To FrontLägg överstfrRotate To Face 12 with WindowRotation vers la face 12 avec la fenêtrehuStroke width for annotationsFeljegyzések körvonal-vastagságaruTake a screenshotСделать снимок экранаcsDefault window icon imageVýchozí ikona oknafiRotate Flip LeftKierrä vasemmalleplShow minimized windowsWyświetl zminimalizowan oknaplFlip to right viewport and warp pointerPrzełącz do widoku z prawej i przenieś wskaźnik na krawędź ekranusvPlane To Face 3Plana till yta 3zh_TWGenerate mipmaps when possible for higher quality scaling在可能使用更高品質比例時產生 MipmapsvPlane To Face 9Plana till yta 9itSnap InvertedAggancio invertitofrCommand line 1Ligne de commande 1frAnimate skydome when rotating cubeAnimer le skydome lors de la rotation de cubeitCommand line to be executed in shell when run_command5 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command5esLayout and start transforming windowsDisponer e iniciar transformación de ventanasptShow Run Application dialogMostrar caixa de diálogo Executar AplicativofrToggle Window Maximized HorizontallyBasculer la fenêtre agrandie horizontalementfiEdge Flip DnDRaahattaessa aktivoituvat työpöydän reunatzh_CNSaturation饱和度csRotate to face 9 and bring active window alongOtočit na stranu 9 a vzít aktivní okno s sebouptFade SpeedVelocidade de EsmaecimentofrRotate to face 5 and bring active window alongRotation vers la face 5 avec la fenêtre activesvPlace windows on cubePlacera fönster på kubenptSnap To Top FaceFechar na Face SuperioritRotate to face 10 and bring active window alongRuota su faccia 10 insieme a finestra attivapt_BRDistance desktop should be zoom out while switching windowsReduzir a distância da área de trabalho ao alternar janelasptMinimize active windowMinimizar janela ativaptWindow decorationsDecorações das janelasitSnapoff and auto unmaximized maximized windows when draggingDividi e riduci automaticamente finestre ingrandite durante il trascinamentoplRaise On ClickPodnieś przy kliknięciuhuInitiate Window Picker For Windows on Current OutputAblakválasztó indítása a jelenlegi kimenet ablakaincsList of currently active pluginsSeznam právě aktivních modulůfiRotate To Face 6 with WindowKäännä työpöydälle 6 ikkunan kanssaplColor of top and bottom sides of the cubeKolor górnej i dolnej ściany kostkiitWobbly WindowsFinestre tremolantiesFilter LinearFiltro linealitShade resistanceIntensità sfumaturaitScreenshot command lineRiga di comando istantaneaesFold TimestepPaso del plieguedeAnimate skydome when rotating cubeBeim Drehen von Würfel Skydome animierenfiSnap Cube Rotation to Top FaceKiinnitä kääntäminen kuution kattoondaOpacity level of moving windowsUigennemsigtighedsniveau ved flytning af vinduersvToggle rainVäxla regncsNext SlideDalší snímekptToggle use of slow animationsAlternar uso de animações lentasfiInitiateAktivoifrRotate to face 2 and bring active window alongRotation vers la face 2 avec la fenêtre activedeRotate To Face 12Drehen zu Fläche 12zh_TWIgnore Hints When Maximized最大化時忽略提示zh_TWRun command 1執行指令 1caAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsPermet que la representació de finestres a pantalla completa no es redirigeixi cap a mapes de píxels fora de la pantallaplFade effect on system beepEfekt zaciemnienia przy dzwonku systemowymsvToggle active window maximizedVäxla maximering av aktivt fönsterfrFlip to right viewport and warp pointerRotation sur le coté droit avec le pointeurdeZoom InAnsicht vergrößernsvMinimize active windowMinimera aktivt fönstersvRotate Right with WindowRotera åt höger med fönsterdaAdds water effects to different desktop actionsTilføjer vandeffekter til forskellige skrivebordshandlingerfrRotate To Face 12Rotation vers la face 12deToggle Window ShadedFenster schattieren ein/auszh_CNCombo组合fiColor to use for the bottom color-stop of the skydome-fallback gradientVäri, jota käytetään alimpana värinä taivaan liukuvärissäsvScreenshot command lineKommandorad för skärmbilddeMenuMenücaShow the main menuMostra el menú principalfiRotate to face 7Käännä työpöydälle 7esRun command 7Ejecutar comando 7ptInside CubeDentro do CubodeApplication SwitcherAnwendungs-Switcherzh_TWMap Window Effect映射視窗特效csRun command 2Spustit příkaz 2ruNormalНормальныйcsMove windowPřesunout oknozh_CNRefresh Rate刷新率pt_BRCommand line 4Linha de comando 4itUnfold cubeApri cubozh_CNUnknown未知pt_BRTake a screenshotEfetuar uma captura de telaltMenuMeniuitColor of top and bottom sides of the cubeColore dei lati superiore e inferiore del cuboptMaximize active window horizontallyMaximizar janela ativa horizontalmenteplImage to use as texture for the skydomeObrazek, który ma być używany jako tekstura tła dla kostkicsSpring KonstantKonstanta pružinyfrAmount of brightness in percentQuantité de luminosité en pourcentagecaPointer SensitivitySensibilitat del punterplBlur windowsRozmywanie okienplRotate to viewportObraca do widokuruFade in windows when mapped and fade out windows when unmappedПостепенное проявление окон при отображении и постепенное исчезновение при отмене отображенияitRotate to face 8Ruota su faccia 8deClick To FocusFokuswechsel durch KlickenesPopup switcher if not visible and select previous window out of all windowsMostrar el conmutador si no está visible y seleccionar la ventana anterior del conjunto total de ventanasjaRotate to viewportビューポートに回転plRaise window above other windowsPodnosi okno ponad pozostałesvInside cubeI kubendaDrop shadow Y offsetSlagskyggeforskydning Yzh_TWWindow fade speedWindow 淡出/淡入速度jaCommand line to be executed in shell when run_command10 is invokedrun_command10の呼び出し時にシェルで実行されるコマンドラインptNext SlidePróximo SlideruRotate LeftВращать влевоruFullscreen fade effect on system beepПолноэкранный эффект проявления/исчезания при системном звуковом сигналеpt_BROpen window menuAbrir menu de janelascsUnknownNeznámésvRotate To Face 9Rotera till yta 9daNormalNormalptRotate rightGirar para a direitafrRotate To Face 7Rotation vers la face 7zh_TWMinimize active window最小化作用中視窗daClick on window moves input focus to itFokus flyttes til vinduet, når der klikkes på det.pt_BRRotate to face 7Girar para a face 7deIconIconsvDirectoryKatalogcsRotation TimestepČasový krok otáčenídeCommand line 5Kommandozeile 5csWindow MenuNabídka oknajaResize Windowウィンドウのサイズ変更esIncrease OpacityAumentar opacidadfrRun command 5Exécuter la commande 5itToggle Window Maximized HorizontallyAlterna finestra ingrandita in orizzontalezh_TWStart moving window開始移動視窗ptRotate To Face 10Girar para a Face 10csUnfoldRozbalitzh_TWImage files影像檔itPopup switcher if not visible and select next window out of all windowsMostra il selettore se non visibile e seleziona la finestra successiva esterna a tutte le altre finestrehuSnap Cube Rotation to Top FaceHirtelen kockaforgatás a felső oldalradeShow Run Application dialogDialogfeld 'Anwendung ausführen' anzeigendeOffset ScaleVersatz-SkalierungcaZoom DesktopFes zoom a l'escriptorizh_CNMinimum Vertex Grid Size最小顶点栅格大小jaAmount of brightness in percent明るさの量(%)ptCommand line 8Linha de comando 8frEdge Flip PointerRotation de côté - PointeurptRotate To Face 6Girar para a Face 6pt_BRMinimize EffectMinimizar EfeitofiSpeedNopeusplRotate CubeObróć kostkęplColor to use for the top color-stop of the skydome-fallback gradientGóny kolor przejścia tonalnego w tle kostki pulpitówzh_CNSkydome Image背景图像fiStart resizing windowAloita ikkunan koon muuttaminenjaHide windows not in taskbar when entering show desktop modeデスクトップ表示モード移行時にタスクバーにないウィンドウを非表示にするcaNumber of DesktopsNombre d'escriptorisplToggle Window Maximized HorizontallyPrzełącz maksymalizację poziomą oknadeFullscreenVollbilddeCommand line to be executed in shell when run_command9 is invokedDie Kommandozeile, die bei Ausführung von run_command9 in der Shell ausgeführt wirdzh_CNSpring K弹性 KitA keybinding that when invoked, will run the shell command identified by command10Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command10zuUnknownAkwaziwafrOpacity StepIncrément d'opacitéfiOutputsUlostulotzh_TWPlace windows at appropriate positions when mapped在映射時將視窗放置到適當位置csAdd linePřidat čáruzh_TWRotate To Face 5往面 5 旋轉caRotation TimestepEtapa del giresHide all windows and focus desktopOcultar todas las ventanas y enfocar el escritoriosvIncrease OpacityÖka opakhetcsCommand line to be executed in shell when run_command10 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command10jaMinimize timestepタイムステップを最小限にするjaShade resistanceシェード耐性esSlow AnimationsRalentizar animacioneszh_CNAmount of brightness in percent亮度百分比pt_BRMinimize timestepMinimizar timestepjaIgnore Hints When Maximized最大化時にヒントを無視zh_CNInside cube立方体内deRotate to face 3 and bring active window alongDrehen zu Fläche 3 und aktives Fenster mitführenzh_TWTransform windows when they are minimized and unminimized在最小化和解除最小化時轉換視窗frAmount of saturation in percentQuantité de saturation en pourcentagefiRotate to face 3 and bring active window alongKäännä työpöydälle 3 ja pidä aktiivinen ikkuna mukanaptRaise On ClickElevar com um CliqueesToggle active window maximized verticallyActiva o desactiva la ventana activa maximizada verticalmentedeResize WindowFenster skalierenzh_CNScale image调整图像大小itZoom InAumenta ingrandimentoitOpen window menuApri menu finestrajaClick To Focusクリックしてフォーカスzh_CNShade Resistance抗遮蔽性deHorizontal Virtual SizeHorizontale virtuelle GrößedaMinimizedMinimeretplVertex Grid ResolutionRozdzielczość siatki werteksucsToggle active window maximizedPřepnout maximalizaci aktivního oknafrIncrease window opacityAugmenter l'opacité de la fenêtrecaToggle active window shadedCommuta la finestra activa ombrejadapt_BRSkydome ImageImagem do Skydomezh_TWRotate Cube旋轉立方體plZoom and pan desktop cubePowiększ i przesuń kostkę pulpitucaAdd pointAfegeix un puntcsRotate LeftOtočit vlevozh_CNRotate To Face 3 with Window旋转到带窗口的第 3 面svPlace windows on a planePlacera fönster på ett planjaAudible system beep可聴システムビープ音ptWater EffectEfeito Aquáticozh_CNMinimum Grid Size最小化栅格大小fiRotate Left with WindowKäännä vasemmalle ikkunan kanssaesToggle wiperAlternar limpiaparabrisasplNext SlideNastępna klatkafrLightingÉclairagecaFullscreenPantalla completajaSnap windowsウィンドウをスナップhuOpen window menuAblak menü megnyitásacsZoomZvětšeníptAutomatic detection of refresh rateDetecção automática da taxa de atualizaçãojaTransform windows when they are minimized and unminimizedウィンドウが最小化および最小化解除時に変換jaShadow Offset YシャドウオフセットYjaRun command 10ランコマンド10pt_BRDefault IconÍcone PadrãocsDecorator command line that is executed if no decorator is already runningPříkazová řádka programu pro dekorace, která je spuštěna, pokud ještě není spuštěn žádný program pro dekoracept_BRSkydomeSkydomesvMaximize WindowMaximera fönsteresToggle use of slow animationsActiva o desactiva el uso de animaciones lentascsShadow Offset YPosun stínu YcsCommand line 8Příkazová řádka 8fiVertical Virtual SizeVirtuaalinen pystytasokokoesRotate to face 10 and bring active window alongGira hacia el 10 y arrastra la ventana activapt_BRDetect Refresh RateDetectar Taxa de AtualizaçãosvDrop shadow opacityOpakhet för skuggkastningpt_BRAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsPermitir que o desenho das janelas em tela inteira não seja redirecionado para pixmaps fora da telazh_TWFade Speed淡出/淡入速度itClick on window moves input focus to itFare clic sulla finestra per attivarladeRotate ToDrehen in Richtungpt_BRCommand line to be executed in shell when run_command11 is invokedLinha de comando a ser executada no shell quando run_command11 for acionadojaZoom Speedズーム速度ruSpring FrictionУпругое трениеcaMaximize active window verticallyMaximitza la finestra activa verticalmentfiActive PluginsKäytössä olevat liitännäisetplSpring FrictionWspółczynnik tarciadeNumber of DesktopsAnzahl der DesktopsfiSelect next windowValitse seuraava ikkunazh_CNWindow Menu窗口菜单csMaximize EffectEfekt maximalizaceesAmount of saturation in percentPorcentaje de saturacióncsRotate to face 9Otočit na stranu 9daList of strings describing output devicesListe over strenge, der beskriver udgangsenhederitIconIconajaShadow Radiusシャドウ半径daMinimum Vertex Grid SizeKnudernes minimumstørrelse i gitteretesDndDndplMinimize WindowZminimalizuj oknoplMenuMenufiTimeout before flipping viewportAikakatkaisu ennen näkymän vaihtamistajaWorkarounds回避方法csA keybinding that when invoked, will run the shell command identified by command2Klávesové zkratky, které spustí příkaz určený command2jaMaximize Windowウィンドウを最大化するzh_TWRotate to face 9 and bring active window along往面 9 旋轉並隨同作用中視窗一起旋轉huPulseImpulzusesFlip to left viewport and warp pointerInvertir a viewport izquierdo y mover punterozh_CNRotate To Face 7旋转到第 7 面csRotate Left with WindowOtočit vlevo s oknemhuShade resistanceÁrnyék ellenállásaplInitiate eraseRozpocznik usuwaniehuTitle waveCímhullámptSpacingEspaçamentofrBring selected window to frontPlacer la fenêtre sélectionnée au-dessuscaRotation AccelerationAcceleració de girzh_CNZoom缩放ruOffset ScaleМасштаб смещенияplIncrease OpacityZwiększ nieprzezroczystośćruSpacingИнтервалfrImage filesFichiers imagedaToggle use of slow animationsSlå brugen af langsomme animationer til/fradaTooltipVærktøjstipdaWave effect from window titleBølgeeffekt til vinduestiteldeFullscreen Visual BellVisuelle Glocke in VollbilddeInitiate Window Picker For All WindowsFensterauswahl für alle Fenster initiierenfiWindow decorationsIkkunan kehyksetdaShow the main menuVis hovedmenuenzh_CNMinimize timestep最小化时间区间plToggle Window Maximized VerticallyPrzełącz maksymalizację pionową oknasvDrop shadow Y offsetSkuggkastning Y-positionzh_CNRotate To Face 12旋转到第 12 面ptShow minimized windowsMostrar janelas minimizadasruShow icon next to thumbnailОтображение значка рядом с эскизомzh_CNSnap windows窗口快照pt_BRStart RotationIniciar RotaçãocsRotate To Face 5Otočit na stranu 5fiToggle rain effectOta käyttöön sadetehostefiRotate to face 10 and bring active window alongKäännä työpöydälle 10 ja pidä aktiivinen ikkuna mukanazh_TWZoom Timestep縮放時間間隔esUnmaximize active windowDesmaximiza la ventana activahuIncrease OpacityÁtlátszatlanság növelésesvPlane downPlana nedåthuSkydomeKupolajaMenuメニューpt_BRSkydome Gradient End ColorCor Final do Gradiente do Skydomezh_TWUnfold cube展開立方體fiMaximize active window verticallySuurenna aktiivista ikkunaa pystytasossapt_BRList of strings describing output devicesLista de strings que descrevem os dispositivos de saídadaDropdownMenuRullemenudeCommand line to be executed in shell when run_command5 is invokedDie Kommandozeile, die bei Ausführung von run_command5 in der Shell ausgeführt wirdplDockObszar dokowaniafiRotate to face 11 and bring active window alongKäännä työpöydälle 11 ja pidä aktiivinen ikkuna mukanazh_CNPlace windows on cube将窗口放置在立方体上ptToggle active window shadedAlternar janela ativa sombreadacaImage filesFitxers d'imatgept_BROnly perform screen updates during vertical blanking periodSomente executar atualizações da tela durante o período de limpeza verticaldeAdds water effects to different desktop actionsWassereffekte zu verschiedenen Aktionen des Desktops hinzufügenitRotate To Face 9 with WindowRuota su faccia 9 con finestradaOnly perform screen updates during vertical blanking periodUdfør kun skærmopdatering i den lodrette slukkeperiodefrNext windowFenêtre suivantejaA keybinding that when invoked, will run the shell command identified by command10呼び出し時にcommand10により識別されたシェルコマンドを実行するキーバインドpt_BRRotate Right with WindowGirar para a Direita com JanelaesWindow placement workaroundsProcedimientos alternativos para colocación de ventanaszh_TWList of currently active plugins最新主動式外掛程式清單itImage filesFile immaginezh_CNRotate To Face 10 with Window旋转到带窗口的第 10 面huFullscreenTeljes képernyőszh_CNTake a screenshot拍摄屏幕快照zh_TWRotate to face 12 and bring active window along往面 12 旋轉並隨同作用中視窗一起旋轉itRotate to face 11Ruota su faccia 11esUse diffuse light when screen is transformedUsa luz indirecta cuando se transforma la pantallacsRotate To Face 3 with WindowOtočit na stranu 3 s oknemdeRun DialogDialogfeld AusführendeA keybinding that when invoked, will run the shell command identified by command11Eine Tastenbelegung, die den durch Befehl 11 festgelegten Shell-Befehl ausführtruNotificationУведомлениеplDropdownMenuMenusvInside CubeI kubenjaCommand line to be executed in shell when run_command11 is invokedrun_command11の呼び出し時にシェルで実行されるコマンドラインdeComboCombopt_BRLayout and start transforming windowsCriar layout das janelas e iniciar sua transformaçãojaOpacity Step不透明度ステップzh_TWOverlay Icon重疊圖示svWindow decorationsFönsterdekorationercsZoom and pan desktop cubePřiblížit a posunout kostku plochpt_BRMaximize EffectMaximizar EfeitocaVisual BellCampana visualsvFlip to next viewport when dragging object to screen edgeVänd till nästa skrivbordsvy när objekt dras till skärmens kantsvPlace WindowsPlacera fönsterfiWater offset scaleVesisiirtymän skaaladaDrop shadow opacitySlagskyggens uigennemsigtighedptSlow AnimationsAnimações Lentaszh_CNA keybinding that when invoked, will run the shell command identified by command6键绑定在调用时,将运行 command6 确定的 shell 命令zh_TWDistance desktop should be zoom out while switching windows切換視窗時桌面應縮小的距離itShade ResistanceIntensità ombreggiaturaplOpacity level of moving windowsPoziom nieprzezroczystości przesuwanych okienitMaximize active window horizontallyIngrandisci finestra attiva in orizzontaledaStart RotationStart rotationmrUnknownअज्ञातcsLower WindowDát okno do pozadíitCommand line to be executed in shell when run_command3 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command3esFocus Window EffectEnfocar efecto de ventanaptShadow RadiusRaio da Sombrapt_BRUse spring model for wobbly window effectUsar modelo de salto para efeito de instabilidade na janelafrTitle waveVague sur le titreruLower WindowПереместить окно на задний планzh_CNRotate to face 2旋转到第 2 面fiResize windowMuuta ikkunan kokoaitAdds water effects to different desktop actionsAggiunge effetti acqua a diverse azioni desktopitRefresh RateFrequenza di aggiornamentohuBlur WindowsAblak elmosásazh_TWSplash開頭顯示畫面jaVertex Grid Resolution頂点グリッド解像度ptCommand line to be executed in shell when run_command9 is invokedLinha de comando a ser executada no shell quando run_command9 for acionadopt_BRAudible BellCampainha AudívelptA keybinding that when invoked, will run the shell command identified by command1Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando1daRotate CubeRoter kubusjaMaximize active windowアクティブなウィンドウを最大化するhuPlace WindowsAblak elhelyezéseptInitiateIniciarplMinimize active windowMinimalizuj aktywne oknopt_BRBring selected window to frontColocar a janela selecionada em primeiro planozh_TWMaximize Window最大化視窗jaRotate to face 4面4に回転svFold TimestepTidsintervall för vikningfrCommand line 10Ligne de commande 10zh_TWRotate to face 7 and bring active window along往面 7 旋轉並隨同作用中視窗一起旋轉zh_TWUnfold展開csRotate to face 5 and bring active window alongOtočit na stranu 5 a vzít aktivní okno s seboufrRotate To Face 5 with WindowRotation vers la face 5 avec la fenêtrept_BRToggle Window MaximizedAlternar Janela MaximizadahuMenuMenüfrA keybinding that when invoked, will run the shell command identified by command5Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command5plList of currently active pluginsLista aktualnie włączonych wtyczekitSkydome Gradient Start ColorColore sfumato inizio skydomeruScale images to cover top face of cubeМасштабировать изображения для покрытия верхней грани кубаpt_BRUnfold cubeDesdobrar cubozh_CNWave effect from window title窗口标题波纹效果svPrev windowFöreg fönsteresShade resistanceResistencia al desvanecimientohuDetect Refresh RateFrissítési frekvencia felismerésezh_TWRotate to face 8 and bring active window along往面 8 旋轉並隨同作用中視窗一起旋轉frAccelerationAccélérationsvFullscreen fade effect on system beepHelskärmstoningseffekt vid systemsignalfrImage to use as texture for the skydomeImage à utiliser comme texture pour le skydomeplMipmap level-of-detailPoziom szczegółów mipmapyitWindow screenshot command lineRiga di comando istantanea finestredeInitiate Window Picker For Windows on Current OutputFensterauswahl für Fenster in aktueller Ausgabe initiierenpt_BRMinimum Vertex Grid SizeTamanho Mínimo de Grade do VérticeruOpen window menuОткрыть меню окнаzh_CNUnmaximize Window取消窗口最大化zh_CNAcceleration加速itCommand line 3Riga di comando 3deRotate leftLinks drehenptAdvance to next slideAvançar para o slide seguintefrCommand line 11Ligne de commande 11huScale images to cover top face of cubeKép méretezése a kocka tetejének lefedésérezh_TWAnimate skydome when rotating cube旋轉立方體時顯示天空頂動畫frLayout and start transforming window groupDisposer et commencer à transformer un groupe de fenêtressvScale WindowsSkala fönsterptRotate to face 12Girar para a face 12ruMinimize EffectЭффект свертыванияfrOutputsProduitfrInside cubeÀ l'intérieur du cubept_BREdge Flip PointerPonteiro de Inversão de BordasitAudible system beepBeep di sistema udibileptCommand line to be executed in shell when run_command1 is invokedLinha de comando a ser executada no shell quando run_command1 for acionadofrRotate ToRotation vershuDesktop CubeMunkaasztal kockasvRun command 5Kör kommando 5plNotificationPowiadomieniejaTitle waveタイトルウェーブitSync To VBlankSincronizza con VBlanksvMaximize active window horizontallyMaximera aktivt fönster horisontelltdeSkydome Gradient Start ColorAnfangsfarbe für Skydome-VerlauffrRotate to face 9 and bring active window alongRotation vers la face 9 avec la fenêtre activefrDetect Refresh RateDétecter la fréquence de rafraîchissementfiSnapoff and auto unmaximized maximized windows when draggingVapauta ja palauta suurennetut ikkunat automaattisesti siirrettäessäitStart resizing windowAvvia il ridimensionamento della finestrahuUnknownIsmeretlenzh_CNFade effect on system beep系统嘟嘟声的减弱效果zh_TWSnap windows嵌入視窗deTake a screenshotBildschirmfoto aufnehmenjaCube Colorキューブの色jaRotate To Face 6面6に回転zh_CNToggle Window Maximized Vertically将窗口垂直方向切换到最大化svConstrain Y coordinate to workspace areaBegränsa Y-koordinat till arbetsytacsShiverChvěníesCommand line to be executed in shell when run_command9 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command9plWindow DecorationDekoracja oknaesInvert Y axis for pointer movementInvertir eje Y para movimiento de punteroetMenuMenüüpt_BRDropdownMenuDropdownMenuplHide all windows and focus desktopSchowaj wszystkie okna i wybierz pulpitzh_TWFocus Effect定焦特效fiRotate ToKierrä kohteeseenpt_BRCommand line to be executed in shell when run_command7 is invokedLinha de comando a ser executada no shell quando run_command7 for acionadoruLower window beneath other windowsРасположение окна позади других оконitFullscreen fade effect on system beepEffetto dissolvenza schermo intero al beep del sistemaruToggle rain effectВключение или отключение эффекта дождяzh_TWRotate to face 11 and bring active window along往面 11 旋轉並隨同作用中視窗一起旋轉jaDarken Background背景を暗くするcaShade resistanceResistència a l'ombrafiAmount of brightness in percentKirkkauden määrä prosentteinafiRotate To Face 3Käännä työpöydälle 3zh_CNRotate right顺时针旋转svPlane To Face 11Plana till yta 11jaA keybinding that when invoked, will run the shell command identified by command7呼び出し時にcommand7により識別されたシェルコマンドを実行するキーバインドfrDrop shadow Y offsetDécalage Y de l'ombre des gouttesjaWindow Decorationウィンドウ装飾ruToggle Window MaximizedРазвертывать окноpt_BRRefresh RateTaxa de AtualizaçãoitMove WindowFinestra mobilezh_CNDecorator command line that is executed if no decorator is already running尚无装饰程序运行时运行的装饰程序命令行daHide windows not in taskbar when entering show desktop modeSkjul vinduer, der ikke er på opgavelinjen, når skrivebordet visesitFullscreenSchermo interoesDefault window icon imageImagen del icono de ventana por defectofiRotate LeftKäännä vasemmalleruDrop shadow radiusРадиус отбрасываемой тениdaSkydome ImageBillede til himmelkuppelhuAlpha BlurAlfa elmosásruStart moving windowЗапуск перемещения окнаruMaximize active window verticallyРазвертывание активного окна вертикальноruSkydome Gradient End ColorКонечный цвет градиента для фонаdeCommand line to be executed in shell when run_command1 is invokedDie Kommandozeile, die bei Ausführung von run_command1 in der Shell ausgeführt wirdcsTexture FilterFiltr texturptRotate To Face 11Girar para a Face 11frRun command 11Exécuter la commande 11esOpacityOpacidadcsFade in windows when mapped and fade out windows when unmappedBlednutí mapovaných oken a materializace oken nemapovanýchplFlip to next viewport when moving window to screen edgePrzełącz do następnego widoku podczas przesuwania okien na krawędź ekranuzh_TWWindow Menu視窗功能表caFlip to next viewport when moving window to screen edgeInverteix cap a la propera àrea de visualització en moure la finestra cap a la vora de la pantallaplMaximize EffectEfekt maksymalizacjihuGenerate mipmaps when possible for higher quality scalingMIP térképek készítése, hacsak lehetséges, a jobb minőségű skálázás érdekébendeToggle active window maximizedAktives Fenster maximieren ein/ausfrToggle rainBasculer la pluiecsZoom factorNásobek přiblíženíitRun command 3Esegui comando 3zh_CNRun command 1运行命令 1frA keybinding that when invoked, will run the shell command identified by command6Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command6jaDefault window icon imageデフォルトのウィンドウアイコンイメージesA keybinding that when invoked, will run the shell command identified by command4Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command4huDrop shadow opacityÁrnyék átlátszatlanságasvX PositionsX-positionerplMaximize active windowMaksymalizuj aktywne oknohuAdds water effects to different desktop actionsVíz effektus hozzáadása a különböző munkaasztal-műveletekhezhuPlane downGördítés lehuRotate to viewportForgatás munkalapraptCommand line 3Linha de comando 3fiToggle window snappingOta käyttöön tarttuvat ikkunatjaRotate to face 2面2に回転itPrev windowFinestra prechuRotate Flip RightForgatás jobbrazh_CNUnredirect Fullscreen Windows取消重定向全屏窗口itFullscreen Visual BellSegnale visivo schermo interoruFold TimestepКвант времени для свертыванияzh_TWOverlay an icon on windows once they are scaled調整視窗比例後在上面重疊圖示caShadow Offset YDesplaçament en Y de l'ombrazh_CNFocus Effect聚焦效果jaRotate to face 6 and bring active window along面6に回転して、アクティブなウィンドウを移動esNext SlideDiapositiva siguientedeOpacity level of moving windowsDurchlässigkeitsgrad beweglicher FenstercsActive PluginsAktivní modulyzh_TWRotate Right往右旋轉svEdge Flip MoveKantvänd flyttningsvRotate To Face 5Rotera till yta 5svStart moving windowBörja flytta fönsterptMove WindowMover JanelaruBrightnessЯркостьfiDarken background when scaling windowsTummenna tausta ikkunan kokoa muutettaessajaAmount of saturation in percent飽和度の量(%)jaRotate to face 5面5に回転huAuto-RaiseAutomatikus megnyitászh_CNRun command 8运行命令 8ruLightingОсвещениеfrAudible BellCloche audibleruZoom and pan desktop cubeИзменение масштаба и сдвига куба рабочего столаplFullscreen fade effect on system beepPełnoekranowy efekt przyciemnienia przy dzwonku systemowymdeSpace between windowsAbstand zwischen FensternfiTexture filteringTekstuurisuodatusjaMap Window Effectウィンドウ効果をマップruUse spring model for wobbly window effectИспользовать модель пружины в эффекте вязкого окнаsvDesktop CubeSkrivbordskubdaInside cubeKubus indvendigesAutomatic detection of refresh rateDetección automática de la frecuencia de actualizaciónsvPlace windows at appropriate positions when mappedPlacera fönster på lämpliga positioner när de kopplasdaAudible system beepHørbar systemtonedaWindow DecorationVinduesdekorationzh_CNIncrease window opacity增加窗口不透明度zh_CNDarken background when scaling windows调整窗口大小时背景变暗csShadow RadiusPoloměr stínusvToggle Window Maximized HorizontallyVäxla fönstermaximering horisontelltruNext SlideСледующий слайдhuLightingVilágosításesSelect previous windowSeleccionar la ventana anteriorruPlace windows on cubeРазмещение окон на кубеesScreenshot command lineLínea de comandos de captura de pantallacsAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsPovolit vykreslování celoobrazovkových oken bez přesměrování do mimoobrazovkových pixmapcsSnap windowsPřichytávat oknaesRotate desktop cubeGirar cubo del escritoriofrDarken BackgroundAssombrir l'arrière-planitCommand line 8Riga di comando 8zh_TWWobbly Windows搖擺視窗plShadow Offset YPrzesunięcie cienia - współrzędna YdeUnfold cubeWürfel auffaltenptCommand line to be executed in shell when run_command6 is invokedLinha de comando a ser executada no shell quando run_command6 for acionadohuAutomatic detection of output devicesKimeneti eszközök automatikus érzékelésesvAnimate SkydomeAnimera SkydomehuFilter LinearEgyenes szűrőhuSkydome ImageKupola képecaScaleCanvia la midaptRotate to face 8 and bring active window alongGirar para a face 8 e trazer a janela ativa juntodaComboKombinationdeAudible BellAkustische GlockesvUse linear filter when zoomed inAnvänd linjärt filter när inzoomadzh_TWColor to use for the top color-stop of the skydome-fallback gradient要使用的天空頂後援漸層之頂部色彩停止點esTime (in ms) before scale mode is terminated when hovering over a windowTiempo en milisegundos para finalizar el modo de escala al desplazar el cursor sobre una ventanaplFocus Window EffectEfekt wybierania oknaplGaussian radiusPromień dla rozmycia gaussowskiegoesMaximize WindowMaximizar ventanaplLayout and start transforming windowsRozmieść i zacznij przekształcać oknapt_BRNext windowPróxima janelazh_CNConstrain Y coordinate to workspace area约束工作空间区域的 Y 坐标ruInitiate Window Picker For Windows on Current OutputИнициировать средство выбора окна для окон текущего устройства выводаitHide windows not in taskbar when entering show desktop modeNascondi finestre non nella barra delle applicazioni durante l'attivazione della modalità di visualizzazione desktopptFade in windows when mapped and fade out windows when unmappedAvivar janelas quando houver mapeamento e esmaecê-las quando não houver mapeamentosvRun command 1Kör kommando 1pt_BRWater offset scaleEscala de deslocamento da águadaHorizontal Virtual SizeVandret virtuel størrelseruRotation SpeedСкорость вращенияsvConstrain YBegränsa YplSnap InvertedOdwróć przyciąganiept_BRTimestepTimestepfiMove WindowSiirrä ikkunaacsFlip TimeDoba překlopenízh_CNMinimize speed最小化速度fiCommand line to be executed in shell when run_command10 is invokedSuoritettava komentorivi, kun run_command10 suoritetaan.svAnnotateAnteckningruSkydomeФонfrAdd pointAjouter un pointcaInside CubeInterior del cubfiToggle use of slow animationsOta käyttöön hitaat animaatiotplMaximize Window HorizontallyMaksymalizuj okno w poziomiejaMinimum Grid Size最小グリッドサイズdaShadow Offset XSkyggeforskydning XhuRaise WindowAblak előtérbe hozásacaAccelerationAcceleraciójaPointer Sensitivityポインタ感度itRotate To Face 8 with WindowRuota su faccia 8 con finestraptZoom OutDiminuir o zoomzh_CNRotation Speed旋转速度svGrid ResolutionRutnätsupplösningpt_BRClick on window moves input focus to itO clique na janela transfere o foco para elasvRun command 2Kör kommando 2ptBrightnessBrilhocsA keybinding that when invoked, will run the shell command identified by command3Klávesové zkratky, které spustí příkaz určený command3caSpeedVelocitatjaEdge Flip DnDエッジフリップDnDfiRotate To Face 2Käännä työpöydälle 2svAuto-Raise DelayFördröjning för automatisk höjningpt_BROpacity StepEtapa de OpacidadehuDefault IconAlapértelmezett ikonpt_BRRotate to face 2 and bring active window alongGirar para a face 2 e trazer a janela ativa juntocaLayout and start transforming windowsDissenya i inicia la transformació de les finestresfrShow icon next to thumbnailAfficher l'icône à côté de la miniatureplClone OutputKlonowanie wyjściaesGrid ResolutionResolución de la cuadrículafrLayout and start transforming windows on current outputDisposer et commencer à transformer des fenêtres sur la sortie actuellehuPointer Invert YY mutató invertálásahuShadow OpacityÁrnyék átlátszatlanságapt_BRCommand line to be executed in shell when run_command2 is invokedLinha de comando a ser executada no shell quando run_command2 for acionadosvClick on window moves input focus to itKlicka på fönstret flyttar inmatningsfokus till detfrFade in windows when mapped and fade out windows when unmappedApparition en fondu des fenêtres en mode mapped et disparition en fondu des fenêtres en mode unmappedzh_CNMinimize active window最小化活动窗口ruWater EffectЭффект водыzh_CNRotate to face 6旋转到第 6 面esEdge Flip MoveMover inversión de bordedaBrightnessLysstyrkeptScreenshot command lineCapturar tela da linha de comandoesZoom SpeedVelocidad de zoomzh_CNSpacing间距ptPointer SensitivitySensibilidade do PonteirojaRotate To回転先pt_BRToggle wiperAlternar limpadorcaRotate leftGira cap a l'esquerraesAnimate SkydomeCúpula animadafrStart resizing windowCommencer à redimensionner la fenêtrezh_TWRotate To Face 3 with Window隨視窗往面 3 旋轉frApplication SwitcherCommutateur d'applicationfiRaise WindowNosta ikkunaasvSkydomeSkydomeitRotate to face 10Ruota su faccia 10caWobble effect when maximizing and unmaximizing windowsEfecte de tremolor en maximitzar i desmaximitzar finestresfiIgnore Hints When MaximizedOhita vihjeet suurennettaessazh_CNCommand line 7命令行 7csToggle rain effectPřepnout efekt deštězh_CNSnap Inverted翻转的快照esRotate To Face 12Girar hacia el 12ruFold SpeedСкорость свертыванияzh_TWRotate to face 4往面 4 旋轉deScale images to cover top face of cubeFenstergröße an Oberseite des Würfels anpassenzh_TWWave effect from window title視窗標題的波紋效果svZoomZoomitFade effect on system beepEffetto dissolvenza al beep del sistemapt_BRDarken BackgroundEscurecer Segundo PlanodaFade SpeedFadehastighedjaPopupMenuポップアップメニューplShiverDrganiazh_TWInitiate Window Picker For Window Group啟始化視窗群組的視窗選擇器esRotate Flip LeftGirar a inversión izquierdajaDrop shadow X offsetシャドウXオフセットを無視frRotate To Face 7 with WindowRotation vers la face 7 avec la fenêtrefiLayout and start transforming all windowsAsettele kaikki ikkunat ja aloita niiden muuntodaToggle Window Maximized HorizontallySlå vandret maksimering af vindue til/fraplInitiate Window Picker For All WindowsRozpocznij przeglądanie wszystkich okienfrMinimum Vertex Grid SizeTaille de grille de sommet minimaledeSlow AnimationsLangsame AnimationenruWindow DecorationОформление окнаdeFading WindowsFenster ein-/ausblendendeSensitivity of pointer movementEmpfindlichkeit bei Zeigerbewegungpt_BRRender skydomeRenderizar skydomeitPopupMenuMenu popupzh_CNActive Plugins活动插件deToggle rainRegen ein/auszh_CNSnap To Top Face迅速移至顶面frIconIcônezh_CNRotate to face 10旋转到第 10 面zh_TWDecrease window opacity降低視窗不透明度ptFilter LinearFiltro LinearcsShow the main menuZobrazit hlavní nabídkusvFading WindowsTonande fönsterfrRotate to face 5Rotation vers la face 5frDrop shadow opacityOpacité de l'ombre des gouttessvA keybinding that when invoked, will run the shell command identified by command3En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando3daColor of top and bottom sides of the cubeFarve til kubussens top og bundjaDecrease Opacity不透明度を下げるzh_TWDesktop Cube桌面立方體ruOverlay an icon on windows once they are scaledНаложение значка на окна при их масштабированииjaRotate To Face 2 with Windowウィンドウと一緒に面2に回転etIconIkoonplBlur SpeedRozmywanie z prędkościąhuOverlay an icon on windows once they are scaledIkon átfedése az ablakon átméretezéskorzh_TWPopup switcher if not visible and select previous window out of all windows看不到切換器時快顯切換器,並從所有視窗選取上一個視窗zh_TWRun command 11執行指令 11caWindow fade speedVelocitat d'esvaïment de la finestraptInvert Y axis for pointer movementInverter o eixo Y para movimento do ponteiroesBrightnessBrillocsMaximize Window VerticallyMaximalizovat okno vertikálněcsSkydome Gradient Start ColorPočáteční barva gradientu nebeské báněcsRotate To Face 12 with WindowOtočit na stranu 12 s oknemhuUnfoldKibontáscsFilter LinearLineární filtrplMaximize active window horizontallyMaksymalizuj aktywne okno w poziomieruSnap Cube Rotation to Top FaceПривязка вращения куба к верхней граниfrCommand line to be executed in shell when run_command2 is invokedLigne de commande à exécuter dans le shell lorsque run_command2 est appelécaToggle Window ShadedCommuta la finestra ombrejadadeA keybinding that when invoked, will run the shell command identified by command10Eine Tastenbelegung, die den durch Befehl 10 festgelegten Shell-Befehl ausführtcaOverlay IconSuperposa la iconasvAuto-RaiseAutomatisk höjningsvCommand line to be executed in shell when run_command3 is invokedKommandorad som ska köras i ett skal när run_command3 anropaszh_CNRotate to face 10 and bring active window along旋转到第 10 面并带来活动窗口zh_CNDrop shadow opacity减小阴影不透明度plMinimum Vertex Grid SizeMinimalny rozmiar siatki werteksufiClick To FocusKohdista hiiren painikkeellaptInitiate Window PickerIniciar Seletor de JanelasplDndDndesCommand line to be executed in shell when run_command10 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command10deRotate To Face 2Drehen zu Fläche 2zh_TWSpring K彈簧 K 值huShow minimized windowsIkonizált ablakok megjelenítésezh_CNUnfold展开zh_TWToggle rain切換下雨deRotate To Face 10Drehen zu Fläche 10plDrop shadow X offsetPrzesunięcie cienia w osi XptStart moving windowIniciar movimento da janeladaMinimum Grid SizeMindste gitterstørrelseruDrop shadow opacityПрозрачность отбрасываемой тениcsDockDokpt_BRScreenshot command lineCapturar tela da linha de comandohuAuto-Raise DelayAutomatikus megnyitás késleltetéseesRotate leftGirar a la izquierdafiSnap To Top FaceKiinnitä kattooncaImage to use as texture for the skydomeImatge que s'utilitzarà com a textura per a la cúpulaptShadow Offset XDeslocamento X da SombrafrModalDialogBoîte de dialogue modalecaLayout and start transforming window groupDissenya i inicia la transformació del grup de finestrespt_BRToggle active window shadedAlternar janela ativa sombreadaitAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsConsenti disegno finestre a schermo intero per non essere reindirizzati a pixmap fuori schermozh_CNGrid Resolution栅格分辨率deRun command 10Befehl 10 ausführensvLower window beneath other windowsSänk fönstret under andra fönsterdeActive PluginsAktive PluginsesCommand line to be executed in shell when run_command7 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command7esAnimate skydome when rotating cubeAnima la cúpula cuando se gira el cubodeIgnore Hints When MaximizedBei maximierter Anzeige Tipps ignorierendeInitiateInitiierencsSwitcher timestepČasový krok přepínačecaAudible BellAvís sonorfrSplashSplashdeScale timestepSkalierzeitintervallcaMinimize timestepMinimitza l'etapaitCommand line 10Riga di comando 10caColor to use for the top color-stop of the skydome-fallback gradientColor que s'utilitzarà com color superior del degradat alternatiu de la cúpuladaVisual BellVisuel klokkeruAnimate SkydomeАнимировать фонfrList of PNG and SVG files that should be rendered on top face of cubeListe de fichiers PNG et SVG à afficher sur la face supérieure du cubefrTexture filteringFiltrage de texturept_BRZoom OutDiminuir o zoomdeMinimum Grid SizeMinimale GittergrößecsTransform windows when they are minimized and unminimizedTransformovat okna při jejich minimalizaci a zrušení minimalizaceitSpring KonstantCostante saltozh_CNVertex Grid Resolution顶点栅格分辨率pt_BRA keybinding that when invoked, will run the shell command identified by command9Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando9frPointer SensitivitySensibilité du pointeurhuToggle window snapping"Ablakok illesztése" effektus kapcsolóitScale timestepIntervallo scalaitRotate to face 9 and bring active window alongRuota su faccia 9 insieme a finestra attivaesRain DelayRetraso de lluviaplRotate leftObróć w lewocaShow icon next to thumbnailMostra la icona al costat de la miniaturafiWindow placement workaroundsPoikkeukset ikkunoiden asettelussasvDrop shadow X offsetSkuggkastning X-positionptAuto-RaiseElevação AutomáticadeCommand line 3Kommandozeile 3jaAutomatic detection of refresh rate更新レートの自動検出jaSkydome Gradient End Colorスカイドームグラデーション終了色plSkydome Gradient Start ColorPoczątkowy kolor gradientu tła kostkizh_CNSwitcher timestep切换程序时间区间huPrev windowElőző ablakptRotate to face 9 and bring active window alongGirar para a face 9 e trazer a janela ativa juntojaRotate To Face 10面10に回転plMove windowPrzenieś oknoplFocus EffectEfekt wybieraniaitWindow MenuMenu finestra ruToolbarПанель инструментовjaSkydomeスカイドームplInitiate annotate erasingRozpoczyna usuwanie rysunkówesCommandComandosvRotate To Face 8Rotera till yta 8ptHide all windows and focus desktopOcultar todas as janelas e enfocar área de trabalhocsDrop shadow opacityKrytí vrženého stínuzh_TWRotate Left with Window隨視窗往左旋轉pt_BRAuto-RaiseElevação AutomáticacsRotate To Face 3Otočit na stranu 3itZoomZoomesZoom factorFactor de zoomhuStart resizing windowAblak átméretezésének indításazh_TWNext window下一個視窗caFlip TimeTemps d'inversióesToggle active window maximizedActiva o desactiva la ventana activa maximizadafrScale imageMettre l'image à l'échellept_BRTake a screenshot of a windowEfetuar captura de tela de uma janelazh_TWTime (in ms) before scale mode is terminated when hovering over a window停留在視窗上多久 (毫秒) 後停止調整比例模式plFold SpeedSzybkość zwijaniahuInside CubeA kocka belsejeesMinimum Vertex Grid SizeTamaño mínimo de cuadrícula de vérticefrHide windows not in taskbar when entering show desktop modeMasquer les fenêtres qui ne se trouvent pas dans la barre des tâches lorsque vous passez en mode d'affichage du bureauzh_CNDecrease Opacity降低不透明度itDndDnddeRotate to face 3Drehen zu Fläche 3zh_TWMove window移動視窗huUnfold cubeKocka kibontásafiList of strings describing output devicesUlostulolaitteita kuvaavien merkkijonojen luetteloruCube ColorЦвета кубаfiRotate Right with WindowKäännä oikealle ikkunan kanssafrRotate To Face 6Rotation vers la face 6esTitle waveOla en el títulodaOutputsUdgangedaTake a screenshotTag et skærmbilledefrRun command 9Exécuter la commande 9huModalDialogKizárólagosPárbeszédablakesClick To FocusClic para enfocarzh_CNToggle active window maximized horizontally将活动窗口水平方向切换到最大化itDrop shadow opacityOpacità ombreggiatura esternaesShow Run Application dialogMostrar el cuadro de diálogo de ejecución de aplicaciónjaAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsスクリーン外のピックスマップにリダイレクトしないように全画面ウィンドウの描画を許可するfrAutomatic detection of refresh rateDétection automatique de la fréquence de rafraîchissementhuAnnotate Stroke ColorFeljegyzés körvonalszínehuBlur SpeedElmosás sebességeruSelect previous windowВыбрать предыдущее окноpt_BRScale timestepTimestep de escalaesMaximize active window verticallyMaximiza la ventana activa verticalmenteptAudible system beepBip do sistema audíveljaShiver震動jaDropdownMenuドロップダウンメニューptSnapoff and auto unmaximized maximized windows when draggingJanelas maximizadas quebradas e automaticamente desmaximizadas ao arrastarhuSpring FrictionRugó súrlódásazh_CNMipmapMipmapcsScale speedRychlost změny velikostiplPopup switcher if not visible and select next windowOkno przełączania gdy niewidoczne i wybór następnego oknadaFold AccelerationFoldeaccelarationruHorizontal Virtual SizeВиртуальный размер по горизонталиzh_CNMaximize Effect最大化效果zh_CNUse spring model for wobbly window effect对颤动窗口效果使用弹性模型svRotation TimestepTidsintervall för roteringjaFold TimestepタイムステップをフォールドdaIconIkonjaList of PNG and SVG files that should be rendered on top face of cubeキューブの上面にレンダリングするPNGおよびSVGファイルのリストhuActive PluginsAktív bővítményekesFade SpeedVelocidad de desvanecimientozh_TWMinimize Effect最小化特效caMove WindowMou la finestrazh_CNDetect Outputs检测输出fiClose active windowSulje aktiivinen ikkunasvAnimate skydome when rotating cubeAnimera skydome när kub roterarsvRun command 8Kör kommando 8zh_CNColor to use for the bottom color-stop of the skydome-fallback gradient背景降色渐变使用的底部结束颜色csCommand line to be executed in shell when run_command11 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command11jaFlip to next viewport when moving pointer to screen edgeポインタを画面の端に移動する時に次のビューポートにフリップするjaRotate to face 8 and bring active window along面8に回転して、アクティブなウィンドウを移動pt_BRCommand line 10Linha de comando 10caToggle rainCommuta la plujaptSnap Cube Rotation to Top FaceFechar a Rotação do Cubo na Face SuperiorcaOpacity level of moving windowsNivell d'opacitat de les finestres en movimentpt_BRRotate to face 11Girar para a face 11zh_CNClose active window关闭活动窗口daRotation SpeedRotationshastighedcsSync To VBlankSynchronizovat při VBlank svWindows that should wobble when movedFönster som ska dallra när de flyttaszh_CNA keybinding that when invoked, will run the shell command identified by command7键绑定在调用时,将运行 command7 确定的 shell 命令svPointer SensitivityMuspekarkänslighetdaToggle Window ShadedSlå medtoning af vindue til/fraesShow icon next to thumbnailMuestra el icono junto a la miniaturadeFold SpeedFaltgeschwindigkeitpt_BRCommand line 5Linha de comando 5esCommand line to be executed in shell when run_command11 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command11pt_BRComboComboruToggle Window ShadedПереключить свертывание окна в полоскуzh_TWInitiate Window Picker For All Windows啟始化所有視窗的視窗選擇器jaRotate To Face 2面2に回転itRotate to face 12 and bring active window alongRuota su faccia 12 insieme a finestra attivadaMaximize active window verticallyMaksimer det aktive vindue i højdendaZoom OutZoom udpt_BRSelect next windowSelecionar próxima janelafrMinimize EffectMinimiser l'effetdeA keybinding that when invoked, will run the shell command identified by command8Eine Tastenbelegung, die den durch Befehl 8 festgelegten Shell-Befehl ausführtjaShow minimized windows最小化したウィンドウの表示csIgnore size increment and aspect hints when window is maximizedPři maximalizaci ignorovat tipy k přírůstku velikosti a poměrusvShow minimized windowsVisa minimerade fönsteresRotate to face 9Gira hacia el 9nlUnknownOnbekendptShade ResistanceResistência de SombrasvCommand line to be executed in shell when run_command10 is invokedKommandorad som ska köras i ett skal när run_command10 anropascaIgnore size increment and aspect hints when window is maximizedIgnora els suggeriments d'increment de mida i aspecte quan la finestra es troba maximitzadadaInitiate Window ResizeStart tilpasning af vinduets størrelsesvCommand line 5Kommandorad 5fiOnly perform screen updates during vertical blanking periodSuorita vain näyttöpäivitykset pystytasossa tehtävän tyhjäyksen aikanacsApplication SwitcherPřepínač aplikacíitGrid ResolutionRisoluzione grigliazh_TWMinimize timestep最小化時間間隔ruPointer Invert YИнвертировать для курсора ось YfiFlip to next viewport when moving window to screen edgeVaihda seuraavaan työpöytään vedettäessä ikkunaa ruudun reunaa vasten.esSnap To Top FaceSolapar hacia la cara superiorpt_BRDetect OutputsDetectar SaídasdeWobble effect when maximizing and unmaximizing windowsWackeleffekt beim Maximieren/Aufheben der Maximierung von Fensternzh_TWClick To Focus按一下以定焦svImage filesBildfilersvPlane to face 11Plana till yta 11zh_TWDndDndzh_TWCommand line to be executed in shell when run_command3 is invoked啟用 run_command3 時要在外圍程序中執行的指令行csResize WindowZměnit velikost oknafiCommand line 7Komentorivi 7plDecrease OpacityZmniejsz nieprzezroczystośćesEdge Flip DnDDnD de inversión de bordehuList of PNG and SVG files that should be rendered on top face of cubeA kocka tetejére kerülő PNG és SVG fájlok listájazh_TWFold Timestep摺疊時間間隔daSaturationFarvemætninghuPlane LeftGördítés balracsSpeedRychlosthuRaise window above other windowsAblak másik ablakok fölé hozásafrFlip TimeTemps de rotationptToggle active window maximized verticallyAlternar janela ativa maximizada verticalmentedaUnknownUkendtsvRotate to face 5Rotera till yta 5jaRun command 5ランコマンド5huInvert Y axis for pointer movementY tengely átalakítása a mutató mozgásáhozsvPlane to face 4Plana till yta 4frCommand line to be executed in shell when run_command8 is invokedLigne de commande à exécuter dans le shell lorsque run_command8 est appelécsHide all windows and focus desktopSkrýt všechna okna a zaměřit na plochuzh_CNBring To Front放在前面caList of PNG and SVG files that should be rendered on top face of cubeLlista de fitxers PNG i SVG que s'hauran de representar a la cara superior del cubzh_CNAnimate Skydome动画背景zh_TWRain Delay下雨延遲frInitiate Window Picker For Window GroupLancer le sélecteur de fenêtre pour un groupe de fenêtressvCommand line to be executed in shell when run_command5 is invokedKommandorad som ska köras i ett skal när run_command5 anropasfrSelect previous windowSélectionner la fenêtre précédentedeCommand line to be executed in shell when run_command8 is invokedDie Kommandozeile, die bei Ausführung von run_command8 in der Shell ausgeführt wirdjaToggle active window shadedシェードされたアクティブウィンドウを切り替えfiCommand line 3Komentorivi 3huMaximize active window horizontallyAktív ablak maximalizálása vízszintesencsEnable pointer water effectsPovolit vodní efekty ukazatelejaInitiate Window Picker For All Windowsすべてのウィンドウでウィンドウピッカーを起動deWindow DecorationFensterdekorationpt_BRRotate rightGirar para a direitacsSwitcher speedRychlost přepínačesvRotate To Face 12 with WindowRotera till yta 12 med fönsterpt_BRSensitivity of pointer movementSensibilidade de movimento do ponteirodaAuto-Raise DelayForsinkelse ved automatisk hævningzh_CNDarken Background背景变暗fiA keybinding that when invoked, will run the shell command identified by command11Tunnisteen command11 mukaisen komennon suorittava näppäinyhdistelmädeRotation AccelerationDrehbeschleunigungcsDelay (in ms) between each rain-dropZpoždění (v ms) mezi jednotlivými kapkamicsWave effect from window titleEfekt vlny v nadpisu oknadeWave effect from window titleWelleneffekt aus FenstertitelhuVertex Grid ResolutionCsúcspontrács felbontásaitRotate to face 7 and bring active window alongRuota su faccia 7 insieme a finestra attivaptRain DelayAtraso da ChuvasvSpring KFjäder Kzh_TWDetect Outputs偵測輸出frSpeedVitessefrFocus EffectEffet de focuszh_TWRotate To Face 10 with Window隨視窗往面 10 旋轉frUnfold cubeDéplier le cubesvRaise windows when clickedHöj fönster när de klickas pådaMipmapMipmapzh_CNInvert Y axis for pointer movement反转 Y 轴(对于指针移动)deRaise WindowFenster nach vorn verlagernjaImage to use as texture for the skydomeスカイドームのテクスチャとして使用するイメージdeToggle Window MaximizedFenster maximieren ein/aushuShade ResistanceÁrnyék ellenállásacsPopup switcher if not visible and select previous window out of all windowsZobrazit přepínač, pokud není viditelný, a vybrat předchozí okno ze všech okenpt_BRA keybinding that when invoked, will run the shell command identified by command2Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando2daShade ResistanceSkyggemodstandpt_BRFullscreenTela InteiraptRotate to face 5Girar para a face 5svShow Main MenuVisa huvudmenyjaZoom OutズームアウトesTransform windows when they are minimized and unminimizedTransforma las ventanas cuando se minimizan o desminimizanzh_TWRotate to face 5 and bring active window along往面 5 旋轉並隨同作用中視窗一起旋轉deLayout and start transforming window groupLayout durchführen und mit der Umformung der Fenstergruppe beginnenruAudible BellСлышимый сигналcsRotate To Face 4Otočit na stranu 4ruWobbly WindowsВязкие окнаfiMap EffectIlmestymistehosteitSnapoff maximized windowsDividi finestre ingranditept_BRRotate to face 6 and bring active window alongGirar para a face 6 e trazer a janela ativa juntohuClick To FocusKattintson a fókuszáláshozfiSkydome Gradient Start ColorTaivasliukuvärin aloitusväriptRotate To Face 3 with WindowGirar para a Face 3 com JanelafrSkydomeSkydomehuFocus BlurFókuszelmosásglUnknownDescoñecidaitRotate To Face 3 with WindowRuota su faccia 3 con finestrazh_CNDrop shadow X offset减小阴影 X 偏移zh_TWNext Slide下一張投影片ruColor of top and bottom sides of the cubeЦвет верхней и нижней сторон кубаzh_TWCommand line to be executed in shell when run_command8 is invoked啟用 run_command8 時要在外圍程序中執行的指令行itDesktopDesktopfrSpring FrictionFriction de ressortjaFullscreenフルスクリーンfiNormalNormaaliplMap Window EffectEfekt mapowania oknadePointPunktpt_BREdge Flip MoveMovimento de Inversão de Bordaszh_CNRotate To Face 8旋转到第 8 面plEnable pointer water effectsWłącz wodne efekty wskaźnikafiMinimum Vertex Grid SizePienin mahdollinen kärkipisteen hilakokosvUnfoldVik utplGo back to previous slidePrzejdź do poprzedniej klatkiesSaturationSaturaciónptScale imageDimensionar imagemruClose WindowЗакрыть окноitDecorator command line that is executed if no decorator is already runningRiga di comando strumento di decorazione eseguita se nessuna applicazione di decorazione è in esecuzionefiFading WindowsIkkunoiden häivytyspt_BREnable pointer water effectsHabilitar ponteiro de efeitos aquáticosfrOpen window menuOuvrir le menu de la fenêtreplResize windowZmień rozmiar oknadeDistance desktop should be zoom out while switching windowsDistance-Desktop sollte beim Umschalten zwischen Fenstern verkleinert seinpt_BRToggle wiper effectAlternar efeito limpadorhuAudible system beepHallható rendszercsengődaInitiate Window Picker For All WindowsStart vinduesvælger for alle vinduerdeRotate to face 4 and bring active window alongDrehen zu Fläche 4 und aktives Fenster mitführenitDarken BackgroundScurisci sfondoruTooltipСовет по использованиюpt_BRAutomatic detection of output devicesDetecção automática de dispositivos de saídazh_CNMinimize Window最小化窗口esList of strings describing output devicesLista de cadenas que describen los dispositivos de salidaptApplication SwitcherAlternador de AplicativosdaFade in windows when mapped and fade out windows when unmappedVinduerne tones ind, når de tilknyttes, og tones ud, når tilknytningen ophæves.esDistance desktop should be zoom out while switching windowsDistancia de alejamiento al reducir mientras se intercambian las ventanaszh_CNPointer Sensitivity指针灵敏度fiHide all windows and focus desktopPiilota kaikki ikkunat ja kohdista työpöytäänesRotate to face 2Gira hacia el 2frFullscreen fade effect on system beepEffet de fondu plein écran au signal sonore du systèmeitSnap Cube Rotation to Top FaceAggancia rotazione cubo a faccia superioreruInitiate Window PickerИнициировать средство выбора окнаjaPointer Invert Yポインタ反転Ypt_BRShadow RadiusRaio da SombraitVertex Grid ResolutionRisoluzione griglia Vertexzh_CNHorizontal Virtual Size水平虚拟大小zh_TWTexture filtering材質篩選jaToggle Window Maximized Horizontally水平方向に最大化されたウィンドウを切り替えjaSpring Kバネ定数daGo back to previous slideGå tilbage til forrige diascaConstrain Y coordinate to workspace areaRestringeix la coordenada Y a l'àrea de l'espai de treballplBlur behind translucent parts of windowsRozmycie za przezroczystymi częściami okienhuPulse effectImpulzus effektusitPopup switcher if not visible and select previous window out of all windowsMostra il selettore se non visibile e seleziona la finestra precedente esterna a tutte le altre finestrept_BRToggle active window maximized horizontallyAlternar janela ativa maximizada horizontalmentecsInvert Y axis for pointer movementInvertovat osu Y pro pohyb ukazateledeRun command 9Befehl 9 ausführenzh_TWA keybinding that when invoked, will run the shell command identified by command4啟用時將執行經 command4 識別之外圍程序指令的按鍵組合esSpeedVelocidadjaAmount of opacity in percent不透明度(%)zh_TWAcceleration加速csRotate to face 3 and bring active window alongOtočit na stranu 3 a vzít aktivní okno s sebouptFading WindowsJanelas EsmaecidasesInverted window snappingSolapamiento de ventanas invertidofrIgnore size increment and aspect hints when window is maximizedIgnorer l'incrément de taille et les conseils d'aspect lorsque la fenêtre est agrandiedeRotate To Face 2 with WindowDrehen zu Fläche 2 mit Fensterzh_TWEdge Flip Move邊緣翻轉移動huFocus EffectFókusz effektuszh_CNShadow Offset X阴影偏移 XplWater EffectEfekt wodnydaHide Skip Taskbar WindowsSkjul vinduer, der ikke er på opgavelinjenzh_CNTake a screenshot of a window拍摄窗口的屏幕快照pt_BRVertex Grid ResolutionResolução de Grade do Vérticept_BRList of PNG and SVG files that should be rendered on top face of cubeLista de arquivos PNG e SVG que devem ser renderizados na face superior do cubojaToggle wiper effectワイパー効果の切り替えfrLower window beneath other windowsAbaisser la fenêtre sous d'autres fenêtrescsImage filesObrázkové souboryptCommand line to be executed in shell when run_command11 is invokedLinha de comando a ser executada no shell quando run_command11 for acionadopt_BRRotate To Face 6 with WindowGirar para a Face 6 com JanelafiRaise window above other windowsNosta ikkuna muiden ikkunoiden yläpuolellesvRun command 10Kör kommando 10csWindow placement workaroundsNouzová řešení umístění okenitAccelerationAccelerazionefrDefault IconIcône par défautesShadow Offset XDesplazamiento X de la sombrafrFold AccelerationAccélération de pliagehuZoom factorNagyítási arányjaShow the main menuメインメニューの表示daRotate with windowRoter med vinduept_BRRotate To Face 2 with WindowGirar para a Face 2 com JanelaptA keybinding that when invoked, will run the shell command identified by command5Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando5ptZoom and pan desktop cubeAplicar zoom e pan ao cubo da área de trabalhoptRotate to face 5 and bring active window alongGirar para a face 5 e trazer a janela ativa juntodaMaximize Window HorizontallyMaksimer vindue vandretzh_CNColor of top and bottom sides of the cube立方体顶边和底边的颜色huMaximize active windowAktív ablak maximalizálásaruDelay (in ms) between each rain-dropЗадержка (в мс) между каплями дождяruUnknownНеизвестныйfrMake window shiverDéformer la fenêtrecaEnable pointer water effectsHabilita els efectes d'aigua del punteresRotate to face 7Gira hacia el 7svRotate To Face 12Rotera till yta 12caColor of top and bottom sides of the cubeColor de les cares superior i inferior del cubfiDrop shadow Y offsetHylkää varjon poikkeama (Y)huAutomatic detection of refresh rateFrissítési frekvencia automatikus érzékelésenbUnknownUkjentplDetect Refresh RateWykryj częstotliwość odświeżaniafiToggle Window ShadedOta käyttöön varjostettu ikkunacsAutomatic detection of output devicesAutomatická detekce výstupních zařízeníesAuto-RaiseElevación automáticaruSkydome ImageИзображение для фонаfrSwitcher timestepIntervalle du commutateurcsRaise On ClickDát do popředí při kliknutícsOpacityKrytífrSnapoff maximized windowsDésactiver l'alignement des fenêtres agrandiescsRun command 11Spustit příkaz 11plAdds water effects to different desktop actionsDodaje efekty wodne do różnych operacji na pulpiciezh_TWSwitcher speed切換器速度zh_CNCommand line 1命令行 1svList of strings describing output devicesLista över strängar som beskriver utmatningsenheterfiClick on window moves input focus to itIkkunan napsautus kohdistaa ikkunaancsInitiate Window Picker For Window GroupSpustit výběr oken pro skupinu okenplAccelerationAkceleracjadeClick on window moves input focus to itFenster durch Anklicken fokussierendeSpring KonstantFederkonstantehuLine width for annotationsFeljegyzések vonalvastagságacaEdge Flip DnDDnD d'inversió de vorazh_CNResize Window调整窗口大小plPointer SensitivityCzułość wskaźnikazh_CNRotate Left逆时针旋转huPlane leftGördítés balraptRotate To Face 6 with WindowGirar para a Face 6 com JanelafiRun command 2Suorita komento 2itUnmaximize active windowAnnulla ripristino finestra attivazh_CNTexture Filter纹理过滤器caToggle Window Maximized HorizontallyCommuta la finestra maximitzada horitzontalmentitRotate to face 6Ruota su faccia 6pt_BRBring To FrontColocar em Primeiro PlanoruIgnore Hints When MaximizedИгнорировать подсказки в развернутом состоянииhuDecrease window opacityAblak átlátszatlanságának csökkentésesvFade SpeedToningshastighetfiSnapoff maximized windowsVapauta suurennetut ikkunatdeRotate To Face 7 with WindowDrehen zu Fläche 7 mit FensterhuScale speedMéretezés sebességeetNormalNormaalnecsRun command 3Spustit příkaz 3csMaximize WindowMaximalizovat oknofiInitiate Window Picker For All WindowsAlusta ikkunavalitsin kaikille ikkunoillefrRotate To Face 4Rotation vers la face 4itA keybinding that when invoked, will run the shell command identified by command1Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command1csWobble effect when maximizing and unmaximizing windowsVlnivý efektpt_BRDrop shadow opacityDescartar a opacidade da sombraplUnfoldOdsłońcsBring To FrontPřenést na popředífrConstrain Y coordinate to workspace areaContraindre la coordonnée Y à être dans la zone de l'espace de travailcaTitle waveTítol en onadafiInvert Y axis for pointer movementPeilaa osoittimen Y-suuntainen liikecsRotate To Face 10Otočit na stranu 10svRotate to face 11Rotera till yta 11zh_TWRotate desktop cube旋轉桌面立方體svTake a screenshot of a windowTa en skärmbild av ett fönsterjaShadow Offset XシャドウオフセットXpt_BRWindow decorationsDecorações das janelasplStart moving windowRozpocznij przenoszenie oknaptStart resizing windowIniciar redimensionamento da janeladaRaise window above other windowsHæv vinduet over de andre vinduersvMaximize Window HorizontallyMaximera fönster horisontelltpt_BRShow the main menuMostrar o menu principalcaClose active windowTanca la finestra activafiSkydome ImageTaivaan kuvasvWindows that should wobble when mappedFönster som ska dallra när de bindshuToggle Window Maximized HorizontallyAblak vízszintes maximális méret átkapcsolásazh_CNAutomatic detection of refresh rate自动检测刷新率jaCommand line 3コマンドライン3jaRotate to face 11面11に回転esRun command 8Ejecutar comando 8pt_BRRotate Left with WindowGirar para a Esquerda com JaneladeRotate to face 12Drehen zu Fläche 12pt_BRSnap Cube Rotation to Top FaceFechar a Rotação do Cubo na Face SuperioresSplashPantalla inicialdaSnap Cube Rotation to Top FaceFastgør kubusrotation til oversidenplInvert Y axis for pointer movementOdwróć oś Y dla ruchu wskaźnikajaSnap To Top Face上面にスナップjaPopup switcher if not visible and select previous window表示されていない場合スイッチャをポップアップして前のウィンドウを選択daAuto-RaiseAutomatisk hævningpt_BRRotate To Face 7Girar para a Face 7daCommandKommandofiA keybinding that when invoked, will run the shell command identified by command8Tunnisteen command8 mukaisen komennon suorittava näppäinyhdistelmäplOpen a terminalOtwiera terminalruEdge Flip PointerОтражение при курсоре на краюhuMinimum Grid SizeRács minimális méretesvPlane To Face 4Plana till yta 4huInitiate eraseTörlés indításasvMinimum Grid SizeMaximal rutnätsstorleksvA keybinding that when invoked, will run the shell command identified by command2En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando2svAnnotate pluginInsticksmodul för anteckningarhuBlur windows that doesn't have focusFókusszal nem rendelkező ablakok elmosásadaGrid ResolutionGitteropløsningfiToggle active window shadedOta käyttöön aktiivinen varjostettu ikkunaplIncrease window opacityZwiększ nieprzezroczystość oknasvMount PointMonteringspunktruShiverДрожаниеzh_CNAdvance to next slide前进到下一个滑块esA keybinding that when invoked, will run the shell command identified by command5Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command5pt_BRInside CubeDentro do CuboitUnredirect Fullscreen WindowsAnnulla reindirizzamento finestre a schermo interopt_BRSnapoff maximized windowsJanelas maximizadas quebradasfrWater EffectEffet d'eauafNormalNormaalplShow icon next to thumbnailWyświetl ikonę obok miniaturkiptIncrease OpacityAumentar OpacidadeptGo back to previous slideVoltar ao slide anteriorcsRotate to face 4 and bring active window alongOtočit na stranu 4 a vzít aktivní okno s sebousvDarken BackgroundMörka bakgrundenzh_TWSnapoff and auto unmaximized maximized windows when dragging在拖曳已最大化視窗時為其解除嵌入和自動解除最大化plNumber of DesktopsIlość pulpitówsvFade in windows when mapped and fade out windows when unmappedTona in fönster när de kopplas och tona ut fönster när de kopplas lossesWindow DecorationDecoración de ventanaszh_CNEnable pointer water effects启用指针水纹效果deRotate desktop cubeDesktop-Würfel drehenpt_BRShow Run Application dialogMostrar caixa de diálogo Executar AplicativojaBrightness明るさzh_CNLayout and start transforming windows布局和开始转换窗口csFlip to next viewport when moving pointer to screen edgePřeklopit na další viewport při umístění ukazatele na hranici obrazovkyitDecrease window opacityRiduci opacità finestrafrTime (in ms) before scale mode is terminated when hovering over a windowTemps (en ms) avant que le mode échelle soit terminé lors du survol au-dessus d'une fenêtrecaDrop shadow X offsetDesplaçament en X de l'ombra descendenthuAnimate SkydomeKupola animálásaruSwitcher timestepКвант времени переключателяpt_BRMinimize active windowMinimizar janela ativadaFlip to right viewport and warp pointerVend til højre visningsområde, og bevar markøren på dens nuværende relative placering på skærmenzh_TWSnap To Top Face嵌入至頂面esDesktop CubeCubo de escritoriofiInitiate Window Picker For Windows on Current OutputAlusta ikkunavalitsin tämänhetkisen kohteen ikkunoillehuWobbly WindowsImbolygó ablakokruAmount of brightness in percentУровень яркости в процентахsvCommand line to be executed in shell when run_command7 is invokedKommandorad som ska köras i ett skal när run_command7 anropaszh_CNMinimize Effect最小化效果csA keybinding that when invoked, will run the shell command identified by command4Klávesové zkratky, které spustí příkaz určený command4zh_CNZoom and pan desktop cube缩放和桌面立方体ruWobble effect when maximizing and unmaximizing windowsЭффект вязкости при развертывании и свертывании оконesInside CubeCubo interiorcaAutomatic detection of refresh rateDetecció automàtica de la freqüència d'actualitzaciófiPopup switcher if not visible and select next windowTuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse seuraava ikkunapt_BRSnap InvertedFechar InvertidaitInverted window snappingAggancio finestre invertitocaInvert Y axis for pointer movementInverteix l'eix Y per al moviment del punterpt_BRMaximize active windowMaximizar janela ativaelUnknownΆγνωστοitIncrease OpacityAumenta opacitàjaHide all windows and focus desktopすべてのウィンドウを非表示にし、デスクトップをフォーカスfrTexture FilterFiltre de texturejaToolbarツールバーfrHide all windows and focus desktopMasquer toutes les fenêtres et focus du bureaucaList of currently active pluginsLlista dels connectors actius actualmentptGrid ResolutionResolução de Gradept_BRUnmaximize active windowDesmaximizar janela ativaplUnknownNieznanefrDelay (in ms) between each rain-dropDélai (en ms) en chaque goutte de pluiedaAdd lineTilføj linjept_BRRotate ToGirar paracaToggle Window Maximized VerticallyCommuta la finestra maximitzada verticalmentplScale images to cover top face of cubeSkaluj obrazki przykrywające górną ścianę kostkizh_TWEnable pointer water effects啟用指標水波特效jaRotate Left左に回転esRotate Right with WindowGirar a la derecha con ventanazh_CNPopup switcher if not visible and select next window out of all windows不可见时弹出切换程序并选择所有窗口的下一个窗口ptFullscreen fade effect on system beepEfeito de esmaecimento de tela inteira ao som de bip do sistemapt_BRRun command 6Executar comando 6esSpring KonstantConstante de tensióndaShadow Offset YSkyggeforskydning YhuDirectoryKönyvtárdaLayout and start transforming window groupArranger og start omdannelsen af vinduesgruppencsNormalBěžnáesLayout and start transforming windows on current outputDiseñar y empezar a transformar las ventanas de la salida actualcaGrid ResolutionResolució de la graellaruRefresh RateЧастота обновленияcsRun DialogSpustit dialogitLayout and start transforming window groupDispone e avvia la trasformazione del gruppo di finestreitCommand line to be executed in shell when run_command8 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command8pt_BRCommand line 11Linha de comando 11huDetect OutputsKimenetek észlelésedeCommandKommandoplRaise WindowPodnieś oknocsIncrease OpacityZvýšit krytízh_TWDrop shadow Y offset投影 Y 軸偏移frRotate To Face 5Rotation vers la face 5daFlip to next viewport when moving window to screen edgeVend til næste visningsområde, når vinduet flyttes til skærmens kantcaShow minimized windowsMostra les finestres minimitzadesdeRotate To Face 3 with WindowDrehen zu Fläche 3 mit Fensterzh_TWRotate to face 5往面 5 旋轉svShadow Offset YSkuggposition Yzh_TWPopup switcher if not visible and select next window out of all windows看不到切換器時快顯切換器,並從所有視窗選取下一個視窗zh_CNRotation Acceleration旋转加速csZoom TimestepČasový krok přiblíženíptAdds water effects to different desktop actionsAdiciona efeitos aquáticos a diferentes ações da área de trabalhodeGenerate mipmaps when possible for higher quality scalingWenn möglich für präzise Skalierung Mipmaps erstellenruFold AccelerationУскорение свертыванияfiFullscreenKokoruutucaInside cubeInterior del cubesRotate To Face 11Girar hacia el 11zh_CNRotate to face 5旋转到第 5 面daRaise selected windows after intervalHæv de valgte vinduer efter intervalzh_CNRotate to face 4 and bring active window along旋转到第 4 面并带来活动窗口svPing DelayFördröjning för pingesToggle active window maximized horizontallyActiva o desactiva la ventana activa maximizada horizontalmenteptSaturationSaturaçãoguUnknownઅજાણીplStroke color for annotationsKolor pędzla przy rysowaniuplDraw using toolRysowanie na pulpiciefrRun command 10Exécuter la commande 10jaRun command 2ランコマンド2fiWobble effect when maximizing and unmaximizing windowsHuojumistehoste ikkunan kokoa muutettaessajaA keybinding that when invoked, will run the shell command identified by command6呼び出し時にcommand6により識別されたシェルコマンドを実行するキーバインドplEdge Flip DnDPrzełączanie krawędziami - DnDptWobble effect when maximizing and unmaximizing windowsEfeito de instabilidade ao maximizar e desmaximizar janelasptMinimize EffectMinimizar Efeitopt_BRRotate to face 2Girar para a face 2jaAdvance to next slide次のスライドに進むptShadow Offset YDeslocamento Y da SombrafiLower WindowLaske ikkunaruSpace between windowsРасстояние между окнамиcsSpring FrictionTření pružinyjaMinimized最小化daShow Main MenuVis hovedmenuesDetect Refresh RateDetectar frecuencia de actualizaciónjaRaise On Clickクリックして上げるesBring selected window to frontArrastra la ventana seleccionada al primer planozh_TWRotate to face 10 and bring active window along往面 10 旋轉並隨同作用中視窗一起旋轉zh_TWWindow Decoration視窗裝飾caScale speedCanvia la velocitatitTransform windows when they are minimized and unminimizedTrasforma finestre quando ridotte a icona e ripristinatefiEdge Flip PointerOsoittimella aktivoituvat työpöydän reunatfiRotate to face 9Käännä työpöydälle 9pt_BRIconÍconeplClose WindowZamknij oknodaOpen window menuÅbn vinduesmenuendaPopupMenuPop op-menufiList of PNG and SVG files that should be rendered on top face of cubeLista kuution päälle asetettavista PNG- ja SVG-tiedostoistacsSkydome Gradient End ColorKonečná barva gradientu nebeské báněcaMake window shiverFes estremir la finestrafiRotate to face 6 and bring active window alongKäännä työpöydälle 6 ja pidä aktiivinen ikkuna mukanahuNormalSzokványosdaAccelerationAccelerationsvCommand line 0Kommandorad 0zh_CNDesktop Cube桌面立方体fiRotate To Face 9Käännä työpöydälle 9fiMaximize Window HorizontallySuurenna ikkunaa vaakatasossazh_CNRun command 2运行命令 2fiUnfold cubeLevitä kuutiozh_TWRotate To Face 8 with Window隨視窗往面 8 旋轉ptCommand line to be executed in shell when run_command7 is invokedLinha de comando a ser executada no shell quando run_command7 for acionadozh_CNMaximize active window horizontally水平方向最大化活动窗口csA keybinding that when invoked, will run the shell command identified by command7Klávesové zkratky, které spustí příkaz určený command7itVertical Virtual SizeDimensioni virtuali verticalicaFold AccelerationAcceleració de plegamentcsToggle rainPřepnout déšťzh_CNSelect next window选择下一个窗口daTake a screenshot of a windowTag et skærmbillede af et vinduefiFrictionKitkaptFlip to next viewport when moving window to screen edgeInverter para o viewport seguinte ao mover a janela para a borda da telafrResize WindowRedimensionner la fenêtrecsFade SpeedRychlost blednutídeRaise windows when clickedFenster durch Anklicken in Vordergrund verschiebencaFade effect on system beepEfecte d'esvaïment amb avís sonor del sistemafrHorizontal Virtual SizeTaille virtuelle horizontalejaDelay (in ms) between each rain-drop各水滴間の遅延時間(ms)zh_CNAutomatic detection of output devices自动检测输出设备zh_TWCube Color立方體色彩zh_TWConstrain Y等比縮放 Y 軸huMinimize active windowAktív ablak minimalizálásajaInitiate Window Pickerウィンドウピッカーを起動deMove WindowFenster verschiebensvPlane to face 5Plana till yta 5zh_CNZoom Timestep缩放时间区间deA keybinding that when invoked, will run the shell command identified by command3Eine Tastenbelegung, die den durch Befehl 3 festgelegten Shell-Befehl ausführtpt_BRZoomZoomfrWindow fade speedVitesse de fondu de la fenêtrehuRotation TimestepForgatás időközehuPopupMenuFelbukkanóMenüdaStart moving windowStart flytning af vinduezh_CNRun command 5运行命令 5frRun DialogBoîte de dialogue d'exécutionhuBrightnessFényerőesWater EffectEfecto acuáticocsCube ColorBarva kostkyzh_TWNotification通知plRotate desktop cubeObróć kostkę pulpitufrRotate to face 11Rotation vers la face 11huFold AccelerationHajtás gyorsulásaruLayout and start transforming windows on current outputКомпоновка и запуск преобразования окон текущего устройства выводаitDelay (in ms) between each rain-dropRitardo (in ms) tra due gocce di pioggiadaRotation TimestepTidstrin for rotationdeRotate to face 4Drehen zu Fläche 4svRotate to face 6 and bring active window alongRotera till yta 6 och ta med aktivt fönsteresApplication SwitcherConmutador de aplicacionessvWave effect from window titleVågeffekt från fönstrets titellistdaRotate rightRoter til højrecaResize windowCanvia la mida de la finestrasvGenerate mipmaps when possible for higher quality scalingGenerera mipmappar när det är möjligt för skalning av högre kvalitetpt_BRRotate CubeGirar CubodaWorkaroundsLøsningercsAudible system beepSlyšitelné systémové pípnutízh_CNEdge Flip DnD边缘翻转 DnDfiShiverVärinäcsFold TimestepČasový krok sbaleníruModalDialogМодальное диалоговое окноruFrictionТрениеcaPointPuntesSpace between windowsEspacio entre ventanasptRotate to face 12 and bring active window alongGirar para a face 12 e trazer a janela ativa juntocsHover TimeČas vznášenízh_TWAudible Bell聲訊鈴聲zh_CNToolbar工具栏svScreenshot pluginInsticksmodul för skärmbildpt_BRResize windowRedimensionar janelacsRotate To Face 2Otočit na stranu 2csCommand line to be executed in shell when run_command2 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command2caPopup switcher if not visible and select next windowFa sortir el canviador si no està visible i selecciona la finestra següentdeRotate To Face 10 with WindowDrehen zu Fläche 10 mit FensterfiBring selected window to frontTuo valittu ikkuna etualallesvColor of top and bottom sides of the cubeFärg på över- och undersidorna av kubensvInitiateInitierahuDecrease OpacityÁtlátszatlanság csökkentéseptRaise windows when clickedElevar janelas quando clicadasjaDockドックdaRotate Right with WindowRoter til højre med vindueitShow icon next to thumbnailMostra icona accanto a miniaturaesRotate To Face 8Girar hacia el 8ruMove WindowПереместить окноfrRotate to face 11 and bring active window alongRotation vers la face 11 avec la fenêtre activecsDecrease window opacitySnížit krytí okencaDndDndzh_CNRaise selected windows after interval在以下间隔后上升选中窗口pt_BRMinimize WindowMinimizar JanelahuHorizontal Virtual SizeVízszintes virtuális mérethuFold SpeedHajtás sebességedePopup switcher if not visible and select previous window out of all windowsPopup-Schalter, wenn nicht sichtbar, und von allen Fenstern vorheriges Fenster auswählendaAmount of brightness in percentLysstyrken angivet i procentpt_BRRaise selected windows after intervalElevar janelas selecionadas após intervalozh_TWAnimate Skydome顯示天空頂動畫huOutputsKimenetekhuInitiate rectangle screenshotTéglalap képernyőkép készítésecsMinimum Grid SizeMinimální velikost mřížkycaInitiate Window MoveInicia el moviment de la finestraitToggle Window ShadedAlterna finestra ombreggiataruGrid ResolutionРазрешение решеткиplAlpha BlurRozmycie alfapt_BRRotate To Face 11 with WindowGirar para a Face 11 com JanelaplInitiateInicjujzh_CNSwitcher speed切换程序速度fiDrop shadow radiusHylkää varjon sädesvDrop shadow radiusRadie för skuggkastningsvRotate To Face 7Rotera till yta 7pt_BRRotate to face 9Girar para a face 9ruDesktopРабочий столfrRotate To Face 10Rotation vers la face 10svRun command 9Kör kommando 9csRun command 4Spustit příkaz 4huToggle wiper effect"Ablaktörlő" effektus kapcsolócaToggle wiper effectCommuta l'efecte de l'eixugaparabrisesdaDndTræk-og-slipesHide Skip Taskbar WindowsOcultar ventanas omitidas de barra de tareasjaCommand line to be executed in shell when run_command7 is invokedrun_command7の呼び出し時にシェルで実行されるコマンドラインplWobble effect when maximizing and unmaximizing windowsEfekt drgania podczas maksymalizacji i demaksymalizacji okienplPlane leftPłaszczyzna z lewej stronycsOutputsVýstupyhuLayout and start transforming all windowsElrendezés és ablaktranszformáció indításafrToggle active window maximized horizontallyBasculer la fenêtre active agrandie horizontalementjaRotate to face 3面3に回転ruDistance desktop should be zoom out while switching windowsПри переключении окон рабочий стол на заднем плане должен быть уменьшенitShow the main menuMostra menu principalefrRun command 8Exécuter la commande 8ruDrop shadow X offsetСмещение отбрасываемой тени по оси Xzh_TWRotate To Face 10往面 10 旋轉fiSync To VBlankSynkronoi VBlankiinptDarken background when scaling windowsEscurecer segundo plano ao dimensionar janelasjaFlip Time時間のフリップhuTransform windows when they are minimized and unminimizedAblakok transzformációja ikonizáláskor és visszaállításkoresToggle Window Maximized VerticallyActivar o desactivar ventana maximizada verticalmenteruLayout and start transforming windowsКомпоновка и запуск преобразования оконsvAudible BellLjudklockadeMap Window EffectFenstereffekt zuordnendaDefault window icon imageStandardbillede til vinduesikonptPointer Invert YInverter Y com o PonteirosvScale speedSkalningshastighetjaSync To VBlank垂直ブランクに同期化jaWindow decorationsウィンドウ装飾frMaximize Window HorizontallyOptimiser la fenêtre horizontalementhuRotate Right with WindowForgatás jobbra az ablakkal együttcsRotate to face 10Otočit na stranu 10zh_CNOnly perform screen updates during vertical blanking period垂直清屏期间仅执行屏幕更新zh_TWZoom縮放huImage filesKépfájlokdaInitiate Window MoveStart vinduesflytningzh_TWResize Window調整大小視窗svCommand line 7Kommandorad 7plShadow Offset XPrzesunięcie cienia - współrzędna XcaStart moving windowComença el moviment de la finestrafiWobbly WindowsHuojuvat ikkunatcsModalDialogModální dialogové oknohuSnapoff and auto unmaximized maximized windows when draggingAz ablakok azonnali, automatikus visszaállítása azok mozgatásakorjaCommand line to be executed in shell when run_command6 is invokedrun_command6の呼び出し時にシェルで実行されるコマンドラインfrCommand line 8Ligne de commande 8jaToggle Window Maximized最大化されたウィンドウを切り替えpt_BRClose active windowFechar a janela ativadeRotate To Face 11Drehen zu Fläche 11itWindow fade speedVelocità dissolvenza finestraruMaximize Window VerticallyРазвернуть окно вертикальноhuAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsA teljes méretű ablakok nem irányíthatók át képen kívüli pixeltérképekreesUnfold cubeDespliega el cubozh_CNWindow decorations窗口装饰pt_BRCommand line to be executed in shell when run_command3 is invokedLinha de comando a ser executada no shell quando run_command3 for acionadoesIncrease window opacityAumenta la opacidad de la ventanaptAnimate SkydomeAnimar SkydomecsRotate ToOtočit naptRotate To Face 12Girar para a Face 12zh_TWLayout and start transforming window group配置並開始轉換視窗群組itLayout and start transforming windows on current outputDispone e avvia la trasformazione delle finestre nell'output correntefiImage to use as texture for the skydomeTaivaana käytettävä kuvacaInitiate Window Picker For Windows on Current OutputInicia el seleccionador per a les finestres de la sortida actualpt_BRCommand line to be executed in shell when run_command1 is invokedLinha de comando a ser executada no shell quando run_command1 for acionadojaMaximize active window horizontallyアクティブなウィンドウを水平方向に最大化するitHide Skip Taskbar WindowsNascondi finestre della barra delle applicazioni di tralasciamentodaSkydome Gradient End ColorSlutfarve til himmelkuplens farvegradueringpt_BRRotate To Face 8 with WindowGirar para a Face 8 com JanelaptClose WindowFechar JanelafiZoom and pan desktop cubeZoomaa ja panoroi työpöytäädaNotificationBeskedfiShow Main MenuNäytä päävalikkoruFocus EffectЭффект фокусировкиjaOpacity不透明度zh_CNRotate To Face 4 with Window旋转到带窗口的第 4 面svLayout and start transforming windowsLägg ut och påbörja fönstertransformeringruClick To FocusЩелкните для передачи фокусаjaSwitcher speedスイッチャ速度ruSync To VBlankСинхронизировать с VBlankdeMinimizedMinimiertplResize WindowZmień rozmiar oknahuRotate rightJobbra forgatászh_TWUtility公用程式caWindow MenuMenú de la finestrahuMap EffectTérkép effektussvZoom and pan desktop cubeZooma och panorera skrivbordskubitCommand line to be executed in shell when run_command4 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command4deRun command 11Befehl 11 ausführencsSlow AnimationsPomalé animacesvScale windowsSkala fönsterruVertex Grid ResolutionРазрешение решетки на вершинахcsTimestepČasový krokjaMaximize active window verticallyアクティブなウィンドウを垂直方向に最大化するptRotate To Face 8Girar para a Face 8huRotation AccelerationForgatás gyorsulásafrPrev windowFenêtre précédentesvMaximize active window verticallyMaximera aktivt fönster vertikaltpt_BRDockAncorardeZoomZoomzh_TWFade in windows when mapped and fade out windows when unmapped在映射時淡入視窗,以及在解除映射時淡出視窗deAdd pointPunkt hinzufügenzh_TWRotate To Face 2往面 2 旋轉frRun command 4Exécuter la commande 4zh_TWMaximize active window horizontally將作用中視窗水平最大化plTransform windows when they are minimized and unminimizedPrzekształcaj okna podczas minimalizacji i cofania minimalizacjiptMinimum Grid SizeTamanho Mínimo da GradejaFullscreen fade effect on system beepシステムビープ音の全画面フェード効果ptToggle active window maximizedAlternar janela ativa maximizadasvGrab WindowsFånga fönsterfrDecrease window opacityRéduire l'opacité de la fenêtreruRaise windows when clickedВызов окон щелчкомfrRotate to face 4Rotation vers la face 4frToggle Window Maximized VerticallyBasculer la fenêtre agrandie verticalementzh_TWSpacing間距ruVertical Virtual SizeВиртуальный размер по вертикалиitInitiate Window PickerAvvia Selettore finestrept_BRRotate to face 10 and bring active window alongGirar para a face 10 e trazer a janela ativa juntozh_TWMinimum Grid Size最小格線大小plPulse effectEfekt pulsowaniacsTake a screenshot of a windowPořídit snímek oknaitOnly perform screen updates during vertical blanking periodEsegui aggiornamenti schermata solo durante periodo di lampeggiamento verticalecsA keybinding that when invoked, will run the shell command identified by command5Klávesové zkratky, které spustí příkaz určený command5zh_CNNotification通知pt_BRSync To VBlankSincronização para o VBlankcsRotate to face 8 and bring active window alongOtočit na stranu 8 a vzít aktivní okno s seboufrCommand line 7Ligne de commande 7zh_TWClick on window moves input focus to it在視窗上按一下便可將輸入焦點移動到該視窗esCommand line 6Línea de comandos 6svRotate leftRotera åt vänsterplRotate Flip RightObróć i przełącz w prawoesDropdownMenuMenú desplegablefiInside cubeKuution sisäpintacsLightingSvětloplPlane rightPłaszczyzna z prawej stronyruScaleМасштабироватьruIgnore size increment and aspect hints when window is maximizedИгнорирование подсказок увеличения размеров и соотношения сторон для развернутого окнаjaInitiate開始deRotate LeftLinks drehendeCube ColorWürfelfarbeitDistance desktop should be zoom out while switching windowsÈ necessario ingrandire la distanza desktop durante il passaggio tra le finestreptMinimize WindowMinimizar Janelapt_BRSlow AnimationsAnimações LentascsCommand line to be executed in shell when run_command8 is invokedPříkaz, který se vykoná, pokud je v shellu volán run_command8huRotate ToForgatásruToggle wiperПереключить стеклоочистительdeCommand line to be executed in shell when run_command7 is invokedDie Kommandozeile, die bei Ausführung von run_command7 in der Shell ausgeführt wirdjaInitiate Window Moveウィンドウの移動を開始pt_BRWobbly WindowsJanelas InstáveisjaInside cubeキューブ内部huMove windowAblak mozgatásasvList of PNG and SVG files that should be rendered on top face of cubeLista över PNG- och SVG-filer som ska ritas ut på översta ytan av kubensvOpen window menuÖppna fönstermenysvDecoration windowsDekorationsfönsterpt_BRFade SpeedVelocidade de EsmaecimentoruMaximize active window horizontallyРазвертывание активного окна горизонтальноdaSnap windowsFastgør vinduerdeFade in windows when mapped and fade out windows when unmappedFenster beim Zuordnen einblenden, beim Aufheben der Zuordnung ausblendencaDecrease OpacityRedueix l'opacitatjaToggle Window Maximized Vertically垂直方向に最大化されたウィンドウを切り替えdeRaise window above other windowsFenster vor andere Fenster verlagernhuScale timestepMéretezés időközefiRender skydomeNäytä taivasfiEnable pointer water effectsOta käyttöön osoittimen vesitehosteetcaClick on window moves input focus to itEn fer clic a la finestra, aquesta rep el focus d'entradazh_CNIcon图标jaToggle use of slow animationsスロー再生アニメーション使用の切り替えzh_CNSkydome Gradient End Color背景渐变结束颜色zh_TWIncrease Opacity提高不透明度huAudible BellHallható csengőesCommand line 5Línea de comandos 5csOverlay IconPřekrýt ikonoudaSpring KFjeder-Kzh_TWRotate To Face 5 with Window隨視窗往面 5 旋轉jaUnknown不明itAdd pointAggiungi puntoitTimeout before flipping viewportTimeout prima di capovolgimento riquadro di visualizzazionedaLayout and start transforming windowsArranger og start omdannelsen af vinduernefrInitiate Window ResizeLancer le redimensionnement de fenêtredeInside cubeIn Würfelpt_BRRotate To Face 10 with WindowGirar para a Face 10 com Janelazh_TWPrev window上一個視窗ptFrictionAtritodeCommand line 11Kommandozeile 11ruInvert Y axis for pointer movementИнвертировать ось Y для перемещений курсораitSwitcher speedVelocità selettorefiSwitcher timestepVaihtaja-aikavälifrRotate to face 3Rotation vers la face 3daInside CubeKubus indvendigdaTimeout before flipping viewportDen tid, der går, inden visningsområdet skifterzh_CNCommand line 9命令行 9csScale windowsŠkálovat oknazh_CNApplication Switcher应用程序转换开关itGo back to previous slideTorna a diapositiva precedentefrMipmapMipmapruZoom OutУвеличитьzh_CNWobbly Windows颤动的窗口frRaise selected windows after intervalRemonter les fenêtres sélectionnées après l'intervalleitWindow placement workaroundsAlternative posizionamento finestredaFocus Window EffectEffekt ved fokus på vinduercsShow Run Application dialogZobrazit dialog spouštění aplikaceplUse diffuse light when screen is transformedUżywaj rozproszonego światła podczas przekształceń ekranucsAdd pointPřidat bodzh_CNRotate to face 7 and bring active window along旋转到第 7 面并带来活动窗口deLower WindowFenster nach unten verschiebenplLower WindowObniż oknocsVisual BellVizuální zvonekzh_CNBring selected window to front将选中的窗口放在前面itMipmapMipmapzh_CNShow the main menu显示主菜单deTexture filteringTexturfilterpt_BRCommand line 6Linha de comando 6esRotate to face 3 and bring active window alongGira hacia el 3 y arrastra la ventana activacsRaise window above other windowsPřesunout okno nad ostatní oknafiCommand line 4Komentorivi 4csColor to use for the top color-stop of the skydome-fallback gradientBarva, která se použije na horní část gradientu nebeské báně.caEdge Flip MoveMoviment d'inversió de vorasvPlane to face 12Plana till yta 12svRotate ToRotera tilljaSpace between windowsウィンドウ間のスペースplInitiate rectangle screenshotRozpocznik prostokątny zrzut ekranuhuInitiate Window Picker For Window GroupAblakválasztó indítása ablakcsoporthozptRotate To Face 7Girar para a Face 7huFrictionSúrlódásdeAutomatic detection of refresh rateAutomatische Erkennung der Aktualisierungsratezh_TWInvert Y axis for pointer movement指標移動時反轉 Y 軸svCommand line 6Kommandorad 6svPlane To Face 5Plana till yta 5jaRotate To Face 7 with Windowウィンドウと一緒に面7に回転zh_TWA keybinding that when invoked, will run the shell command identified by command3啟用時將執行經 command3 識別之外圍程序指令的按鍵組合ruDecrease OpacityУвеличить прозрачностьfiPopup switcher if not visible and select previous window out of all windowsTuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse edellinen ikkuna kaikista ikkunoistaruPopup switcher if not visible and select previous window out of all windowsОтображение переключателя (если он невидим) и выбор предыдущего окна из всех имеющихсяfrWindow placement workaroundsSolution de placement de fenêtrecsRotate CubeOtočit kostkoujaRotate To Face 3面3に回転pt_BRInvert Y axis for pointer movementInverter o eixo Y para movimento do ponteirocsLineČáraruSpring KK упругостиjaTimeout before flipping viewportビューポートフリップのタイムアウトpt_BRRotate to face 10Girar para a face 10deTake a screenshot of a windowBildschirmfoto von Fenster aufnehmendaFocus EffectFokuseffektplFading WindowsPłynne pojawianie się/zanikanie okiensvOpacity level of moving windowsOpaknivå för flyttande fönsterptRefresh RateTaxa de AtualizaçãodeA keybinding that when invoked, will run the shell command identified by command9Eine Tastenbelegung, die den durch Befehl 9 festgelegten Shell-Befehl ausführtsvZoom TimestepTidsintervall för zoomhuNumber of DesktopsMunkaasztalok számajaAdds water effects to different desktop actions異なるデスクトップアクションに水効果を追加するesShow minimized windowsMuestra ventanas minimizadasfiTitle waveOtsikon aaltoplSpring KWspółczynik sprężystościfrRotate To Face 4 with WindowRotation vers la face 4 avec la fenêtrecsComboPole se seznamemitCommand line 9Riga di comando 9svSpeedHastighetsvRotate to face 6Rotera till yta 6plSkydomeTło dla kostkisvShadow Offset XSkuggposition Xzh_CNRotate Cube旋转立方体caRun DialogDiàleg d'execucióplWindow screenshot command linePolecenie zrzutu oknafrVertex Grid ResolutionRésolution de la grille de sommetptRun command 5Executar comando 5fiShade resistanceVarjon vastussaumafiFold AccelerationKiihdytyskerroinjaClose Windowウィンドウを閉じるzh_TWMaximize active window最大化作用中視窗daSensitivity of pointer movementDet følsomhedsniveau, der skal anvendes til markørbevægelsernefrDialogDialogcsConstrain YOmezení YjaConstrain YYをコンストレインpt_BRLower window beneath other windowsJanela mais baixa sob as demais janelasesMaximize active window horizontallyMaximiza la ventana activa horizontalmentedaTexture FilterTeksturfilterruFading WindowsПроявление/исчезание оконjaPopup switcher if not visible and select next window out of all windows表示されていない場合スイッチャをポップアップしてすべてのウィンドウから次のウィンドウを選択daShow minimized windowsVis minimerede vinduerzh_CNPlace windows at appropriate positions when mapped映射时将窗口放置在适当位置esRotate To Face 9Girar hacia el 9frA keybinding that when invoked, will run the shell command identified by command3Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command3fiCommand line 8Komentorivi 8zh_CNDesktop桌面plLineLiniaitAdd lineAggiungi lineaptConstrain Y coordinate to workspace areaRestringir a coordenada Y conforme a área de trabalhodeSnap To Top FaceAn Oberseite einrastenjaRotate to face 12 and bring active window along面12に回転して、アクティブなウィンドウを移動zh_TWDrop shadow opacity投影半徑不透明度esMinimize active windowMinimiza la ventana activazh_CNFlip to next viewport when dragging object to screen edge将对象拖至屏幕边缘时翻转到下个视点ruStart RotationЗапуск вращенияhuSnapoff maximized windowsA maximalizált ablakok azonnali visszaállításadaSkydome Gradient Start ColorStartfarve til himmelkuplens farvegradueringdaOverlay an icon on windows once they are scaledSæt et ikon på vinduerne, når de er skaleretjaRotate to face 10面10に回転ruToggle active window shadedПереключение свертывания активного окна в полоскуzh_TWRun command 3執行指令 3caDrop shadow Y offsetDesplaçament en Y de l'ombra descendentesToggle window snappingActiva o desactiva el solapamiento de ventanasruAmount of saturation in percentУровень насыщенности в процентахruToggle active window maximized horizontallyРазвертывание активного окна по горизонталиzh_CNNext window下一个窗口caRotate RightGira cap a la dretaitConstrain Y coordinate to workspace areaMantieni coordinata Y nell'area dello spazio di lavoroptVisual BellCampainha VisualruRotation AccelerationУскорение вращенияfiRun command 1Suorita komento 1svRotate to face 12Rotera till yta 12itNext windowFinestra successivazh_CNCommand命令csFade effect on system beepEfekt blednutí při systémovém pípnutídeRotate to viewportIn Richtung Viewport drehenfrRotate To Face 3Rotation vers la face 3itRotate Flip RightRuota capovolgimento verso destrazh_CNRaise windows when clicked单击时上升窗口jaOverlay IconオーバレイアイコンplPopup switcher if not visible and select previous windowOkno przełączania gdy niewidoczne i wybór poprzedniego oknaplShade resistanceOpór cieniowaniadaRaise On ClickHæv ved klikplRotation SpeedSzybkość obrotuhuRotate Flip LeftForgatás balraesToggle rainActiva o desactiva la lluviadeRotate to face 12 and bring active window alongDrehen zu Fläche 12 und aktives Fenster mitführensvRotate To Face 1 with WindowRotera till yta 1 med fönsteritCommand line to be executed in shell when run_command10 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command10plAutomatically open screenshot in this applicationAutomatycznie otwiera zrzut ekrany w tym programiesvRun command 3Kör kommando 3huUtilitySegédprogrampt_BRMaximize WindowMaximizar JanelajaMap Effect効果のマップzh_TWFilter Linear線性過濾器caFlip to right viewport and warp pointerInverteix cap a l'àrea de visualització dreta i deforma el punterdeWindow placement workaroundsFensterplatzierungs-Workaroundspt_BRZoom DesktopAproximar Área de TrabalhohuColor to use for the top color-stop of the skydome-fallback gradientA kupola tartalék színátmenet felső színállomásához használandó színhuFlip to next viewport when moving window to screen edgeEgy ablak kép szélére húzása esetén forgatás a következő nézőpontigsvToggle active window shadedVäxla skuggning av aktivt fönsterptLightingIluminaçãofrFade SpeedVitesse de fondufrMaximize active window verticallyOptimiser la fenêtre active verticalementdeA keybinding that when invoked, will run the shell command identified by command1Eine Tastenbelegung, die den durch Befehl 1 festgelegten Shell-Befehl ausführtcsStart resizing windowZahájit změnu velikosti oknajaAutomatic detection of output devices出力デバイスの自動検出fiToggle wiper effectOta käyttöön pyyhkijätehostept_BRA keybinding that when invoked, will run the shell command identified by command3Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando3huZoomNagyításruPlace windows at appropriate positions when mappedПри отображении разместите окна в нужных местахjaDarken background when scaling windowsウィンドウのスクロール時に背景を暗くするjaCommand line 4コマンドライン4svRotate LeftRotera åt vänsterfrNumber of DesktopsNombre de bureauxdaSelect next windowVælg næste vinduefrWobble effect when maximizing and unmaximizing windowsEffet de déformation lors de la réduction et de l'agrandissement des fenêtresdeRotate To Face 3Drehen zu Fläche 3jaCommand line to be executed in shell when run_command4 is invokedrun_command4の呼び出し時にシェルで実行されるコマンドラインdeConstrain YY einschränkencsRefresh RateObnovovací frekvencezh_CNShadow Offset Y阴影偏移 YhuIgnore size increment and aspect hints when window is maximizedMéretnövelési és méretezési tanácsok figyelmen kívül hagyása ha az ablak maximális méretűsvOffset ScalePositionsskalazh_TWScale windows調整視窗比例csMap Window EffectEfekt mapování okensvPositioned windowsPositionerade fönsteresSpacingEspaciadoruShow Run Application dialogОтображение диалогового окна запуска приложенияzh_TWFlip Time翻轉時間itTexture FilterFiltro texturejaRotate Left with Windowウィンドウと一緒に左に回転jaEdge Flip Moveエッジフリップ移動svA keybinding that when invoked, will run the shell command identified by command1En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando1deColor to use for the bottom color-stop of the skydome-fallback gradientFarbe, die unten im Skydome-Fallback-Verlauf verwendet werden sollitToggle rainAlterna pioggecsAuto-Raise DelayProdleva automatického přesunu do popředíhuAutomatically open screenshot in this applicationA automatikus indítása bejelentkezéskorhuBring selected window to frontA kijelölt ablak az előtérbe hozásahuPut screenshot images in this directoryKépernyőképek elhelyezése ebbe a könyvtárbapt_BRAutomatic detection of refresh rateDetecção automática da taxa de atualizaçãohuBring To FrontElőrehozásitSkydome Gradient End ColorColore sfumato fine skydomefiAnimate SkydomeAnimoi taivasplEdge Flip MovePrzełączanie krawędziami - przenoszenieitShow Main MenuMostra menu principalefiA keybinding that when invoked, will run the shell command identified by command9Tunnisteen command9 mukaisen komennon suorittava näppäinyhdistelmäsvShadow ColorSkuggfärgplToolbarPasek narzędzideRotate Left with WindowLinks drehen mit FensterdeMove windowFenster verschiebenzh_TWMaximize active window vertically將作用中視窗垂直最大化jaToggle window snappingウィンドウスナップの切り替えzh_CNRotate Right顺时针旋转itRun command 2Esegui comando 12esRotate To Face 6 with WindowGirar hacia el 6 con ventanafrEdge Flip MoveRotation de côté - DéplacementbgNormalНормалнаptSpeedVelocidadecsVertex Grid ResolutionRozlišení vrcholů mřížkyzh_TWModalDialogModalDialogdaLayout and start transforming windows on current outputArranger og start omdannelsen af vinduer i det aktuelle outputområderuStart resizing windowЗапуск изменения размеров окнаptA keybinding that when invoked, will run the shell command identified by command10Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando10zh_TWRotate To Face 6 with Window隨視窗往面 6 旋轉plPopupMenuMenu kontekstoweplShow Run Application dialogWyświetl okno dialogowe "Uruchom program"itColor to use for the top color-stop of the skydome-fallback gradientColore da utilizzare per l'interruzione del colore superiore della sfumatura in uscita skydomehuColor of top and bottom sides of the cubeA kocka alsó és felső oldalának színeitDefault window icon imageImmagine icona finestra di defaultcaRaise selected windows after intervalEleva les finestres seleccionades un cop transcorregut l'intervalzh_CNRun command 11运行命令 11pt_BRCommand line to be executed in shell when run_command5 is invokedLinha de comando a ser executada no shell quando run_command5 for acionadojaLayout and start transforming all windows配列してすべてのウィンドウの変換を開始するcaScale images to cover top face of cubeCanvia la mida de les imatges per a cobrir la cara superior del cubplOpacity StepKrok nieprzezroczystościitA keybinding that when invoked, will run the shell command identified by command9Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command9deRotate To Face 6 with WindowDrehen zu Fläche 6 mit FensterptRotate to face 4Girar para a face 4esToggle rain effectActiva o desactiva el efecto de lluviacaMaximize EffectEfecte de maximitzarzh_TWList of PNG and SVG files that should be rendered on top face of cube應該要描繪至立方體頂面的 PNG 和 SVG 檔案清單ltUnknownNežinomapt_BRFocus Window EffectEfeito do Destaque de JanelasruIconЗначокplTimeout before flipping viewportCzas przed przełączeniem widokuplAnnotate Fill ColorKolor wypełnieniapt_BRCommand line to be executed in shell when run_command9 is invokedLinha de comando a ser executada no shell quando run_command9 for acionadohuMipmapMIP térképsvRotation SpeedRoteringshastighethuConstrain Y coordinate to workspace areaY koordináta-megszorítás a munkafelületreesRotate To Face 4 with WindowGirar hacia el 4 con ventanazh_CNColor to use for the top color-stop of the skydome-fallback gradient背景降色渐变使用的顶部结束颜色itToggle use of slow animationsAlterna uso di animazioni lenteesTimeout before flipping viewportTiempo límite antes de invertir viewportcaSpacingEspaiathuSwitcher speedVáltás sebességeesAdd lineAñadir líneaesInitiate Window Picker For Window GroupIniciar selector de ventanas para un grupo de ventanasjaInverted window snapping反転されたウィンドウをスナップplIconIkonazh_TWMinimum Vertex Grid Size最小頂點格線大小ptA keybinding that when invoked, will run the shell command identified by command4Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando4svImage to use as texture for the skydomeBild att använda som textur för skydomesvWindow screenshot command lineKommandorad för fönsterskärmbildfrFrictionFrictionesAmount of brightness in percentPorcentaje de brillozh_CNRotate To Face 9旋转到第 9 面pt_BRRun command 10Executar comando 10plPointPunktplMaximize WindowMaksymalizuj oknozh_TWRotate To Face 9 with Window隨視窗往面 9 旋轉esColor to use for the top color-stop of the skydome-fallback gradientColor utilizado para la parada de color superior del degradado de vuelta atrás de la cúpulafrPopup switcher if not visible and select next windowAfficher la touche de modification si elle n'est pas visible et sélectionner la fenêtre suivantept_BROverlay IconÍcone de Instalação Sobrepostapt_BRRain DelayAtraso da Chuvapt_BRResize WindowRedimensionar JanelahuScale imageKép méretezésedaFilter LinearLineært filterfrLayout and start transforming windowsDisposer et commencer à transformer les fenêtreszh_CNTexture filtering纹理过滤itPlace windows at appropriate positions when mappedPosiziona finestre in maniera appropriata quando associatedaRotate ToRoter tilplSync To VBlankSynchronizuj z VBlankzh_CNList of PNG and SVG files that should be rendered on top face of cube应在立方体顶面显示的 PNG 和 SVG 文件列表zh_CNRotate to face 9 and bring active window along旋转到第 9 面并带来活动窗口svLightingLjussättningsvDesktop PlaneSkrivbordsplanzh_TWRun command 9執行指令 9caOpacityOpacitatplAdd lineDodaj linięesA keybinding that when invoked, will run the shell command identified by command1Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command1fiModalDialogModaalinen valintaikkunazh_CNList of strings describing output devices描述输出设备的字符串列表pt_BRShow Main MenuMostrar Menu PrincipaldeShadow Offset YSchattenversatz YcsImage to use as texture for the skydomeObrázek pro texturu nebeské báněruSnapoff and auto unmaximized maximized windows when draggingОтмена привязки и автоматическая отмена развертывания полностью развернутых окон при перетаскиванииjaUse diffuse light when screen is transformed画面の変換時に散光を使用daTimestepTidstrinesActive PluginsComplementos activosruWorkaroundsОбходные путиfrDndDndhuWindow DecorationAblakdekorációplInitiate Window Picker For Window GroupRozpocznij przeglądanie grupy okienfiRotate to face 4Käännä työpöydälle 4ptMipmapMapapt_BRIncrease window opacityAumentar opacidade da janelacaPopup switcher if not visible and select next window out of all windowsFes sortir el canviador si no està visible i selecciona la següent de totes les finestrescaTake a screenshotFes una captura de pantallahuMaximize EffectMaximalizálás effektuszh_TWSkydome Gradient End Color天空頂漸層結束色彩frColor of top and bottom sides of the cubeCouleur des côtés supérieur et inférieur du cubept_BRApplication SwitcherAlternador de AplicativositRotate to face 2 and bring active window alongRuota su faccia 2 insieme a finestra attivahuMaximize WindowAblak maximalizálásazh_CNPopupMenu弹出菜单svCommand line to be executed in shell when run_command6 is invokedKommandorad som ska köras i ett skal när run_command6 anropasjaUtilityユーティリティcaZoomZoomzh_CNToggle Window Maximized切换最大化的窗口fiPlace windows at appropriate positions when mappedAsettele ikkunat sopiville paikoille niiden ilmestyessäplOverlay an icon on windows once they are scaledNakładanie ikony na skalowane oknacsFading WindowsSlábnutí okensvClick To FocusKlicka för fokusdeWindow screenshot command lineKommandozeile für Fenster-Bildschirmfoto zh_CNShow minimized windows显示最小化的窗口ruWindow fade speedСкорость проявления/исчезания окнаdeLightingBeleuchtungfiInitiate Window Picker For Window GroupAlusta ikkunavalitsin ikkunaryhmälledeSync To VBlankMit VBlank synchronisierenjaSpring Konstantバネ定数plMinimize EffectEfekt minimalizacjipt_BRRotate to face 4Girar para a face 4fiAnimate skydome when rotating cubeAnimoi taivas työpöytäkuutiota käännettäessäzh_TWA keybinding that when invoked, will run the shell command identified by command9啟用時將執行經 command9 識別之外圍程序指令的按鍵組合deRotate to face 8Drehen zu Fläche 8csRotate To Face 11Otočit na stranu 11esLayout and start transforming window groupDiseñar y empezar a transformar un grupo de ventanasdePlace windows at appropriate positions when mappedFenster bei Zuordnung ungefähr platzierenesScale images to cover top face of cubeEscala las imágenes para que cubran la cara superior del cubocsPopup switcher if not visible and select next window out of all windowsZobrazit přepínač, pokud není viditelný, a vybrat další okno ze všech okenitFlip to next viewport when dragging object to screen edgeRifletti su finestra successiva durante il trascinamento dell'oggetto sul bordo della schermatafiMaximize active window horizontallySuurenna aktiivista ikkunaa vaakatasossaptCommand line 2Linha de comando 2svSync To VBlankSynkronisera till VBlankzh_TWCommand line to be executed in shell when run_command5 is invoked啟用 run_command5 時要在外圍程序中執行的指令行zh_TWFlip to next viewport when dragging object to screen edge將物件拖曳到螢幕邊緣時翻轉到下一個檢視區itSelect previous windowSeleziona finestra precedentept_BRA keybinding that when invoked, will run the shell command identified by command8Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando8fiRain DelaySateen viivesvResize WindowSkala fönsterptRun DialogCaixa de Diálogo Executarzh_TWRun command 6執行指令 6zh_TWRotate To Face 7 with Window隨視窗往面 7 旋轉zh_TWRotate left往左旋轉esInitiateIniciarcsFold AccelerationZrychlení sbaleníplUnfold cubeOdsłoń kostkęesShow the main menuMuestra el menú principalitClose active windowChiudi finestra attivaplZoom InPowiększfiAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsKokoruutuikkunoita ei uudelleenohjata piilotetuille pikselikartoilledeFade effect on system beepAusblendeffekt für System-WarntonsvOpen a terminalÖppna en terminalplUnmaximize WindowCofnij maksymalizację oknahuMipmap level-of-detailMipmap részletesség szintjept_BRDndDndplActive PluginsWłączone wtyczkicsRotate to face 6 and bring active window alongOtočit na stranu 6 a vzít aktivní okno s seboujaCommand line 8コマンドライン8caRotate Right with WindowGira cap a la dreta amb la finestrazh_CNDetect Refresh Rate检测刷新率huSlow AnimationsLassú animációkhuScreenshot command lineKépernyőkép parancssorzh_CNMove Window移动窗口csSpace between windowsMezera mezi oknyzh_TWHide windows not in taskbar when entering show desktop mode進入顯示桌面模式時隱藏未在工作列的視窗zh_TWStart Rotation開始旋轉esCommand line to be executed in shell when run_command2 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command2ruMake window shiverВключить дрожание окнаsvRotate to face 2 and bring active window alongRotera till yta 2 och ta med aktivt fönsterplOverlay IconIkona oknahuGo back to previous slideVisszatérés az előző diárafiGenerate mipmaps when possible for higher quality scalingLuo mipmap skaalauksen laadun parantamiseksi mikäli se on mahdollistaesRotate rightGirar a la derechafiDecorator command line that is executed if no decorator is already runningKoristelutoiminnon (Decorator) komentorivi, joka suoritetaan, jos tällaista toimintoa ei ole jo käynnissäesSkydome ImageImagen de cúpulaesMipmapMipmapesMinimize WindowMinimizar ventanaesRotate To Face 3 with WindowGirar hacia el 3 con ventanafrZoomZoomfiTransform windows when they are minimized and unminimizedAnimoi ikkunoiden pienennys ja suurennusptRotate To Face 9Girar para a Face 9zh_TWRotate To Face 3往面 3 旋轉esDecrease window opacityDisminuye la opacidad de la ventanahuOverlay IconÁtfedő ikonruRotate leftВращение влевоfrCommand line to be executed in shell when run_command1 is invokedLigne de commande à exécuter dans le shell lorsque run_command1 est appeléfrToggle active window shadedBasculer la fenêtre active ombréeesLightingIluminaciónhuInitiate Window MoveAblakmozgatás indításazh_TWToggle use of slow animations切換使用減慢動畫速度esTexture FilterFiltro de texturadeMaximize Window VerticallyFenster vertikal maximierenjaMaximize Window Horizontally水平方向にウィンドウを最大化するzh_TWWindow decorations視窗裝飾csZoom OutOddálitptWindow placement workaroundsSoluções para colocação de janelascsMenuNabídkaitRotate To Face 10 with WindowRuota su faccia 10 con finestracsSaturationSytostdePlace WindowsFenster platzierenfrInitiate Window Picker For All WindowsLancer le sélecteur de fenêtre pour toutes les fenêtreszh_CNCommand line to be executed in shell when run_command5 is invoked调用 run_command5 时,shell 中要执行的命令行itRotate To Face 10Ruota su faccia 10pt_BRPointer SensitivitySensibilidade do PonteiroruHide all windows and focus desktopСкрыть все окна и передать фокус рабочему столуitA keybinding that when invoked, will run the shell command identified by command2Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command2deA keybinding that when invoked, will run the shell command identified by command4Eine Tastenbelegung, die den durch Befehl 4 festgelegten Shell-Befehl ausführtcsVertical Virtual SizeSvislá virtuální velikostfrMenuMenudeRotate to face 5Drehen zu Fläche 5ruOutputsУстройства выводаpt_BRDecorator command line that is executed if no decorator is already runningLinha de comando de decorador a ser executada se nenhum decorador estiver em execuçãoruFilter LinearЛинейная фильтрацияjaList of strings describing output devices出力デバイスを表す文字列リストplRotate with windowObraca z oknemplWorkaroundsObejścia problemówdaFlip to next viewport when moving pointer to screen edgeVend til næste visningsområde, når markøren flyttes til skærmens kantjaMinimum Vertex Grid Size最小頂点グリッドサイズesRefresh RateFrecuencia de actualizaciónpt_BRActive PluginsPlug-ins AtivosfiAdd pointLisää pistejaRotate To Face 5 with Windowウィンドウと一緒に面5に回転zh_TWOffset Scale偏移比例plToggle rainPrzełącz deszczfiRotate To Face 3 with WindowKäännä työpöydälle 3 ikkunan kanssaitFlip TimeTempo riflessionezh_CNInside Cube立方体内huOffset ScaleEltolás skálájasvCommand line to be executed in shell when run_command4 is invokedKommandorad som ska köras i ett skal när run_command4 anropaspt_BRPointPontosvList of currently active pluginsLista över för närvarande aktiva insticksmodulerdeCommand line 2Kommandozeile 2csToolbarLišta nástrojůzh_TWCommand line 4指令行 4plOutput clone handlerZewnętrzna obsługa klonowaniahuMinimizedMinimalizálvadaShow Run Application dialogVis dialogboksen til kørsel af programjaWave effect from window titleウィンドウタイトルからウェーブ効果pt_BRRotate To Face 9Girar para a Face 9ruDefault window icon imageИзображение значка окна по умолчаниюdaPlace WindowsPlacer vinduerfiConstrain Y coordinate to workspace areaRajoita Y-koordinaatti työskentelyalueellecsAutomatic detection of refresh rateAutomatická detekce obnovovací frekvencesvWorkaroundsProblemlösningarzh_TWRotate Right with Window隨視窗往右旋轉huWater offset scaleVíz eltolás mértékehuMap Window EffectAblaktérkép-effektusdeFlip to next viewport when dragging object to screen edgeZum nächsten Viewport wechseln, wenn Objekt an den Bildschirmrand gezogen wirdjaClick on window moves input focus to itウィンドウをクリックすると、入力フォーカスがそのウィンドウに移動しますjaTexture filteringテクスチャフィルタzh_TWRotate To Face 11往面 11 旋轉csRotate to face 4Otočit na stranu 4pt_BRMenuMenuesCommand line to be executed in shell when run_command4 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command4ptList of currently active pluginsLista de plug-ins atualmente ativoszh_TWBrightness亮度esUnknownDesconocidojaA keybinding that when invoked, will run the shell command identified by command5呼び出し時にcommand5により識別されたシェルコマンドを実行するキーバインドsvFlip TimeVändtidruScale timestepКвант времени масштабированияsvRun command 6Kör kommando 6svRotate RightRotera åt högerzh_TWTake a screenshot of a window擷取視窗螢幕畫面daNumber of DesktopsAntal skrivebordehuOutput clone handlerKimenet klónkezelőjefrGo back to previous slideRevenir à la diapositive précédentedaMake window shiverLad vinduer dirrept_BRNotificationNotificaçãoruResize windowИзменение размеров окнаfiRaise selected windows after intervalNosta valittu ikkuna tietyn ajan jälkeendaRaise WindowHæv vinduezh_CNImage files图像文件pt_BRZoom InAumentar o zoomzh_TWNormal一般plWindow placement workaroundsObejścia problemów z rozmieszczeniem okienpt_BRMaximize active window verticallyMaximizar janela ativa verticalmentept_BRRun command 7Executar comando 7fiIgnore size increment and aspect hints when window is maximizedOhita kokolisäys- ja kuvasuhdevihjeet ikkunaa suurennettaessaptRotate to face 8Girar para a face 8fiShade ResistanceVarjon vastussaumadeClose WindowFenster schließenplGaussian RadiusPromień rozmycia gaussowskiegodaWindow MenuVinduesmenuitCommand line 5Riga di comando 5caOpacity StepEtapa d'opacitathuZoom and pan desktop cubeA munkaasztalkocka nagyítása és pásztázásadeRotate To Face 4 with WindowDrehen zu Fläche 4 mit FensterplZoomPowiększeniept_BRImage to use as texture for the skydomeImagem a usar como textura no skydomehuInitiate annotate drawingFeljegyzésrajzolás indításaitDialogFinestra di dialogoslUnknownNeznanosvPlane RightPlana åt högerzh_TWShow the main menu顯示主功能表frMinimize speedMinimiser la vitessejaAccelerationアクセラレーションfrPopup switcher if not visible and select previous window out of all windowsAfficher la touche de modification si elle n'est pas visible et sélectionner la fenêtre précédente parmi toutes les fenêtresfrFading WindowsFondu des fenêtresfrDrop shadow X offsetDécalage X de l'ombre des gouttesnbNormalNormaleitDefault IconIcona di defaultsvA keybinding that when invoked, will run the shell command identified by command7En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando7zh_TWPopup switcher if not visible and select previous window看不到切換器時快顯切換器,並選取上一個視窗csDetect OutputsDetekovat výstupysvFade windowsTona fönsterzh_CNRun command 6运行命令 6fiShadow OpacityVarjon vahvuuscsRun command 5Spustit příkaz 5csWorkaroundsŘešení problémůcsEdge Flip PointerPřeklápění hran ukazatelemdeToggle active window maximized verticallyAktives Fenster vertikal maximieren ein/ausitSkydomeSkydomeesStart resizing windowEmpieza a cambiar el tamaño de la ventanaesRotate To Face 5Girar hacia el 5ruRotate rightВращение вправоfiA keybinding that when invoked, will run the shell command identified by command5Tunnisteen command5 mukaisen komennon suorittava näppäinyhdistelmäcaDefault window icon imageImatge d'icona de finestra per defectejaCommand line to be executed in shell when run_command5 is invokedrun_command5の呼び出し時にシェルで実行されるコマンドラインpt_BRRotate To Face 12 with WindowGirar para a Face 12 com JanelaptPlace windows on cubeColocar janelas no cubofiWorkaroundsPoikkeuksetzh_TWOpacity不透明度frColor to use for the bottom color-stop of the skydome-fallback gradientCouleur à utiliser pour l'arrêt de couleur inférieure du gradient de rappel de skydomedaEdge Flip DnDTræk-og-slip til kant, vendesInitiate Window Picker For All WindowsIniciar selector de ventanas para todas las ventanasfiRotate leftKäännä vasemmalleesRotate To Face 9 with WindowGirar hacia el 9 con ventanaptRotate To Face 11 with WindowGirar para a Face 11 com JanelasvApplication SwitcherProgramväxlareruList of currently active pluginsСписок текущих активных модулейdaToggle rainRegn til/frahuAmount of brightness in percentFényerősség (0-100%)frPointPointjaRotation Timestep回転タイムステップsvRotate to face 12 and bring active window alongRotera till yta 12 och ta med aktivt fönsteritRotate to face 4Ruota su faccia 4deRender skydomeSkydome anzeigenesRotate To Face 5 with WindowGirar hacia el 5 con ventanajaOverlay an icon on windows once they are scaledウィンドウ調整後にアイコンをオーバレイfiWindow DecorationIkkunan kehyksetsvShade ResistanceSkuggmotståndslMenuMenusvRotate To Face 3Rotera till yta 3pt_BRShade ResistanceResistência de Sombrazh_TWAuto-Raise自動發出esMenuMenújaRotate desktop cubeデスクトップキューブの回転deSnapoff maximized windowsEinrasten maximierter Fenster aufhebenpt_BRRun command 4Executar comando 4itLineLineazh_TWCommand line 2指令行 2plFlip to next viewport when moving pointer to screen edgePrzełącz do następnego widoku podczas przesuwania wskaźnika na krawędź ekranudeFullscreen fade effect on system beepAusblendeffekt für System-Warnton in VollbildfrRotate to face 12Rotation vers la face 12svPlane to face 8Plana till yta 8itRaise WindowVisualizza finestradePopup switcher if not visible and select next window out of all windowsPopup-Schalter, wenn nicht sichtbar, und von allen Fenstern nächstes Fenster auswählencaAuto-Raise DelayRetard de l'elevació automàticaesInitiate Window PickerIniciar selector de ventanaspt_BRPrev windowJanela anteriordaSnapoff and auto unmaximized maximized windows when draggingFrigør og gendan automatisk maksimerede vinduer, når de trækkesptBring selected window to frontColocar a janela selecionada em primeiro planodeDrop shadow Y offsetDrop-Shadow-Y-OffsetesWobble effect when maximizing and unmaximizing windowsEfecto gelatinoso al maximizar o desmaximizar las ventanasitUnfoldAprizh_CNRotate left逆时针旋转fiRotate To Face 8Käännä työpöydälle 8fiAmount of saturation in percentKylläisyyden määrä prosentteinaesRotate with windowGirar con ventanacsZoom InPřiblížitfrRun command 7Exécuter la commande 7daZoomZoomptDecrease OpacityReduzir OpacidadejaMinimize speed速度を最小限にするzh_TWAutomatic detection of output devices自動偵測輸出設備csInitiate Window PickerSpustit výběr okenesZoom TimestepPaso de zoomzh_CNLower Window降低窗口frMap Window EffectMapper l'effet de la fenêtreitFlip to next viewport when moving window to screen edgeRifletti su finestra successiva durante lo spostamento della finestra sul bordo della schermataitFocus EffectEffetto attivoruUnredirect Fullscreen WindowsОтменить перенаправление окон в полноэкранном режимеfiRotate To Face 12Käännä työpöydälle 12esMove windowMueve la ventanapt_BRMove WindowMover JanelacaGenerate mipmaps when possible for higher quality scalingGenera mipmaps sempre que sigui possible per a un canvi de mida de millor qualitathuSpeedSebességhuUnmaximize active windowAktív ablak visszaállításaplToggle active window maximized verticallyPrzełącz maksymalizację poziomą aktywnego oknadeToggle use of slow animationsVerwenden langsamer Animationen ein/ausplBlur WindowsRozmywaj oknazh_CNInverted window snapping翻转的窗口快照csEdge Flip DnDPřeklápění hran DnDcaPointer Invert YPunter inverteix YcaFocus EffectPassa el focus a l'efectefiShow minimized windowsNäytä pienennetyt ikkunatesAdd pointAñadir puntoptA keybinding that when invoked, will run the shell command identified by command7Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando7huIncrease window opacityAblak átlátszatlanság növelésedaFrictionFriktiondeEnable pointer water effectsWassereffekte für Mauszeiger aktivierensvLine widthRadbreddzh_CNFullscreen全屏csPopup switcher if not visible and select next windowZobrazit přepínač, pokud není viditelný, a vybrat další oknofrMove WindowDéplacer la fenêtreesUtilityUtilidadptConstrain YRestringir Yzh_CNWorkarounds工作区esDecorator command line that is executed if no decorator is already runningLínea de comando del decorador que se ejecuta si no hay ningún decorador en ejecuciónitZoom TimestepIntervallo zoomzh_CNMinimized最小化esStart moving windowEmpieza a mover la ventanahuEdge Flip PointerÉlforgatás mutatósvClose WindowStäng fönsterptEdge Flip PointerPonteiro de Inversão de BordasitToggle window snappingAlterna aggancio finestrecsUnmaximize active windowZrušit maximalizaci aktivního oknasvWindow placement workaroundsProblemlösning för fönsterplaceringpt_BRWater EffectEfeito Aquáticozh_TWMaximize Window Horizontally將視窗水平最大化plCube ColorKolor kostkihuFlip to right viewport and warp pointerForgatás a jobb oldali nézőpontig és mutató léptetésehuVisual BellVizuális csengőfrPlace windows at appropriate positions when mappedPlacer des fenêtres aux positions correctes lorsqu'elles sont mappéesfiFilter LinearSuodata lineaarisestiruShadow RadiusРадиус тениpt_BRScale windowsDimensionar janelaszh_TWTimeout before flipping viewport逾時多久需翻轉檢視區plInside cubeWewnątrz kostkihuShadow Offset YÁrnyék Y eltolásdaPopup switcher if not visible and select previous windowVis opgaveskifteren, hvis den ikke er synlig, og vælg forrige vinduecaSwitcher speedVelocitat del canviadordeDesktop CubeDesktop-Würfelzh_TWRotate to face 6往面 6 旋轉itConstrain YMantieni YjaRotate To Face 11面11に回転fiRotation TimestepKääntämisaikavälidePopup switcher if not visible and select previous windowPopup-Schalter, wenn nicht sichtbar, und vorheriges Fenster auswählenpt_BRToolbarBarra de ferramentasfiCommand line to be executed in shell when run_command2 is invokedSuoritettava komentorivi, kun run_command2 suoritetaan.ruFade SpeedСкорость проявления/исчезанияzh_TWToggle Window Maximized Horizontally將視窗水平切換到最大caRotate LeftGira cap a l'esquerrapt_BRRotate Flip LeftGirar para a EsquerdacaAnimate skydome when rotating cubeRepresentació animada de la cúpula en girar el cubcaDetect OutputsDetecta les sortidesfrActive PluginsPlug-ins actifsfiLayout and start transforming window groupAsettele ikkunaryhmä ja aloita sen muuntodeSnap InvertedEinrasten invertiertdaToggle wiper effectSlå viskereffekten til/frafiRotate to face 12 and bring active window alongKäännä työpöydälle 12 ja pidä aktiivinen ikkuna mukanacsPopupMenuMístní nabídkajaScreenshot command lineスクリーンショットコマンドラインzh_TWDesktop桌面esRotate ToGirar adeLayout and start transforming windowsLayout erstellen und mit Fensterumformung beginnencaSnap To Top FaceDesplaça a la cara superiorsvIniIniruDecrease window opacityУвеличение прозрачности окнаcaFilter LinearFiltre linealdeCommand line to be executed in shell when run_command11 is invokedDie Kommandozeile, die bei Ausführung von run_command11 in der Shell ausgeführt wirdcaZoom InAmplia el zoomjaMinimize active windowアクティブなウィンドウを最小化するitEdge Flip MoveSpostamento riflessione bordipt_BRIncrease OpacityAumentar OpacidadefiRotate to face 7 and bring active window alongKäännä työpöydälle 7 ja pidä aktiivinen ikkuna mukanacsRotate To Face 4 with WindowOtočit na stranu 4 s oknemzh_TWRotate to viewport往檢視區旋轉daInvert Y axis for pointer movementVend Y-aksen for markørbevægelseresRaise On ClickAlzar al hacer cliczh_CNZoom In放大svRaise On ClickHöj vid klickzh_TWRotate to face 9往面 9 旋轉huLayout and start transforming windows on current outputElrendezés és a jelenlegi kimenet ablakai transzformációjának indításahuTexture FilterTextúraszűrőfiPointer Invert YPeilaa osoittimen Y-akselidaMap Window EffectEffekt ved tilknytning af vinduerhuToggle active window maximized verticallyAktív ablak függőleges maximális méret átkapcsolásaruSensitivity of pointer movementЧувствительность к перемещениям курсораcaStart RotationInicia el girzh_CNToggle Window Shaded将窗口切换到遮蔽caTimestepEtapafiRotation SpeedKääntämisnopeuscsDndDndhuRun DialogPárbeszéd futtatásaptCommand line 1Linha de comando 1frRotation SpeedVitesse de la rotationruMinimize WindowСвернуть окноptToggle rain effectAlternar efeito de chuvafiRotate desktop cubeKäännä työpöytäkuutiotacsAudible BellAkustický zvonekjaA keybinding that when invoked, will run the shell command identified by command4呼び出し時にcommand4により識別されたシェルコマンドを実行するキーバインドdeFrictionReibungjaAudible Bell可聴ベルruConstrain Y coordinate to workspace areaОграничение координаты Y пределами рабочей областиdaZoom and pan desktop cubeZoom og panorer på skrivebordskubuszh_CNFade Speed减弱速度pt_BRToggle rain effectAlternar efeito de chuvaruToggle rainПереключить дождьfiAudible system beepKuuluva järjestelmän huomautuspt_BRCube ColorCor do CubocaMipmapMipmapfiUtilityApuohjelmajaSnap Inverted反転をスナップitLower WindowAbbassa finestrazh_CNFriction摩擦ptToggle Window ShadedAlternar Janela SombreadaruTimestepКвант времени deRotate To Face 4Drehen zu Fläche 4ruShade ResistanceУстойчивость тениdeRotate Right with WindowRechts drehen mit Fensterpt_BRA keybinding that when invoked, will run the shell command identified by command11Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando11jaToggle rain effect雨効果の切り替えdeAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsAufbau von Vollbildfenstern ohne Umleitung zu Offscreen-Pixmaps erlaubenptRotate to face 6 and bring active window alongGirar para a face 6 e trazer a janela ativa juntodaPopup switcher if not visible and select next windowVis opgaveskifteren, hvis den ikke er synlig, og vælg næste vinduefiRun command 9Suorita komento 9svToggle wiperVäxla vindrutetorkaresvScale images to cover top face of cubeSkala bilder för att täcka övre ytan på kubenptToggle Window Maximized VerticallyAlternar Janela Maximizada VerticalmentesvZoom SpeedZoomhastighetzh_CNModalDialog模式对话框jaDrop shadow opacityシャドウ不透明度を無視csRotate to face 11Otočit na stranu 11pt_BRRotate to face 12 and bring active window alongGirar para a face 12 e trazer a janela ativa juntoruSpring KonstantКонстанта упругостиsvMove windowFlytta fönsterhuAmount of saturation in percentTelítettség (0-100%)ruWindow MenuМеню окнаzh_TWRaise selected windows after interval在時間間隔後提高選定視窗zh_CNToggle window snapping转换窗口快照zh_CNRotate to face 9旋转到第 9 面ptAccelerationAceleraçãoplIgnore size increment and aspect hints when window is maximizedIgnorowanie podpowiedzi zwiększenia rozmiaru i proporcji gdy okno jest zmaksymalizowanezh_CNMove window移动窗口ptRun command 4Executar comando 4csAnimate SkydomeAnimovat nebeskou báňcsToggle active window maximized verticallyPřepnout vertikální maximalizaci aktivního oknafrA keybinding that when invoked, will run the shell command identified by command1Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command1jaStart Rotation回転の開始fiAmount of opacity in percentLäpikuultavuuden määrä prosentteinaplModalDialogOkno modalnezh_CNRun Dialog运行对话框daDesktop CubeSkrivebordskubuscsWindow DecorationDekorace okenplFrictionTarciejaFold Speed速度をフォールドzh_CNWater offset scale水纹偏移比例caZoom TimestepEtapa del zoomfrRotate To Face 6 with WindowRotation vers la face 6 avec la fenêtreplInside CubeWewnątrz kostkicaDistance desktop should be zoom out while switching windowsDistància a la qual s'haurà d'allunyar el zoom de l'escriptori mentre es canvia de finestraplDirectoryKatalogpt_BRTooltipDica de Ferramentazh_TWList of strings describing output devices描述輸出設備的字串清單esWater offset scaleEscala de desplazamiento de aguapt_BRDrop shadow Y offsetDescartar o deslocamento Y da sombradeCommand line to be executed in shell when run_command6 is invokedDie Kommandozeile, die bei Ausführung von run_command6 in der Shell ausgeführt wirdpt_BRShade resistanceResistência de sombrazh_TWInitiate Window Picker For Windows on Current Output在目前輸出啟始化群組的視窗選擇器pt_BRFlip TimeTempo de InversãoplFold TimestepOpóźnienie zwijaniaesRotate To Face 6Girar hacia el 6ukMenuМенюesWindow screenshot command lineLínea de comandos de captura de ventanacsAuto-RaiseAutomaticky do popředíplAuto-RaiseAutomatyczne wysuwanie okienesRotate to face 4Gira hacia el 4fiStart moving windowAloita ikkunan siirtäminenzh_TWRotate to face 2往面 2 旋轉svPulse effectPulseffektfrRotate to face 2Rotation vers la face 2pt_BRSnap windowsFechar janelasptCommand line to be executed in shell when run_command2 is invokedLinha de comando a ser executada no shell quando run_command2 for acionadoitOpacityOpacitàpt_BRRotate To Face 11Girar para a Face 11ptRun command 1Executar comando 1fiToggle active window maximizedOta käyttöön aktiiviset maksimoidut ikkunatruShade resistanceУстойчивость тениzh_TWSlow Animations減慢動畫速度deList of strings describing output devicesListe mit Zeichenketten zur Erläuterung von Ausgabegerätenzh_TWOpen window menu開啟視窗功能表zh_CNMake window shiver使窗口出现碎裂效果deInitiate Window ResizeFensterskalierung initiierencaBrightnessBrillantordeVertex Grid ResolutionAuflösung des GittersfrRotate To Face 9Rotation vers la face 9ruGenerate mipmaps when possible for higher quality scalingПо возможности применять множественное отображение для масштабирования качества изображенияsvIncrease window opacityÖka fönsteropakhetzh_CNAudible Bell可听见的铃声csSnap Cube Rotation to Top FacePřichytávat otáčející se kostku za horní stranusvRotate To Face 10Rotera till yta 10zh_CNRotate to face 5 and bring active window along旋转到第 5 面并带来活动窗口esFlip to next viewport when moving pointer to screen edgeSe invierte al viewport siguiente al arrastrar un puntero al borde de la pantallasvInitiate annotate erasingInitiera radering av anteckningitUnknownSconosciutosvIgnore size increment and aspect hints when window is maximizedIgnorera storleksinkrement och aspekthintning när fönster maximeraszh_CNAnimate skydome when rotating cube旋转立方体时的动画背景deToggle active window maximized horizontallyAktives Fenster horizontal maximieren ein/auszh_CNIncrease Opacity增加不透明度frRotate to face 4 and bring active window alongRotation vers la face 4 avec la fenêtre activedaToggle wiperVisker til/fradaLightingBelysningpt_BRFade in windows when mapped and fade out windows when unmappedAvivar janelas quando houver mapeamento e esmaecê-las quando não houver mapeamentocaZoom OutAllunya el zoomesSpring FrictionFricción de tensiónzh_TWRotate Flip Right往右旋轉翻轉fiSkydome Gradient End ColorTaivasliukuvärin lopetusvärifrShow minimized windowsAfficher des fenêtres réduitesfiA keybinding that when invoked, will run the shell command identified by command6Tunnisteen command6 mukaisen komennon suorittava näppäinyhdistelmäptShow Main MenuMostrar Menu PrincipalitLayout and start transforming all windowsDispone e avvia la trasformazione di tutte le finestrejaIconアイコンcaClick To FocusFeu clic per a passar el focusdaToggle active window maximized verticallySlå lodret maksimering af det aktive vindue til/frafiColor of top and bottom sides of the cubeKuution pohjan ja kannen väricaFold SpeedVelocitat de plegamentesResize windowCambia de tamaño la ventanazh_CNUtility实用程序daPointer Invert YOmvendt Y-akse for markørdeHover TimeVerweildauerjaRaise window above other windowsウィンドウを他のウィンドウの手前に表示するzh_CNToggle rain effect转换电子流效果svFade On Minimize/Open/CloseTona vid minimering/öppna/stängptDecrease window opacityReduzir opacidade da janelapt_BRTexture FilterFiltro de TexturaesNumber of DesktopsNúmero de escritorioszh_CNPrev window上一个窗口itMap Window EffectAssocia effetto finestraruPrev windowПредыдущее окноptTake a screenshotEfetuar uma captura de telazh_CNStart moving window开始移动窗口ruHover TimeВремя задержки при наведенииpt_BRMinimizedMinimizadoesA keybinding that when invoked, will run the shell command identified by command7Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command7zh_TWDecrease Opacity降低不透明度plAutomatic detection of refresh rateAutomatyczne wykrywanie częstotliwości odświeżaniazh_CNRotate To Face 2旋转到第 2 面zh_TWLayout and start transforming windows on current output在目前輸出配置並開始轉換視窗frRotate To Face 2Rotation vers la face 2pt_BRMap EffectEfeito de Mapazh_TWInitiate起始化zh_TWCommand line to be executed in shell when run_command1 is invoked啟用 run_command1 時要在外圍程序中執行的指令行deOverlay an icon on windows once they are scaledFenster nach Skalierung mit Symbol überlagernesFold SpeedVelocidad del plieguecsRotate To Face 12Otočit na stranu 12itToggle active window shadedAlterna finestra attiva ombreggiatafiDesktop CubeTyöpöytäkuutiofrBrightnessLuminositédeRun command 7Befehl 7 ausführenjaMove windowウィンドウを移動plMinimize timestepOpóźnienie minimalizacjizh_TWMaximize Effect最大化特效deUnfoldAuffaltenfrCommand line 6Ligne de commande 6svToggle Window MaximizedVäxla fönstermaximeringitA keybinding that when invoked, will run the shell command identified by command3Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command3jaScale imageスケールイメージitRotation TimestepIntervallo di rotazionedeDarken background when scaling windowsHintergrund beim Skalieren von Fenstern abdunkelnesRaise windows when clickedAlza las ventanas al hacer clic en ellasfiMaximize WindowSuurenna ikkunaitRun command 1Esegui comando 1itRotate CubeRuota cubosvRotate To Face 2 with WindowRotera till yta 2 med fönsteresRun command 2Ejecutar comando 2deCommand line 9Kommandozeile 9esMake window shiverHacer que la ventana tiembleplSnap Cube Rotation to Top FacePrzyciągnij obrót kostki do górnej ścianyruRaise WindowВызвать окноptResize WindowRedimensionar Janelazh_TWShade Resistance遮蔽阻力caInitiate Window Picker For Window GroupInicia el seleccionador per a un grup de finestrespt_BRLightingIluminaçãopt_BRInitiate Window Picker For Window GroupIniciar o Seletor de Janelas para o Grupo de JanelasdeSnapoff and auto unmaximized maximized windows when draggingBeim Ziehen Einrasten und Maximierung maximierter Fenster aufhebenpt_BRCommand line 7Linha de comando 7csCommand line 11Příkazová řádka 11zh_TWStart resizing window開始調整視窗大小fiUnredirect Fullscreen WindowsKokoruutuikkunoita ei uudelleenohjatazh_TWRotate To Face 8往面 8 旋轉frStart RotationDémarrer la rotationfiFlip to next viewport when dragging object to screen edgeVaihda seuraavaan työpöytään vedettäessä objektia ruudun reunaa vasten.caMinimize speedMinimitza la velocitatplToggle wiperPrzełącz wycieraczkęptCommand line 9Linha de comando 9plPlace windows on cubeUmieszczaj okna na kostcefrRaise WindowRemonter la fenêtrejaRefresh Rate更新レートdaIncrease OpacityForøg uigennemsigtighedplFilter method used for blurringMetoda filtrowania dla rozmyciaruDefault IconЗначок по умолчаниюptRotate To Face 12 with WindowGirar para a Face 12 com Janelazh_TWResize window調整大小視窗jaRun command 11ランコマンド11esRotate to face 11Gira hacia el 11svRotate with windowRotera med fönsterhuGaussian radiusGauss-sugárzh_CNRotate Right with Window顺时针旋转窗口itWorkaroundsAlternativeruPopup switcher if not visible and select previous windowОтображение переключателя (если он невидим) и выбор предыдущего окнаplSnapoff maximized windowsOdepnij zmaksymalizowane oknazh_CNRender skydome呈现背景zh_CNDropdownMenu下拉菜单caScale windowsCanvia la mida de les finestrescaWindow screenshot command lineLínia d'ordres de captura de pantalla de finestrafrDropdownMenuMenu déroulantzh_CNTransform windows when they are minimized and unminimized最小化和取消最小化窗口时进行转换csRotate To Face 11 with WindowOtočit na stranu 11 s oknemplStroke width for annotationsSzerokość pędzla przy rysowaniufiCommand line 9Komentorivi 9jaOnly perform screen updates during vertical blanking period垂直ブランキング期間にのみ画面を更新するjaTexture FilterテクスチャフィルタhuDrawRajzolásfrDetect OutputsDétection des sortiesjaInitiate Window Resizeウィンドウのサイズ変更を開始fiCommand line 5Komentorivi 5fiSkydomeTaivasesFlip to next viewport when dragging object to screen edgeSe invierte al viewport siguiente al arrastrar un objeto al borde de la pantallaesA keybinding that when invoked, will run the shell command identified by command10Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command10svPlacement ModePlaceringslägeesDecrease OpacityDisminuir opacidadptDefault window icon imageImagem do ícone padrão da janelacaDesktop CubeCub de l'escriptoriptHide Skip Taskbar WindowsOcultar Janelas Ignorar Barra de TarefasfiSwitcher speedVaihtajanopeuszh_TWSkydome Gradient Start Color天空頂漸層開始色彩jaRotate To Face 5面5に回転pt_BRAdd lineAdicionar linhazh_CNMap Window Effect映射窗口效果pt_BRShow minimized windowsMostrar janelas minimizadassvRotate To Face 6 with WindowRotera till yta 6 med fönsterzh_CNA keybinding that when invoked, will run the shell command identified by command8键绑定在调用时,将运行 command8 确定的 shell 命令frInitiate Window Picker For Windows on Current OutputLancer le sélecteur de fenêtre pour les fenêtres sur la sortie actuelleruToggle Window Maximized VerticallyРазвертывать окно по вертикалиfiRotate to face 5Käännä työpöydälle 5zh_CNDefault Icon默认图标jaStart resizing windowウィンドウのサイズ変更を開始huToggle Window Maximized VerticallyAblak függőleges maximális méret átkapcsolásaitMinimize active windowRiduci a icona finestra attivaesMap EffectAsignar efectofrPopupMenuMenu contextueldaPrev windowForrige vindueitFade in windows when mapped and fade out windows when unmappedApplica dissolvenza in entrata alle finestre quando associate e in uscita quando disassociatecsRotate to face 5Otočit na stranu 5huRotate CubeKocka forgatásazh_CNRotate To Face 5 with Window旋转到带窗口的第 5 面csA keybinding that when invoked, will run the shell command identified by command8Klávesové zkratky, které spustí příkaz určený command8esMaximize Window VerticallyMaximizar ventana verticalmentesvDrawRitapt_BRAccelerationAceleraçãonlNormalNormaalesList of currently active pluginsLista de complementos activos actualmentejaSkydome Gradient Start Colorスカイドームグラデーション開始色svPlane to face 2Plana till yta 2pt_BRLayout and start transforming all windowsCriar layout e iniciar transformação de todas as janelascaPopup switcher if not visible and select previous window out of all windowsFes sortir el canviador si no està visible i selecciona l'anterior de totes les finestresdaToggle Window Maximized VerticallySlå lodret maksimering af vindue til/fradaSpacingMellemrumfrCommand line 9Ligne de commande 9frA keybinding that when invoked, will run the shell command identified by command4Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command4ruActive PluginsАктивные модулиdaFullscreenFuldskærmdaZoom InZoom inddaMinimize speedSænk hastighedsvMap EffectKopplingseffektplSkydome Gradient End ColorKońcowy kolor gradientu tła kostkifrShiverDéformationfrTooltipInfo-bulleesRotate to viewportGirar a viewportplGenerate mipmaps when possible for higher quality scalingO ile to możliwe, generuj mitmapy dla lepszej jakości skalowaniafrRain DelayDélai de pluieplZoom OutPomniejszdeRotate to face 8 and bring active window alongDrehen zu Fläche 8 und aktives Fenster mitführenitCommand line 6Riga di comando 6zh_TWFullscreen全螢幕huScaleMéretarányzh_TWToggle active window maximized vertically將使用中視窗垂直切換到最大caPopupMenuMenú emergentfrRotate desktop cubeRotation du cube de bureauzh_TWOutputs輸出huInverted window snappingAblakok illesztése fordítvafiInitiate Window PickerAktivoi ikkunavalitsinjaColor to use for the top color-stop of the skydome-fallback gradientスカイドームフォールバックグラデーションの上部カラーストップに使用する色frMinimize timestepMinimiser l'intervallesvPlane to face 9Plana till yta 9frCommand line to be executed in shell when run_command4 is invokedLigne de commande à exécuter dans le shell lorsque run_command4 est appeléjaEnable pointer water effectsポインタの水効果を有効にするpt_BRRotate leftGirar para a esquerdacaTooltipIndicador de funciózh_CNSpring Friction弹簧摩擦力ruWindow decorationsОформление окнаdeCommand line 10Kommandozeile 10ruOpacityПрозрачностьesDockAnclaresHover TimeTiempo de desplazamientojaRotate to face 7 and bring active window along面7に回転して、アクティブなウィンドウを移動zh_CNDrop shadow Y offset减小阴影 Y 偏移ptA keybinding that when invoked, will run the shell command identified by command11Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando11deLayout and start transforming windows on current outputLayout durchführen und mit der Umformung der Fenster in aktueller Ausgabe beginnenplDesktop PlanePłaszczyzna pulpitudeStart resizing windowFensterskalierung startenjaDialogダイアログruShow Main MenuОтобразить главное менюhuResize windowAblak átméretezéseesFlip to right viewport and warp pointerInvertir a viewport derecho y mover punteroesCommand line 7Línea de comandos 7csSnapoff maximized windowsOdtrhávat maximalizovaná oknajaScale images to cover top face of cubeキューブの上面を覆うスケールイメージptFade effect on system beepEfeito de esmaecimento no bip do sistemazh_TWZoom factor縮放倍率zh_TWToggle window snapping切換視窗嵌入deRotate To Face 11 with WindowDrehen zu Fläche 11 mit Fensterzh_CNCommand line 5命令行 5esAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsPermitir que al dibujar ventanas a pantalla completa no se redireccionen a pixmaps de fuera de pantallapt_BRFade effect on system beepEfeito de esmaecimento no bip do sistemaptRotate Right with WindowGirar para a Direita com JanelaesAccelerationAceleraciónjaFading Windowsウィンドウのフェードzh_CNCommand line to be executed in shell when run_command9 is invoked调用 run_command9 时,shell 中要执行的命令行huHide Skip Taskbar WindowsKihagyott tálcaablakok elrejtésecaOffset ScaleEscala de desplaçamentfiRun command 11Suorita komento 11zh_CNStart resizing window开始调整窗口大小jaRotation Acceleration回転アクセラレーションhuInitiateIndításcaWindow placement workaroundsSolucions alternatives de disposició de finestresptRotate to face 10 and bring active window alongGirar para a face 10 e trazer a janela ativa juntozh_TWRotate to face 12往面 12 旋轉csRotate RightOtočit vpravocsCommandPříkazhuSync To VBlankSzinkronizálás VBlank-raitInitiate Window ResizeAvvia Ridimensionamento finestrezh_CNRotate To Face 11旋转到第 11 面jaColor of top and bottom sides of the cubeキューブの上部および下部の面のカラーfiRotate To Face 7 with WindowKäännä työpöydälle 7 ikkunan kanssaplFold AccelerationPrzyspieszenie zwijaniaitLayout and start transforming windowsDisponi e avvia trasformazione finestredeRotate to face 11 and bring active window alongDrehen zu Fläche 11 und aktives Fenster mitführenesIconIconoruZoom InУменьшитьruWave effect from window titleЭффект волн в заголовке окнаcsRotate To Face 6 with WindowOtočit na stranu 6 s oknemcsMinimize WindowMinimalizovat oknojaUnmaximize Windowウィンドウの最大化解除fiAudible BellKuuluva äänimerkkiplBrightnessJasnośćesRotate to face 12 and bring active window alongGira hacia el 12 y arrastra la ventana activaesRun command 5Ejecutar comando 5pt_BRShow icon next to thumbnailMostrar ícone ao lado da miniaturaesNotificationNotificacióncaRotate Flip RightGira i inverteix cap a la dretafiZoom InLähennyssrUnknownNepoznatoitFold AccelerationAccelerazione chiusuraptRotate to face 7Girar para a face 7ptRotate to face 11Girar para a face 11deScale imageBild skalierencaSensitivity of pointer movementSensibilitat del moviment del punterzh_CNRotate to face 12旋转到第 12 面frA keybinding that when invoked, will run the shell command identified by command11Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command11svRotate to face 5 and bring active window alongRotera till yta 5 och ta med aktivt fönsterzh_CNA keybinding that when invoked, will run the shell command identified by command1键绑定在调用时,将运行 command1 确定的 shell 命令ruEnable pointer water effectsВключить для курсора эффекты водыjaRotate To Face 8面8に回転ruIncrease OpacityУменьшить прозрачностьcsTitle waveVlna v nadpisupt_BREdge Flip DnDDnD de Inversão de BordasfrRotate to face 6 and bring active window alongRotation vers la face 6 avec la fenêtre activept_BRInverted window snappingFechamento de janelas invertidasruFlip TimeВремя отраженияitToolbarBarra degli strumentiruSlow AnimationsЗамедлить анимациюzh_CNZoom Desktop缩放桌面itCommandComandoruShow the main menuОтображение главного менюdaFlip to next viewport when dragging object to screen edgeVend til næste visningsområde, når et objekt trækkes til skærmens kantsvSnap Cube Rotation to Top FaceFäst kubroteringen mot översta ytanhuScale windowsAblakok méretezésezh_CNResize window调整窗口大小deCommand line to be executed in shell when run_command4 is invokedDie Kommandozeile, die bei Ausführung von run_command4 in der Shell ausgeführt wirdcsInside CubeUvnitř kostkyfiFlip to next viewport when moving pointer to screen edgeVaihda seuraavaan työpöytään vedettäessä osoitinta ruudun reunaa vasten.deGo back to previous slideZurück zum vorherigen DiajaSelect next window次のウィンドウを選択deDockAndockenitDetect OutputsRileva outputitMap EffectAssocia effettoitShow Run Application dialogMostra finestra di dialogo Esegui applicazioneplDelay (in ms) between each rain-dropOpóźnienie (w ms) pomiędzy każdą kroplą deszczupt_BRRotate LeftGirar para a Esquerdazh_TWSensitivity of pointer movement指標移動靈敏度caDrop shadow radiusRadi de l'ombra descendentzh_CNCommand line to be executed in shell when run_command11 is invoked调用 run_command11 时,shell 中要执行的命令行caConstrain YRestringeix YfiRotate to face 5 and bring active window alongKäännä työpöydälle 5 ja pidä aktiivinen ikkuna mukanapt_BRAmount of opacity in percentPorcentagem de opacidadeptCommand line to be executed in shell when run_command4 is invokedLinha de comando a ser executada no shell quando run_command4 for acionadojaUnfold cubeキューブを開くptList of PNG and SVG files that should be rendered on top face of cubeLista de arquivos PNG e SVG que devem ser renderizados na face superior do cubodaList of PNG and SVG files that should be rendered on top face of cubeListe over PNG- og SVG-filer, der skal gengives på toppen af kubussencaComboQuadre combinatjaRotate To Face 12面12に回転esWobbly WindowsVentanas gelatinosascaAutomatic detection of output devicesDetecció automàtica dels dispositius de sortidaplVertical Virtual SizePionowy rozmiar wirtualnyhuDrop shadow radiusÁrnyék átmérőjejaSnapoff and auto unmaximized maximized windows when draggingドラッグ時に、最大化したウィンドウをスナップ解除して最大化を自動解除frSkydome Gradient Start ColorCouleur de début du gradient de skydomeitSwitcher timestepIntervallo selettoreitShadow RadiusRaggio ombreggiaturazh_CNHover Time悬停时间zh_CNRotate To Face 9 with Window旋转到带窗口的第 9 面csPopup switcher if not visible and select previous windowZobrazit přepínač, pokud není viditelný, a vybrat předchozí oknoitRotate to face 7Ruota su faccia 7ruToggle wiper effectВключение или отключение эффекта стеклоочистителяsvRotate to face 4 and bring active window alongRotera till yta 4 och ta med aktivt fönsteritTooltipDescrizione comandicaMinimum Vertex Grid SizeMida mínima de la graella del vèrtexcaUnmaximize active windowDesmaximitza la finestra activahuClearTörlésesFold AccelerationAceleración del pliegueesTexture filteringFiltro de texturasdeRain DelayRegenverzögerungzh_TWLayout and start transforming all windows配置並開始轉換所有視窗frRun command 6Exécuter la commande 6itNotificationNotificacsRotate To Face 8 with WindowOtočit na stranu 8 s oknemsvAudible system beepSystemljudklockaptRotate To Face 9 with WindowGirar para a Face 9 com JanelaplZoom factorWspółczynnik przybliżaniafiUse diffuse light when screen is transformedKäytä hajavaloa ruudun muuttuessaesRotate To Face 10Girar hacia el 10fiFlip to left viewport and warp pointerVaihda vasempaan näkymään ja siirrä osoitinsvInitiate Window MoveInitiera fönsterflyttningjaWobbly Windows揺れるウィンドウruAutomatic detection of refresh rateАвтоматическое определение частоты обновленияsvDefault window icon imageStandardikonbild för fönstersvRotate To Face 3 with WindowRotera till yta 3 med fönsterjaCommand line 2コマンドライン2svRun command 7Kör kommando 7plMinimizedZminimalizowaneptMaximize active window verticallyMaximizar janela ativa verticalmentezh_TWWater Effect水波特效zh_TWRotate To Face 9往面 9 旋轉deCommand line 1Kommandozeile 1pt_BRBrightnessBrilhocaRotate to viewportGira cap a l'àrea de visualitzacióesInitiate Window ResizeIniciar cambio de tamaño de ventanascaLineLíniaitRotation AccelerationAccelerazione rotazioneitRotate To Face 11Ruota su faccia 11fiDetect OutputsTunnista ulostulotcsNotificationOznámeníplAudible BellDzwonek systemowyjaDrop shadow radiusシャドウ半径を無視zh_TWShadow Offset Y陰影偏移 Y 軸svEdge Flip PointerKantvänd pekarezh_TWRotation Acceleration旋轉加速plOutputsWyjściadaIgnore size increment and aspect hints when window is maximizedIgnorer vink om størrelsesforøgning og -aspekter, når vinduet er maksimeretfrRotation AccelerationAccélération de la rotationpt_BRFullscreen Visual BellCampainha Visual de Tela InteirafiRotate to face 3Käännä työpöydälle 3plSnapoff and auto unmaximized maximized windows when draggingOdepnij i automatycznie cofnij maksymalizację okien podczas przesuwaniafiMinimize EffectPienennystehostezh_TWScreenshot command line螢幕擷取指令行ptResize windowRedimensionar janelasvPlane LeftPlana åt vänsterhuSkydome Gradient Start ColorKupola színátmenetének induló színefiCommand line 6Komentorivi 6svEnable pointer water effectsAktivera vatteneffekt för muspekarept_BRSnap To Top FaceFechar na Face SuperiorsvA keybinding that when invoked, will run the shell command identified by command4En tangentgenväg som när anropas kommer att köra skalkommandot identifierat som kommando4daVertical Virtual SizeLodret virtuel størrelsesvShade resistanceSkuggmotståndruFlip to right viewport and warp pointerОтражение в правое кадровое окно и искажение курсораptRotate leftGirar para a esquerdadeWindow MenuMenü FensterfiHover TimePäälläoloaikapt_BRFading WindowsJanelas EsmaecidascsRun command 6Spustit příkaz 6pt_BRRotate to face 3Girar para a face 3csDarken BackgroundZtmavit pozadíplAnimate SkydomeAnimacja tła dla kostkicsLayout and start transforming windowsRozvržení a počátek transformace okenitCommand line to be executed in shell when run_command6 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command6svX position valuesX-positionsvärdenzh_TWRotate To Face 12往面 12 旋轉zh_TWRun command 7執行指令 7daRun DialogDialogboksen KørdaTime (in ms) before scale mode is terminated when hovering over a windowDen tid (i ms), der går, inden skaleringstilstanden afsluttes, når markøren peger på et vinduedeEdge Flip PointerAn Rand wechseln (Zeiger)jaCommand line 9コマンドライン9deShadow Offset XSchattenversatz XsvWindows that should wobble when focusedFönster som ska dallra när de fokuserasplDetect OutputsWykryj wyjściafrRun command 1Exécuter la commande 1jaList of currently active plugins現在アクティブなプラグインのリストjaFlip to next viewport when moving window to screen edgeウィンドウを画面の端に移動する時に次のビューポートにフリップするfiToggle active window maximized verticallyOta käyttöön aktiiviset pystytasossa maksimoidut ikkunatzh_TWShiver晃動deRotate to face 6Drehen zu Fläche 6caMaximize Window HorizontallyMaximitza la finestra horitzontalmentzh_CNPopup switcher if not visible and select next window不可见时弹出切换程序并选择下一个窗口fiFocus Window EffectIkkunan kohdistustehostezh_CNGenerate mipmaps when possible for higher quality scaling生成可能用于更高质量缩放比例的 mipmapesCommand line to be executed in shell when run_command5 is invokedLínea de comandos que se ejecutar en el shell cuando se invoque run_command5esRun command 6Ejecutar comando 6csAmount of brightness in percentHodnota jasu v procentechdeMinimize timestepMinimierintervallcaSpring KConstant elàsticajaFullscreen Visual Bell全画面ビジュアルベルptHide windows not in taskbar when entering show desktop modeOcultar as janelas que não estão na barra de tarefas ao entrar no modo mostrar área de trabalhoplToggle Window ShadedPrzełącz przyciemnianie oknaplDarken background when scaling windowsPrzyciemnij tło podczas skalowania okienesSnapoff maximized windowsSeparar ventanas maximizadasjaDetect Refresh Rate更新レートの検出csScale timestepČasový krok změny velikostiltNormalNormalusruDetect OutputsОпределить устройства выводаfiUnmaximize WindowPalauta ikkunadeAdd lineLinie hinzufügenhuHide windows not in taskbar when entering show desktop modeAz asztal megjelenítése módba kapcsoláskor a tálcán nem lévő ablakok elrejtésezh_CNToggle wiper effect转换擦拭器效果csDrop shadow X offsetPosun vrženého stínu XdaWobbly Windows"Slingrende" vinduerheUnknownלא ידועdeMaximize EffectEffekt maximierenzh_CNWindow fade speed窗口渐弱速度zh_CNTitle wave标题波纹效果frLineLignecsClose WindowZavřít oknocsCommand line 4Příkazová řádka 3ruList of strings describing output devicesСписок строк, описывающих устройства выводаdeMaximize active windowAktives Fenster maximierenjaRotate To Face 9 with Windowウィンドウと一緒に面9に回転zh_CNToggle active window maximized将活动窗口切换到最大化deRotate To Face 5Drehen zu Fläche 5svCommand line 11Kommandorad 11csFold SpeedRychlost sbalenísvTransform windows when they are minimized and unminimizedTransformera fönster när de minimeras och avminimerasfrRotate CubeRotation du cubept_BRCommand line to be executed in shell when run_command4 is invokedLinha de comando a ser executada no shell quando run_command4 for acionadodaToggle rain effectSlå regneffekten til/frapt_BRFocus EffectEfeito de DestaquejaRotate Flip Left左にフリップ回転pt_BRInitiate Window ResizeIniciar Redimensionamento de JanelascaFocus Window EffectPassa el focus a l'efecte de finestradaPopup switcher if not visible and select previous window out of all windowsVis opgaveskifteren, hvis den ikke er synlig, og vælg forrige vindue blandt alle vindueresZoom and pan desktop cubeAmpliar o reducir y panorámica del cubo de escritoriodeScreenshot command lineKommandozeile für Bildschirmfotozh_TWMaximize Window Vertically將視窗垂直最大化itRotate rightRuota _destraitRotate to viewportRuota su riquadro di visualizzazionezh_TWShow icon next to thumbnail顯示圖示於縮圖旁daInitiate Window Picker For Window GroupStart vinduesvælger for vinduesgruppeesEnable pointer water effectsHabilitar efectos acuáticos del punterozh_TWRotate to face 3往面 3 旋轉plSpace between windowsOdstęp między oknamideA keybinding that when invoked, will run the shell command identified by command5Eine Tastenbelegung, die den durch Befehl 5 festgelegten Shell-Befehl ausführtcaFading WindowsEsvaïment de finestresesWindow fade speedVelocidad de desvanecimiento de ventanadeToggle active window shadedAktives Fenster schattieren ein/ausfrDockAccueilpt_BRRaise WindowElevar JanelafrAmount of opacity in percentQuantité d'opacité en pourcentageruNext windowСледующее окноptClick on window moves input focus to itO clique na janela transfere o foco para elacsPointer Invert YPointer Invert Yzh_CNNormal常规fiShow the main menuNäytä päävalikkohuShadow RadiusÁrnyék átmérőjedeFocus EffectEffekt fokussierenfiDesktopTyöpöytäfrShadow OpacityOpacité de l'ombreitAuto-Raise DelayRitardo aumento automaticopt_BRNext SlidePróximo SlidedeShade ResistanceSchattenwiderstandesMinimum Grid SizeTamaño mínimo de cuadrículadeNext windowNächstes FensterdeScale speedSkaliergeschwindigkeitruFlip to left viewport and warp pointerОтражение в левое кадровое окно и искажение курсораesScale imageEscalar imagenplTitle waveFala tytułuruPopup switcher if not visible and select next windowОтображение переключателя (если он невидим) и выбор следующего окнаfrRotate To Face 8 with WindowRotation vers la face 8 avec la fenêtreesA keybinding that when invoked, will run the shell command identified by command3Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command3esShadow Offset YDesplazamiento Y de la sombrajaRotate To Face 10 with Windowウィンドウと一緒に面10に回転csA keybinding that when invoked, will run the shell command identified by command9Klávesové zkratky, které spustí příkaz určený command9caSpring KonstantConstant elàsticadaDrop shadow radiusSlagskyggeradiusdaFlip to left viewport and warp pointerVend til venstre visningsområde, og bevar markøren på dens nuværende relative placering på skærmenplUnredirect Fullscreen WindowsCofnij przekierowanie okien pełnoekranowychfrWindow decorationsDécoration des fenêtresitPopup switcher if not visible and select next windowMostra il selettore se non visibile e seleziona la finestra successiva pt_BRRotate Flip RightGirar para a DireitaitWindow decorationsDecorazioni finestrezh_CNRotate To Face 3旋转到第 3 面daToolbarVærktøjslinjezh_CNA keybinding that when invoked, will run the shell command identified by command2键绑定在调用时,将运行 command2 确定的 shell 命令itLightingIlluminazionesvScreenshotSkärmbilddaWindow screenshot command lineKommandolinje til vindueskærmbilledeptWindow screenshot command lineLinha de comando para captura de tela de janelasfiRun DialogSuorita komento -valintaikkunajaA keybinding that when invoked, will run the shell command identified by command3呼び出し時にcommand3により識別されたシェルコマンドを実行するキーバインドzh_TWWorkarounds解決方式daWobble effect when maximizing and unmaximizing windowsVinduerne "slingrer", når de maksimeres eller gendanneshuAdd pointPont hozzáadásazh_CNRotate to face 7旋转到第 7 面caToggle active window maximized horizontallyCommuta la finestra activa maximitzada horitzontalmentitToggle active window maximized horizontallyAlterna finestra attiva ingrandita in orizzontaleplSnap To Top FacePrzypnij do górnej ścianyzh_CNA keybinding that when invoked, will run the shell command identified by command11键绑定在调用时,将运行 command11 确定的 shell 命令ptClose active windowFechar a janela ativafrRotate To Face 11 with WindowRotation vers la face 11 avec la fenêtrefiComboYhdistelmäjaCommand line to be executed in shell when run_command1 is invokedrun_command1の呼び出し時にシェルで実行されるコマンドラインsvSpring FrictionFjäderfriktionpt_BRRaise windows when clickedElevar janelas quando clicadasdaAnimate skydome when rotating cubeAnimer himmelkuplen, når kubussen roteresdeSnap windowsFenster einrastendaRender skydomeVis himmelkuppelfrFlip to left viewport and warp pointerRotation sur le coté gauche avec le pointeursvFocus EffectFokuseffektplScaleSkalujdeStart RotationDrehung startenitImage to use as texture for the skydomeImmagine da utilizzare come texture per lo skydomeruColor to use for the top color-stop of the skydome-fallback gradientЦвет, используемый для верхней границы градиента фонаdeShade resistanceSchattenwiderstanditAudible BellSegnale acustico udibilezh_CNFade in windows when mapped and fade out windows when unmapped映射时渐现窗口和不映射时渐弱窗口ptToggle Window Maximized HorizontallyAlternar Janela Maximizada HorizontalmenteplScale windowsSkaluj oknaitRun command 9Esegui comando 9frStart moving windowDémarrer le déplacement de la fenêtredaRotate to viewportRoter til visningsområdesvClose active windowStäng aktivt fönstercaUnfoldDesplegazh_TWRotate to face 7往面 7 旋轉daFading WindowsFading af vinduerptRotate to face 7 and bring active window alongGirar para a face 7 e trazer a janela ativa juntoitRotate to face 6 and bring active window alongRuota su faccia 6 insieme a finestra attivahuPlane upGördítés felcsA keybinding that when invoked, will run the shell command identified by command11Klávesové zkratky, které spustí příkaz určený command11zh_TWRotate to face 2 and bring active window along往面 2 旋轉並隨同作用中視窗一起旋轉caWave effect from window titleEfecte d'onada del títol de la finestrahuPointPontfiList of currently active pluginsLista aktiivisista liitännäisistäcsInverted window snappingInvertované přichytávání okensvSvg image loaderSvg-bildläsareitToggle rain effectAlterna effetto pioggiacsRun command 1Spustit příkaz 1daRotate desktop cubeRoter skrivebordskubuszh_CNCommand line 8命令行 8frAdds water effects to different desktop actionsAjoute des effets d'eau à différentes opérations du bureaufrSnap Cube Rotation to Top FaceAligner la rotation du cube sur la face supérieurejaRaise Windowウィンドウを手前に表示csDropdownMenuRozevírací nabídkazh_TWSkydome天空頂zh_CNFullscreen Visual Bell全屏静音frRotate Left with WindowRotation à gauche avec la fenêtredaPointer SensitivityMarkørfølsomhedsvRotate to face 11 and bring active window alongRotera till yta 11 och ta med aktivt fönstercaOverlay an icon on windows once they are scaledSuperposa una icona a les finestres un cop se n'ha canviat la midahuRotate leftBalra forgatáspt_BRRotate to face 3 and bring active window alongGirar para a face 3 e trazer a janela ativa juntofrToggle window snappingBasculer l'alignement des fenêtrespt_BRRun command 8Executar comando 8csA keybinding that when invoked, will run the shell command identified by command6Klávesové zkratky, které spustí příkaz určený command6deTransform windows when they are minimized and unminimizedFenster beim Minimieren und beim Aufheben der Minimierung umformensvPlane to face 3Plana till yta 3itCommand line 7Riga di comando 7huMipmap LODMipmap részletességpt_BRFlip to next viewport when dragging object to screen edgeInverter para o viewport seguinte ao arrastar o objeto para a borda da telaesScale speedVelocidad de escalahuToggle active window maximized horizontallyAktív ablak vízszintes maximális méret átkapcsolásafrNext SlideDiapositive suivanteitHide all windows and focus desktopNascondi tutte le finestre e attiva desktopzh_CNRotate to face 3 and bring active window along旋转到第 3 面并带来活动窗口esMap Window EffectAsignar efecto de ventanajaDesktopデスクトップptRun command 3Executar comando 3deSkydomeSkydomehuWindow placement workaroundsKerülőmegoldások az ablak elhelyezéséresvAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsTillåt att inte utritning av helskärmsfönster omdirigeras till bilder utanför skärmenpt_BRRun command 3Executar comando 3huSnap To Top FaceFelső oldalhoz ugrászh_CNImage to use as texture for the skydome要用作背景纹理的图像caPlace windows at appropriate positions when mappedSitua les finestres en les posicions adequades quan s'assignincaTexture FilterFiltre de texturafrToggle rain effectBasculer l'effet de pluieitScale windowsRidimensiona finestrehuShiverÖsszetörésetUnknownTundmatudaDecrease window opacityFormindsk vinduets uigennemsigtighedsvRotate to face 4Rotera till yta 4plFill color for annotationsKolor wypełnienia dla rysowaniaesToggle Window Maximized HorizontallyActivar o desactivar ventana maximizada horizontalmentezh_TWAdvance to next slide換至下一張投影片ptCommand line 4Linha de comando 4deEdge Flip DnDAn Rand wechseln (Ziehen und Ablegen)plOpacityNieprzezroczystośćsvRotate To Face 6Rotera till yta 6zh_CNCommand line to be executed in shell when run_command10 is invoked调用 run_command10 时,shell 中要执行的命令行huDefault window icon imageAlapértelmezett ikon képecsEdge Flip MovePřeklápění hran při přesunupt_BRImage filesArquivos de imagemzh_CNPoint点daMinimize active windowMinimer det aktive vindueruInitiate Window ResizeИнициировать изменение размеров окнаcaSnap windowsAjusta les finestresesAdds water effects to different desktop actionsAñadir efecto acuático a distintas acciones de escritorioruFullscreen Visual BellПолноэкранная визуализация звукового сигналаdaPlace windows at appropriate positions when mappedPlacer vinduerne på de korrekte positioner, når de er tilknyttetitWave effect from window titleEffetto onda del titolo della finestrafiCommand line to be executed in shell when run_command7 is invokedSuoritettava komentorivi, kun run_command7 suoritetaan.plOpen window menuOtwórz menu oknapt_BRPopup switcher if not visible and select previous windowMostrar alternador, se não estiver visível, e selecionar janela anterioritFading WindowsFinestre in dissolvenzaesOpen window menuAbre el menú de la ventanacsSkydomeNebeská báňfrRotate to face 12 and bring active window alongRotation vers la face 12 avec la fenêtre activedeSpeedGeschwindigkeitjaZoom factorズーム要素ptRotate RightGirar para a Direitazh_TWFading Windows視窗淡出中frMaximize active windowOptimiser la fenêtre activezh_TWFullscreen Visual Bell全螢幕警示鈴聲svRun command 0Kör kommando 0pt_BRToggle Window Maximized VerticallyAlternar Janela Maximizada VerticalmenteruShow minimized windowsОтображение свернутых оконptSkydomeSkydomesvUnmaximize active windowAvmaximera aktivt fönsterplHide windows not in taskbar when entering show desktop modeUkrywa okna spoza paska zadań w trybie pokazywania pulpituitMake window shiverApplica tremolio a finestradaPointPunktruMipmapMipmapjaRotate to face 5 and bring active window along面5に回転して、アクティブなウィンドウを移動daSync To VBlankSynkroniser med lodret slukningdePopup switcher if not visible and select next windowPopup-Schalter, wenn nicht sichtbar, und nächstes Fenster auswählenitRotate to face 8 and bring active window alongRuota su faccia 8 insieme a finestra attivahuSnap InvertedIllesztés fordítvafiSpring KJousivakiojaFade in windows when mapped and fade out windows when unmappedマップ時にウィンドウをフェードインし、マップ解除時にウィンドウをフェードアウトするhuTooltipBuboréksúgóhuInitiate Window PickerAblakválasztó indításazh_CNCommand line to be executed in shell when run_command7 is invoked调用 run_command7 时,shell 中要执行的命令行svCommand line to be executed in shell when run_command9 is invokedKommandorad som ska köras i ett skal när run_command9 anropascsMaximize active window horizontallyMaximalizovat aktivní okno horizontálněruBring selected window to frontПеремещение выбранного окна на передний планesSnap windowsSolapar ventanaspt_BRGrid ResolutionResolução de GradefiRotate To Face 7Käännä työpöydälle 7fiRotate To Face 11Käännä työpöydälle 11zh_CNRun command 3运行命令 3caFold TimestepEtapa de plegamentesToggle wiper effectAlternar efecto de limpiaparabrisaspt_BRShiverEstremecercaUnfold cubeDesplega el cubhuDarken BackgroundSötétülő háttérzh_TWInitiate Window Resize起始化視窗調整大小plSnap windowsPrzypnij oknapt_BRNumber of DesktopsNúmero de Áreas de TrabalhoruWater offset scaleМасштаб смещения водыsvBring selected window to frontLägg markerat fönster överstruImage filesФайлы изображенийfiScale images to cover top face of cubeSkaalaa kuva kuution katon kokoiseksiplHide Skip Taskbar WindowsUkryj okna spoza paska zadańsvRotate to face 8 and bring active window alongRotera till yta 8 och ta med aktivt fönsterfrRotate To Face 10 with WindowRotation vers la face 10 avec la fenêtreptMove windowMover janelazh_CNClick on window moves input focus to it单击窗口将输入焦点移至它pt_BRA keybinding that when invoked, will run the shell command identified by command1Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando1daRotate LeftRoter venstrept_BRTransform windows when they are minimized and unminimizedTransformar janelas quando elas forem minimizadas e desminimizadasitOpacity StepPasso opacitàzh_CNToggle rain转换电子流bgMenuМенюruDockВстраиваниеdeFade SpeedAusblendgeschwindigkeititInitiate Window Picker For Windows on Current OutputAvvia Selettore finestre per finestre in output correntezh_TWRaise Window提高視窗daDecrease OpacityFormindsk uigennemsigtighedzh_CNCommand line 11命令行 11frGrid ResolutionRésolution de la grillecsOnly perform screen updates during vertical blanking periodProvádět aktualizace obrazovky pouze během intervalu vertikálního zatemněnídaClose active windowLuk det aktive vindueesPopupMenuMenú emergenteitNumber of DesktopsNumero di desktopfiScale imageSkaalaa kuvaahuInitiate Window ResizeAblakátméretezés indításasvWindows that should be decoratedFönster som ska dekorerasfrUse spring model for wobbly window effectUtiliser le modèle de ressort pour l'effet de tremblement de fenêtrefrUnmaximize WindowAgrandir la fenêtreitBrightnessLuminositàzh_TWA keybinding that when invoked, will run the shell command identified by command11啟用時將執行經 command11 識別之外圍程序指令的按鍵組合svRotate to viewportRotera till skrivbordsvyzh_CNRotate To Face 11 with Window旋转到带窗口的第 11 面pt_BRRotate To Face 12Girar para a Face 12esIgnore size increment and aspect hints when window is maximizedIgnorar sugerencias de aumento de tamaño y aspecto cuando la ventana esté maximizadapt_BRPlace WindowsColocar JanelasdeSpacingAbstandpt_BRDesktop CubeCubo da Área de TrabalhocsTime (in ms) before scale mode is terminated when hovering over a windowUdává dobu (v ms) před ukončením režimu změny velikosti, pokud je ukazatel umístěn nad oknemruFlip to next viewport when dragging object to screen edgeОтражение на следующее кадровое окно при перетаскивании объекта к краю экранаhuMinimize WindowAblak minimalizálásadaMaximize EffectMaksimeringseffektcsOpacity level of moving windowsÚroveň krytí přesouvaných okendeHide all windows and focus desktopAlle Fenster ausblenden und Desktop fokussierenzh_CNZoom Speed缩放速度zh_CNA keybinding that when invoked, will run the shell command identified by command9键绑定在调用时,将运行 command9 确定的 shell 命令fiA keybinding that when invoked, will run the shell command identified by command7Tunnisteen command7 mukaisen komennon suorittava näppäinyhdistelmäcaDelay (in ms) between each rain-dropRetard (en ms) entre cada gota de plujaitDockAgganciacaRotation SpeedVelocitat del girptOpacityOpacidadezh_TWScale image調整影像比例svCommand line to be executed in shell when run_command11 is invokedKommandorad som ska köras i ett skal när run_command11 anropaszh_TWLine線plInitiate Window PickerRozpocznij przeglądanie okiendaUnredirect Fullscreen WindowsOmdiriger ikke fuldskærmsvinduersvAdd pointLägg till punktdaSwitcher timestepTidstrin for programskifterplBring To FrontPrzenieś na pierwszy plandaRaise windows when clickedHæv vinduerne, når der klikkesplStart RotationRozpocznij obrótzh_CNSnap Cube Rotation to Top Face将立方体快速旋转到顶面zh_CNSkydome Gradient Start Color背景渐变起始颜色huFading WindowsAblakok elhalványításaitOverlay an icon on windows once they are scaledSovrappone un'icona nelle finestre dopo che sono state ridimensionatehuWindow MenuAblak menücaSpace between windowsEspai entre finestreszh_CNRotate to viewport旋转到视点esPointPuntoptToggle active window maximized horizontallyAlternar janela ativa maximizada horizontalmentedaWater EffectVandeffektjaRotate To Face 9面9に回転huGaussian RadiusGauss-sugárplRotate rightObróć w prawofiWindow fade speedIkkunan häivytyksen nopeusfiRotate to face 6Käännä työpöydälle 6deRun command 6Befehl 6 ausführenzh_CNAdd point增加点csRotate to face 10 and bring active window alongOtočit na stranu 10 a vzít aktivní okno s sebouplUse spring model for wobbly window effectWykorzystaj model sprężysty dla efektu drgających okienptFlip to next viewport when moving pointer to screen edgeInverter para o viewport seguinte ao mover o ponteiro para a borda da telafiFullscreen fade effect on system beepKokoruudun häivytystehoste järjestelmän huomautuksestahuInitiate clone selectionKlónkiválasztás indításadeFocus Window EffectFenstereffekt fokussierenfrWindow DecorationDécoration de la fenêtrezh_TWToggle active window maximized將使用中視窗切換到最大esWave effect from window titleEfecto de ola desde el título de la ventanaruClick on window moves input focus to itЩелкните окно, чтобы передать ему фокус вводаcaHover TimeTemps de passar per sobrecsRender skydomeVykreslit nebeskou báňfrAllow drawing of fullscreen windows to not be redirected to offscreen pixmapsEmpêcher la redirection vers des pixmaps hors de l'écran lors de l'affichage des fenêtres plein écranzh_TWDefault Icon預設圖示caFlip to next viewport when dragging object to screen edgeInverteix cap a la propera àrea de visualització en arrossegar l'objecte cap a la vora de la pantallaplTexture FilterFiltr teksturycsMaximize active windowMaximalizovat aktivní oknojaWater offset scale水オフセットスケールcaWorkaroundsSolucions alternativeszh_TWCommand line to be executed in shell when run_command10 is invoked啟用 run_command10 時要在外圍程序中執行的指令行caDefault IconIcona per defectecsToggle Window Maximized VerticallyPřepnout okno maximalizované vertikálnějaLighting照明jaScale windowsスケールウィンドウzh_TWMinimized最小化plBring selected window to frontPrzenoś wybrane okno na wierzchitCommand line to be executed in shell when run_command7 is invokedRiga di comando da eseguire nella shell quando viene invocato run_command7svActive PluginsAktiva insticksmodulerhuClose WindowAblak bezárásadaMinimize EffectMinimer effektdeSkydome ImageSkydome-Bildzh_TWScale調整比例pt_BRA keybinding that when invoked, will run the shell command identified by command10Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando10deEdge Flip MoveAn Rand wechseln (Verschieben)plRotate RightObróć w prawozh_TWSpring Friction彈簧摩擦力huMove WindowAblak mozgatásafiRotate To Face 2 with WindowKäännä työpöydälle 2 ikkunan kanssaukUnknownНевідомоzh_TWA keybinding that when invoked, will run the shell command identified by command10啟用時將執行經 command10 識別之外圍程序指令的按鍵組合zh_CNRotate to face 8旋转到第 8 面daMove WindowFlyt vinduecsFocus Window EffectEfekt zaměření okenhuLayout and start transforming window groupElrendezés és ablakcsoport-transzformáció indításafiInside CubeKuution sisäpintaplLayout and start transforming all windowsRozmieść i zacznij przekształcać oknaitAdvance to next slideAvanza a diapositiva successivaesSkydome Gradient Start ColorColor de inicio del degradado de cúpulaesRotate to face 3Gira hacia el 3deDetect Refresh RateAktualisierungsrate erkennencaRaise On ClickEleva en fer cliczh_CNCommand line 2命令行 2daMove windowFlyt vinduenbMenuMenyjaInvert Y axis for pointer movementポインタ移動用にY 軸を反転させるfrAdd lineAjouter une lignedeInitiate Window MoveFensterverschiebung initiierenjaAnimate Skydomeスカイドームをアニメーション化するruScale windowsМасштабирование оконdeAccelerationBeschleunigungcaAuto-RaiseElevació automàticaptRotate To Face 10 with WindowGirar para a Face 10 com JanelaruFlip to next viewport when moving window to screen edgeОтражение на следующее кадровое окно при перемещении окна к краю экранаjaVertical Virtual Size垂直仮想サイズsvFrictionFriktionfrRotate To Face 3 with WindowRotation vers la face 3 avec la fenêtrefrFlip to next viewport when dragging object to screen edgeRotation vers la fenêtre suivante - Glissement d'un objet vers le côté de l'écranfrMinimize active windowMinimiser la fenêtre activezh_TWImage to use as texture for the skydome用來作為天空頂材質的影像zh_TWFold Acceleration摺疊加速caColor to use for the bottom color-stop of the skydome-fallback gradientColor que s'utilitzarà com a color inferior del degradat alternatiu de la cúpulacsRaise selected windows after intervalDát vybraná okna do popředí po uplynutí intervaluhuDockDokkplSwitcher timestepOpóźnienie przełącznikadaRotate Flip LeftRoter og vend til venstrecaUtilityUtilitatcaHide all windows and focus desktopOculta totes les finestres i passa el focus a l'escriptoriesDrop shadow opacityDesechar opacidad de la sombraplTooltipPodpowiedźruCommandКомандаpt_BRRotate To Face 4 with WindowGirar para a Face 4 com JanelacsAnimate skydome when rotating cubeAnimovat nebeskou báň při rotaci kostkycaTransform windows when they are minimized and unminimizedTransforma les finestres quan es minimitzen i es maximitzensvSpacingMellanrumsvCommand line to be executed in shell when run_command8 is invokedKommandorad som ska köras i ett skal när run_command8 anropassvBackground imagesBakgrundsbilderdaFade effect on system beepFadeeffekt ved systemtonezh_TWMake window shiver讓視窗晃動fiMinimizedPienennettyzh_CNFullscreen fade effect on system beep系统嘟嘟声的全屏减弱效果huPopup switcher if not visible and select next window out of all windowsAblakváltó megjelenítése ha nem látható és az összes ablak közül a következő kiválasztásacaTimeout before flipping viewportTemps d'espera abans d'invertir l'àrea de visualitzaciójaLower Windowウィンドウを下げるsvMipmapMipmapzh_CNFold Speed折叠速度csDialogDialogové oknohuHide all windows and focus desktopÖsszes ablak elrejtése és fókuszálás a munkaasztalraitSelect next windowSeleziona finestra successivadeMake window shiverFenster zittern lassenfrA keybinding that when invoked, will run the shell command identified by command2Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée par command2pt_BRPopup switcher if not visible and select next windowMostrar alternador, se não estiver visível, e selecionar próxima janelaptA keybinding that when invoked, will run the shell command identified by command6Um atalho de teclado que, quando acionado, executa o comando shell identificado pelo comando6paMenuਮੇਨੂcsIconIkonazh_TWLighting光源itOutputsOutputptStart RotationIniciar RotaçãocsMaximize Window HorizontallyMaximalizovat okno horizontálněfiDrop shadow opacityHylkää varjon vahvuusitList of strings describing output devicesElenco di stringhe che descrivono i dispositivi di outputjaRotate to face 10 and bring active window along面10に回転して、アクティブなウィンドウを移動pt_BRDecrease OpacityReduzir OpacidadedaUnmaximize active windowOphæv maksimeringen af det aktive vinduezh_CNToggle active window maximized vertically将活动窗口垂直方向切换到最大化deMap EffectEffekt zuordnenruToggle Window Maximized HorizontallyРазвертывать окно по горизонталиhuStroke color for annotationsFeljegyzések körvonalának színesvDetect Refresh RateDetektera uppdateringsfrekvensitFlip to right viewport and warp pointerCapovolgi verso destra riquadro di visualizzazione e altera puntatorejaDesktop CubeデスクトップキューブfrRaise window above other windowsRemonter la fenêtre au-dessus des autresesInitiate Window Picker For Windows on Current OutputIniciar selector de ventanas para las ventanas de la salida actualzh_CNFlip to next viewport when moving pointer to screen edge将指针移至屏幕边缘时翻转到下个视点jaSensitivity of pointer movementポインタの移動感度esCommand line 8Línea de comandos 8jaColor to use for the bottom color-stop of the skydome-fallback gradientスカイドームフォールバックグラデーションの下部カラーストップに使用する色esRaise window above other windowsElevar la ventana sobre las demásdaHide all windows and focus desktopSkjul alle vinduer, og flyt fokus til skrivebordzh_TWNumber of Desktops桌面數pt_BRToggle window snappingAlternar fechamento de janelaszh_TWAmount of opacity in percent不透明度比例trMenuMenücaRotate Flip LeftGira i inverteix cap a l'esquerrafrAudible system beepSignal sonore du système audiblesvRun DialogKördialogcsLayout and start transforming window groupRozvržení a počátek transformace skupiny okenzh_TWBring To Front提到最上層ruOnly perform screen updates during vertical blanking periodОбновления экрана выполняются только во время гашения обратного хода луча кадровой разверткиfiCommand line to be executed in shell when run_command8 is invokedSuoritettava komentorivi, kun run_command8 suoritetaan.csMinimize timestepČasový krok minimalizacecsRotate to face 11 and bring active window alongOtočit na stranu 11 a vzít aktivní okno s seboufiRotate to face 8 and bring active window alongKäännä työpöydälle 8 ja pidä aktiivinen ikkuna mukanazh_TWCommand line to be executed in shell when run_command4 is invoked啟用 run_command4 時要在外圍程序中執行的指令行nlMenuMenuzh_TWShadow Offset X陰影偏移 X 軸csRotate To Face 10 with WindowRotovat na stranu 10 s oknemhuPlane DownGördítés lefiToolbarTyökalupalkkicsLayout and start transforming all windowsRozvržení a počátek transformace všech okenjaLayout and start transforming windows配列してウィンドウの変換を開始するskMenuPonukafiRotate to viewportKierrä näkymääncaDarken BackgroundEnfosqueix el fonsitRotate ToRuota sufrMap EffectMapper l'effetzh_TWRun command 8執行指令 8ptOverlay IconÍcone de Instalação Sobrepostapt_BRShadow OpacityOpacidade da Sombrazh_CNMaximize active window vertically垂直方向最大化活动窗口jaRotate to face 2 and bring active window along面2に回転して、アクティブなウィンドウを移動fiRotation AccelerationKääntämiskiihdytysdeModalDialogModalDialogcaPopup switcher if not visible and select previous windowFes sortir el canviador si no està visible i selecciona la finestra anteriorfrSlow AnimationsRalentir les animationscaToggle active window maximized verticallyCommuta la finestra activa maximitzada verticalmentruPlace WindowsРазмещение оконesRotate Left with WindowGirar a la izquierda con ventanasvWindow MenuFönstermenycsShow icon next to thumbnailZobrazit ikonu vedle náhleduplList of PNG and SVG files that should be rendered on top face of cubeLista plików PNG i SVG, które mają być wyświetlane na górnej ścianie kostkifiRun command 10Suorita komento 10zh_TWLayout and start transforming windows配置和開始轉換視窗csToggle Window Maximized HorizontallyPřepnout okno maximalizované horizontálnědeCommand line 8Kommandozeile 8fiRun command 8Suorita komento 8plSkydome ImageObrazek tła dla kostkihrUnknownNepoznatodeCommand line to be executed in shell when run_command2 is invokedDie Kommandozeile, die bei Ausführung von run_command2 in der Shell ausgeführt wirdzh_TWRotate to face 11往面 11 旋轉itSnap To Top FaceAggancia a faccia superioreesRun command 1Ejecutar comando 1pt_BRRotate To Face 6Girar para a Face 6huMinimize timestepMinimalizálási időközdeBring selected window to frontAusgewähltes Fenster in den Vordergrund verschiebenplAuto-Raise DelayOpóźnienie automatycznego wysuwania okienfiDarken BackgroundTummenna taustapt_BRMipmapMapadeRotate To Face 6Drehen zu Fläche 6svFlip to next viewport when moving pointer to screen edgeVänd till nästa skrivbordsvy när muspekaren flyttas till skärmens kantptRotate to face 6Girar para a face 6fiWave effect from window titleAaltotehoste ikkunan otsikostafrToggle wiper effectActiver/désactiver l'effet d'essuie-glacefrCommand line to be executed in shell when run_command10 is invokedLigne de commande à exécuter dans le shell lorsque run_command10 est appeléitSplashSchermata di avviojaRotate To Face 3 with Windowウィンドウと一緒に面3に回転huAnimate skydome when rotating cubeKupola animálása a kocka forgatásánálzh_CNRotate desktop cube旋转桌面立方体fiTime (in ms) before scale mode is terminated when hovering over a windowAika (ms), jonka jälkeen skaalaustila lopetetaan, kun ikkunan päälle asettaminen on käytössäpt_BRScale speedVelocidade de escalajaStart moving windowウィンドウの移動を開始esA keybinding that when invoked, will run the shell command identified by command6Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command6ruInitiate Window MoveИнициировать движение окнаdeBrightnessHelligkeitruSaturationНасыщенностьcsCommand line 1Příkazová řádka 1deZoom factorZoomfaktorfiDialogValintaikkunaplOnly perform screen updates during vertical blanking periodOdświeżaj ekran tylko podczas okresu poziomego wygaszaniazh_CNRaise window above other windows将窗口升到其它窗口以上caNormalNormalptToggle Window MaximizedAlternar Janela MaximizadacsNumber of DesktopsPočet plochitToggle Window Maximized VerticallyAlterna finestra ingrandita in verticalezh_CNSpring Konstant弹簧常数plPlace WindowsRozmieść oknacsToggle wiperPřepnout stěračhuUse diffuse light when screen is transformedSzórt fény használata képernyő-transzformációnálitFilter LinearFiltro linearefrCommand line 5Ligne de commande 5csUse spring model for wobbly window effectPro efekt rozhoupání okna použít pružinový modelcaDecrease window opacityRedueix l'opacitat de la finestrahuTake a screenshotKépernyőkép készítéseruUnmaximize active windowОтмена полного развертывания активного окнаitRotate with windowRuota con finestrazh_CNInitiate Window Picker For All Windows启动所有窗口的窗口拾取器zh_TWRender skydome描繪天空頂csTexture filteringFiltrování texturjaLine線fiToggle wiperOta käyttöön pyyhkijädeInside CubeIn Würfelzh_TWRotate to face 6 and bring active window along往面 6 旋轉並隨同作用中視窗一起旋轉frRaise On ClickRemonter au clicptUse diffuse light when screen is transformedUsar luz difusa quando a tela for transformadacaToolbarBarra d'einesdeMinimize speedMinimiergeschwindigkeitcaPlace WindowsSitua les finestresesRotate to face 10Gira hacia el 10svToggle window snappingVäxla fönsterfästningdaMinimize WindowMinimer vinduecaFade SpeedVelocitat d'esvaïmentitRotation SpeedVelocità di rotazionejaFocus Window Effectウィンドウ効果をフォーカスitToggle active window maximizedAlterna finestra attiva ingranditahuTime (in ms) before scale mode is terminated when hovering over a windowAz átméretezési mód befejezés előtt eltelő idő (ezredmásodpercben) ablakra mutatáskoritA keybinding that when invoked, will run the shell command identified by command4Un'associazione di tasti che, quando invocata, esegue il comando della shell identificato da command4jaNext window次のウィンドウhuToggle active window shadedAktív ablak árnyékolás átkapcsolásaptDarken BackgroundEscurecer Segundo PlanoplFlip to next viewport when dragging object to screen edgePrzełącz do następnego widoku podczas przeciągania obiektów na krawędź ekranuplSlow AnimationsPowolne animacjeitList of currently active pluginsElenco di plug-in correntemente attivisvHorizontal viewport positionsHorisontella skivbordsvypositionerruZoom DesktopИзменить масштаб рабочего столаdeDialogDialogfeldfrClick on window moves input focus to itSi vous cliquez sur la fenêtre, vous déplacez le focus dessusdaPlace windows on cubePlacer vinduer på kubusdeRotate to face 11Drehen zu Fläche 11huEdge Flip MoveÉlforgatás áthelyezésplDecrease window opacityZmniejsz nieprzezroczystość oknadeToggle wiperWischer ein-/ausschaltendaVertex Grid ResolutionOpløsning for knuder i gitteretpt_BRRotate to face 12Girar para a face 12zh_TWCommand line 1指令行 1itRotate desktop cubeRuota cubo desktopdeA keybinding that when invoked, will run the shell command identified by command2Eine Tastenbelegung, die den durch Befehl 2 festgelegten Shell-Befehl ausführtdeMinimize active windowAktives Fenster minimierenruAmount of opacity in percentСтепень прозрачности в процентахfiShadow Offset YVarjon poikkeama (Y)itEdge Flip PointerPuntatore riflessione bordifiRefresh RateVirkistystaajuusdeIncrease window opacityFensterdurchlässigkeit erhöhenhuSwitcher timestepVáltás időközjaRun command 4ランコマンド4csRotate to face 6Otočit na stranu 6zh_TWFriction摩擦力deDecorator command line that is executed if no decorator is already runningDecorator-Kommandozeile, die ausgeführt wird, wenn nicht bereits ein Decorator ausgeführt wirdpt_BRAnimate SkydomeAnimar SkydomeplShow the main menuWyświetl menu głównept_BRSpeedVelocidadedeIgnore size increment and aspect hints when window is maximizedBei maximierter Anzeige Größensteigerung und Aspekttipps ignorierenesPopup switcher if not visible and select next windowMostrar el conmutador si no está visible y seleccionar la ventana siguientedaSpring FrictionFjerderfriktionpt_BRWindow fade speedVelocidade de esmaecimento da janelacsRaise WindowPřenést okno do popředífrCommand line to be executed in shell when run_command11 is invokedLigne de commande à exécuter dans le shell lorsque run_command11 est appelézh_TWRotate Flip Left往左旋轉翻轉svRotate windowRotera fönsteritHover TimeTempo passaggio del mouseesLower WindowBajar ventanapt_BRColor of top and bottom sides of the cubeCor dos lados superior e inferior do cubodaClick To FocusKlik for at fokuserecsPlace windows at appropriate positions when mappedUmístit mapovaná okna na odpovídající pozicept_BRTime (in ms) before scale mode is terminated when hovering over a windowTempo (em ms) antes do término do modo de escala quando o ponteiro passa sobre uma janelaesInitiate Window MoveIniciar movimiento de ventanafiLower window beneath other windowsLaske ikkuna taka-alallefiMinimize WindowPienennä ikkunadeRotate to face 7 and bring active window alongDrehen zu Fläche 7 und aktives Fenster mitführensvRotate to face 3 and bring active window alongRotera till yta 3 och ta med aktivt fönsterpt_BRRun DialogCaixa de Diálogo ExecutarcsRaise windows when clickedDát okna do popředí při kliknutízh_TWMinimize Window最小化視窗caFade in windows when mapped and fade out windows when unmappedEs fan aparèixer progressivament les finestres quan s'assignen i s'esvaeixen quan no estan assignadesfiScreenshot command lineKuvakaappauksen komentoesRotate to face 6 and bring active window alongGira hacia el 6 y arrastra la ventana activafrToggle active window maximized verticallyBasculer la fenêtre active agrandie verticalementplBlur windows that doesn't have focusRozmywaj nieaktywne oknaptIncrease window opacityAumentar opacidade da janelazh_CNDefault window icon image默认窗口图标图像zh_TWCommand line to be executed in shell when run_command7 is invoked啟用 run_command7 時要在外圍程序中執行的指令行fiInverted window snappingKäänteisten ikkunoiden kiinnitysruTime (in ms) before scale mode is terminated when hovering over a windowВремя (в мс) до завершения режима масштабирования при наведении указателя на окноruRender skydomeОтрисовка фонаcsMinimize EffectEfekt minimalizacept_BRAdvance to next slideAvançar para o slide seguintedaDetect Refresh RateRegistrer opdateringshastighedpt_BRRun command 5Executar comando 5huFade effect on system beepElhalványulás effektus rendszerhang eseténitZoom DesktopZoom desktopfrZoom OutZoom arrièrept_BRMap Window EffectEfeito do Mapa de JanelasjaMinimize Windowウィンドウを最小化するplLightingBłyskawicahuSelect next windowKövetkező ablak kiválasztásaruNumber of DesktopsЧисло рабочих столовplInitiate annotate drawingRozpocznij rysowanieesRotate To Face 7Girar hacia el 7ptTake a screenshot of a windowEfetuar captura de tela de uma janelacaWater EffectEfecte d'aiguafrScaleÉchellecsStart moving windowZahájit pohyb oknasvPlane to face 10Plana till yta 10svMinimizedMinimeratplFade SpeedSzybkość pojawiania się/zanikaniaitMaximize active windowRipristina finestra attivadeMaximize Window HorizontallyFenster horizontal maximierencaToggle rain effectCommuta l'efecte de plujazh_CNHide Skip Taskbar Windows隐藏跳过任务栏窗口ruAdd pointДобавить точкуhuPopup switcher if not visible and select previous windowAblakváltó megjelenítése ha nem látható és az előző ablak kiválasztásafiCommand line to be executed in shell when run_command6 is invokedSuoritettava komentorivi, kun run_command6 suoritetaan.svStart RotationStarta roteringpt_BRCommand line to be executed in shell when run_command10 is invokedLinha de comando a ser executada no shell quando run_command10 for acionadopt_BRCommand line 8Linha de comando 8frScale timestepIntervalle d'échelleesA keybinding that when invoked, will run the shell command identified by command9Combinación de teclas que al utilizarse ejecutará el comando de shell identificado por command9fiNotificationIlmoitussvCompizCompiz \ No newline at end of file diff --git a/po/ChangeLog b/po/ChangeLog new file mode 100644 index 0000000..b81e108 --- /dev/null +++ b/po/ChangeLog @@ -0,0 +1,25 @@ +2006-09-19 David Reveman + + * sv.po: New from Daniel Nylander. + +2006-06-29 Dan Winship + + * cs.po, de.po, es.po, fr.po, hu.po, it.po, ja.po, pt_BR.po, + zh_CN.po, zh_TW.po: update + +2006-06-20 Dan Winship + + * pl.po: New from translation team + +2006-06-09 Dan Winship + + * *.po: add translations + +2006-05-18 Dan Winship + + * POTFILES.in: s/compiz.schemas.in/compiz.schemas.in.in/ + +2006-05-05 Dan Winship + + * Add po/ + diff --git a/po/Makefile b/po/Makefile new file mode 100644 index 0000000..9635687 --- /dev/null +++ b/po/Makefile @@ -0,0 +1,305 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# +# This file file be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. +# +# - Modified by Owen Taylor to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize + +GETTEXT_PACKAGE = ecomp +PACKAGE = ecomp +VERSION = 0.6.2 + +SHELL = /bin/sh + + +srcdir = . +top_srcdir = .. + + +prefix = /usr/local +exec_prefix = ${prefix} +datarootdir = ${prefix}/share +datadir = ${datarootdir} +libdir = ${exec_prefix}/lib +localedir = $(libdir)/locale +gnulocaledir = $(datadir)/locale +gettextsrcdir = $(datadir)/glib-2.0/gettext/po +subdir = po + +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +MKINSTALLDIRS = $(top_srcdir)/./mkinstalldirs + +CC = gcc +GENCAT = @GENCAT@ +GMSGFMT = /usr/bin/msgfmt +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +XGETTEXT = /usr/bin/xgettext +MSGMERGE = msgmerge + +DEFS = -DHAVE_CONFIG_H +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPPFLAGS = + +INCLUDES = -I.. -I$(top_srcdir)/intl + +COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) + +SOURCES = +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +DISTFILES = LINGUAS ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ +$(POFILES) $(GMOFILES) $(SOURCES) + +POTFILES = \ + ../gtk/gnome/50-compiz-desktop-key.xml.in \ + ../gtk/gnome/50-compiz-key.xml.in \ + ../gtk/gnome/compiz.desktop.in \ + ../gtk/window-decorator/gwd.schemas.in \ + ../metadata/annotate.xml.in \ + ../metadata/blur.xml.in \ + ../metadata/clone.xml.in \ + ../metadata/core.xml.in \ + ../metadata/cube.xml.in \ + ../metadata/dbus.xml.in \ + ../metadata/decoration.xml.in \ + ../metadata/fade.xml.in \ + ../metadata/fs.xml.in \ + ../metadata/gconf.xml.in \ + ../metadata/glib.xml.in \ + ../metadata/ini.xml.in \ + ../metadata/inotify.xml.in \ + ../metadata/minimize.xml.in \ + ../metadata/move.xml.in \ + ../metadata/place.xml.in \ + ../metadata/plane.xml.in \ + ../metadata/png.xml.in \ + ../metadata/regex.xml.in \ + ../metadata/resize.xml.in \ + ../metadata/rotate.xml.in \ + ../metadata/scale.xml.in \ + ../metadata/screenshot.xml.in \ + ../metadata/svg.xml.in \ + ../metadata/switcher.xml.in \ + ../metadata/video.xml.in \ + ../metadata/water.xml.in \ + ../metadata/wobbly.xml.in \ + ../metadata/zoom.xml.in \ + ../src/main.c + +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +INSTOBJEXT = .mo + +.SUFFIXES: +.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat + +.c.o: + $(COMPILE) $< + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) $(MSGFMT_OPTS) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && $(GENCAT) $@ $*.msg + + +all: all-yes + +all-yes: $(CATALOGS) +all-no: + +$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ + --add-comments --keyword=_ --keyword=N_ \ + --flag=g_strdup_printf:1:c-format \ + --flag=g_string_printf:2:c-format \ + --flag=g_string_append_printf:2:c-format \ + --flag=g_error_new:3:c-format \ + --flag=g_set_error:4:c-format \ + --flag=g_markup_printf_escaped:1:c-format \ + --flag=g_log:3:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_printf:1:c-format \ + --flag=g_fprintf:2:c-format \ + --flag=g_sprintf:2:c-format \ + --flag=g_snprintf:3:c-format \ + --flag=g_scanner_error:2:c-format \ + --flag=g_scanner_warn:2:c-format \ + --files-from=$(srcdir)/POTFILES.in \ + && test ! -f $(GETTEXT_PACKAGE).po \ + || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ + && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) + +install: install-exec install-data +install-exec: +install-data: install-data-yes +install-data-no: all +install-data-yes: all + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ + fi + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + case "$$cat" in \ + *.gmo) destdir=$(gnulocaledir);; \ + *) destdir=$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $$dir; \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ + fi; \ + if test -r $$cat; then \ + $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + fi; \ + if test -r $$cat.m; then \ + $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + if test -r $(srcdir)/$$cat.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$cat.m \ + $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + true; \ + fi; \ + fi; \ + done + if test "$(PACKAGE)" = "glib"; then \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ + fi; \ + $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ + $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + else \ + : ; \ + fi + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + done + if test "$(PACKAGE)" = "glib"; then \ + rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + fi + +check: all + +dvi info tags TAGS ID: + +mostlyclean: + rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f $(GMOFILES) + +distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) +dist distdir: update-po $(DISTFILES) + dists="$(DISTFILES)"; \ + for file in $$dists; do \ + ln $(srcdir)/$$file $(distdir) 2> /dev/null \ + || cp -p $(srcdir)/$$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + tmpdir=`pwd`; \ + cd $(srcdir); \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + echo "$$lang:"; \ + if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$cat failed!"; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi; \ + done + +# POTFILES is created from POTFILES.in by stripping comments, empty lines +# and Intltool tags (enclosed in square brackets), and appending a full +# relative path to them +POTFILES: POTFILES.in + ( if test 'x$(srcdir)' != 'x.'; then \ + posrcprefix='$(top_srcdir)/'; \ + else \ + posrcprefix="../"; \ + fi; \ + rm -f $@-t $@ \ + && (sed -e '/^#/d' \ + -e "s/^\[.*\] +//" \ + -e '/^[ ]*$$/d' \ + -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ + | sed -e '$$s/\\$$//') > $@-t \ + && chmod a-w $@-t \ + && mv $@-t $@ ) + +Makefile: Makefile.in.in ../config.status POTFILES + cd .. \ + && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ + $(SHELL) ./config.status + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/Makefile.in b/po/Makefile.in new file mode 100644 index 0000000..48a9ffc --- /dev/null +++ b/po/Makefile.in @@ -0,0 +1,271 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# +# This file file be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. +# +# - Modified by Owen Taylor to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize + +GETTEXT_PACKAGE = ecomp +PACKAGE = ecomp +VERSION = 0.6.2 + +SHELL = /bin/sh + + +srcdir = . +top_srcdir = .. + + +prefix = /usr/local +exec_prefix = ${prefix} +datarootdir = ${prefix}/share +datadir = ${datarootdir} +libdir = ${exec_prefix}/lib +localedir = $(libdir)/locale +gnulocaledir = $(datadir)/locale +gettextsrcdir = $(datadir)/glib-2.0/gettext/po +subdir = po + +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +MKINSTALLDIRS = $(top_srcdir)/./mkinstalldirs + +CC = gcc +GENCAT = @GENCAT@ +GMSGFMT = /usr/bin/msgfmt +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +XGETTEXT = /usr/bin/xgettext +MSGMERGE = msgmerge + +DEFS = -DHAVE_CONFIG_H +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPPFLAGS = + +INCLUDES = -I.. -I$(top_srcdir)/intl + +COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) + +SOURCES = +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +DISTFILES = LINGUAS ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ +$(POFILES) $(GMOFILES) $(SOURCES) + +POTFILES = \ + +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +INSTOBJEXT = .mo + +.SUFFIXES: +.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat + +.c.o: + $(COMPILE) $< + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) $(MSGFMT_OPTS) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && $(GENCAT) $@ $*.msg + + +all: all-yes + +all-yes: $(CATALOGS) +all-no: + +$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ + --add-comments --keyword=_ --keyword=N_ \ + --flag=g_strdup_printf:1:c-format \ + --flag=g_string_printf:2:c-format \ + --flag=g_string_append_printf:2:c-format \ + --flag=g_error_new:3:c-format \ + --flag=g_set_error:4:c-format \ + --flag=g_markup_printf_escaped:1:c-format \ + --flag=g_log:3:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_printf:1:c-format \ + --flag=g_fprintf:2:c-format \ + --flag=g_sprintf:2:c-format \ + --flag=g_snprintf:3:c-format \ + --flag=g_scanner_error:2:c-format \ + --flag=g_scanner_warn:2:c-format \ + --files-from=$(srcdir)/POTFILES.in \ + && test ! -f $(GETTEXT_PACKAGE).po \ + || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ + && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) + +install: install-exec install-data +install-exec: +install-data: install-data-yes +install-data-no: all +install-data-yes: all + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ + fi + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + case "$$cat" in \ + *.gmo) destdir=$(gnulocaledir);; \ + *) destdir=$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $$dir; \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ + fi; \ + if test -r $$cat; then \ + $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + fi; \ + if test -r $$cat.m; then \ + $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + if test -r $(srcdir)/$$cat.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$cat.m \ + $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + true; \ + fi; \ + fi; \ + done + if test "$(PACKAGE)" = "glib"; then \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ + fi; \ + $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ + $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + else \ + : ; \ + fi + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + done + if test "$(PACKAGE)" = "glib"; then \ + rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + fi + +check: all + +dvi info tags TAGS ID: + +mostlyclean: + rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f $(GMOFILES) + +distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) +dist distdir: update-po $(DISTFILES) + dists="$(DISTFILES)"; \ + for file in $$dists; do \ + ln $(srcdir)/$$file $(distdir) 2> /dev/null \ + || cp -p $(srcdir)/$$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + tmpdir=`pwd`; \ + cd $(srcdir); \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + echo "$$lang:"; \ + if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$cat failed!"; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi; \ + done + +# POTFILES is created from POTFILES.in by stripping comments, empty lines +# and Intltool tags (enclosed in square brackets), and appending a full +# relative path to them +POTFILES: POTFILES.in + ( if test 'x$(srcdir)' != 'x.'; then \ + posrcprefix='$(top_srcdir)/'; \ + else \ + posrcprefix="../"; \ + fi; \ + rm -f $@-t $@ \ + && (sed -e '/^#/d' \ + -e "s/^\[.*\] +//" \ + -e '/^[ ]*$$/d' \ + -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ + | sed -e '$$s/\\$$//') > $@-t \ + && chmod a-w $@-t \ + && mv $@-t $@ ) + +Makefile: Makefile.in.in ../config.status POTFILES + cd .. \ + && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ + $(SHELL) ./config.status + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..4954838 --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,271 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# +# This file file be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. +# +# - Modified by Owen Taylor to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize + +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ + +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +libdir = @libdir@ +localedir = $(libdir)/locale +gnulocaledir = $(datadir)/locale +gettextsrcdir = $(datadir)/glib-2.0/gettext/po +subdir = po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@ + +CC = @CC@ +GENCAT = @GENCAT@ +GMSGFMT = @GMSGFMT@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +XGETTEXT = @XGETTEXT@ +MSGMERGE = msgmerge + +DEFS = @DEFS@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ + +INCLUDES = -I.. -I$(top_srcdir)/intl + +COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) + +SOURCES = +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +DISTFILES = LINGUAS ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ +$(POFILES) $(GMOFILES) $(SOURCES) + +POTFILES = \ + +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +INSTOBJEXT = @INSTOBJEXT@ + +.SUFFIXES: +.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat + +.c.o: + $(COMPILE) $< + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) $(MSGFMT_OPTS) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && $(GENCAT) $@ $*.msg + + +all: all-@USE_NLS@ + +all-yes: $(CATALOGS) +all-no: + +$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --directory=$(top_srcdir) \ + --add-comments --keyword=_ --keyword=N_ \ + --flag=g_strdup_printf:1:c-format \ + --flag=g_string_printf:2:c-format \ + --flag=g_string_append_printf:2:c-format \ + --flag=g_error_new:3:c-format \ + --flag=g_set_error:4:c-format \ + --flag=g_markup_printf_escaped:1:c-format \ + --flag=g_log:3:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_printf:1:c-format \ + --flag=g_fprintf:2:c-format \ + --flag=g_sprintf:2:c-format \ + --flag=g_snprintf:3:c-format \ + --flag=g_scanner_error:2:c-format \ + --flag=g_scanner_warn:2:c-format \ + --files-from=$(srcdir)/POTFILES.in \ + && test ! -f $(GETTEXT_PACKAGE).po \ + || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ + && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ +install-data-no: all +install-data-yes: all + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ + fi + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + case "$$cat" in \ + *.gmo) destdir=$(gnulocaledir);; \ + *) destdir=$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $$dir; \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ + fi; \ + if test -r $$cat; then \ + $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + fi; \ + if test -r $$cat.m; then \ + $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + if test -r $(srcdir)/$$cat.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$cat.m \ + $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + true; \ + fi; \ + fi; \ + done + if test "$(PACKAGE)" = "glib"; then \ + if test -r "$(MKINSTALLDIRS)"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + else \ + $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ + fi; \ + $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ + $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + else \ + : ; \ + fi + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + done + if test "$(PACKAGE)" = "glib"; then \ + rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + fi + +check: all + +dvi info tags TAGS ID: + +mostlyclean: + rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f $(GMOFILES) + +distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) +dist distdir: update-po $(DISTFILES) + dists="$(DISTFILES)"; \ + for file in $$dists; do \ + ln $(srcdir)/$$file $(distdir) 2> /dev/null \ + || cp -p $(srcdir)/$$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + tmpdir=`pwd`; \ + cd $(srcdir); \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + echo "$$lang:"; \ + if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$cat failed!"; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi; \ + done + +# POTFILES is created from POTFILES.in by stripping comments, empty lines +# and Intltool tags (enclosed in square brackets), and appending a full +# relative path to them +POTFILES: POTFILES.in + ( if test 'x$(srcdir)' != 'x.'; then \ + posrcprefix='$(top_srcdir)/'; \ + else \ + posrcprefix="../"; \ + fi; \ + rm -f $@-t $@ \ + && (sed -e '/^#/d' \ + -e "s/^\[.*\] +//" \ + -e '/^[ ]*$$/d' \ + -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ + | sed -e '$$s/\\$$//') > $@-t \ + && chmod a-w $@-t \ + && mv $@-t $@ ) + +Makefile: Makefile.in.in ../config.status POTFILES + cd .. \ + && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ + $(SHELL) ./config.status + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/POTFILES b/po/POTFILES new file mode 100644 index 0000000..088d877 --- /dev/null +++ b/po/POTFILES @@ -0,0 +1,34 @@ + ../gtk/gnome/50-compiz-desktop-key.xml.in \ + ../gtk/gnome/50-compiz-key.xml.in \ + ../gtk/gnome/compiz.desktop.in \ + ../gtk/window-decorator/gwd.schemas.in \ + ../metadata/annotate.xml.in \ + ../metadata/blur.xml.in \ + ../metadata/clone.xml.in \ + ../metadata/core.xml.in \ + ../metadata/cube.xml.in \ + ../metadata/dbus.xml.in \ + ../metadata/decoration.xml.in \ + ../metadata/fade.xml.in \ + ../metadata/fs.xml.in \ + ../metadata/gconf.xml.in \ + ../metadata/glib.xml.in \ + ../metadata/ini.xml.in \ + ../metadata/inotify.xml.in \ + ../metadata/minimize.xml.in \ + ../metadata/move.xml.in \ + ../metadata/place.xml.in \ + ../metadata/plane.xml.in \ + ../metadata/png.xml.in \ + ../metadata/regex.xml.in \ + ../metadata/resize.xml.in \ + ../metadata/rotate.xml.in \ + ../metadata/scale.xml.in \ + ../metadata/screenshot.xml.in \ + ../metadata/svg.xml.in \ + ../metadata/switcher.xml.in \ + ../metadata/video.xml.in \ + ../metadata/water.xml.in \ + ../metadata/wobbly.xml.in \ + ../metadata/zoom.xml.in \ + ../src/main.c diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..dbfc1e3 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,34 @@ +gtk/gnome/50-compiz-desktop-key.xml.in +gtk/gnome/50-compiz-key.xml.in +gtk/gnome/compiz.desktop.in +gtk/window-decorator/gwd.schemas.in +metadata/annotate.xml.in +metadata/blur.xml.in +metadata/clone.xml.in +metadata/core.xml.in +metadata/cube.xml.in +metadata/dbus.xml.in +metadata/decoration.xml.in +metadata/fade.xml.in +metadata/fs.xml.in +metadata/gconf.xml.in +metadata/glib.xml.in +metadata/ini.xml.in +metadata/inotify.xml.in +metadata/minimize.xml.in +metadata/move.xml.in +metadata/place.xml.in +metadata/plane.xml.in +metadata/png.xml.in +metadata/regex.xml.in +metadata/resize.xml.in +metadata/rotate.xml.in +metadata/scale.xml.in +metadata/screenshot.xml.in +metadata/svg.xml.in +metadata/switcher.xml.in +metadata/video.xml.in +metadata/water.xml.in +metadata/wobbly.xml.in +metadata/zoom.xml.in +src/main.c diff --git a/po/af.gmo b/po/af.gmo new file mode 100644 index 0000000000000000000000000000000000000000..9122ad059ed83c61937ed1c90eafd437a6d3e405 GIT binary patch literal 537 zcma)(y-ou$49CMa+=Q4J!UlsOS3Y%Z5rTq*M4>_lEG(fl$8o81Bq`91kr&|gcoc-M zMe2&BpKQl}Cvozu{!OSuDOl2jrz`QW?%nzDh;P&Uk8bVQ@dX4m!)xoupA6m|c15J)Q$;710uomuzFDiwaoAiZxz?2NMm-XD=n7w;>yN*K|Ko}tut4gGU+&?PW&i*H literal 0 HcmV?d00001 diff --git a/po/af.po b/po/af.po new file mode 100644 index 0000000..144afe9 --- /dev/null +++ b/po/af.po @@ -0,0 +1,2471 @@ +# Copyright (C) 2007 SuSE Linux Products GmbH, Nuernberg +# This file is distributed under the same license as the package. +# +msgid "" +msgstr "" +"Project-Id-Version: installation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-11-03 14:26\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Werkskerm" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Inisialiseer" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Inisialiseer" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Inisialiseer" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Inisialiseer" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Inisialiseer" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Inisialiseer" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Berg konfigurasie" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Berg konfigurasie" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Berg konfigurasie" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Kies &niks" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Kies &niks" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Kataloguskeuse" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Kies &niks" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Vernuwe" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Opdrag '%1'" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Werkskerm" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Opdragte:" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Kies &niks" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Kies &niks" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Kies &niks" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Kies &niks" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Kies &niks" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Kies &niks" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Werkskerm" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Inisialiseer" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Inisialiseer" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Kies &niks" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Kies &niks" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Installasie is voltooi" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Installasie is voltooi" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Installasie is voltooi" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Begin van installasie ..." + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Inisialiseer" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Kies &niks" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Kies &niks" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "&Plaaslike gids ..." + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Kataloguskeuse" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Inisialiseer" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Tydens selflaai" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Kies &niks" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Berg konfigurasie" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Kies &niks" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Kies &niks" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Kies &niks" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Kies &niks" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Kies &niks" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Tydens selflaai" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Werkskerm" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Installasie is voltooi" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normaal" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Onbekend" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Berg konfigurasie" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Installasie is voltooi" diff --git a/po/ar.gmo b/po/ar.gmo new file mode 100644 index 0000000000000000000000000000000000000000..1dd8fbcc5578b72b2599d97d6f1ec4ca1526e993 GIT binary patch literal 365 zcmYL^&rSj{5Qi~(+M{O=J$Tc>mK9wq8vclcD3OrW`>;DKCD@X-7DQ`h`K`Eh9Eju8urDPEn^kwRA8&3hN zDix}$)0+#)oyjYP2)Rcawiun)VzS0V2qH)CaV2^iSDJp<2Wpq}$hNKaSP|repIQt& zE=?hNMrF2, YEAR. +# +# This file is distributed under the same license as @PACKAGE@ package. FIRST +# +msgid "" +msgstr "" +"Project-Id-Version: @PACKAGE@\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-07-13 15:36+0200\n" +"Last-Translator: Ghayss Tarraf \n" +"Language-Team: Arabic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +msgid "Blur Saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +msgid "Blur saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "ﺔﻴﺳﻭﺭ" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "ﺔﻴﺳﻭﺭ" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "ﺔﻴﺳﻭﺭ" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "ﺔﻴﺳﻭﺭ" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +msgid "Shadow windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +msgid "Fade windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +msgid "Initiate rectangle screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +msgid "Auto Rotate" +msgstr "" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +msgid "Focus Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +msgid "Grab Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "ﺔﻴﺳﻭﺭ" diff --git a/po/bg.gmo b/po/bg.gmo new file mode 100644 index 0000000000000000000000000000000000000000..0329360d23a63f0e8b5bb6cec17a0ea15c6e864c GIT binary patch literal 545 zcmYL_&ubJh6vw019}FHuJbH+?mh#qQYw31&w=Df71y`3k6$CHoY@DW@Nya2o?Lp8& zuf6qV|A$go6tw*tvj2d8M6bR0MumOw;rsG_N%t@bwyqpTZo)&={;>eYBI29 zSEe2|hVVvOr;Lv2Tk$%f)4f6##vb%$qD@&E>!I&5HH76VbC8&rMuS%gtXL^LHo>a! zGNw(&7J$tI=akRItO@KHV^|2Aa$nWMCv|gx>E;6EJf2^iWgP2X2%@xFr+7x(g$e_G~3={8Mwgmuz)w~}>eP3r2s-b)K>IyFP3vzWHFm5&B_ zWkn9__^mFcy8L@|-DaEqbGy@;KIu|E(~d~^7DnM>d`!Y=xEy~8zrtDg87{(E9T, 2000. +# Y Gonch , 2000. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2003-02-27 11:59+0100\n" +"Last-Translator: Y Gonch \n" +"Language-Team: Bulgarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Работна среда KDE" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Мениджър на прозорци" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Избрано" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&Изтриване изцяло на Windows" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&Изтриване изцяло на Windows" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +# HT +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Хитите" + +# KM +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Цветове" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Активни драйвери:" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +#, fuzzy +msgid "Fill color for annotations" +msgstr "Можете да научите повече от документацията" + +# HT +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Хитите" + +# HT +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Хитите" + +# HT +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Хитите" + +# HT +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Хитите" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +#, fuzzy +msgid "Line width for annotations" +msgstr "Можете да научите повече от документацията" + +#: ../metadata/annotate.xml.in.h:15 +#, fuzzy +msgid "Stroke color for annotations" +msgstr "Можете да научите повече от документацията" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +#, fuzzy +msgid "Stroke width for annotations" +msgstr "Можете да научите повече от документацията" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Изтриване на Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "&Филтър" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Продължителност" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Продължителност" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Избрано" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Продължителност" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Изтриване на Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Изтриване на Windows" + +# RU +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Руска Федерация" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Руска" + +# RU +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Руска Федерация" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Руска" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Ми'кмак" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows свободни (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +# HT +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Хитите" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Активни драйвери:" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Файлова &система" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "AutoYast" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +#, fuzzy +msgid "Automatic detection of output devices" +msgstr "Автоматично откриване" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Изтриване на Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&Изтриване изцяло на Windows" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Раздел по подразбиране" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Домейн по подразбиране" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Избор за подновяване" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Виртуално устройство" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Водене на дневник" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Показване на списък само с откритите принтери" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Долно-сорбийски" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Намаляване на Windows" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Намаляване на Windows" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Намаляване на Windows" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Отдалечен работен плот" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Отдалечен работен плот" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Окцитан (след 1500)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Стартиране в терминал" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Закъснение" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Обновяване" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "&Тонално набиране" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Команда \"%1\"" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Команда \"%1\"" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Команда \"%1\"" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Команда \"%1\"" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Възникнала е грешка при парсването на командния ред." + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "Показване на менюто на зареждането" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "Показване на менюто на зареждането" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Показване всички дялове" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Възникнала е грешка при парсването на командния ред." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "&Филтър" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "&Филтър" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Виртуално устройство" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Мениджър на прозорци" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D ускорение:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "Разширени параметри" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Сидни" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +# KM +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Цветове" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Работна станция" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D ускорение:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Избрано" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Проба" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "Предишно ядро" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Инсталиране на файла образ" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Ми'кмак" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "Нов размер" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Изтриване на Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Предишно ядро" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "местно време" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Сидни" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Дисков образ" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Избрано" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Проба" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Команда: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Нисък капацитет" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Нисък капацитет" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Радиус" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Нисък капацитет" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Радиус" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Намаляване на Windows" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Нисък капацитет" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Нисък капацитет" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Нисък капацитет" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Радиус" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Намаляване на Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Без описание" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "Параметри на ypbind" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Избрано" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Файлова &система" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Намаляване на Windows" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Touchscreen" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows свободни (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Добавяне на контакт" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Добавяне на контакт" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Без записване" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Без записване" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Намаляване на Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Намаляване на Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Намаляване на Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Намаляване на Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Съдържа" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "&Надолу" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "&Надолу" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "&Надолу" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Нисък капацитет" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Намаляване на Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Виртуално устройство" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Виртуално устройство" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "Параметри на ypbind" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "Работна гр&упа" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Виртуално устройство" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Виртуално устройство" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Работна станция" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Изтриване на Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Страница надолу" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Надясно" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Страница нагоре" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Изтриване на Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Надясно" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Завъртане на екрана" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Страница нагоре" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "&Начален RAM диск" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "В реално време" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Показател към %1" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Опи&сание на принтера" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Надясно" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Надясно" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Надясно" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Надясно" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Завъртане на екрана" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "&Надолу" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D ускорение:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Проба" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Проба" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Начало на откриването" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Фон" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "&Начален RAM диск" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "&Начален RAM диск" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "&Начален RAM диск" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "&Начален RAM диск" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Скенер" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "местно време" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "местно време" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Испания" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Автоматично зареждане на аплета при влизане" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Директория\n" + +# HT +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Хитите" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Офис приложения" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Екран" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Възникнала е грешка при парсването на командния ред." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Ред на прилагане" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "AutoYast" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Мост" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "При зареждане на ОС" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Икони" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Намаляване на Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Изтриване на Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Продължителност" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Изтриване на Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Промяната на размера е неуспешно." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Намаляване на Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "местно време" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "местно време" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Излизане" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "До&бавяне на връзка" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Добавяне на контакт" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Закъснение" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "&Промяна на статуса" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "&Промяна на статуса" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "&Промяна на статуса" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "&Промяна на статуса" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Действие" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Изтриване на Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Разделителна способност" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Изтриване на Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Максимален размер" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Максимален размер" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "&Надолу" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Драйвер" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Намаляване на Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Действие" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Испания" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Испания" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Изтриване на Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Разпознаване на сървъра" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Филтър:" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Работна станция" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Излизане" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Излизане" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Избрано" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Проба" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Излизане" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Инструменти" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Меню" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Диск с приложения (utility)..." + +#: ../src/main.c:59 +#, fuzzy +msgid "Splash" +msgstr "splash" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "&Тонално набиране" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Нормална" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Мениджър на прозорци" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Меню" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Инструменти" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Забележки" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +#, fuzzy +msgid "Dnd" +msgstr "End" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Touchscreen" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Неизвестно" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Филтър:" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Руска" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Продължителност" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "Без записване" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Нисък капацитет" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Радиус" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Промяната на размера е неуспешно." + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D ускорение: " + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D ускорение: " + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Проба" + +# RU +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Руска Федерация" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Руска" + +#, fuzzy +#~ msgid "Line width for annotations (0.0-100.0)" +#~ msgstr "Можете да научите повече от документацията" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Намаляване на Windows" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Намаляване на Windows" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Максимален размер" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Отдалечен работен плот" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Окцитан (след 1500)" + +# KM +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Цветове" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D ускорение: " + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Проба" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "местно време" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "местно време" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Изтриване на Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Действие" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Испания" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "&Филтър" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Разпознаване на сървъра" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows свободни (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows свободни (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Избрано" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Проба" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Излизане" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Завъртане на екрана" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Завъртане на екрана" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Промяната на размера е неуспешно." + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Завъртане на екрана" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Завъртане на екрана" + +#~ msgid "None" +#~ msgstr "Без избор" + +#~ msgid "Big" +#~ msgstr "Голяма" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Команда: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Команда: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Тип на доставчика" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Разрешаване на авто-спирането" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Корнски" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Терминали" diff --git a/po/bn.gmo b/po/bn.gmo new file mode 100644 index 0000000000000000000000000000000000000000..3495f4e7fdafab01efb0941c30f0660287d6658d GIT binary patch literal 454 zcmYL^&q@O^5XM(gguMu!J;a-$Q?s>VP5)4;777+?T?N5QY{zwVH(8QYcOSq<@aDPr z1Ri}9>7zKUU_bJkOyK*H$smc4{i?ja(N8#Z&>g`I8XIdR*sZ(@*>)?%RGXr;;}0;?#zD_U@d(=E$U>+E^ZOSe zoEVgjLU1Y_3RdR)2>2lc0SgWUF9WY|PDU8uOFX-L;i~|z0zYN}7v;(>r=))_t%J}= zWfSSN5iHMhRxgU8g}F?#1WVdPO|q$IEF**vWhz)3RV0&`)#IS5T6S!)G{UCe>-NqT zUkXaxKheseq8EycMs=9G{Vb8Os*6230A$2o!?K! pMkdhFCbfd8Y<{$ja*h494aK$^EU5Y3bn-Txd`u_b)5#}Q?-#T1fs_CM literal 0 HcmV?d00001 diff --git a/po/bn.po b/po/bn.po new file mode 100644 index 0000000..873a74c --- /dev/null +++ b/po/bn.po @@ -0,0 +1,2640 @@ +# Bengali message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2004 SuSE Linux AG. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2004-08-09 10:24+0200\n" +"Last-Translator: xxx \n" +"Language-Team: Bengali \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "বাদ দেয়া হয়েছে\n" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "ভারত" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "ভারত" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "ভারত" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "ভারত" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "ভারত" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "ভারত" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "বাদ দেয়া হয়েছে\n" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "অবস্থা সম্পর্কিত তথ্য (&t)" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "অবস্থা সম্পর্কিত তথ্য (&t)" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "বাদ দেয়া হয়েছে\n" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "অবস্থা সম্পর্কিত তথ্য (&t)" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "রাশিয়ান" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "রাশিয়ান" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "রাশিয়ান" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "রাশিয়ান" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "ভারত" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +# স্বয়ংক্রীয় +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "স্বয়ংক্রীয় আপডেট" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +# button label +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "ডিফল্ট (&e)" + +# progress stage title +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "ডিফল্ট উইন্ডো ম্যানেজার আরাম্ভ করা হচ্ছে" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +# headline for dialog "Select for update" +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "পরিবর্ধনের জন্য নির্বাচন করুন" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "পুনরায় তালিকা প্রদর্শন করো (&R)" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "কমান্ড '%1'" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "কমান্ড লাইন পার্স করতে সমস্যা।" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "সবগুলো পার্টিশন প্রদর্শন করো" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "কমান্ড লাইন পার্স করতে সমস্যা।" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# নির্বাচন +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "নির্বাচন " + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +# নির্বাচন +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "নির্বাচন " + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "বাদ দেয়া হয়েছে\n" + +# label text +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "সময়" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "ইমেজ ফাইল তৈরী করো" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "স্হানীয় সময়" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "বাদ দেয়া হয়েছে\n" + +# label text +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "সময়" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "কমান্ড '%1'" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "বাদ দেয়া হয়েছে\n" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "স্হানীয় সময়" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "ধারন করে" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +# why not "token ring"? +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "টোকেন রিং" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "ভারত" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "স্থানীয় সময়" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +# স্বয়ংক্রীয় +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "স্বয়ংক্রীয় আপডেট" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +# নির্বাচন +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "নির্বাচন " + +# label text +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "সময়" + +# label text +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "সময়" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "অবস্থা সম্পর্কিত তথ্য (&t)" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "ভারত" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "স্ক্যানার" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "বিস্তারিত দেখাও (&d)" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "স্হানীয় সময়" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "স্হানীয় সময়" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "স্পেন" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "ভারত" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "কমান্ড লাইন পার্স করতে সমস্যা।" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "কমান্ড লাইন পার্স করতে সমস্যা।" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +# স্বয়ংক্রীয় +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "স্বয়ংক্রীয় আপডেট" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "ব্রিজ" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "বুটের সময়" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "অবস্থা সম্পর্কিত তথ্য (&t)" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "বিস্তারিত দেখাও (&d)" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "স্হানীয় সময়" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "স্হানীয় সময়" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +# why not "token ring"? +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "টোকেন রিং" + +# why not "token ring"? +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "টোকেন রিং" + +# why not "token ring"? +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "টোকেন রিং" + +# why not "token ring"? +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "টোকেন রিং" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +msgid "Focus Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "পার্টিশন" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "বিস্তারিত দেখাও (&d)" + +# দ্বন্দ্ব +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "দ্বন্দ্ব মীমাংসা:" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "বিস্তারিত দেখাও (&d)" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "পার্টিশন" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "ধাপে ধাপে আগানো" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "ধাপে ধাপে আগানো" + +# why not "token ring"? +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "টোকেন রিং" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +# দ্বন্দ্ব +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "দ্বন্দ্ব মীমাংসা:" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "ফিল্টার:" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +# label text +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "সময়" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "বাদ দেয়া হয়েছে\n" + +# label text +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "সময়" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "পার্টিশন" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +# label for an unknown installed system +# try to use simple words +#: ../src/main.c:70 +msgid "Unknown" +msgstr "অজানা" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "ফিল্টার:" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "অবস্থা সম্পর্কিত তথ্য (&t)" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "বিস্তারিত দেখাও (&d)" + +# নির্বাচন +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "নির্বাচন " + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "বাদ দেয়া হয়েছে\n" + +# label text +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "সময়" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "রাশিয়ান" + +# নির্বাচন +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "নির্বাচন " + +# label text +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "সময়" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "স্হানীয় সময়" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "স্হানীয় সময়" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "পার্টিশন" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "ধাপে ধাপে আগানো" + +# দ্বন্দ্ব +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "দ্বন্দ্ব মীমাংসা:" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "বাদ দেয়া হয়েছে\n" + +# label text +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "সময়" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "কমান্ড '%1'" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "ফ্লপি ডিস্ক" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "প্রিন্টার" diff --git a/po/bs.gmo b/po/bs.gmo new file mode 100644 index 0000000000000000000000000000000000000000..cbacdd27ee39ca8e370d6e7f8293f2cea3403407 GIT binary patch literal 538 zcmYL`&rTaL5XQF^Rne%V-iiYVR_pNVh82O=ffm=Yg}pTzUKD7vKa6R}PPDwolE z|Hp;7G4{?xQ)jQ$Jm5)zzm@aa8UdH`R}NdFTGiIwkGA7;wXiPW#Fx6jaZ`HCt$=uX zmg9j_GLQ)mWl#bV#(K!UBj>=of+fiI7$YH`t6SY}zS7ZJ50ftNzDRmIjGXZg=>z6Y z8ehp^oq$7GYX{?NRoR)7g`PutD$7PzqpB%q`l@4HIV78*xl&=SWG!H9z0uM@s(Igx zeB)K8P{Vj~GC5jZk#|^pU`p}euyNgO{Gl2P(bY6w*B0t9dO4oMwM>#w) zb6aRr3h2*th^JNKWQE7p)n0&EEK8qt2k@3=<|}7e#$j_4+LV3C=zaEq0ja4TX34*$ iG}~*_t)(pG3?3ifETm!E, 2001. +# Amila Akagic , 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2002-07-23 18:27+0200\n" +"Last-Translator: Damir Bjelobradic \n" +"Language-Team: Bosnian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Desktop postavke" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Windhoek" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "&Postavi filter" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "&Postavi filter" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Sajgon" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Sajgon" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "&Postavi filter" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Windhoek" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Sajgon" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Windhoek" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +# RU +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Ruska Federacija" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Ruski" + +# RU +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Ruska Federacija" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Ruski" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windhoek" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Indija" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "&Podrazumjevani" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Podrazumjevani datum &isteka" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Logging" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +# SH +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Saint Helena" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Ponovi &mjeru" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Konfiguracije" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "&Postavi filter" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "&Postavi filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Windhoek" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D ubrzanje:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sidnej" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Desktop postavke" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D ubrzanje:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "&Testiraj" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "&Testiraj" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "lokalno vrijeme" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sidnej" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sidnej" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "lokalno vrijeme" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "&Testiraj" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Windhoek" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Bez opisa" + +# RU +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "Ruska Federacija" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "lokalno vrijeme" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Windhoek" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Windhoek" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windhoek" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Windhoek" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "lokalno vrijeme" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Mountain" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Windhoek" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Windhoek" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Windhoek" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +# RU +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "Ruska Federacija" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Desktop postavke" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Windhoek" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Windhoek" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Windhoek" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Indija" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "&Testiraj" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Indija" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Desktop postavke" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D ubrzanje:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "&Testiraj" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "&Testiraj" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Pono&vo pokreni detekciju" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Indija" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Vrijednost" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Windhoek" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "lokalno vrijeme" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "lokalno vrijeme" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Windhoek" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Španija" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Indija" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Indija" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Opis" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Sajgon" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "lokalno vrijeme" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "lokalno vrijeme" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +# SH +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Saint Helena" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Opis" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Rezolucije:" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Opis" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Španija" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Španija" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Rezolucije:" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windhoek" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filter: %1" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Desktop postavke" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "&Testiraj" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "&Testiraj" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Windhoek" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Opis" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Nepoznato" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filter: %1" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Ruski" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Sajgon" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D ubrzanje:" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "&Testiraj" + +# RU +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Ruska Federacija" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Ruski" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D ubrzanje:" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "&Testiraj" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "lokalno vrijeme" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "lokalno vrijeme" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Opis" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Španija" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "&Postavi filter" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Rezolucije:" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windhoek" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windhoek" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "&Testiraj" + +#~ msgid "None" +#~ msgstr "Nijedan" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Štampači" diff --git a/po/ca.gmo b/po/ca.gmo new file mode 100644 index 0000000000000000000000000000000000000000..b6b657328333084d666fead351015f342fe0158f GIT binary patch literal 23311 zcmcJX3!Gh5eeX8{A%sVG7y<&ac_jfdkOTraB$(Gs5|T;6%#aW&UiO@`XJ(Ug&OV%d z&P*P1z1Oya5Ab?@6kBZ5dPPK2AGF$wk82&J7in!NDhgJutrg#owpzR@_xoFqefF6- z6QlQY&xbYNz1Cju^Uu*5~mD7%SOTcf*Q9*DHeA)3qa1YP-pQg|t_`5TM;6(TY zJQ;ok&V}EDL=AoduYkc>L9hTUg9ET1o(JCymG7T9{}XUN{vW{$;88CMf)~Pzpvrj( zJRSDKdGHo^3XI{!Z~|Tk?|1J%0adTZ;fvwZ&i@=-jDPOgHs57X`L2eSz#HL4cmQsI zQ}9?gm&zUoPlhMJGvE?<0aSgqz*FH)xCoBJ8{iwD>iINW2)_f>o}Pz4lCPRFM=xXYN&kILdnr~sPLQN8L$L3&ikRtIS3Jz;Atqi`8Vf3=6owZFNW%; zwNU+jCsclKf$Fb=@ND=__)_?nP~&$RKL8+@m|N@hpO)b&i?^82mi;Q z+V?4_c0J+z{|q(GKZ2S+Jq&{4t%QhNunuY*N8oWVgL;1eUIFihlDofvE8wG0`sz7& zES%3ISNa7|^Jx*(`1Zn$Folx$55q0+hfwWa#h|Et{ZQ>0gzBGLp~|m7x-QrUL-!Q01I_nQc$#co|ebT@6ows~|%WY;yh-D*XYdcDxpqgYSDpWr&VMgNwFd`X_{ZTU{C@*Ocm~3) za;|~%;2NlY-vUt$K?zDv+zqAA-UHR%Pe8gp_$ox?f)ke6{#*%9z<(oDKi&#eejTcR z?}h4@cS5z}gHZkOsN-j$^!68^`s0-4Hot{X@h*gF=Vegxx*96~osgjkno#xmW2pF# zLzVj^RDXRNs(zZps>g{?^*jqIpQZ3rcmq_tm%-EExC=i3B?tFF^}|E(YWNsD83tF{ zbn~I~;Mq{+gi!VAf$Hy-Q2l*9JPB@wl8;?b<=z2rJ&N@RD*ZDk6V>ZkcpCf}oDWZ0 zY4zH=)2wnj--XDM}_c7=HJY0bPdr*4)=xeYA z;KfkmvkR*JZ-i?1{ctgS4^+QA2^H_hQ1xDl^3!--4-vg!7aWAIhCASwpz3ugi8LR2 zq55SFl-}Ov{I7*-|9z0E1@D13!mqpVt9osHH$s)0K(+e-RQ>)0s@|W0r^C;~7s7AB zCGeL}Beu*QzhZg?L4_rf#bUqeJH_y(k_g0t6B2HXkt{!>up z{{z%G{uFAwe*u3BE?sB!glV9BTZZgo^(S zsQkX`-aiK=k0;YfH^4=3F1!P(z5AiY_jOS9d&Iqe3ab8JgA8f#uTbNBHJKo)!3|LL zeGNPY{tu}5?}jSxqi`$y9F*Lgzs2qg?}WGDe;jJO77 zKB)K+RJ=)e5qup~|G(dbe;TSCUxFvW@3`>ipz=FuyKV28Q28!~hpxW(`z* z_rP1>oltt@8L0WX;3nHoXG8V>W$+5P1ulgLp!)YgsQ!2qUJbtouY?!vwBvF!JO%%q zQ2lr>RJ$K^{0!8*`7TsG$L+H1x*Wa`|0;MLyb)@i-UBs$Z-tWQ2cY`tgHZK+94?37 zfmgwEZ?^Mg5Gwtfq2%T5Z~^=zJQ;q`@taWj`~<2$&)9A2{Zgpg*%)pGfc|IQZ0q1`Q zd=n0F3SO+Z{7!H@4t~Z4nZJMFo+Y2Z=brz&qt?b7aG%HBh)Zyi{|fF2ocdnB1Gx9& z{up$bc(3#PXQ;mXU${NEQQYIW*Wq4`)9?GZKHOVynm?bzNgfuG_rp-X zFIfbup~gVJpW?obdl&9~IQ>dEjhW<3zjMjsIrulm#~J`1#Qi6n){HxF`rV7W4fiwL zf5GYZx408<@07>=4mmD^|BSm2cPefN?jtz;p211Kd>8j4oMcnKH{$xuQxMz)KZe`r z{9l2;ja!U+3GQEU`khVvPjh|z0{B6~bPhTX_bn5n{YSF1>6D{)WZejgX%&LO^j zlek4Z|C8}CXW<{=j&c6I@FL!S0)85&b;1A6Bm6(`%!LiO)V=rz#}>Q`_Y>zAet|oP zI}tY*r(fN|=q5dG!D&7|fLnpK8ag{)9+^7pW@czE~K14gZdrI^N4*6zTkKYJd5!E17GaI z{tCVgm*IBdp2a36bAGl%B|h4gy2Pk;Dr!(CyX>=|{;^DA+GjyuYw33>i|oPK4C;CJ9Z;=YW#A9o^g zuZ5d&-@)m3K4Je3Q`}YsxZh6y0RIyAyz_q+Uh1BOGf1!B#TNG2g`JP@qqzTxyA?N# z)9(V_-vYmi`z;0V`#J7-^JM@0UE%pyp0CHfh;%=O=iz=A_ZaRvoPHn1U54w$J&6m} zmP&CYZbZ!_t>I}V6LGks(i%%@S+KTT4l7A5HV^eQsWtVKg_BV;ZiMmZXk2P$VKWWO z3D1qV)(p#Wwx^la!-$+xlf^_-E5(Xbi}yCetdf+;uTn`T!*U~Qs22)}vC=+}HhO7ByS8A3EOGk}Ay&hxY6%r&X%%{F(KKljGF6kv8c-no??w z5T#zPBqh_M;m~B#ERDyFU~Q|Mj8x)qU0kW;o@`&%jH|RUt`pWwdj_K(J?;$->02+ z^=1fz>1jI*>hMwXdOc0rV`8VJRu)(<)o}5u=|rqfSA9kmLn)Ic@zN{~cbPGD9*G7* zW)lYM(@NSY3fd6SHWHKu7En|D!#N|g77jaIEjmdc6%x^}yrB<%n<#BTBsJ{q+u z&2V!Gjp02mPC{77gc*x@gXD%w=#y%82_oK{)a;Icy*_Y&>mMkfAu-pCUv|5c(})+GS=Qc66P3IW6r8 zHc*i;8;{UB;mwH8Xcjj+0(W-{%zLAdS`xgBJK3WYN(&a@(Vq($lc1Y0H(oiVMI&y%p zhNH^G^o-NACPJ%bqbO%}(=Pim=uawA_FGv7qDEjEGMu0X%@aahiAS5^L=sQd(?-+e zKN&UZz5#hOqx|z|rbN{L7|RU$f8=(JH<>xb9@A%sONp{kI^RjZc0wntv!pW`@^DQu z>aEYLenG$S*v<;`FhsCpUF}Z^aRaAE^&pzR9`rX7qs@c0U|jB8rV#bm5I5Gjo|EwYKqygDQzVCS*z%hok^pqt{F=9D|~_m8L>1KSEqiQ%|OWvb%j1Z7!mrw7JHBHN)K@-I|&1 z@^e{sghqsiQ7A;vRJGN~!tr*(5(aMuuw%bb>9bCq$E-OdbC!;bQ zNNBpy=i-X0>@y}ec2(UO?>+*C2}Ng`Nu@?IqE52a%I(Ij=_J#~4sKvQu5(7vCQ)-d zOtGj~jNFni5bg2i8|x;vTq78W>R$Wl(dN|-v6F9x-xcX6r%%?N=9PWq>=L^?cOn%S z*OlU{PKz>6(GeVu=gMQ&q@hI4XRgJ2Ai>&~rf`})_xqar_Z>yGlc7;iIeDt4SNlH1 zy=zrNqhpOSGw%pdL*u<2FQn0ffwUY|oc$xU;0Mk;Pg+BJo3>g*W~*f$eK3|%W<&1hG?;q(ggGCbE{rPNg+}#qo{qag(H=y zwnqX+{3I<0-jZ|-hqUB*PbHp+D=L>MuQaxflwL<)TTh54Xa!cq@Pcw=QW_QSJrU-n zY)<}j8Stq6=6KAEKo@IyV+?jwGZGV>~>gZ39GlTGu?jBTI8~v?80o+nb~{UeX=d+H%eq|JNmV# z3Xiz(eChvnD=;nLtd%fE@eT|OH(mi--WsyU$m&u14^|g#Hl25u6>0l!+V+%P%&4qW zV>?eE+BTN0dl-#qdUWcpVgxt9B^8EU?Qz;b2JTdiID+ z8Z;QfYBT0vn2QSa9A=pN(Z}|+xAd%Uc>3#ngvpA{xi!@}=?b-Dbyj`bKF?QyjxDCi zT8Y~!@@&n4j6a?zhO#IHR?LU$l_(p>W0t#o&*uDF{EIC*1&Xj;ZU6WdJ8#D_=fWgB z``e3O;70@{!o&G0Jg=Z1uK+$@Rl<(&Tt! zGUD)KI2{|~d6&`eg&o=~;bDhaI9sHhZ40h5ikYotUucKD)|QH2@w(H7botMcRneC0 z8Z(nV$t%=gLi*D6>`vExkT#eMWTxpAnGmagcAR9}{J?mOySKqHq9fznP#S!&Oxt>T%LY*X)bN)AaH< zyPia~u@>h?J;QNS?G4vQ9A!ndc>|jV`r0j8e)+O_TqrbIgnNef)v2k@m9AivliGD* zX*_BmVykZ&?(ey_9nZ{wxY5&BE2TQW?G3LTNt*Mx$!kQFo_;oOS#Mb5YyfYzdc}1* zCg5@Pl3IBF>Tvlb*Uigs0!zu%!@9+&(bZ`K6PpuCPPNyL#$$1^m)ReMm8nCuBq{`j zb#CBtf2@l^?GG163GHS5Vfvc;LFHDGG&9IyWwAMus8dQ3tmU3?>RnM-!eF2PC1Jfc zyC)X7cx>vUIu+W%dc^#?qebe7i$RRIjBsxCrXE(7qa3hs;6d4uM2YSt8doFrO5BWe z1;QJnY7(_2aiy`XR&Ck(O&!`BSImhN6)jf8$ zlVj^bw8i#Vj})`VL0K6y*)(8UwDnVu)LYcwDExB7CZwaeF4)zx{9n|3n)xi8K zn_?GZU3ZCLE^thX3h9(Hot$KLR5@LyA2a4^LepkTp;6}c@{XyGPCZyFB@D`9#L=8w z?>9BmwWS*gHp>kLnT=b7EFmk#s|>7ANQ}7LRP&>9Azpvn3bhB+FdDJRGTVLT9+MlH z5ZSdcj9~igmWB~>h{Y#4RCn8Z&+=kK0V6uX7ORyyQp^mohj!crnp;pw9D-PiB*0mV z`Xr27!uFOL=uv}X2GvB@EXWpfCeJdqKWa=Jl%&&wl6l*as2uD1QwJTo&B35cT4n%= zY~{w)pnH}!!@NSO#jnngiBQI#q)MDQM$KS*124j3&m*Ntc6a#9MCH0PHlxGQF#2KY zAS&Bb6jf1=5SKEe%OFS;%`A=mRjifi!_LYL$<)D0Y%gf14w{*3Qt8r({u+;35?3a3rP8YH zv(s(AOb1PYLN&BURsE@i9XLhs%?>tjg}b(ta_p#RD3Odsl0`&5jrGkoJ0!57hG!^g z#H&lh-LpirXO&jvGkVkW8Dy(GOG=EmsYg^ME6^POy8T z!rfl(U|E$2bV;`<8qvf@k)c+nuecIgEy-~M^R|-m(Tf^E$4*33?=zj%XV&PBurR8Q zgi(84p!$WifH{I~7S&NS4<>u56ep%*Opq*@upKT*$)}O77rB;R9Pxgv##kg~noLB@ zP<-aCS&rE-b9JUjY=@Y%c@5REd3NR+8adF{NF4JG$5pO23%wG!Lj)jBJ>K91L@%8s@radVbWu(cprWaYn5ywzt`ua?X&^D627O zoZOiB&C20BC(Q+4+y8$>6c^23uN|{?JGvBE?bhcz7=AMbcKwvzcN%ZjHwD?i3Uyzw zc^lBoI3wc)(U;a^fUM{@kz!@h4$_&9(g!=H8;uxHRfa9nNxhU;dk}NGGUz&&^1;sI z9d>@%i~IcAK10G8YqQ*7LnpeGur~$PO5sS*C`2{GuVYm#A+tp3VxJXvIAx{RI!a>; z#xyN7)`V7HHoLyth=q;7*J)9(y~OuDr0bZ_%uua?gjreU{J_dJxA#<&`x%?6nacE^ zmX^+#Imqn=sB3|0yS3Pxjg*^6+mh+UO3$;W&?kZzH}>F4iq0=?s%__t-=_w4+&?4xk1mD-p#cHa~!oRNG0ibQyF!Ss2Bz7+nBNi?cUC&Gm@3{ zE)rEJxLXQl$5?~gHhQT(u=e&Adko*Td2`qlC=))h~dyPd&s=4(luE=TUpAxQYTSis4#oRJB*r=>h76VgkR4>2^r>D%w-J&o6lF zh&tdS6hqDFxKpL3OS;E0Qp=_MVWQ~7X#&f*Ybo~S5f zcCl5(i0$o}-?w)p;d=&aX&2Kh#_Xxn7N56_T(baGwa>)(w4>mc-q~Lfu@X*9J*dNK zaxmY5xNVm5FdxVbq^-`nPxEs#JM&DfzkNL7PT96~ekWq4*f#BcwEJu?t+Lh`NYezG z)!uvYg-Lbl-R9)bS>CFZH-7cm2sVhB5h(bnLmbmT98LJF||C8uB~bA)UI=M@HVwMmuN+>FCpL zzIokIkjycCMU2J5=GK~KRESo~I17dn7Ld*)-NIzcC|`|{JtakzU=OH&I`&iC6?Mr{ z_K$RyHjU;F=8Ih=%pzlNxb3D<%XGfN^rQFGetTw^pBLK04Qtk5L7DGI*~R5&XvGdB z*vXFc(QlfY&qVUvZMph?$=j<|PE(!v`y zR4;e-CAtr#g~+h$vi3}Ov#gy*d(mx&<>KWQ-!5;8g5BlFS0ZKhOUw$tZrN{%%=JOB zH`}UjsJm*+C%yT?sHlJa+C(4Z%9u?#My$K-VEWioNA1&@scid_)cUcI0W)BOJy;aOxdWeE<26l{;s{H^TRrOg6Y;o%)zWZ zU(0gyy)#bRtf%kHu}OYxiD;YTokmTbkNUdL+`rH~tSF}oeJI9Re$v)HK-0`&gF*_s zNApK)k`6wn;wsS`QgPAD=o@oz>Yze(88#zmbAHYs&9t6>h-og1HS)8ZI~3!TwD3q0 zbHz~5=XurbAbInrp#Ds9-Tq*7ad4CJk2F}=q*S|`tTHTQDt6N$hj~ZGC{@1D=p!vz z+}J|)@W!1_`J0_+gn##-*G9a}cFowg`gF^f=`zh(v)y49ePwS1+)h&Fa7TImP#xLR zdAG~n-aN=SEL_J;J5Vz#MKC;dsF_w&qPbwzC{1_>(X?swly2`cDOC9q+$A-sYkTA zG9L?c=%{wusQU?1yO(rG)f!_P+lW|}Gv<9eu|29+!R9QhGuk?PMofARL^v2LGri5H z2ncP9)s|%eq6VLsrQ zZJ#f>(g!~6==ReJ71y-dKyuNZ|Ma;o(sRS0@MfUfw%kW|9}KnEor2QFNcNYSMhXjg z4w>Fi;{3A*{VR1dFy=E9Uy*jkGjIR9sqx}KrZH(1O2RTE9Jd zp-z4@nI_$9ZN8l|r+wz092qO_8rJfKlRbymTmAnPbgeFtGX6q$`JlFSZ(?X&G8rf4 W^C35pOotZB;j3+Z^P~Yb$^I|o2(S, 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2007-02-26 12:39+0100\n" +"Last-Translator: Anna Mititieri \n" +"Language-Team: Catalan\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Escriptori" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Menú de la finestra" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Velocitat de plegament" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Redueix l'opacitat de la finestra" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Maximitza la finestra activa horitzontalment" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Inicia" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Color del cub" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Connectors actius" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Inicia" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Inicia el canvi de mida de la finestra" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Inicia el canvi de mida de la finestra" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Inicia" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Filtre de textura" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Saturació" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Saturació" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Velocitat de plegament" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Situa les finestres" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Saturació" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Tipus de finestres que hauran de tremolar quan rebin el focus" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Passa el focus a l'efecte" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Velocitat d'esvaïment de la finestra" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Tipus de finestres que s'hauran d'esvair" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Tipus de finestres que s'hauran d'esvair" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Sortides" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Fes una captura de pantalla" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:2 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:3 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:4 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:5 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:6 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:7 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:8 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:9 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:10 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:11 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:12 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +"identificada amb l'ordre %d" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Connectors actius" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Permet que la representació de finestres a pantalla completa no es " +"redirigeixi cap a mapes de píxels fora de la pantalla" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Avís sonor" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Avís sonor del sistema" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Elevació automàtica" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Retard de l'elevació automàtica" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Detecció automàtica dels dispositius de sortida" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Detecció automàtica de la freqüència d'actualització" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Feu clic per a passar el focus" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "En fer clic a la finestra, aquesta rep el focus d'entrada" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Tanca la finestra" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Tanca la finestra activa" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Línia d'ordres %d" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:38 +#, fuzzy +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:39 +#, fuzzy +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:40 +#, fuzzy +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:41 +#, fuzzy +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:42 +#, fuzzy +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:43 +#, fuzzy +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:44 +#, fuzzy +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:45 +#, fuzzy +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:46 +#, fuzzy +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:47 +#, fuzzy +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:48 +#, fuzzy +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" +"Línia d'ordres que s'executarà a l'intèrpret d'ordres en invocar run_command%" +"d" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Redueix l'opacitat" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Redueix l'opacitat de la finestra" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Icona per defecte" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Imatge d'icona de finestra per defecte" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Detecta les sortides" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Detecta la freqüència d'actualització" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Tipus de finestres de focus" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Tipus de finestres de focus" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Oculta les finestres ignorades de la barra de tasques" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Oculta totes les finestres i passa el focus a l'escriptori" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Oculta les finestres que no es troben a la barra de tasques en accedir al " +"mode d'escriptori de visualització" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Mida virtual horitzontal" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Ignora els suggeriments quan està maximitzada" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Ignora els suggeriments d'increment de mida i aspecte quan la finestra es " +"troba maximitzada" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Augmenta l'opacitat" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Augmenta l'opacitat de la finestra" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "" +"Interval que ha de transcórrer abans d'elevar les finestres seleccionades" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Il·luminació" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Llista dels connectors actius actualment" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Llista de cadenes que descriuen els dispositius de sortida" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Abaixa la finestra" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Abaixa la finestra per sota de les altres" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Maximitza la finestra" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Maximitza la finestra horitzontalment" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Maximitza la finestra verticalment" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Maximitza la finestra activa" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Maximitza la finestra activa horitzontalment" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Maximitza la finestra activa verticalment" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Minimitza la finestra" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimitza la finestra activa" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Nombre d'escriptoris" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Nombre d'escriptoris virtuals" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"Només actualitza la pantalla durant els períodes d'enfosquiment vertical" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Etapa d'opacitat" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Etapa de canvi d'opacitat" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Espai entre finestres" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Obre el menú de la finestra" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Sortides" + +# SH +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Retard de pluja" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Eleva en fer clic" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Eleva la finestra" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Eleva les finestres seleccionades un cop transcorregut l'interval" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Eleva la finestra per damunt de les altres" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Eleva les finestres en fer clic" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Freqüència d'actualització" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Diàleg d'execució" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Executa l'ordre %d" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" +"Multiplicador de la mida de la pantalla per a la mida virtual horitzontal" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Multiplicador de la mida de la pantalla per a la mida virtual vertical" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Línia d'ordres de captura de pantalla" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Mostra el menú principal" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Mostra el diàleg d'execució de l'aplicació" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Mostra el menú principal" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Animacions lentes" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Sincronitza amb enfosquiment vertical" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Fes una captura de pantalla" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Fes una captura de pantalla d'una finestra" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Línia d'ordres de captura de pantalla" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Filtre de textura" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Filtre de textura" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" +"Freqüència amb la qual es torna a representar la pantalla (vegades/segon)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Commuta la finestra maximitzada" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Commuta la finestra maximitzada horitzontalment" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Commuta la finestra maximitzada verticalment" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Commuta la finestra ombrejada" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Commuta la finestra activa maximitzada" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Commuta la finestra activa maximitzada horitzontalment" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Commuta la finestra activa maximitzada verticalment" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Commuta la finestra activa ombrejada" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Commuta l'ús d'animacions lentes" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Desmaximitza la finestra" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Desmaximitza la finestra activa" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "No redirigeixis les finestres a pantalla completa" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Utilitza llum de difusió en transformar la pantalla" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Mida virtual vertical" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Menú de la finestra" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Línia d'ordres de captura de pantalla de finestra" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Tipus de finestres que s'hauran d'esvair" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Acceleració" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Avança cap a la diapositiva següent" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Cúpula animada" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Representació animada de la cúpula en girar el cub" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Color de les cares superior i inferior del cub" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" +"Color que s'utilitzarà com a color inferior del degradat alternatiu de la " +"cúpula" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" +"Color que s'utilitzarà com color superior del degradat alternatiu de la " +"cúpula" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Color del cub" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Cub de l'escriptori" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Acceleració de plegament" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Velocitat de plegament" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Etapa de plegament" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" +"Genera mipmaps sempre que sigui possible per a un canvi de mida de millor " +"qualitat" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Torna a la diapositiva anterior" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Fitxers d'imatge" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Imatge que s'utilitzarà com a textura per a la cúpula" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Interior del cub" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Interior del cub" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Llista de fitxers PNG i SVG que s'hauran de representar a la cara superior " +"del cub" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Diapositiva següent" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Situa les finestres al cub" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Diapositiva anterior" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Renderitza la cúpula" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Canvia la mida de la imatge" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Canvia la mida de les imatges per a cobrir la cara superior del cub" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Cúpula" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Color final del degradat de la cúpula" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Color inicial del degradat de la cúpula" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Imatge de la cúpula" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Velocitat" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Etapa" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Desplega" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Desplega el cub" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Ordre" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Línia d'ordres del decorador que s'executa si no s'està executant cap " +"decorador" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Desplaçament en X de l'ombra descendent" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Desplaçament en Y de l'ombra descendent" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radi de l'ombra descendent" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Opacitat de l'ombra descendent" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Radi de l'ombra descendent" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Ajusta les finestres" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Desplaçament en X de l'ombra" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Desplaçament en Y de l'ombra" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Opacitat de l'ombra" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Radi de l'ombra" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Ajusta les finestres" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Decoració de la finestra" + +# RU +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Decoracions de finestres" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Tipus de finestres que s'hauran d'esvair" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Tipus de finestres que s'hauran d'esvair" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Velocitat d'esvaïment" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Efecte d'esvaïment amb avís sonor del sistema" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Es fan aparèixer progressivament les finestres quan s'assignen i s'esvaeixen " +"quan no estan assignades" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Esvaïment de finestres" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Campana visual a pantalla completa" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Efecte d'esvaïment a pantalla completa amb avís sonor del sistema" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Campana visual" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Velocitat d'esvaïment de la finestra" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Tipus de finestres que s'hauran d'esvair" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Punt" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Afegeix un punt" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "No modifiquis" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "No modifiquis" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Minimitza l'efecte" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Minimitza la finestra" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Minimitza la velocitat" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Minimitza l'etapa" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Resistència a l'ombra" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Resistència a l'ombra" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Transforma les finestres quan es minimitzen i es maximitzen" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Tipus de finestres que s'hauran de transformar en minimitzar-se" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Restringeix Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Restringeix la coordenada Y a l'àrea de l'espai de treball" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Inicia el moviment de la finestra" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Mou la finestra" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Mou la finestra" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Opacitat" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Nivell d'opacitat de les finestres en moviment" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "Separa i desmaximitza les finestres maximitzades en arrossegar" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Separa les finestres maximitzades" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Comença el moviment de la finestra" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Mida virtual horitzontal" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Situa les finestres" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Situa les finestres en les posicions adequades quan s'assignin" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Mostra les finestres minimitzades" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Mida virtual horitzontal" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Mostra les finestres minimitzades" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Solucions alternatives de disposició de finestres" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Tipus de finestres que s'hauran d'esvair" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Tipus de finestres que s'hauran de canviar de mida en el mode d'escala" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Solucions alternatives" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Mostra les finestres minimitzades" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Mida virtual horitzontal" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Mostra les finestres minimitzades" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Mida virtual horitzontal" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Cub de l'escriptori" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Situa les finestres al cub" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Situa les finestres" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Gira cap a l'esquerra" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Gira cap a la dreta" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Situa les finestres" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Situa les finestres" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Gira cap a l'esquerra" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Gira cap a la dreta" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Gira cap a la cara %d" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Situa les finestres" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Commuta l'ajustament de finestres" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Commuta l'ajustament de finestres" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Inicia el canvi de mida de la finestra" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Canvia la mida de la finestra" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Canvia la mida de la finestra" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Comença el canvi de mida de la finestra" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "DnD d'inversió de vora" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Moviment d'inversió de vora" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Punter d'inversió de vora" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Temps d'inversió" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Inverteix cap a l'àrea de visualització esquerra i deforma el punter" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Inverteix cap a la propera àrea de visualització en arrossegar l'objecte cap " +"a la vora de la pantalla" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Inverteix cap a la propera àrea de visualització en moure el punter cap a la " +"vora de la pantalla" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Inverteix cap a la propera àrea de visualització en moure la finestra cap a " +"la vora de la pantalla" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Inverteix cap a l'àrea de visualització dreta i deforma el punter" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Inverteix l'eix Y per al moviment del punter" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Punter inverteix Y" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Sensibilitat del punter" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Gira el cub" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Gira i inverteix cap a l'esquerra" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Gira i inverteix cap a la dreta" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Gira cap a l'esquerra" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Gira cap a l'esquerra amb la finestra" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Gira cap a la dreta" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Gira cap a la dreta amb la finestra" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Gira cap a" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Gira cap a la cara %d amb la finestra" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Gira el cub de l'escriptori" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Gira cap a l'esquerra" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Gira cap a l'esquerra i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Gira cap a la dreta" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Gira cap a la dreta i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Gira cap a la cara %d" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Gira cap a l'àrea de visualització" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Gira la finestra" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Gira amb la finestra" + +# RU +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Acceleració de gir" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Velocitat del gir" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Etapa del gir" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Sensibilitat del moviment del punter" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Desplaça el gir del cub a la cara superior" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Desplaça a la cara superior" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Inicia el gir" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Temps d'espera abans d'invertir l'àrea de visualització" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Quantitat d'opacitat en percentatge" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Enfosqueix el fons" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Enfosqueix el fons en canviar la mida de les finestres" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Temps de passar per sobre" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Inicia el seleccionador de finestres" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Inicia el seleccionador per a totes les finestres" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Inicia el seleccionador per a un grup de finestres" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Inicia el seleccionador per a les finestres de la sortida actual" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Dissenya i inicia la transformació de totes les finestres" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Dissenya i inicia la transformació del grup de finestres" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Dissenya i inicia la transformació de les finestres" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" +"Dissenya i inicia la transformació de les finestres de la sortida actual" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Superposa la icona" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Superposa una icona a les finestres un cop se n'ha canviat la mida" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Canvia la mida" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Canvia la velocitat" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Canvia la mida de l'etapa" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Espai entre finestres" + +# ES +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Espaiat" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Temps (en ms) abans de finalitzar el mode d'escala en passar el punter per " +"sobre una finestra" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Tipus de finestres que s'hauran de canviar de mida en el mode d'escala" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Fes una captura de pantalla" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Mostra el diàleg d'execució de l'aplicació" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Fes una captura de pantalla" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Línia d'ordres de captura de pantalla" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Quantitat de brillantor en percentatge" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Quantitat de saturació en percentatge" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Canviador d'aplicacions" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Elevació automàtica" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Brillantor" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Porta endavant" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Porta la finestra seleccionada endavant" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"Distància a la qual s'haurà d'allunyar el zoom de l'escriptori mentre es " +"canvia de finestra" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Icona" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimitzades" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Finestra següent" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" +"Fa sortir el canviador si no està visible i selecciona la finestra següent" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Fes sortir el canviador si no està visible i selecciona la següent de totes " +"les finestres" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" +"Fes sortir el canviador si no està visible i selecciona la finestra anterior" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Fes sortir el canviador si no està visible i selecciona l'anterior de totes " +"les finestres" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Finestra anterior" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Saturació" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Selecciona la finestra següent" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Selecciona la finestra anterior" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Mostra la icona al costat de la miniatura" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Mostra les finestres minimitzades" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Velocitat del canviador" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Etapa del canviador" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Canvia la mida de les finestres" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Tipus de finestres que s'hauran de mostrar al canviador" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Afegeix una línia" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Afegeix un punt" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Afegeix efectes d'aigua a diferents accions de l'escriptori" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Retard (en ms) entre cada gota de pluja" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Habilita els efectes d'aigua del punter" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Línia" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Escala de desplaçament" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Punt" + +# SH +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Retard de pluja" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Títol en onada" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Commuta la pluja" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Commuta l'efecte de pluja" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Commuta l'eixugaparabrises" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Commuta l'efecte de l'eixugaparabrises" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Efecte d'aigua" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Escala de desplaçament d'aigua" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Efecte d'onada del títol de la finestra" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Passa el focus a l'efecte" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Passa el focus a l'efecte de finestra" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Tipus de finestres de focus" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Fricció" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Tipus de finestres de captura" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Resolució de la graella" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Ajustament de finestres invertit" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Fes estremir la finestra" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Assigna l'efecte" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Assigna l'efecte de la finestra" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Assigna tipus de finestres" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Efecte de maximitzar" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Mida mínima de la graella" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Mida mínima de la graella del vèrtex" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Mou la finestra" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Estremeix" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Ajustament invertit" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Ajusta les finestres" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Fricció d'elasticitat" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Constant elàstica" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Constant elàstica" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Commuta l'ajustament de finestres" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Utilitza el model d'elàstic per a l'efecte de finestra tremolosa" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Resolució de la graella del vèrtex" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Tipus de finestres que hauran de tremolar quan rebin el focus" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Tipus de finestres que hauran de tremolar quan s'agafin" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Tipus de finestres que hauran de tremolar quan s'assignin" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Tipus de finestres que hauran de tremolar quan es moguin" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Efecte de tremolor en maximitzar i desmaximitzar finestres" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Finestres tremoloses" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Filtre lineal" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Utilitza el filtre lineal en ampliar el zoom" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Fes zoom a l'escriptori" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Amplia el zoom" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Allunya el zoom" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Velocitat del zoom" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Etapa del zoom" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Fes zoom i gira el cub de l'escriptori" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Factor del zoom" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Acoblament" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Barra d'eines" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menú" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Utilitat" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Pantalla de presentació" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Diàleg" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normal" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Menú desplegable" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Menú emergent" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Indicador de funció" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Notificació" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Quadre combinat" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Diàleg de mode" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Pantalla completa" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Desconeguda" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtre lineal" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Assignació de tecles que, en invocar-se, executa l'ordre de l'intèrpret " +#~ "identificada amb l'ordre %d" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Quantitat de brillantor en percentatge" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Quantitat d'opacitat en percentatge" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Quantitat de saturació en percentatge" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Saturació" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Retard (en ms) entre cada gota de pluja" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "" +#~ "Distància a la qual s'haurà d'allunyar el zoom de l'escriptori mentre es " +#~ "canvia de finestra" + +#~ msgid "Do not modify" +#~ msgstr "No modifiquis" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Desplaçament en X de l'ombra descendent" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Desplaçament en Y de l'ombra descendent" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Opacitat de l'ombra descendent" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radi de l'ombra descendent" + +#, fuzzy +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Passa el focus a l'efecte de finestra" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Selecciona la finestra anterior" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Acceleració de plegament" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Velocitat de plegament" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Etapa de plegament" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "" +#~ "Interval que ha de transcórrer abans d'elevar les finestres seleccionades" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Dissenya i inicia la transformació de les finestres de la sortida actual" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Assigna l'efecte de la finestra" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Minimitza la velocitat" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Minimitza l'etapa" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Mida mínima de la graella del vèrtex" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Nombre d'escriptoris virtuals" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Etapa de canvi d'opacitat" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Nivell d'opacitat de les finestres en moviment" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Nivell d'opacitat de les finestres en moviment" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Color del cub" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Superposa una icona a les finestres un cop se n'ha canviat la mida" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Connectors que ha de carregar prèviament" + +#~ msgid "Plugins that this requires" +#~ msgstr "Connectors que necessita" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Fes sortir el canviador si no està visible i selecciona la següent de " +#~ "totes les finestres" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Fes sortir el canviador si no està visible i selecciona la següent de " +#~ "totes les finestres" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Fes sortir el canviador si no està visible i selecciona l'anterior de " +#~ "totes les finestres" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Fes sortir el canviador si no està visible i selecciona l'anterior de " +#~ "totes les finestres" + +# RU +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Acceleració de gir" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Velocitat del gir" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Etapa del gir" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Canvia la velocitat" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Canvia la mida de l'etapa" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "" +#~ "Multiplicador de la mida de la pantalla per a la mida virtual horitzontal" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "" +#~ "Multiplicador de la mida de la pantalla per a la mida virtual vertical" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Sensibilitat del moviment del punter" + +#, fuzzy +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Resistència a l'ombra" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Espai entre finestres" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Fricció d'elasticitat" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Constant elàstica" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Velocitat del canviador" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Etapa del canviador" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Aplicació del filtre de textura" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "" +#~ "Freqüència amb la qual es torna a representar la pantalla (vegades/segon)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Temps (en ms) abans de finalitzar el mode d'escala en passar el punter " +#~ "per sobre una finestra" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Temps d'espera abans d'invertir l'àrea de visualització" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Utilitza el filtre lineal en ampliar el zoom" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Resolució de la graella del vèrtex" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Escala de desplaçament d'aigua" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Velocitat d'esvaïment de la finestra" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Velocitat d'esvaïment de la finestra" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Tipus de finestres que s'hauran d'esvair" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Tipus de finestres que s'hauran d'esvair" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Tipus de finestres que s'hauran d'esvair" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Tipus de finestres que s'hauran d'esvair" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "" +#~ "Tipus de finestres que s'hauran de canviar de mida en el mode d'escala" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Tipus de finestres que s'hauran de mostrar al canviador" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Tipus de finestres que s'hauran de transformar en minimitzar-se" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Tipus de finestres que s'hauran d'esvair" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Tipus de finestres que hauran de tremolar quan rebin el focus" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Tipus de finestres que hauran de tremolar quan s'agafin" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Tipus de finestres que hauran de tremolar quan s'assignin" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Tipus de finestres que hauran de tremolar quan es moguin" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Velocitat del zoom" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Etapa del zoom" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Factor del zoom" + +#~ msgid "." +#~ msgstr "," + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimitzades" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Gira cap a la cara %d" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Gira cap a la cara %d" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Gira cap a la cara %d amb la finestra" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Gira cap a la cara %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Gira cap a la cara %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Gira cap a la cara %d amb la finestra" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Gira cap a la cara %d i s'emporta la finestra activa" + +#~ msgid "None" +#~ msgstr "Cap" + +#~ msgid "Emblem" +#~ msgstr "Distintiu" + +#~ msgid "Big" +#~ msgstr "Gran" + +#~ msgid "Fast" +#~ msgstr "Ràpid" + +#~ msgid "Good" +#~ msgstr "Bo" + +#~ msgid "Best" +#~ msgstr "Millor" + +#~ msgid "Window Types" +#~ msgstr "Tipus de finestres" + +#~ msgid "Move Window Types" +#~ msgstr "Tipus de finestres de moviment" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Disquetera" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Iniciant el dimoni." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminals" diff --git a/po/cs.gmo b/po/cs.gmo new file mode 100644 index 0000000000000000000000000000000000000000..e64594e1f8d1707a6131bb0cee46c78e376c238d GIT binary patch literal 30402 zcmb`P37j28wf`Fzmawl13N*+PAcHg66AYM;g^)}VGT8_U_RQ^ME_dncT_()9JU0|v zc|K7PT*e(GfBq_>BJku*Mn(Ui;uD`6uHavv`!2lad*5Hx>Av^Q+>9jQeki_us;jE2 zYdLl5bWI*U>S@;p{9d_V5Ih^6c1RE$^pqf&@l3@A!MZRAE`gW8_3-`1KSRZ@JjL@S zbAHAB6|PKf#0G-{EuNfu{w*v2Z@@g=^r+@Mfs` z-evN);o-=CgFGrY==2~s2F`$b&SH2pTmz@Ues}~dLH-L~&i{C1@Byg%UxKRFH{eO| z$0qN0Mi88dd<0av^P$RJ2G4?*!WHnd^$XWOb5W@pvpZ7s=i&uMHb&{e1WlG z95G&NyutWk;~j7@<&DE7@PO%_7emFr$@o>{kyKXkea7pJ-!dM5w!eQFJeYLvf@BSD zfz#lF@JRT5$SVfFffvK$&hhOU!Dk>>q1x&7@ObzRNEZbkhX=ri?Eb@0?ed>c?fDqo zA09R%2+o7Y!l%MZ;M3qnsQ%q*OrY|;1|9`(fQP`3!9(F^pvwOORK33mHGX~ur@^On z1;GjMaCkmE8!CMs9ty952f^1uz3+8!0sJ(a4}S;e!L!fx|Fd3l5q|TftdS?|C^?`@IJ0xpzU;dmJu7m3iW=gpx$eX$pxr> zz6xso+-~uALFvW&;1TfWcK?)O8bPoV1e za^oAJ%6%tPy*>oh-k-Mk``|N>zX?^&ui!J`V^H-vn#rT|C&Clqb4~6w`3jR?X7XF0 zp0g8boZMsbcTN7K$pzt9CyT>b-lQ z-fI!mdt3~e;=v0{exu3nHu(XQe+X5tBc2xosFL6mD0!X9k;&JYJZkdSO#YF{M=Y}Z z(B(HdGWj}_M@{~k$v=V`w@08%#pghcv$;_Hyc+6#E`u5`C8&PC%I?3`c)i7c!1xK{ z=Zy~-zi0e~@vp}HQFbc-7^v}mGE}>s4yDI?Ox^-juN+i8YEa|ql~DD+5grF`g(t%? zsP_1Y@sCh?;_1)#JQk|F)1k_n4K=TqK*g_w&w^Wwb*S>MgL>YFq2~9U@C5j8@Y(SD zP~|-a^}GXF#7~0Hgo>XBRj*}G<7N}2D}w=eJbW)yKimmb{@0+|#wlgWc7?|>%~f33xT*y8Vi7ZLv@7{Vhj^v|0K)nDg9 zwf}N>8oV5y3SSM6fggf;@6W+=;CGW zYL9!3_d%w5@O7wmIe3{b?AwK=+y|iA?GdQ@ zJq}fm1D5-G9s^a*nNZ~~gG#sA?hjb}5Y%|M2C5xC2s6>KU`sa4^;dQj3-^}UkH`JbDPKJ$?^0ZVvDD z_Qjb{?Y$nVJqMx2(Fjz(y$g21JB&YtXCoiA#@m~Vp!#hwJPmGvD*t7$2VM^kg@{3WDogQM1ZZh@MY?}lpk+n~~a2CBTT8h>W-|6@FEolnr!_51X7Q1A7Acmy1SPlx{wL--x2@$ooReJ;4n zkMBOH_q_@p1FwMx!FNH`|HBr44?F|;8&Ko@F*pZ?FYwRZ1P?iz!iNHdYXAR+s@HS-{rp-9mA)5hd|VDSUaC;fy#uO0 z4jN$1hnK)3;YXnI-3gWND=>sVfNHNG=jY9{;VFoHP~)co)s8p8XTp!0{AJ@0q3Zi* zsB-p?y}mycO8;H}mA@Bi+zmjD*D6%|T?;jy-v*xzZ!!4`CV$uDznXmLHedgoBVo{-)-`pCO=^EFHHWs$tP_0<(&)FJ{OyOxyd6YzZtr53-x}VhkCCEpx)#A za3=h{$)^u`c_GyOlF6@vdd{by`uRSSA2<2%yuZH~>i$NPUuW`7Cf{%Jk4!%LN}v8r zsPZp0xn%NtO#UQPKRg1}fByybUWXKXzEh$4doI-bt%aIrm)rdp8?Uzb8;!Rb|JC@Q z@e$)+jRzNfc_+dBDYpksgY%*4eIe93v>9srUky)!?}4iCJy7%L0jTtkn*12ld_St> z({&jaLA^(>@dfZuF_M>&x2hsf@-(7 zK$ZIuI2V2fs+`|Iy~m-6fBzZqdB_*Qli^FD=IPB)?XnZ9Ubn+T;oWxsD^TtAJ*a;9 z8B{wwW<0FopK~fyzb=Mqm(5V~rfPgM)HwJkJOthgRn7yDDHr@0cEgKa?4Lgj4?}(( zR5@>ldhbubbKnmx{*bC)ho-|h#IJ?3;MErYS$L$oTr@>W|2n7+(hUK5u}}f$xVZ_ltJ_QFsLMAK@|Z=|g^fH~}7wdaQ5R}|LJq%4B|CbXF|34$?(tc>x5Twy+7ept|$Ib{ca2& z%KdL}y%hdWOQHqHO9<)jJ6!yXFhV$=FoW=1g62mLVJ6`?!fe7E!d!xWKOuBc&a2^P z3B4_4UcmKz#QhgxvBjez+kXEKsY1BjVt)mfkv1fJ)#Cocm?Fo$-ypn^@JGTHeQPr?TX(t{P^&W8H!^lFoe8`a2eN^6JBQbKgjim37Qk1 zBMcJ`vwN2qp9{aOducq^8wh72Pbb{KwSKn}-bFY;0>4uTpCGJ~V82CH#;Nf6#C@0W zF~U;_PbWxMOD`Qrkp7WwKA3O_;d+98=a9F@%J~p7OF{5ng64Pn`(1irl&(FTfO>Sl zvy5vgC&%^0R-U3?OL!llL6}c?D);uY`wQWr#3cm%UO^ZltRnsZ!kJtTTG|)GD&gOW zJJI6q=K3{+3z5&VxD%1TM|ha`rxDH| zoKAd1NPmB@i_?hvXS@C_{D@tzfa?gexqmR>WnA~$y_X};;`;q2zaB2P>mM6e8dI!E zFW^GLjf9s_&XSh+leq3CPQUHO0j_^Um~XP~jT7b}{}UX65nOKf-@x^=xPAp;E!T4_ z{;ymg&h=4*64%GTV+pU~`Wf(VZYPdJCrN4iT12NBLE z98cUKVZV&;T41vi2D-!0pT{n7YTL3*~G82yw5{En(Kds`n`v6GGPaC zS6CXw-$eKfp^xxS7XLK(QRI~^=@405!a_XUpD*X~NC{55?iSVq<&0TniTGa$zxF zj@?Bi$(QT8s)akEdRz_TZQJ63dM&IcVJ^>gm020);##4eRKkdo5?91fR3391YP3VMKiL*;YZQyMfohBfAS##aaK)CBde|R_)i{^0@+jsz#U$Id zS;|WOs!~*;nx&+{qba7pn%_QHFUPeSiX^PW)dA|%azCj=1Nr)J=bN>t-tg_vcE6l2 z@w#DOVK|qRsJh8DFMF+3P3kltuQJf+CrPDJ%n!I04f}TF>jQ&vHCWup<@<|qxCBj> z3AN!`JudN%afP^g(zQOy*C-&n441~mXxK$ii~IoXTc;&xTD@-4s8yl zhNUYdL$MlN_1UHr%9*c|E~&-gX4j`CXlO9Ve8%9yq?lCoGH%qM-TRX|uMyT5Cp8z3 z{&&slQ&Mb$61R~_D}$vTP$^wCm7$`vWcdE++7=ay{SkHDUX5~j4Tp~9DCeFPQtD4A z%B@H#-DC-SCWze=-{7W2ig zvThk>;l09^+nzA5j&;lOUY5|k??vo;EoSa>C1&k&3A6XPggN_M!rXl>VctHMFn^y* zSkPWVxmK@64B<-|q1iPPI;mn`N_{ihcO=z9jRhbMqiP%l7ow^|rwf9mQMJIzvjjD< zy~;yIpn4(}{csD~ds{88w?$ssDKcw~ zmfTYCEKMqq!pgmIxe+YOZI8p{#e5}PT3*^B^|D^Ii0fqBuu3m0M_Qzvt%HfvX6OXV zqa1cXC606c(i=cp1Y6f}mx^ZhU4pTsZ4Gux1tqK9%QltbTE+|=m!MJhNmR0$X|ul> zEYBBZYprHjMb*H)$c8*-h`VA?7vpX9a3~+|s3g_8D}P5+t)wrIC3Ch{mdrg7>uWn! z9_Cm7mFjN_GrKCL&8Eu9TCaR*BkgfU8?3v@=M0poUddS(%bf8UEO&x$tT2mX2)3EE z%M)U(<8-MO#PF&F%d2^3Oa;p``?KXT+?201qM|q1nkjq_cJBNYaap!>9G3DG*`~ht zD@m>9j6Yc|gP5rF=!+>?rl_fuUVad)tHva#pJn`E3o>8r$VL0e=xvJPWL0OiX`K8>#ZRnI*u+m-AU@{0JEKW8U4IZ4@hGqf= zEA^aK)tW`v6H;ZevYfByrQgyEYuV6gi;0ozuz*n+ouk9$bT!+YtZ$}BX2W*{OHXC0 z;(R)c;xdZ5>b6^6Nl(heXi>+kEX#`aTHUUlCB3ptht=LTM|#_30!MD@WiVMD`WWJ^MC zR7iJEteb45szGm5NwuFYeOb*IKlvuf_Q-T{rrDa)yf{qBmf6bO#He6zTWr16zM;!< zv_*%5ney0e)=)z(EnJItZ=TJzG=*vQOipW_-fw$UGaDKOm6PSFr)ocqv3reD=ya@8 zX6_y_deQi*wj0vuL2r_aie~>vEu8I)o_YBZMCq!7?leeV5H9{ zxgfP9jbWdbyi_R0Lvc~hWy&j$uOm;dps&3Uq6r#-S25h+IWj4oicf_Ib5k}a|5*WC z%H1;=3F1%P30f7SDBn`N4vJF!YBOj zZ0X<+ z+CG)9dl>a=dbI1V)&$nU19})kq-}$--s#@diNif-Fr;3b%n@0l|F%t`5I zPL+OA@+ni#nppU(smh)`G4<@JQqP%~dd^g-=T1yLcdFF$CZ?V@RqFW@Q_r6&^@541 z7j#OU8q3Z=u#u9gU}jM>8y zvJsM%FmumJm{h@S^jKbrupaWS^jLOrupaYS^jMBrupaX zS^jJ|r}^jaS^jK*r}-B=;ryvrAsv=Zk+$k)eXMBPj=S-zSidFD#B5u>p3lB!V(BvV ztufA9CA4g-*nXD**>aQN)gm!iS|qx@MWQ2HB)X+VqLEvq1wmi-!6@*?n)|=`-&(HS zw~zrALq1td+(-Ci-ca?|nU(5A-;y<+ps!=>PU=~ExKDF^ldTqunqU$HE!L3izDZlY zK74So91Z5x3w%ViJp!kI8K_%af~I_FCYuLS`MJH`yXE@)R;5pFg0onjR1q9{+u`&57rVR_11otXSvrP94Clv8*qFpMrgrVpJPMaBEKH z6*GBNdSjJ*>k-}o-#+OZo7lFIus98#k>>UyNI!>$HsVurygBHH%LDq#xM_(tGrFf{Yn5Pwxq!UeG!yX`d9PL=9n<0!XIo`^6!t-ke%v7>WL#lVGOFae z8q~zqE4T^Vd=dr85z-&KGPdDjmVYF3T)HPYC*y{E9hdTs2#52AWczlmH@hxu@rvyx zK5W~H?=I1%=B~LtiJQN<^r7vRL^e+T!R_{ayOqD2qFVRw9aGk%VX_KUnWE{_b!`U< z(kMCg=-QelT;x8wy9s9n`*9p*ZmBGqy>D8=jyyuM)P(QAx|bB|`AV=Mbz8MhsBGif z)GgW@G8I!@6KpJR!-;J0-k^=;LYXfP#HH<;ZY5e`+FFgI>9K~e#kK55MlIOL%j-~u z8lk9tiyw>Tpw}o(t516>am`O%4dSBn=c(PNu3)g{M56Y zj-+CpI_G;2yEQjS2MaZjd4qX-LUDXje;1^Q|Op(Y{n}R+D7abCcV;OB2_+*=yXU%A!=? zlK#mOn-AQ|SFS++OT9Nc6)mURg;BgaX4Xay%q+t$I|VROKD#b8}E(bt)- zmANi@r$(zR36}`ZAcb|)7Gus&~+icZuw8TmeN-X!dwLemo_9_+Ij60TYV|HR zRf-YSSs1QC3*yyY9hJ8?0$7_RUpa_>Kvj?b6R3kL?HDx+@E#tqB6<~P&1NfB4OmX!w*eMVat&hO9H zr)}x7?=pIWRZF6N=19-EJ>BQdoW@b7YE<$-()63^Cni-yPMp%B{qS=byA}VFYuUASw)KY!{P(K|IyU#7r0)Wfh1EI9QXMe6O6$YE<&|un^)sA0HjtS!%F$ zg90TdLkX)=I5b?qTr4t$MpX?emL&bvXe1db5T{3RGPsPvHKNDFwbHJes%hd}!e*c} zF}*(^$oI({zTPOjGO9JgAwI7rIu;lY3}$x<)nQH0j`wQAb*i6lzo{KSGDPc?<9_`1 zNh9nZ8y&yKoet~}@7g7-Qi*|lSfIFqYu~sswzC}VdK3QdV!ja3j`RY$0*5HdVPq&N z#|3sA!{ej*dR#0^m2hBi>=qu)HJK~r2K8XF0IABEaaxTArE zv0Da7q4sN(8||sH^MeJtPX`Sd93d@Vt2Zk22pupINrjD|yILRGk~-;U8K40)Bsg_g z7>fBCz#kpgG=9i-3*X+#QELse=%HacTkn`)OSLCjMeDdXW&Dgp^t;QnlfiHCC8c-y z?9F7Ex1>yO2V0{dy#XHpc}P==(y{NNmqb;XY^XXgsBy^dqrw2B1dzDh!cwG{r2eY-Nf%E{mjmp|FdxJKI%wE@`IlT6|h~`k->mr)NcCU+A5Uef5P9bylv3VKR zP)0XKxiSaCoi43LI3T4=Sp8Uxt6uS>x@>E`6!Ddm88H%R-IyTzo(qUg zd|qQa(YRO@Zuy=lJ98n}B+DTg;mz|*`)H!9g&+#HR+901a@2@q(}&!NNm?~eWo0=O z^DKfT7VfB0h)Q|BMPutk!78oetYyyf33O@_I|Y-#R?OjG>y>y?sa~f=F&}sbw_C~G zsLFEjQS#@urz+#_&pqPAG@2L!LV}6woC?ZAUSI&$@yGSu+$x>EXdfxojOz{ zE2}Asz4jg~^;>p(=h9%6**_CAk)@c(&YD~v?*5T@Xly5)OQUgYa%?9{i$+9TK#5j- zV-B)nx|5fk;Dbg`#gWVFl*rHan)JpVgv9m6R!z@9tet2Mzzcs)i$9V&97ABr=Mz7ckN=3P!ZvW7ugmkHV3hT#Me!Oy6@tHZ!I( zr(<)N)FapbJKgEdLLJK^3e_2T4A9i7_BLptm{y{5X^qm@&YET`FOyco>6E=IPL1G9 zPfffhQmaZedV+1^`@6;L3ns;Qov^j4!QypIKj%}_AKCb+r7^qS7->I$H|ixRgjw_k zGd?ej>GZ5EIZr-eze1;sG?>w9H#6lYC2^w|7iTtl+?3eO5WP4q=5;)@gsx(k%)pST zW7Sa|)B~!vzzK|eU5{(m)cz>yaB#8g-Vr9IH^Ir5GtKCBVr(^-(#8DvsB4&#EXeVD z*r@ass?tEdzhY`gIY~)+Y6#z?SKMQF78AZ7_>@Bwf$i)pa<(3+A?`=IQ_pWzU@)=~e8!AiFv zFcI_qvx%SJ`7p2Zt4@{UD0Y)%$^>jmT%)ihWL|AOu?(fZG10Yup6cFJCJ)tySS5yK>4#3xQgg?>E|2x}~XK z+T1CrPLZxIZT;6VuS-@du%%~VnYyranzO~S9x0_OWTU0JBdju%)oeRg?~Oy8$Q{2i zHB&aZ3pSMgi<;{qRyz)|stGH};BbFaMKu#Sok}m`pr||Fgyx8=H3QxjO6~J1iF_R_ z<4y0n^u2G6J;>l2W_S;BJn_mXrL<hW z^m>Y!MNS>IxDl4p;U776X*C*G3TF)*kXb+=5#yT#a8j` z;`nWC>C%I?me?N$Xj;k>Mu)SBT1E?hyyaYs-oePSmdYAR!4kYjET5ynTCD_}5Rfg# z#MdG!OTPX1?KGrYB z9ard7E_K2&8efTW%#^R}0B7{EVz_5)Or_N3#qKfdEy-amWBN;xI6rVQ!j^Ml2~sJ} z?b!&H;6HZ9cKME&9oW5)&x83PS?`&J$%ivJf2jhCYw9RXYw!1oL;0Ndi{3p0?d|-B z{4un3zU%BKp^T93ZCwHOvPiu|YHsaI)h3oRv3k8S)}>?Hc4X~OZrSYSVrRbvP7AlX zj@9bycvA+`5?6hV zFJCKNwLNcQ)z)_OIdAe`6Bs`eT=ZLIX~-5bGtCe2&arFjXa>@{vCEW7W%YvgP0}8i zGwj}y-QCmnrFpYGsgpwfpr^ogGAm$cLKY`ZN=5UewV{2SYr0`4kDa=2jqH#)%hA)R zn4YO}%oas88E#Z0R+iCjhCf#m*vg9j4x-Z_pEL zNQ={w-)2TNZC2-aXtbEFeT)j{i}tQ}&ce3K-bFvbFK=SzjJLd*2j1ihwfEINA~Qq> zi;?@XlkN+ecl_wm_iOv$f?a4w4dP}hZ49(yQFF5;!ZDg_H1B3RKCBAvnzfYL=98Yi z#+`>Coj(t;iX#lW-lTk-z2u|%Zoh=PJ(!#?N{vh6AEfsFG(0ulxXV7MQw-Z*M0aA8 zjmWyD-$&!lPgmQk@GaPHO4y%i1Fi>qLuzW@(S$+^ZF%t#On9anaOG(4&vviP)vJT} zUU-4bfzjFc?FWM^A}OL zif>x}gg4Hx^zPP(XJ3gC+@ij+IPY_#SiYg9>D=s_nSX|Rc{>#z(#ujR?Eca{esf3O>7J^m6XE>*g>$od0e#^P8d=;%KBVc8L@w!X zq#prQArAjCLA;VL@o$lt`&qk)77di{O!>T-Zehdh%ZcCGI3qt>5sLg}v)|it0<>*A z;g=qr(&0N$dkY1dir7{|Do<`Tw=1hSH(53?bi&B>$2v7;(}k8La3klIi4LcKkhE3OdD<$w`wHd8ZW$jP|6oho z`mZ$UR=L?y{=knr+3B>7I}IoQn+|fdBx|am=7-ys`}(+6N85^OGE%9J-K{Tjd?)eV zZ2vyldH3e{#^vwZiCp}n8 zw(E#BxFR(dIf#W<$9);gG?3H%lxxT5cXvV_^`f&5_8LgusmDU;o-lqxS}@;R`dMZ< zp}-d^yrcF-jX}@9b7QA6>`Py3T(H(1SI|gHKi5~XEY201=|}g`b;8ZoqTKfyb066% Q?)|sw;G|!l)!Iw`UqumK+5i9m literal 0 HcmV?d00001 diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..141aeaa --- /dev/null +++ b/po/cs.po @@ -0,0 +1,3894 @@ +# translation of cs.po to +# translation of compiz.po to +# translation of cs.po to cs_CZ +# This file is distributed under the same license as the PACKAGE package. +# +# Jakub Friedl, 2006. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Klara Cihlarova , 2006. +# Jakub Friedl , 2006. +msgid "" +msgstr "" +"Project-Id-Version: cs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-19 11:47+0200\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Plocha" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Nabídka okna" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Rychlost sbalení" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Snížit krytí oken" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Maximalizovat aktivní okno horizontálně" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Iniciovat" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Barva kostky" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktivní moduly" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Iniciovat" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Iniciovat změnu velikosti okna" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Iniciovat změnu velikosti okna" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Iniciovat" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Škálovat okna" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Škálovat okna" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Filtr textur" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Sytost" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Sytost" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Rychlost sbalení" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Rozmístit okna" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Sytost" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Škálovat okna" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Typy oken, která se mají rozhoupat při zaměření" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Škálovat okna" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Škálovat okna" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Efekt zaměření" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Rychlost blednutí okna" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Typy oken, která mohou blednout" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Typy oken, která mohou blednout" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Výstupy" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Pořídit snímek obrazovky" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "Klávesové zkratky, které spustí příkaz určený command10" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "Klávesové zkratky, které spustí příkaz určený command1" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "Klávesové zkratky, které spustí příkaz určený command10" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "Klávesové zkratky, které spustí příkaz určený command11" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "Klávesové zkratky, které spustí příkaz určený command2" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "Klávesové zkratky, které spustí příkaz určený command3" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "Klávesové zkratky, které spustí příkaz určený command4" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "Klávesové zkratky, které spustí příkaz určený command5" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "Klávesové zkratky, které spustí příkaz určený command6" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "Klávesové zkratky, které spustí příkaz určený command7" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "Klávesové zkratky, které spustí příkaz určený command8" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "Klávesové zkratky, které spustí příkaz určený command9" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Aktivní moduly" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Povolit vykreslování celoobrazovkových oken bez přesměrování do " +"mimoobrazovkových pixmap" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Akustický zvonek" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Slyšitelné systémové pípnutí" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Automaticky do popředí" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Prodleva automatického přesunu do popředí" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Automatická detekce výstupních zařízení" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Automatická detekce obnovovací frekvence" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Kliknutí k zaměření" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Kliknutím na okno přesunout zaměření na okno" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Zavřít okno" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Zavřít aktivní okno" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Příkazová řádka 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Příkazová řádka 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Příkazová řádka 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Příkazová řádka 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Příkazová řádka 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Příkazový řádek 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Příkazová řádka 3" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Příkazová řádka 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Příkazová řádka 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Příkazová řádka 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Příkazová řádka 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Příkazová řádka 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command10" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command1" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command10" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command11" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command2" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command3" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command4" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command5" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command6" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command7" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command8" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "Příkaz, který se vykoná, pokud je v shellu volán run_command9" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Snížit krytí" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Snížit krytí oken" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Výchozí ikona" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Výchozí ikona okna" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Detekovat výstupy" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Zjistit obnovovací frekvenci" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Typy okna pro efekt při zaměření" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Typy okna pro efekt při zaměření" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Skrýt okna nepřítomná v liště úloh" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Skrýt všechna okna a zaměřit na plochu" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Skrýt okna nepřítomná v liště úloh při vstupu do režimu zobrazení plochy" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Vodorovná virtuální velikost" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Při maximalizaci ignorovat tipy" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "Při maximalizaci ignorovat tipy k přírůstku velikosti a poměru" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Zvýšit krytí" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Zvýšit krytí okna" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Interval před přenesením vybraných oken do popředí" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Světlo" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Seznam právě aktivních modulů" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Seznam řetězců, které popisují výstupní zařízení" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Dát okno do pozadí" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Přesunout okno do pozadí" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Maximalizovat okno" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Maximalizovat okno horizontálně" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Maximalizovat okno vertikálně" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Maximalizovat aktivní okno" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Maximalizovat aktivní okno horizontálně" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Maximalizovat aktivní okno vertikálně" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Minimalizovat okno" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimalizovat aktivní okno" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Počet ploch" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Počet virtuálních ploch" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"Provádět aktualizace obrazovky pouze během intervalu vertikálního zatemnění" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Krok krytí" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Krok změny krytí" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Mezera mezi okny" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Otevřít nabídku okna" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Výstupy" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Zpoždění deště" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Dát do popředí při kliknutí" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Přenést okno do popředí" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Dát vybraná okna do popředí po uplynutí intervalu" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Přesunout okno nad ostatní okna" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Dát okna do popředí při kliknutí" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Obnovovací frekvence" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Spustit dialog" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Spustit příkaz 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Spustit příkaz 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Spustit příkaz 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Spustit příkaz 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Spustit příkaz 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Spustit příkaz 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Spustit příkaz 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Spustit příkaz 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Spustit příkaz 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Spustit příkaz 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Spustit příkaz 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Spustit příkaz 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Násobek vodorovné virtuální velikosti obrazovky" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Násobek svislé virtuální velikosti obrazovky" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Screenshot command line" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Zobrazit hlavní nabídku" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Zobrazit dialog spouštění aplikace" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Zobrazit hlavní nabídku" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Pomalé animace" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Synchronizovat při VBlank " + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Pořídit snímek obrazovky" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Pořídit snímek okna" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Screenshot command line" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Filtr textur" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "Filtrování textur" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Rychlost překreslování obrazovky (počet/s)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Přepnout maximalizaci okna" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Přepnout okno maximalizované horizontálně" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Přepnout okno maximalizované vertikálně" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Přepnout stínování okna" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Přepnout maximalizaci aktivního okna" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Přepnout horizontální maximalizaci aktivního okna" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Přepnout vertikální maximalizaci aktivního okna" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Přepnout stínování aktivního okna" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Přepnout použití pomalých animací" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Zrušit maximalizaci okna" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Zrušit maximalizaci aktivního okna" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Unredirect Fullscreen Windows" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Použít rozptýlené světlo při transformaci okna" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Svislá virtuální velikost" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Nabídka okna" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Window screenshot command line" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Typy oken, která mohou blednout" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Akcelerace" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Postoupit k dalšímu snímku" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Animovat nebeskou báň" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Animovat nebeskou báň při rotaci kostky" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Barva vrchní a spodní strany kostky" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "Barva, která se použije na dolní část gradientu nebeské báně." + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "Barva, která se použije na horní část gradientu nebeské báně." + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Barva kostky" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Kostka plochy" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Zrychlení sbalení" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Rychlost sbalení" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Časový krok sbalení" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "Jeli to možné, vytvářet pro kvalitní škálování mipmapy" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Jít zpět na předchozí snímek" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Obrázkové soubory" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Obrázek pro texturu nebeské báně" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Uvnitř kostky" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "V kostce" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "Seznam PNG a SVG souborů, které mají být vykresleny na vrchu kostky" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Další snímek" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Rozmístit okna na kostku" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Předchozí snímek" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Vykreslit nebeskou báň" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Škálovat obrázek" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Změnit velikost obrázků podle vrchu kostky" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Nebeská báň" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Konečná barva gradientu nebeské báně" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Počáteční barva gradientu nebeské báně" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Obrázek nebeské báně" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Rychlost" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Časový krok" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Rozbalit" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Rozbalit kostku" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Příkaz" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Škálovat okna" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Příkazová řádka programu pro dekorace, která je spuštěna, pokud ještě není " +"spuštěn žádný program pro dekorace" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Posun vrženého stínu X" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Posun vrženého stínu Y" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Poloměr vrženého stínu" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Krytí vrženého stínu" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Poloměr vrženého stínu" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Přichytávat okna" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Posun stínu X" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Posun stínu Y" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Krytí stínu" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Poloměr stínu" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Přichytávat okna" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Dekorace oken" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Dekorace oken" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Typy oken, která mohou blednout" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Typy oken, která mohou blednout" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Rychlost blednutí" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Efekt blednutí při systémovém pípnutí" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "Blednutí mapovaných oken a materializace oken nemapovaných" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Škálovat okna" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Slábnutí oken" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Celoobrazovkový vizuální zvonek" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Celoobrazovkový efekt slábnutí při systémovém pípnutí" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Vizuální zvonek" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Rychlost blednutí okna" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Typy oken, která mohou blednout" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Bod" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Přidat bod" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Neměnit" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Neměnit" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Efekt minimalizace" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Minimalizovat okno" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Rychlost minimalizace" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Časový krok minimalizace" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Stálost stínu" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Stálost stínu" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Transformovat okna při jejich minimalizaci a zrušení minimalizace" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Typy oken, která se mají při minimalizaci transformovat" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Omezení Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Omezení Y souřadnice na pracovní prostor" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Iniciovat přesun okna" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Přesunout okno" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Přesunout okno" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Krytí" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Úroveň krytí přesouvaných oken" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "Snapoff and auto unmaximized maximized windows when dragging" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Odtrhávat maximalizovaná okna" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Zahájit pohyb okna" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Vodorovná virtuální velikost" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Rozmístit okna" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Umístit mapovaná okna na odpovídající pozice" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Zobrazit minimalizovaná okna" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Vodorovná virtuální velikost" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Zobrazit minimalizovaná okna" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Nouzová řešení umístění oken" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Typy oken, která mohou blednout" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Typy oken, která mají měnit velikost v režimu změny velikosti" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Řešení problémů" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Zobrazit minimalizovaná okna" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Vodorovná virtuální velikost" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Zobrazit minimalizovaná okna" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Vodorovná virtuální velikost" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Kostka plochy" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Rozmístit okna na kostku" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Rozmístit okna" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Otočit vlevo" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Otočit vpravo" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Rozmístit okna" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Rozmístit okna" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Otočit vlevo" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Otočit vpravo" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Otočit na stranu %d" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Rozmístit okna" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Přepnout přichytávání oken" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Přepnout přichytávání oken" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Iniciovat změnu velikosti okna" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Změnit velikost okna" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Změnit velikost okna" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Zahájit změnu velikosti okna" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "Překlápění hran DnD" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Překlápění hran při přesunu" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Překlápění hran ukazatelem" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Doba překlopení" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Překlopit na levé zorné pole a zdeformovat ukazatel" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "Překlopit na další viewport při přetažení objektu na hranici obrazovky" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Překlopit na další viewport při umístění ukazatele na hranici obrazovky" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "Překlopit na další viewport při přesunu okna na hranici obrazovky" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Překlopit na pravé zorné pole a zdeformovat ukazatel" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Invertovat osu Y pro pohyb ukazatele" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Pointer Invert Y" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Citlivost ukazatele" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Otočit kostkou" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Otočit překlopením vlevo" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Otočit překlopením vpravo" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Otočit vlevo" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Otočit vlevo s oknem" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Otočit vpravo" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Otočit vpravo s oknem" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Otočit na" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Otočit na stranu 10" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Rotovat na stranu 10 s oknem" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Otočit na stranu 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Rotovat na stranu 10 s oknem" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Otočit na stranu 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Otočit na stranu 11 s oknem" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Otočit na stranu 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Otočit na stranu 12 s oknem" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Otočit na stranu 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Otočit na stranu 2 s oknem" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Otočit na stranu 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Otočit na stranu 3 s oknem" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Otočit na stranu 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Otočit na stranu 4 s oknem" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Otočit na stranu 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Otočit na stranu 5 s oknem" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Otočit na stranu 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Otočit na stranu 6 s oknem" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Otočit na stranu 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Otočit na stranu 7 s oknem" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Otočit na stranu 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Otočit na stranu 8 s oknem" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Otočit na stranu 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Otočit na stranu 9 s oknem" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Otočit kostkou ploch" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Otočit vlevo" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Otočit vlevo a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Otočit vpravo" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Otočit vpravo a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Otočit na stranu 10" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Otočit na stranu 10 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Otočit na stranu 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Otočit na stranu 10 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Otočit na stranu 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Otočit na stranu 11 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Otočit na stranu 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Otočit na stranu 12 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Otočit na stranu 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Otočit na stranu 2 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Otočit na stranu 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Otočit na stranu 3 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Otočit na stranu 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Otočit na stranu 4 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Otočit na stranu 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Otočit na stranu 5 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Otočit na stranu 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Otočit na stranu 6 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Otočit na stranu 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Otočit na stranu 7 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Otočit na stranu 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Otočit na stranu 8 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Otočit na stranu 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Otočit na stranu 9 a vzít aktivní okno s sebou" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Otočit na zorné pole" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Otočit okno" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Otočit s oknem" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Zrychlení otáčení" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Rychlost otáčení" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Časový krok otáčení" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Citlivost pohybu ukazatele" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Přichytávat otáčející se kostku za horní stranu" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Přichytávat k horní straně" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Zahájit otáčení" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Časový limit před překlopením zorného pole" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Hodnota krytí v procentech" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Ztmavit pozadí" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Ztmavit pozadí při škálování oken" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Čas vznášení" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Spustit výběr oken" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Spustit výběr oken pro všechna okna" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Spustit výběr oken pro skupinu oken" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Spustit výběr oken pro okna na aktuálním výstupu" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Rozvržení a počátek transformace všech oken" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Rozvržení a počátek transformace skupiny oken" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Rozvržení a počátek transformace oken" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Rozvržení a počátek transformace oken na aktuálním výstupu" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Překrýt ikonou" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Překrýt okna ikonou, pokud je změněna jejich velikost" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Měřítko" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Škálovat okna" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Rychlost změny velikosti" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Časový krok změny velikosti" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Škálovat okna" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Mezera mezi okny" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Mezery" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Udává dobu (v ms) před ukončením režimu změny velikosti, pokud je ukazatel " +"umístěn nad oknem" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Typy oken, která mají měnit velikost v režimu změny velikosti" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Pořídit snímek obrazovky" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Zobrazit dialog spouštění aplikace" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Pořídit snímek obrazovky" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Screenshot command line" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Hodnota jasu v procentech" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Hodnota sytosti v procentech" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Přepínač aplikací" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automaticky do popředí" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Jas" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Přenést na popředí" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Přenést vybrané okno na popředí" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "Vzdálená plocha může být při přepínání oken oddálena" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Ikona" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimalizované" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Další okno" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "Zobrazit přepínač, pokud není viditelný, a vybrat další okno" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Zobrazit přepínač, pokud není viditelný, a vybrat další okno ze všech oken" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "Zobrazit přepínač, pokud není viditelný, a vybrat předchozí okno" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Zobrazit přepínač, pokud není viditelný, a vybrat předchozí okno ze všech " +"oken" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Předchozí okno" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Sytost" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Vybrat další okno" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Vybrat předchozí okno" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Zobrazit ikonu vedle náhledu" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Zobrazit minimalizovaná okna" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Rychlost přepínače" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Časový krok přepínače" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Škálovat okna" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Typy oken, která mají být zobrazena v přepínači" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zvětšení" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Přidat čáru" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Přidat bod" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Do různých akcí plochy přidává efekt vody" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Zpoždění (v ms) mezi jednotlivými kapkami" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Povolit vodní efekty ukazatele" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Čára" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Offset Scale" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Bod" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Zpoždění deště" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Vlna v nadpisu" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Přepnout déšť" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Přepnout efekt deště" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Přepnout stěrač" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Přepnout efekt stěrače" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Vodní efekt" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Měřítko odsazení vody" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Efekt vlny v nadpisu okna" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Efekt zaměření" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Efekt zaměření oken" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Typy okna pro efekt při zaměření" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Tření" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Typy oken pro efekt při uchopení" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Rozlišení mřížky" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Invertované přichytávání oken" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Rozechvět okno" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Efekt mapování" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Efekt mapování oken" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Typy oken pro mapování" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Efekt maximalizace" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Minimální velikost mřížky" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Minimální velikost vrcholů mřížky" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Přesunout okno" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Chvění" + +# 52895 AttribValues/label +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Invertované přichytávání" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Přichytávat okna" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Tření pružiny" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Pružina K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Konstanta pružiny" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Přepnout přichytávání oken" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Pro efekt rozhoupání okna použít pružinový model" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Rozlišení vrcholů mřížky" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Typy oken, která se mají rozhoupat při zaměření" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Typy oken, která se mají rozhoupat při uchopení" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Typy oken, která se mají rozhoupat při mapování" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Typy oken, která se mají rozhoupat při přesunu" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Vlnivý efekt" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Vlnící se okna" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Lineární filtr" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Při přiblížení používat lineární filtr" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Přiblížit plochu" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Přiblížit" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Oddálit" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Rychlost přiblížení" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Časový krok přiblížení" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Přiblížit a posunout kostku ploch" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Násobek přiblížení" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Dok" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Lišta nástrojů" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Nabídka" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Nástroj" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Úvodní okno" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Dialogové okno" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Běžná" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Rozevírací nabídka" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Místní nabídka" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Popisek" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Oznámení" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Pole se seznamem" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Modální dialogové okno" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Celá obrazovka" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Neznámé" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Lineární filtr" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command1" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command11" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command2" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command3" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command4" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command5" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command6" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command7" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command8" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command9" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Hodnota jasu v procentech" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Hodnota krytí v procentech" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Hodnota sytosti v procentech" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Sytost" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Zpoždění (v ms) mezi jednotlivými kapkami" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "Vzdálená plocha může být při přepínání oken oddálena" + +#~ msgid "Do not modify" +#~ msgstr "Neměnit" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Posun vrženého stínu X" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Posun vrženého stínu Y" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Krytí vrženého stínu" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Poloměr vrženého stínu" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Efekt při zaměření okna (None, Shiver)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Vybrat předchozí okno" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Zrychlení sbalení (1.0-20.0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Rychlost sbalení (0.1-50.0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Časový krok sbalení (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Interval před přenesením vybraných oken do popředí" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "Rozvržení a počátek transformace oken na aktuálním výstupu" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Efekt mapování okna (None, Shiver)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Rychlost minimalizace (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Rychlost minimalizace (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Minimální velikost vrcholů mřížky" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Počet virtuálních ploch" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Krok změny krytí" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Úroveň krytí přesouvaných oken" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Úroveň krytí přesouvaných oken" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Barva kostky" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Překrýt okna ikonou, pokud je změněna jejich velikost" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Moduly, které musí být tímto předem načteny" + +#~ msgid "Plugins that this requires" +#~ msgstr "Moduly, které jsou tímto vyžadovány" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Zobrazit přepínač, pokud není viditelný, a vybrat další okno ze všech oken" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Zobrazit přepínač, pokud není viditelný, a vybrat další okno ze všech oken" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Zobrazit přepínač, pokud není viditelný, a vybrat předchozí okno ze všech " +#~ "oken" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Zobrazit přepínač, pokud není viditelný, a vybrat předchozí okno ze všech " +#~ "oken" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Zrychlení sbalení (1.0-20.0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Rychlost přiblížení (0.1-50)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Časový krok přiblížení (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Rychlost škálování (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Časový krok škálování (0.1-50.0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Násobek vodorovné virtuální velikosti obrazovky" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Násobek svislé virtuální velikosti obrazovky" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Citlivost pohybu ukazatele" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Stálost stínu (0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Mezera mezi okny" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Tření pružiny" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Konstanta pružiny" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Rychlost škálování (0.1-50.0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Časový krok škálování (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Filtrování textur (Rychlé, Dobré, Nejlepší)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Rychlost překreslování obrazovky (počet/s)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Udává dobu (v ms) před ukončením režimu změny velikosti, pokud je " +#~ "ukazatel umístěn nad oknem" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Časový limit před překlopením zorného pole" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Při přiblížení používat lineární filtr" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Rozlišení vrcholů mřížky" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Měřítko odsazení vody" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Rychlost blednutí okna" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Rychlost blednutí okna" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Typy oken, která mohou blednout" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Typy oken, která mohou blednout" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Typy oken, která mohou blednout" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Typy oken, která mohou blednout" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Typy oken, která mají měnit velikost v režimu změny velikosti" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Typy oken, která mají být zobrazena v přepínači" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Typy oken, která se mají při minimalizaci transformovat" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Typy oken, která mohou blednout" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Typy oken, která se mají rozhoupat při zaměření" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Typy oken, která se mají rozhoupat při uchopení" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Typy oken, která se mají rozhoupat při mapování" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Typy oken, která se mají rozhoupat při přesunu" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Horké oblasti pro spuštění režimu škálování (Vlevo nahoře, Vpravo nahoře, " +#~ "Vlevo dole, Vpravo dole)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Rychlost přiblížení (0.1-50)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Časový krok přiblížení (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Násobek přiblížení" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimalizované" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Otočit na stranu %d" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Otočit na stranu %d" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Otočit na stranu %d s oknem" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Otočit na stranu %d a přenést s sebou aktivní okno" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Otočit na stranu %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Otočit na stranu %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Otočit na stranu %d s oknem" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Otočit na stranu %d a přenést s sebou aktivní okno" + +#~ msgid "None" +#~ msgstr "Nic" + +#~ msgid "Emblem" +#~ msgstr "Symbol" + +#~ msgid "Big" +#~ msgstr "Velká" + +#~ msgid "Fast" +#~ msgstr "Rychlé" + +#~ msgid "Good" +#~ msgstr "Dobré" + +#~ msgid "Best" +#~ msgstr "Nejlepší" + +#~ msgid "Command line %d" +#~ msgstr "Příkazová řádka %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "" +#~ "Příkaz, který se vykoná, pokud je v shellu volán příkaz run_command%d" + +#~ msgid "Run command %d" +#~ msgstr "Spustit příkaz %d" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "Klávesové zkratky, které spustí příkaz určený command%d" + +#~ msgid "Window Types" +#~ msgstr "Typy oken" + +#~ msgid "Move Window Types" +#~ msgstr "Typy oken pro efekt při přesunu" + +#~ msgid "Corners" +#~ msgstr "Rohy" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "Změřit okno, když se nad něj přesune myš" + +#~ msgid "Initiate All Windows" +#~ msgstr "Iniciovat všechna okna" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "Iniciovat přesun okna klávesnice" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Iniciovat změnu velikosti okna klávesnice" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "Spustit přepínač oken" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "Modifikátor pro zobrazení přepínače všech oken" + +#~ msgid "Return from scale view" +#~ msgstr "Návrat ze škálovaného pohledu" + +#~ msgid "Show switcher" +#~ msgstr "Zobrazit přepínač" + +#~ msgid "Sloppy Focus" +#~ msgstr "Sloppy Focus" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "Zahájit pohyb okna z klávesnice" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "Zahájit změnu velikosti okna z klávesnice" + +#~ msgid "Terminate" +#~ msgstr "Ukončit" + +#~ msgid "Water effect on system beep" +#~ msgstr "Vodní efekt při systémovém zvonku" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Typy oken, které mají blednout (Desktop, Dock, Toolbar, Menu, Utility, " +#~ "Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "Typy oken, které mají být transformovány při minimalizaci (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Typy oken, které mají být škálovány v režimu škálování (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Typy oken, které mají být zobrazeny v přepínači (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Typy oken, které se při zaměření mají rozhoupat (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Typy oken, které se při uchopení mají rozhoupat (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Typy oken, které se při mapování mají rozhoupat (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Typy oken, které se při přesouvání mají rozhoupat (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "Efekt rozhoupání při systémovém pípnutí" diff --git a/po/cy.gmo b/po/cy.gmo new file mode 100644 index 0000000000000000000000000000000000000000..9dc835062099c71911f76c50a7b4daec1a6f2887 GIT binary patch literal 505 zcmYL^-A)@Z5QUejh-xo;-HW*dwUc_Y(56lnLiv$U8xiPI#HGnjHw(Mt$abLnAm#CR zhCV`PQ?(iSljq3i*yHEdFMmZ+FN8P3J7H5830+NvE#X3V+K8eX*xS__ncDxf`(!#oc6JJ&ZeqNRybE_eqp67Vv z$OH-Du?eK1uhd6Wdzd7Uq+0b+?J6ZkyrhS!yL|0SQGLRG3W?Hb`c_FY{%U-{+!^+@ z3D#-&A}NMr%S?6M!sx!!CJQyi>)-Aq5o;R(-dQE{nZa9f3V zS}&cc@zlD;Yv9F7`fP6qf7@)EA, 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2003-09-23 10:33+0200\n" +"Last-Translator: Kevin Donnelly \n" +"Language-Team: Welsh \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=(n == 0 ? 0 : n == 1 ? 1 : n < 6 ? 2 : n == " +"6 ? 3 : 4);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Windhoek" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Hepgor\n" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Ymgychwyn" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Ymgychwyn" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Ymgychwyn" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Ymgychwyn" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Ymgychwyn" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Ymgychwyn" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Hepgor\n" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Cyfnod" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Cyfnod" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Hepgor\n" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Windhoek" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Cyfnod" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Windhoek" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windhoek" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Ymgychwyn" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Rhag&osod" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Ymgychwyn trefnydd ffenestri rhagosod" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Disgiau Rhith" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Oedi" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Cyfred&oli" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Gorchymyn '%1'" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Gwall wrth ddadansoddi'r llinell gorchymyn." + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Gwall wrth ddadansoddi'r llinell gorchymyn." + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Disgiau Rhith" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Windhoek" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "Gweithred" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "Gweithred" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Hepgor\n" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "&Profi" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "&Profi" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Hepgor\n" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "&Profi" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Gorchymyn '%1'" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Windhoek" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "ffurfweddu inetd" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ffurfweddu inetd" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Hepgor\n" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Windhoek" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Windhoek" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windhoek" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Windhoek" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Profi" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Mountain" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Windhoek" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Windhoek" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Disgiau Rhith" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Windhoek" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Disgiau Rhith" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Disgiau Rhith" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Disgiau Rhith" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Disgiau Rhith" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Windhoek" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Windhoek" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Windhoek" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Ymgychwyn" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "&Profi" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Ymgychwyn" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Gweithred" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "&Profi" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "&Profi" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Ailddechrau &darganfod" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Ymgychwyn" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Gwerth" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Windhoek" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "Gwerth" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "&Profi" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Windhoek" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Sbaen" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Ymgychwyn" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Gwall wrth ddadansoddi'r llinell gorchymyn." + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Gwall wrth ddadansoddi'r llinell gorchymyn." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Ymgychwyn" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Gweithred" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Gweithred" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Cyfnod" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Gwerth" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "&Profi" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Oedi" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Gweithred" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Windhoek" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Gweithred" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Sbaen" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Sbaen" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windhoek" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "&Profi" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Hepgor\n" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "&Profi" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Windhoek" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Ffurweddiad" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Anhysbys" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Cyfnod" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Gweithred" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Hepgor\n" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "&Profi" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Gweithred" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "&Profi" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Gwerth" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "&Profi" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Gweithred" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Sbaen" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windhoek" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windhoek" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Hepgor\n" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "&Profi" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Gorchymyn '%1'" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Azores" diff --git a/po/da.gmo b/po/da.gmo new file mode 100644 index 0000000000000000000000000000000000000000..871da99383d563c838e06025f6a104bc20d25025 GIT binary patch literal 21939 zcmcJW54;{ldG8kqAtV6;6e5DK1S0?Ph6D&gfIvcWl9-$%r_|f4qO=yTm0Bv??{8*y z-+j+HiNSmC`^lW|&g{(W>@&|i^UTcVTPM!B+v9iM5uSHCyy+OvyOZnpo~TsM`_fB2 zZy|gP9tXb#=fQu1Wc7XmFM{5wo_8`>0SDm#JQMyFRJ|W_@yFot#Gipn;1MtLykCOn zKt1OQcoH0d^Wlwf5e(r{I1bN-?{)VdhHBR%@C^8bi~kg!OMKpGw%!#`^i!<6_Sc}=m%+L4E$~Ws7d#Sv0nUMsLdokZj^BeS_cN$2I{_i6-gDrw za3xgz*Fd#<8>DI8%~0=iJ49689dHf27b^d^p~^o4)z2?Lz3(w}>J@MWyd3U>uY~tP z$@}Zjyti-LwFv6D=RiI0GN^jjLg~?VsPr4)DR2a;pZ7yO=N^cvcuzp-&5vDt&RJG} z&VZ8BS}3{S4praXQ1ZG5o(AuO*T6r8>enMsKDGB)sD4`oRek`fU9W|ba~-N(zYO*M z?}RG%Nq8yzw!6O=rBuDk9alqcc>|Ck;zdw;_eOXDd;sb_ABU3P&!C>W3MEmy*T4<% zI_SfAe?2$$JTuye@TI57qC(Q2l)i)O)=h@@Vf~h-kde z!8!0LsPg~p_&ikp;}C-MV=2^gE``#M0Tbc)_@0P1~qLdoYfP|t5dMCVOH zAN~%M{2zArzYdlEdr<9r*6}EmMD?Bo)vhz4CY@ zzIQ`C?;}w9GX>ROPe8rbzdJ5iX7%lK$7N9UT?JL&7C0B~b?G-ljqAkm*P-hF0Mzq7 z1CNG}LCO2?p!EO8Q1zWqvClgbV%ofmpwhQNwd*Fh5Vqh|a6gnC`UI4`9)qg?yHIlZ zAyoVR6>8l42b>2NF1PWMq26aHRKHvbRnI1u{#q!xw_N=7E`Arpw0rls^v}Re#Qz%l z@D!9=&v_-B53hxi`xc04@J68Q#2rxf>_brR`!GcG-rqx1&Rej;%5xQ5K>T_rIlcz! z`E4lq-UTI>`=H+Aqfm1AtmC6lcKd5k@>sOe*0&fc-`P;_c_Ea(UJX_MZb;X79jNxa zA1ePNP|y7el)SzV)jkbkwPPVvJ5PnGXBj*Jz6vVeP4GlG=F)G2(t|spAb zh0?D};7PCzYw%a0+W8cep3kL`vd>GP@~wvqRqqCH~hI-F0z?0$MK#kuYz>RPLMo}Dsdhg$clFtXA z%6$Z?ou6{?@4!=tKLhDXZyw6B6Rw7O&pV;?_JdGzdlc$7q2#;=>V0p9r@;n17rq5g|Q=;oIQL;1{9v z=lf9l|1+p@^^$9`jnIc`Ujk80?>6{S_#l*iegVoJJ`L5*A3^EUytQ^7d^yy-aUG;; zZy!{9?}w7tmmR+irMEwVXTVd|S-oB57{UukzZ-6V4@33a-0N(+7r_DICqwnmO;GPU z4y9KgfJ@=Wp!(|xsP}#vo&{fU@v{()+I1cn+$*lWDa2V<}X-FN2cfwNUce3uQmw0G0nOP;!5lv5>|J_Q+aMkq?Z0^ulq3zS@{Q1Aavcr-i!)xO_{7r{S)dY>OcMD0Bf)!wxmZGYbg zC6Ak->c0*0s@|RO2KZ%26TAyi_Py{HsP}mUs@}(;-t#+9@ADIPf6ivxPmACZ(l3KP z+zX{w`=Q$T4yfnf1EnvYf~x-sD7k+Js=XR?s{d4|ad9q`KCFitKi9)!U<*n<6HxDS z7u0j^fvWF87k>mw&%XgBzaP2yQCn=e)1aPLfpg)NQ181A%D!F?WnbP5^}P4E`wzl1 zi9hV_KMD1|KZXnm@0hK&o-K|yLe&#F-VP;?-+&9@15nTZBdGQ~49|s+LLdGF>iLTY zZ9goB3yH6R7s4%Y8JvKU#x(+mCCY>VGwq+$Nyp^)9IK`~W-_J_@Vw z8*nAOW`}*wEpP$x{ZM-LW_SVoAUq#_75eabSb=9=Z`UJ(Q2qE;C^>xwN^akW(vxSQ z#RD$#pP+Q-PY4adDB%&puM^%((C?oKvb%Q^B=4^hBYHj-SH6HZg1h{9VH92|DzuzDXm@Cgib-Yg# zHoEw?;F}2N60RWpZ-RcO(f$*ij9&sjN}BdT=M$bXIeLFIX8(zB2jLRJbI! z*KdOG3a4;7Z-j; zxQDQips}T2+rq4Abh(8fdwhU!F`+`xZ$IIU=8AF4Ggor`FND_;G>%(@YY3YN4-tMy z(Cu)xdP@Y_bX$Xr=pD&+e0gg+!4;mY`2f0>|P&BFUt_z#3{5Z+5z zNZ!lgX2K5$`kh7EzruvDRSE95JHLQ`N_fG=AB7jVYvB~i>$lXxUc0oji2X6)j|i_J z3={NQ!u=cJ-xFS~1b+WPIL2JrKVK?cAI0?=!pkW4BX}m^*9e~{TuIRH6NC#1s|jBr zcxy*S!e*ETohXTkbfWRl-_h*Wqd4={)@pt;ibHeJPNKM@tIVGWI$`REqod(SC-Xar zUyHa-!?@$u!mQCr+I~PyiK${dh(|(Yio;twe%6d?)Yoh#6MiiXCZf3RC!_vox7o}_ z(lCsDl4{9>sWwhJel_&duok5}Dy*rRWOUT!Y)7}Yf;P=;C0!m(HPtk#k9FcO%ls(z z+hICFn@abSb}$lkCTG8y1)Z*yL*M;4YVo@MP-C)|v}n4EXEyFnjM3&a=^#K}Wu#jr zOS|2SMvO%Lp^2z7G8U%Z+HNhXHbZ}1*lZS&Y%=SFE#5I~lh#QpJA){rg5uI&A2x$Y zlRzt?5#-xJ5{Oo>n{+$vu4FzQjfBX7VzcB*!_hR%#(dr_^wt#;(j_e(PW*v1K}t57 zp$taSwi_hyQFHq`Ua4VnCnMd=vr(Gi^0kujP(oLGMwLS)qYn9!EcEx7K6MeP21;fN zdeFw<%W9vXOuRS}(6=vRa>Vw+;dD*^~Q zew6v)t>H*l<0cyQV}@ywn|nc%M${(#v>V4%sj5gowA<|<=_R->c7uoX(V*Mx_?t(t z7`iYVYRcGeWf}-l&%DTRgdH?jD0MR&?fBzSIMGhhj;VhlNZa`f z6xodNFS3~@V*cw)GuZ#?KJ_=1Il~?zvqP1{*r;4Cq!(S#DeFPX84G!+S2E^pgPHxj z0TZ#p@{2T7uy0-+NJw!Vr%Oo?%is0}(#TkIZ=jd}OPBucDC-7IJ7@HA*dCm{^EZaE zCiBp5MQu%vw)fjfmYLZ{W^;@=k{-Q2?ho{$@p&2iL;WZ&`&Ct2TEi|L6wn2|9VvnTrlbTxif(Km<4=G1p1 zQ&0O))!BT^$}xsIHU6G8(lZL7E$W!fv8Hir)!nu6kT%D3SjXS%Bi77_D<8}9Bh(`l zRTfN^6Hyjp!5H=4)?iY`OFf41rxqsOI78$u*@Tkv{hXYxUd^uU!^)Z+UM@*z#7T#S z;t+XT<&~PY%bDKFq$Mw9$F_~;Erxb)wEASH?cNlIfNOZwHPtBpWK^yL1&s*vTHK?W zlg8!7uWCEzJ(hLN=UX@h2OX}nPB+X&h>1>38#uR2|8nbf=9(<^j*#=oczvd^_Y?Hid`%@M7wJ zu??73@Su$_PVo*L4A);COWqjWqi1!g^#`+y7Mm`*$EviwH*I;!DrQvPsqvl1QEi*c zw%re^8Xo<&tDM1g@Q5CUiu5fob{gB8uOhi;9EQ9tHs(aMQ;UB$$+>Ie9B;)l_R0x6 zH4Wq`<-58@92naC0k+D%0wywBuHhuFGk2EE1mT`6|2)5MJli~i+mid^d6H>D`K`3i z(C5gSN|kDz*&u+u zo1JnW3MnaByCW?ZKw%<<-#CG0Jv_eD$7zDeS{=)M0yLB4G1l zIH}jU-ec^0X@z!>bidCnJXogPJrAxwiy5u8{GomRT2Cu}&h365($#;Es>;6PtT{8; zlcGT>12TWQuHEi>o}>jP9hqr(1!f1@3@=x))mpz;A{EK_VR;P`5s_Z437ew2moz(3 z+Z)c8Q2oQFaH4vaM1BebFSjh-u6UFU4F|h2*%dcpcE3o=M_WFvl~VeoM%H|f-!E-* zSk1`1UA(+b7$k(I=1{APZnH>Qnl~SLDsyHBs+72CR+ke=wTc_-+k@A)oAu1Wn{4doq~J&cPqUmDm5Hiq3p>vVd1&~hhnZKAjG=XW#)Jg4_=2bb>5 zQ;gwvcioPy>1>x|w(qQca4A@)5xb3{9p=DnAZK}PR!XuB{S)IJiKJ+r8QiYBG;m!v zTl?BGP}FKAX`ifU?}0b68zLKz!&9NnJyuGkC)nqKpf{E#&Z5;YOH^$sy<;xzo zw2D5rptE}tRv&wL?+MmB; z`*7ttHeux0SJu;UtNn{ttaxQ*#j486mHx_0RPuE#xPp@Nw+30KV#ZA~plz%DZJ0#1Teb#qy{j#vtFX}K>e|@cS%-#Xf?COiJ)HVW_SDzRAXI<^DJpao1(@qK- z<`5^}Y#5H3qf-y<)9J%LEW3-fyK#dl$;KEe90k@i_!=5Fj6RLctbx=bnvOZJUK^+GGdbg_18kUL27*i#HUrKA)2Rau9bK>p&;epCYfK&BJy=cFx?#G^ z@79>HSlqFR;wLT65b=N6Pr+XBXm@yMGtmy7uhLcO4mo7=woYbQXVM(Y&}FoYok})F z6LX@ti;ChnY-Lfsquo>vSc-cCLCO}^)PatgrUuL?E&qrnjYX|i*lcv!nCC=rT3R!V zm-+G3eW~B*R=Zh7MQMWA!c3!pv#eIuh_v?cHcdU0Y7e&2Od1XLLS59J2y_xQobq$Q ztl^JM9T+#KJ@j}M#mF9WIZpcncXn9LQ!1B+b==<6&i#nHTdVV4w2F794Ts3dQHabW zvY=ZtE3KYz?Xo(RBJgURJW2Rnr^<3uP0Xi%`h-8KqE^~=4j-G<9%F7?R3Dzz=lK?ogbYRkKTy763-x?j~1UGKii z#u9{7bX3L6No3UPV!G3;RWS?<0h@<+ZcaT^omS7(L*u_-JzEmA7hes_<#DZp$;4Y1 z))^)|d~fNp(kRX)*;zzfL0S#>)v~0OPTj}Lcw3}%=0zBQ52YLo)a#rR*8CPR_MF51 zWRx?%;Uw&tuUi%m=xa`D55#Gh)?U+QXnQ5^Lx- z{)=XZydL^p-YMhW?@k|(rF%{nvRN|WsK>Q{BiaTs%OlPNl=LVw_sc`(yvUqtGJcz! z-;dE{e5Fv2YsimXp`pT*l`b=*MeHQFk>tiuSW207tk~6bHECqtz`ihzdv?;CaiY@Q zT1n5XS+Ju(Dvi2nmq{iOHxG+hN$M5ObvS!X8m!lXI;Rx%x*T^dYQ~jL|7G1DTG=dtE2JeB;13RRP9Mrr4zP zv~oDAnG+c^iD~U*r{gq2ua&#-W4zrQ{<40t^EwWOTpZUYM$?^c_uZJT>E<{X&AmDt7cVhA$ylpIpVQppnU? zW9BU1#px_ns3Xd$hw8?_@?w>MHJlt_S4Xbw>X%-1>x?_9)8^E(*P)f8x`fZ&x^>2? zCeTjU$T)j8LMj|fybjHSJaraZ?QXc|&T7rI&F6NiY_?3@VHDPGak*5?QB%(PY>8I8 zO5J+!T&^}e4P4?`v!R?wF;@`Ag!9_yI`qaKYdR;!mB)^?1EY;vB@{1P>SyEYXbR9w z6xFToQ;Hk2x3@x{xTiY{hk2elP?xHt-u9LXqo_gFsiQ&Drh>I8%P#~Zh0e_0Da(<7 z1q6jzAef_?Lha?S|GfNtlH#+?!^@u@e$@=rL&=tp7$@xz*DPmFv=P6&AP%)FdQA?s zD@JWg>Wc5Hg_QNd@uYRo$IIv5b-5bniRa5pon^ZRXu3p}w%RI3mNE$G^aaTfK5yaP zo728rYdUOS$q?aFnz5fN6Nme?{2FtH5zsnQo`9K{XWIUfC(u(ZorGIkpxN9N%9C96 zMHUw~%VOD%Y5DwSBHPqUcFNBC&Zud|E&8vD95ar1vTW>NI$KA*#Z?|^&h+1v4 z$Jj=4(^pDX+Pyh$&=tgHnz=47s+VD)sW0nht|$+~nB_Ve%C|Nu-EH;m(M+4&l8Ecww?KIA$yWUpXHgMPZ9eWnO4h;%xEWh7{lrR-67=*`$Nn3-Z_H6tSfZ9ELR*5PpWx2$nfzgCUiyJvE> z>GEA>dCuWIL!%k)GpldA#$jK=XTDRU?6<@WDB}t;Ea+mlXe-v^R%UF#X{Rw)2s+F8 zq&_RMRFhe8c3w@9k1Jbo66O=dhc9^@f8 zC&F!pXw$?kAo(sp3rM}pWQ?C#t?j_VG;s(yN%&8QNZcD2r6~^@|-MHkA&H8~xKRii?>wl)a{t`*v$&LGWyP$MUwk zDS@9Udp*Pama?E&g*Fx&H+&Z|%SMtquW)y?kA}@=zIVfcum4Iz*WK!+lt+L$Bd1+% zk*=*aO=FtYjZejeW*(iCPrGAR9_~heHq>4vzOxod;c8C^af#{t(At*<-6ycboGnYZn3T|Qs*J&mVtDsOoY@j0>CW1O*QVJ}yksQMop zY~-6>l-GQ?ncYIEzgigw9lkJiaOho}p`wrj&S|$}KUZf{TBb^0u*S1__`QOXS}$u+ zUoHhc7|^0X_C(vioN$$P+gtf!Pe#;O$b3aeLcSfN@5D_Nv*h*$%_d~ZCxdP~GJkGy z!`s9wnsW+1RWP42XeSYOYqZ#Q*r)Al{?k1-xWGG*Qs#@lTqbT!l`jH&PKdjK9A+%G zO3oAgpSQzkk<+gHAfs;pPrElX88`TENPHfK@?lA>YiwLBvm6}`>T+wWOO`9;Y>8^K zS?}8oQM+n(J9O*K0I2argf@5WSgvyfvrMZ&?iEG_VK&X6B{3Mq&(pa>u@_*x6z*u( zz;1N(9_Su1v+nVJFgV~5Ni&-7|&M-0knMWA}GdBr}JlIT5Sc<6WYP3VAF81iO_iQGsw87eBAN%<_ zckRXXQO9m;O^n+5tcTHrTuCu4xwXcF&dm~wFSA?8V%joanJZxz|3R(R@z_w50kb9s zpG^DT@K+B)HkB>9qqnJW^<1k zV`V?{pg;U2l0)6>j4#QJX-_D$Hs6^v=BHs+oaM#kRiCs@j`qni3A;*6lAoF+pkhRD=)Ktc9K78LN^}c9HmM, 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2002-07-01 14:35+0200\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Skrivebord" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Vinduesmenu" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Foldehastighed" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Formindsk vinduets uigennemsigtighed" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Maksimer det aktive vindue i bredden" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Start" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Kubusfarve" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +# +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktive plugins" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Start" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Start tilpasning af vinduets størrelse" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Start tilpasning af vinduets størrelse" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Start" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Skaler vinduer" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Skaler vinduer" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Teksturfilter" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Farvemætning" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Farvemætning" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Foldehastighed" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Placer vinduer" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Farvemætning" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Skaler vinduer" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Vinduestyper, der skal \"slingre\", når de får fokus" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Skaler vinduer" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Skaler vinduer" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Fokuseffekt" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Fadehastighed for vindue" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Vinduestyper, der skal fades" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Vinduestyper, der skal fades" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Udgange" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Tag et skærmbillede" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:2 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:3 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:4 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:5 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:6 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:7 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:8 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:9 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:10 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:11 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +#: ../metadata/core.xml.in.h:12 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +"kommandoen identificeres af kommando%d" + +# +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Aktive plugins" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Tillad trækning af fuldskærmsvinduer, uden at der omdirrigeres til pixmaps " +"uden for skærmbilledet" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Hørbar klokke" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Hørbar systemtone" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Automatisk hævning" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Forsinkelse ved automatisk hævning" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Automatisk registrering af udgangsenheder" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Automatisk registrering af opdateringshastighed" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Klik for at fokusere" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Fokus flyttes til vinduet, når der klikkes på det." + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Luk vindue" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Luk det aktive vindue" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:38 +#, fuzzy +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:39 +#, fuzzy +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:40 +#, fuzzy +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:41 +#, fuzzy +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:42 +#, fuzzy +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:43 +#, fuzzy +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:44 +#, fuzzy +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:45 +#, fuzzy +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:46 +#, fuzzy +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:47 +#, fuzzy +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:48 +#, fuzzy +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "Kommandolinje, der skal køres i Shell, når kør_kommando%d aktiveres" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Formindsk uigennemsigtighed" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Formindsk vinduets uigennemsigtighed" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Standardikon" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Standardbillede til vinduesikon" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Registrer udgange" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Registrer opdateringshastighed" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Vinduestyper til fokuseffekt" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Vinduestyper til fokuseffekt" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Skjul vinduer, der ikke er på opgavelinjen" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Skjul alle vinduer, og flyt fokus til skrivebord" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "Skjul vinduer, der ikke er på opgavelinjen, når skrivebordet vises" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Vandret virtuel størrelse" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Ignorer vink, når maksimeret" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Ignorer vink om størrelsesforøgning og -aspekter, når vinduet er maksimeret" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Forøg uigennemsigtighed" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Forøg vinduets uigennemsigtighed" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Interval inden de valgte vinduer hæves" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Belysning" + +# +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Liste over aktive plugins" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Liste over strenge, der beskriver udgangsenheder" + +# +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Sænk vindue" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Placer vinduet under de andre vinduer" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Maksimer vindue" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Maksimer vindue vandret" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Maksimer vindue lodret" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Maksimer det aktive vindue" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Maksimer det aktive vindue i bredden" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Maksimer det aktive vindue i højden" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Minimer vindue" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimer det aktive vindue" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Antal skriveborde" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Antal virtuelle skriveborde" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "Udfør kun skærmopdatering i den lodrette slukkeperiode" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Uigennemsigtighedstrin" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Trin i den trinvise ændring af uigennemsigtigheden" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Mellemrum mellem vinduer" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Åbn vinduesmenuen" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Udgange" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Regnforsinkelse" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Hæv ved klik" + +# +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Hæv vindue" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Hæv de valgte vinduer efter interval" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Hæv vinduet over de andre vinduer" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Hæv vinduerne, når der klikkes" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Opdateringshastighed" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Dialogboksen Kør" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Kommando '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Kommando '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Kommando '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Kommando '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Skærmstørrelsesmultiplikator til den vandrette virtuelle størrelse" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Skærmstørrelsesmultiplikator til den lodrette virtuelle størrelse" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Kommandolinje til skærmbillede" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Vis hovedmenu" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Vis dialogboksen til kørsel af program" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Vis hovedmenuen" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Langsomme animationer" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Synkroniser med lodret slukning" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Tag et skærmbillede" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Tag et skærmbillede af et vindue" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Kommandolinje til skærmbillede" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Teksturfilter" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Teksturfilter" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" +"Den hastighed, der anvendes til at tegne skærmbilledet igen (antal gange/" +"sekund)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Slå maksimering af vindue til/fra" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Slå vandret maksimering af vindue til/fra" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Slå lodret maksimering af vindue til/fra" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Slå medtoning af vindue til/fra" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Slå maksimering af det aktive vindue til/fra" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Slå den vandrette maksimering af det aktive vindue til/fra" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Slå lodret maksimering af det aktive vindue til/fra" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Slå nedtoning af det aktive vindue til/fra" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Slå brugen af langsomme animationer til/fra" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Gendan vindue" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Ophæv maksimeringen af det aktive vindue" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Omdiriger ikke fuldskærmsvinduer" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Brug spredt lys, når skærmbilledet omdannes" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Lodret virtuel størrelse" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Vinduesmenu" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Kommandolinje til vindueskærmbillede" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Vinduestyper, der skal fades" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Acceleration" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Gå til næste dias" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Animer himmelkuppel" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Animer himmelkuplen, når kubussen roteres" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Farve til kubussens top og bund" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "Farve til det nederste farvestop i himmelkuplens aftagende farveforløb" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "Farve til det øverste farvestop i himmelkuplens aftagende farveforløb" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Kubusfarve" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Skrivebordskubus" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Foldeaccelaration" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Foldehastighed" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Tidstrin for foldning" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" +"Generer mipmaps, når det er muligt, for at opnå en højere kvalitetsskalering" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Gå tilbage til forrige dias" + +# +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Billedfiler" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Billede, der skal bruges som tekstur til himmelkuplen" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Kubus indvendig" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Kubus indvendig" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "Liste over PNG- og SVG-filer, der skal gengives på toppen af kubussen" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +# +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Næste dias" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Placer vinduer på kubus" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Forrige dias" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Vis himmelkuppel" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Tilpas billede" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Tilpas billederne, så de dækker toppen af kubussen" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Himmelkuppel" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Slutfarve til himmelkuplens farvegraduering" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Startfarve til himmelkuplens farvegraduering" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Billede til himmelkuppel" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Hastighed" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Tidstrin" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Fold ud" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Fold kubussen ud" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Kommando" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Skaler vinduer" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Dekoratørkommandolinje, som udføres, hvis der ikke allerede kører en " +"dekoratør" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Slagskyggeforskydning X" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Slagskyggeforskydning Y" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Slagskyggeradius" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Slagskyggens uigennemsigtighed" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Slagskyggeradius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Fastgør vinduer" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Skyggeforskydning X" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Skyggeforskydning Y" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Skyggens uigennemsigtighed" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Skyggeradius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Fastgør vinduer" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Vinduesdekoration" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Vinduesdekorationer" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Vinduestyper, der skal fades" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Vinduestyper, der skal fades" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Fadehastighed" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Fadeeffekt ved systemtone" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Vinduerne tones ind, når de tilknyttes, og tones ud, når tilknytningen " +"ophæves." + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Skaler vinduer" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Fading af vinduer" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Visuel klokke i fuld skærm" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Fadeeffekt i fuld skærm ved systemtone" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Visuel klokke" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Fadehastighed for vindue" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Vinduestyper, der skal fades" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Punkt" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Tilføj punkt" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Må ikke ændres" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Må ikke ændres" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Minimer effekt" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Minimer vindue" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Sænk hastighed" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Minimer tidstrin" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Skyggemodstand" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Skyggemodstand" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Vinduer skal ændres, når de minimeres og gendannes" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Vinduestyper, der skal ændres, når de minimeres" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Begræns Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Begræns Y-koordinaten til arbejdsområdet" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Start vinduesflytning" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Flyt vindue" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Flyt vindue" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Uigennemsigtighed" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Uigennemsigtighedsniveau ved flytning af vinduer" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "Frigør og gendan automatisk maksimerede vinduer, når de trækkes" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Frigør maksimerede vinduer" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Start flytning af vindue" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Vandret virtuel størrelse" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Placer vinduer" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Placer vinduerne på de korrekte positioner, når de er tilknyttet" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Vis minimerede vinduer" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Vandret virtuel størrelse" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Vis minimerede vinduer" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Løsninger til vinduesplaceringer" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Vinduestyper, der skal fades" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Vinduestyper, der skal skaleres i skaleringstilstand" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Løsninger" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Vis minimerede vinduer" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Vandret virtuel størrelse" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Vis minimerede vinduer" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Vandret virtuel størrelse" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Skrivebordskubus" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Placer vinduer på kubus" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Placer vinduer" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Roter venstre" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Roter højre" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Placer vinduer" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Placer vinduer" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Roter til venstre" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Roter til højre" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Roter til side %d" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Placer vinduer" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Slå fastgøring af vinduer til/fra" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Slå fastgøring af vinduer til/fra" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Start tilpasning af vinduets størrelse" + +# +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Tilpas vinduets størrelse" + +# +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Tilpas størrelsen på vinduet" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Start tilpasning af vinduesstørrelsen" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "Træk-og-slip til kant, vend" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Flyt til kant, vend" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Markør til kant, vend" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Vendingstid" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" +"Vend til venstre visningsområde, og bevar markøren på dens nuværende " +"relative placering på skærmen" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "Vend til næste visningsområde, når et objekt trækkes til skærmens kant" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "Vend til næste visningsområde, når markøren flyttes til skærmens kant" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "Vend til næste visningsområde, når vinduet flyttes til skærmens kant" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" +"Vend til højre visningsområde, og bevar markøren på dens nuværende relative " +"placering på skærmen" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Vend Y-aksen for markørbevægelser" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Omvendt Y-akse for markør" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Markørfølsomhed" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Roter kubus" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Roter og vend til venstre" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Roter og vend til højre" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Roter venstre" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Roter til venstre med vindue" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Roter højre" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Roter til højre med vindue" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Roter til" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Roter til side %d med vindue" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Roter skrivebordskubus" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Roter til venstre" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Roter til venstre, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Roter til højre" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Roter til højre, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Roter til side %d" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Roter til visningsområde" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Roter vindue" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Roter med vindue" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Rotationsacceleration" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Rotationshastighed" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Tidstrin for rotation" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Det følsomhedsniveau, der skal anvendes til markørbevægelserne" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Fastgør kubusrotation til oversiden" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Fastgør til oversiden" + +# +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Start rotation" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Den tid, der går, inden visningsområdet skifter" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Uigennemsigtighed i procent" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Gør baggrund mørkere" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Gør baggrunden mørkere, når vinduerne skaleres" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Markørens pegetid" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Start vinduesvælger" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Start vinduesvælger for alle vinduer" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Start vinduesvælger for vinduesgruppe" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Start vinduesvælgeren for vinduer i det aktuelle outputområde" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Arranger og start omdannelsen af alle vinduerne" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Arranger og start omdannelsen af vinduesgruppen" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Arranger og start omdannelsen af vinduerne" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Arranger og start omdannelsen af vinduer i det aktuelle outputområde" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Overlejringsikon" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Sæt et ikon på vinduerne, når de er skaleret" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Skaler" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Skaler vinduer" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Skaleringshastighed" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Tidstrin for skalering" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Skaler vinduer" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Mellemrum mellem vinduer" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Mellemrum" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Den tid (i ms), der går, inden skaleringstilstanden afsluttes, når markøren " +"peger på et vindue" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Vinduestyper, der skal skaleres i skaleringstilstand" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Tag et skærmbillede" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Vis dialogboksen til kørsel af program" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Tag et skærmbillede" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Kommandolinje til skærmbillede" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Lysstyrken angivet i procent" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Farvemætningen angivet i procent" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Programskifter" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automatisk hævning" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Lysstyrke" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Placer forrest" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Placer det valgte vindue forrest" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "Fjernskrivebord zoomes ud, når der skiftes til et andet vindue" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Ikon" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimeret" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Næste vindue" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "Vis opgaveskifteren, hvis den ikke er synlig, og vælg næste vindue" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Vis opgaveskifteren, hvis den ikke er synlig, og vælg næste vindue blandt " +"alle vinduer" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "Vis opgaveskifteren, hvis den ikke er synlig, og vælg forrige vindue" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Vis opgaveskifteren, hvis den ikke er synlig, og vælg forrige vindue blandt " +"alle vinduer" + +# +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Forrige vindue" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Farvemætning" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Vælg næste vindue" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Vælg forrige vindue" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Vis ikon ud for miniaturebillede" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Vis minimerede vinduer" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Hastighed for programskifter" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Tidstrin for programskifter" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Skaler vinduer" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Vinduestyper, der skal vises i programskifteren" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Tilføj linje" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Tilføj punkt" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Tilføjer vandeffekter til forskellige skrivebordshandlinger" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Forsinkelse (i ms) mellem hver regndråbe" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Aktiver markørvandeffekter" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Line" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Forskydningsstørrelse" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Punkt" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Regnforsinkelse" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Titelbølge" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Regn til/fra" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Slå regneffekten til/fra" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Visker til/fra" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Slå viskereffekten til/fra" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Vandeffekt" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Størrelse på vandforskydning" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Bølgeeffekt til vinduestitel" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Fokuseffekt" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Effekt ved fokus på vinduer" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Vinduestyper til fokuseffekt" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Friktion" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Vinduestyper til gribeeffekt" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Gitteropløsning" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Omvendt fastgøring af vinduer" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Lad vinduer dirre" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Tilknytningseffekt" + +# +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Effekt ved tilknytning af vinduer" + +# +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Vinduestyper til tilknytningseffekt" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Maksimeringseffekt" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Mindste gitterstørrelse" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Knudernes minimumstørrelse i gitteret" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Flyt vindue" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Rysten" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Omvendt fastgøring" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Fastgør vinduer" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Fjerderfriktion" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Fjeder-K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Fjederkonstant" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Slå fastgøring af vinduer til/fra" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Brug fjedermodel til \"slingrende\" vinduer" + +# +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Opløsning for knuder i gitteret" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Vinduestyper, der skal \"slingre\", når de får fokus" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "" +"Vinduestyper, der skal \"slingre\", når der tages fat i dem med markøren" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Vinduestyper, der skal \"slingre\", når de tilknyttes" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Vinduestyper, der skal \"slingre\", når de flyttes" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Vinduerne \"slingrer\", når de maksimeres eller gendannes" + +# +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "\"Slingrende\" vinduer" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Lineært filter" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Brug lineært filter, når der er zoomet ind" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Zoom på skrivebord" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Zoom ind" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Zoom ud" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Zoomhastighed" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Tidstrin for zoom" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Zoom og panorer på skrivebordskubus" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Zoomfaktor" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Dok" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Værktøjslinje" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menu" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Værktøj" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Splash" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Dialogboks" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normal" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Rullemenu" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Pop op-menu" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Værktøjstip" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Besked" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Kombination" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Træk-og-slip" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Modaldialogboks" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Fuldskærm" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Ukendt" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Lineært filter" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "En tastaturgenvej, der kører Shell-kommandoen, når den aktiveres. Shell-" +#~ "kommandoen identificeres af kommando%d" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Lysstyrken angivet i procent" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Uigennemsigtighed i procent" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Farvemætningen angivet i procent" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Farvemætning" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Forsinkelse (i ms) mellem hver regndråbe" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "Fjernskrivebord zoomes ud, når der skiftes til et andet vindue" + +#~ msgid "Do not modify" +#~ msgstr "Må ikke ændres" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Slagskyggeforskydning X" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Slagskyggeforskydning Y" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Slagskyggens uigennemsigtighed" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Slagskyggeradius" + +#, fuzzy +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Effekt ved fokus på vinduer" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Vælg forrige vindue" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Foldeaccelaration" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Foldehastighed" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Tidstrin for foldning" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Interval inden de valgte vinduer hæves" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Arranger og start omdannelsen af vinduer i det aktuelle outputområde" + +# +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Effekt ved tilknytning af vinduer" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Sænk hastighed" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Minimer tidstrin" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Knudernes minimumstørrelse i gitteret" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Antal virtuelle skriveborde" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Trin i den trinvise ændring af uigennemsigtigheden" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Uigennemsigtighedsniveau ved flytning af vinduer" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Uigennemsigtighedsniveau ved flytning af vinduer" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Kubusfarve" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Sæt et ikon på vinduerne, når de er skaleret" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Plugins, som skal indlæses først" + +#~ msgid "Plugins that this requires" +#~ msgstr "Obligatoriske plugins" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Vis opgaveskifteren, hvis den ikke er synlig, og vælg næste vindue blandt " +#~ "alle vinduer" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Vis opgaveskifteren, hvis den ikke er synlig, og vælg næste vindue blandt " +#~ "alle vinduer" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Vis opgaveskifteren, hvis den ikke er synlig, og vælg forrige vindue " +#~ "blandt alle vinduer" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Vis opgaveskifteren, hvis den ikke er synlig, og vælg forrige vindue " +#~ "blandt alle vinduer" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Rotationsacceleration" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Rotationshastighed" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Tidstrin for rotation" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Skaleringshastighed" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Tidstrin for skalering" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Skærmstørrelsesmultiplikator til den vandrette virtuelle størrelse" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Skærmstørrelsesmultiplikator til den lodrette virtuelle størrelse" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Det følsomhedsniveau, der skal anvendes til markørbevægelserne" + +#, fuzzy +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Skyggemodstand" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Mellemrum mellem vinduer" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Fjerderfriktion" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Fjederkonstant" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Hastighed for programskifter" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Tidstrin for programskifter" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Teksturfiltrering" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "" +#~ "Den hastighed, der anvendes til at tegne skærmbilledet igen (antal gange/" +#~ "sekund)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Den tid (i ms), der går, inden skaleringstilstanden afsluttes, når " +#~ "markøren peger på et vindue" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Den tid, der går, inden visningsområdet skifter" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Brug lineært filter, når der er zoomet ind" + +# +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Opløsning for knuder i gitteret" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Størrelse på vandforskydning" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Fadehastighed for vindue" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Fadehastighed for vindue" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Vinduestyper, der skal fades" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Vinduestyper, der skal fades" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Vinduestyper, der skal fades" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Vinduestyper, der skal fades" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Vinduestyper, der skal skaleres i skaleringstilstand" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Vinduestyper, der skal vises i programskifteren" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Vinduestyper, der skal ændres, når de minimeres" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Vinduestyper, der skal fades" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Vinduestyper, der skal \"slingre\", når de får fokus" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "" +#~ "Vinduestyper, der skal \"slingre\", når der tages fat i dem med markøren" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Vinduestyper, der skal \"slingre\", når de tilknyttes" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Vinduestyper, der skal \"slingre\", når de flyttes" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Zoomhastighed" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Tidstrin for zoom" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Zoomfaktor" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimeret" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Roter til side %d" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Roter til side %d" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Roter til side %d med vindue" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Roter til side %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Roter til side %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Roter til side %d med vindue" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Roter til side %d, og lad det aktive vindue følge med" + +#~ msgid "None" +#~ msgstr "Ingen" + +#~ msgid "Emblem" +#~ msgstr "Emblem" + +#~ msgid "Big" +#~ msgstr "Stor" + +#~ msgid "Fast" +#~ msgstr "Hurtig" + +#~ msgid "Good" +#~ msgstr "God" + +#~ msgid "Best" +#~ msgstr "Bedste" + +#~ msgid "Command line %d" +#~ msgstr "Kommandolinje %d" + +#~ msgid "Run command %d" +#~ msgstr "Kør kommando %d" + +# +#~ msgid "Window Types" +#~ msgstr "Vinduestyper" + +# +#~ msgid "Move Window Types" +#~ msgstr "Vinduestyper til flytteeffekt" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Cornish" + +# +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Vis æ&ndringer" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Diskette" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Starter dæmon." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminaler" diff --git a/po/de.gmo b/po/de.gmo new file mode 100644 index 0000000000000000000000000000000000000000..23bc25137e52faec95325496c52356d2e655159f GIT binary patch literal 30983 zcmcJY37lM2o$oKm8rBE_*)N*}NI`dJ4_i7bA?YM^CutHFsP4MeU37I-QA;{$5d_y! z+;Du#Fp4@TIO+@z%BVyKjr&tap9|0DHsfa1GRZvhX-qg45uw@L2dp$p3$(PS5WnO0-g>J zd|?nA49|oLKM$S<=RuYKQmFFB;Q8=oxDtL4E`yIl<)25UL*b=R8&-X&jqn}y$V^DJPNvM82X`YY20IHlG$j}I`fEssYNRtLHhcn=PQ1a@FQ2D530R?Y2i=86Y(F+B++|LgD-#=K-Ft0RQf)68obv0FE{_2 z&HoYe{|nT6egrj6{=@u7Eb{(Sq2d>s|0?s3n17r3-){a7n184FzhnN#&3_=Bsq)T% zdS4e*yZ1qTcNXfq#-YAr5~?3>Gye|rf5ZGwoB!BLeYuMvA||-n{I4+oTh0HF`M+iU z;4+_nI#j(DoBwL_zry@)HUC5A|CaeBJoUcmP~aR6$Z<)QldMyT(31JrnV7gWFB zYw-^lzhL3tG5*x}TjSHlBN1xKf3k6=aUN9p%b>>hI;eKt2qnj|=6@Yjz5W`ioWFw_ zS09D?j<3KI;1A&$@Cm5)Ic~A%IZ$$9u5me3c^je1%R$ZSDpdG(cnW--@ouQ{AA)+{ z!%*}4*YITcJ9sKQip5*yT>$mI1@LrurG<|`)vEzDZe9cF+Td;QB=}9Je)u(1`BECx zE{8$Y?`WuUXF$o}bIpGdRJ|{UZhS(OleO>(sQ!G7`QK^&d*Eq=f6~Gqw(wuTD+&K2 z3}Nq5|Gpup{u+a7|E=&G_$GK3ydNG9zX$c*kHQP#v}Jx>m-x-&z@%6pk_+F^*zR&nMxETL;pxSRnpC31~pyovbhVU)s z|0q=cuR*o{kD>bau(dw?RH%FxLABc|*ab)71@I1d5&S%y2A_aR_cYWxcp4vj2<(R{ zXEQt-)}i|EolxWNL-0cQCCCsDo`6ibU>=QkFx&>!{x`v6;A`Qr@Eyi`E&P+luNc2? ze8l*q@$jpCIVTy0JtZ2X0VU)JyA-)4Noc*TGZf4lKfWA6qZ{tl@6{swl# zr{IzBVqT_keJNCUKfDgU3aUMR4mE!dpfX3pbKnd(8?uB4tKgyVR;cn{52wSwfg0x@ zhU$;6z$4&yAVVzpH~2hw;h=BNi{bJ37a04X@()4v&&^Qvy&awl?}F;zFF=j^pTU{% zX?P+$?;2n4E1=}n5LEbwpz663sy^R_`tF~=b#VG-zkkj`nlShn?16`E@%6X_>V0dW z#?dG|4!#oVyWauT9v_4nCm)4s$4|kF;P>DHc<_sS{>$O9_&38d;q~xhcpHr14k)>D z){Fi3FNTr}eNf-q4-rkl%b>pJvrzr@b*Os&7KU)zOME|E2-R-$pyD?|jrTH~1@DBH zz%Rp7;XyC;`OY-Xg69xEA8P)*7%qmdfQa7Uvrz4I$hE%x7DCnQjZpLF4oDLOcR{`X zPw-NB{B^!wS3`YQ1)c!!faNKnJ3kCHE*^oW!N0&$;K^CvuJfSA$<Uxj{k@ulV8SJP;z7`)OTG4)&HA}*TbXm-vsrZ+o00F z8>*k*50(A_sP}&rZiYXy`1!-WU9NyzIZ*Z42+x28^Z%9k-(~(!oBvzpf86{B7kvJ6q4F;@|7P=# zoBxgGf3NvJYyR&-wg2y-zVFEE{db)N^&RKI+3-^HSIqxv^MBI(-+=m#1IK(jp8(}w zW&W3#|1IXf+x!ok|55XwUiA5Upz=rN-){a7oBtv6KVkku$9+F7g6fA&#sXA1H^QUf zTcF0-yDj`cqZQSpyb*rD7le`XTeuNeb+t4PeF~_uN!{?H7*~Adf&8)m-8nq8kB!2)c0Hir^7N_0&jsY zgrA3+ACE$ne{j{y%cI~S_)mihKL;KLXF=6}E<6SzQ6&5z-9_$%}O393I1 z+Un)*3!%zi59h;eup8b7RqjvW3Gi{K_B(9Cx92%f{W%A!J$s@0`$bUi+Ya>|Z-Dxa zJD}wCN1)`(*PzDHV^H-yahuP#1s;LF2oHkWpz85*cs#rfs=W6aKMwVtuR!(J!%+S3 z7kB`S|4Q}{THs(D0sq;ak0kE-xHsT`DZCcmuxQ+{by& z!SkX1hIsxbxE}6sAzmMvi9h}K89Z;nZ6$m&?iD;wgYSl&{@!YVt4Q+#dwvPe`um(m z@Dt-jgpcq%2dZt(gnxwJ#_4?JFx*)@xBsyuxV}Dy`0w((0v>>i|1RNqS<3%IA|Aor zh`R!(aovT}IO@U8#%T=A#m&Rb$La6qxQi+0)$l>wx>T9HJpWI^p2jV;@Nu5?x6u6G z;F;+eJfJ}S{-6Fs+*!D9>6yR(gpcEfczzVO zfoJVA_4gax2XK;0Rl+WW`uj%@r|)a*z8yD7{7(3{xXUd6a-Q{fE$+>@8tz!!5{v&n z&vSXc6#fs~FK`Pi?nONR8n+GqHMp1Xd>!s)i@%5G58_V6eH!;N+_4rnVC;rJP@MVu zdESIOAO8iozu{Sb|A4y-CwZp7GjSiot&zw6uCOxBfxU$N2=@`(fw+TllFf(WB%2P$ zX>J~Ylk9j0PJbEl&bD&y#b3d_4|gIi{(B;RFdhvh*Ab8I?*il1l#}Oqjg_b1*WvEQ zP2d*d4kqq-7Jn%`im)4S`nwgk4cABb;kcPRUvFt^u#Wp4VP{y_zwrDT+;aRETA1YE zk8%Ho`xWkg;U2^N2ky7HQA;;yB*?AF2jc%vo>$>6$9*1mJ5GO-xZ{XF7uRqh&HvoQ z<1+I$h?kt)V*XFS754lE<1pNS+iw0%6|TnpHSQ+M$7Aqk+#XrpRX5188Gu>bsf2wM{yXlYxUb;0;${)vkJH~}xEVZu*7?u@;2F5>gk^E@-@ADD6mBE# z77ITFei;AiR64u}t#B;bK2#{>3Z;>-KANqE6QfZnER?pE$D-VSy%yHXVXnY)m020)qS{!!TnV$3RCYyd&6b8EB`QVR>S3+O>)}uoR-;^@%Bz^~6jRRUEoG&!Z9H3{n&agL zucnxxYGGuwUW#fp1W8zls>9SN6<@AohYR)Xog-`6dc(IvOMIy?&gX^$W7~7(ajI_q zn)iFDRV~+PKt5%-fq|>HQYjXOU5kbT6NUQlXjBb)8@a+zF$$L;$r4X(d#xUg^Nmr3 zuzESupDolVAbAXzMaArP7eFlv!?bUmmY`|%x#dQ^(omakEeuDr1KB#Hsz&*0R2vQX zwkTMVw2&UD@rH7^qFSbvytl?+a4qe-K@FaF(MyX_wi+zu!^T{m@^GVOUMgd$$IDwI zHN9$;R|@4X)Ja#aMd6_9S@URsFw}g;U}?EnuIiKA*g?h*mFs*=SYx!*TsW(MYh0g_ zVjGm0CzI9(OFgVoGBuT=h-Y7mo@ZT&+0VL!InTO;xzDu& zYV~TCA-tIpnmjY1%T=^Y32{dIM7cUvV;P9TY&FUTOA*+ilLf)DY;}zFX9;3rq{@nt zi$f$he2AC!wc#wQ;z+zw1ciu^z4(X4#HCmZm^h$f`9G5ySEk&ZJGoYv(i5>l0dH zqwKJjgF-2jtClMya%*11*o!#PGu5Rb4R(Gp? ztOe9Y%Z(z!JPIevNORUJTCl(>SaZu_OCzei%fn+>j1j`M(JV?pcnxwqUyJH3ftx!8 zChd~SEm6-Rr2;9e)EAW+!SdWl6s{;1D&exyvXrlnl`G|4FJ*^SdwD6VMce5(!s z`p95Kp(x#J4Finj*nP-`0&0nSVt5y$d_CM+h$brKYTcDTk*!wZ4@i@IBbM^H)YC>DEy=UZ_Y{ z^}Syy*J@4~l>Rb`%1V#kK*>@~O}GRrS(v4;&?=QG3SJpy$}7(+tA$+HAJxjmhEv+F zL`OnBWk_$x*2adi)nu@^7&M<`?78vgn#g8o;F82cQ~EX|wQj|@VS%m`IYp7VjLL56 z{dgHI{>pN-Fp26&lWZzf>uQ>T!lc5t@q*Sg(;gw9OS~#fT-i#O8Q2zrH#SUubv(yTStT=86%La!bn ztCAqHtchwRBp9XjF zRFs`butu9iS9k4g*RW`5yRd%kO7|55n^yYq9O@?uXh+8P!0UZ%YA_&W0T3i8@}LL@;W@FIo?-XrDGiTK!)Me&sO z$^WbX9%cR+jhGS0Vl8jm&!CN9?~5~F3P!e|v{fa0Q7dXlVf6X5=41uLS=<~) zX?1Fw|1XUgi?t+RAVL6Qc3_<)tkOWwH1kYYkZvx`$uG=KoHSNwPKcszJo3)7jOkUcl z)19|6w0$aH_b@x8>Cq~?(h01ChxIasNXu5E-^t$CoI{*b7~;BkpEXgxY;m^8*|SrQ z*Ps~(>41JM193d3V>;kj^dF`p^?Jo8F_SExtmwG{a>IJ(? zy|6v?!cM7UW!WhRHuAJTi!-~OP3%E!bqYmuurx!QUV?2~3RT){icBe^f?3f?`egVt zL-w(RWP~Io^z2&+QwrF}{K=q;D=>TC-k%J^IRBh|%byI)IRD&z%byI@IRCtT%byJ1 zIRE^8%byJAIRAou%byJJIRC=E&L3M9;$i6oX<9bx@SS9kFHPo=*X0hZb|uQe-!&46_(=c+tL(@X5TQ>Yo!W)q8zQ)_8+X%h;XNllE{&bpuni77J=q34)Y1B)xCS zmTv$XTqHw-S@i-RP;CvsC}0ZeH7-HZzd7-nEmQf4?)PT70l!rlkXfNmN{3TLoL9}7 zK19oTL!*mx>ZLPZF*NI=sLQ2np~$N!X594uc$Z2mDOd+V<9dVBU*m&3BN{#Rk-neOrHZ#En z?RB%Z@u@NRr-o=OXRTF&4Q2xJX4Axry~ta&0?C+^eVlET?NQhVG5RrwkdSeOO3A2_ z?P^pLSD)Y}aPv(RBtyth7bdhVsY=&x5WDQ&zEE zgoiC#@m(d_)Z8_?K?N)9?C z#6dFZ(X};AxU4&bcN5ME_TxBA%u-1(d*8T(i2|Nxsbx-t6<03S3l%P?o7t*$LM0p5 zrfkvPkf|8UnqXroj}h76tw9@0V&)u%m`xaOy>2653@^d`zfLzoV%oxHU=*jO*f=p1Os#KsK-er#Ee zM^dYKH*EzUWL{KbbBy;ObvUu{8~tFAQEn}+dj#Y0`|FwmfsK1RKchS25VsUqteuy+ z&bAOFTNs{Wh$!*=GiEG{LC2mt>QL1lA z|7LlcFWkZ@SD^pI)*J6xRr17i;vc+}bqNzC$NBWq3PzNct%HkUbHE8>u)bQ>=}cx- zE<^9sXq83b;`O~tSNE=5zIa-Hq+_2YAVFnw#nF4!dVB>gvgK&FShQVWyw61{K>(H#gHYJJYpL>E_P4u&bMNYqGU^ z#?6>wmRcgGaI7p_}*sfTh+I``K{d- zbxq@Nx6Xo{*|5FBm&nS0G5udCT@ntDW~&Uo%QkLUky+48=jKLK%`7hsmvx%9C|od9 zs88dXQ#D)6tiY63TNIYC)Z(pO)^mxBwme=ovlO0rS=fF4CDVfCI??5Pg%=N@VU09O zBeR&1%u1F73~wB$E{XEdXff;#^Bg9PC=rRn0bO0pSX{PI%kSJVTCML(d0qRv!2Mmr zp8Z_G+55S?Is3W1x%;`idHcD%`TM!N1^cICw2$NAkZ|ZI2hq9E$j&)O+du4@UF3(nsl@P=CC~{)scrhx}skL6J z-I3d?W!C%qilOZ0T(KwxS0Wk;BV(kk>0X-7UXkyUI&WJhky6}wHwVR?6AbLUyIyxq zGbL}leUX+_(6!89NmO7-sz%aZRqer@JF0mUgQ+QdOB0w{sd_CF>*h3lqgF4_a#6Ul z$Q2DPC?+A*aKPPR%nW9$rMj+=+9gDi>w6>~H*xrocrj8PDxqy6}^qxNOmZqFxtZPi@*QqYT8W7yVch^U$4;|`ZgWOr&>Q)HKn4- zSW!ReMbX60yGPkI)WQ|MuRDBQOQtoEYx)&s+G-+V9MRr>p;+xK+@&Bc$cOfp#(X&H z8d+3TULB|5n~H^K=Uu9en+eT&#G_g@U6HMF*+yTyj$@<@dTK7*s1y7egG><|!27 z%H{(z4b7}Oi7Y0_w70c(MSgu_@2gPy~^EoJ$>zU6% zsa)B74oc-3=W|dhS394BQn~K=9F)ox(C463u7&Ql)XibU&l`qESvN{7D8c5;>gF9$ zNxNR8D2p;Ot(s>M*2>qK!-QyF;+8v9lCW-l~g&4`_`*SPhI718y~#&HHi zmc_l)tZC9ew9y#q9QXJzYQSI_YD_OSR}>*U)IQ@4+nH-J()H}NY8<$^Q((Jx*HVnx z$6Kzg_R?6g4VWTP3TJL9IBiY~d@oiE8uEN<)t-vp;L{2b?bj)Kixk@G`Iu?anzB>N z`WQW|XGDitDI8uM>21__S&0jw6gz?0(rc&cBp2?LZLiq1DTdadzQwmR&OBat+WzAfi3io$nsjnG(2ffn8M__f~1`o$0y5GGiz8ssh zrP|Q9ghu-$bApalj*{vB9WvSUTgP2lb{)=Q!_{$i0&4E+I2MOoI1){k=@-AE?_GIT zjn3s!IZAhmmQxb;uE@CE_r6SiYc;C5u$L{R%UHBQ2dy<84Jm!Lbyw%R9A#7LyU;$a z6s8W0Z!X~Tw#rv)HN8B z-WrR2c9)m#sO!xdEY+PmxU4(LpxIikayw5OMeQ1cm4!Ns1B*&==L0oWoE;vUy>V?3 zWlci#Y3G<8;Jx~qq}!5#@09sie06B;R1sbWt?4VIh}ulhw{l&Li^ONe#l(Bsvuq(D zMQi=YpJy!djm@)%h(iso`}#(&?tFkX77j!4s%amOuTm+sZ2zim z_hTEJsY_v09o_i=`{P)=Oj!t%1gmr_xMg?dCni!>b;K~y7LAOW$YL4Xb&Qj^Y`L1< zzK66nI?y@z9l@Roj)xMRizs*frfs*|Ja@=j^Lk3#x2#I62HGvhi}U78uXeV+vAysb ziYA{=AbG)9!hBp;UEd)D|r$zRT-c-ED-JKI-l9f_~pv#iXJekE)ZJ z2^nwGhV6f$#6q$U1*o{z_G>RBnb=7cEPW%XMSGULsCeqVw0eiGNXq0lqEQ1G%;$1F z8AF%5r0nct&`npct&!IjEDrRoKyMmnzD z6q72nJ*soz?WsDwgu}3%JK_)a$Br$gp;Ss^9Q!BZ|o$Ah3#ho-|?46Q-aXZg7z?QTjhi8Pw{jSkoMy-~O{DZ#2yZ!20& zD-plsp3F2CY_}eGy)4^e2V^Xl7|XKkA*XVbLA+CSC1_M?+#jTj*RS+UpR$Zh3BZi1 z8rOGa(RI>N>PAy2#bcS>YisV^LO0i%-|d9w zZjy6oR-bHH$egy&RJv&etWq=%2Vzr_O5E5okdAg{_+WD){nJZB;8%!fypm_@ps$wg z+uy2IJ4p|$wrp&r!qhpYpXDTRtdBQspITaFm!*N+o$9?QMbb)(NGX;#jDp0_ACK5) zRCl(aL>b1(rrZzF(2USpiP~-SaT~bd#H%q_BtuQZ zFgAt9?dQiGecM#iRVf-rVi9XS(LlCbAatV>^Bpaeix*+cq`hShz`PWu!fBTE>#CUwf@2 zS&OeFomGO*@7I)&W?(@aF|9Bg6?ca_1$HVZovXW3uI@eM>gklLXAikLW!h7o*&SXq zdk^oK(;?5CJ>;3&A_!)J>=nR!jIfkUoULU<4ta{ zsjbssMSi3Q=+qK-HRhzeyVW#xVumVdx_yVLb?;&r?t4L<23dEHTS4}zMxDxe2E}w9 zzx(`Iorm;37t?u^?{hJo2mU@6(|IoJb1|K#$37R+dB*Iam{m=Y+_aeG{L<0K-YH&9 zEl4wHsP$@tg4)$`g*8?3rcqn__IM5@7miR?+QYhJ4QdbU?iAS5A&_5NOv%kJD5iw* ztB5IK{L*1c7{6Ya62>nQriAe;gJxLsh6BsE9i4d7&XmR5b|$jJ?sE5A@f$}gs=d7} z7%icx#Kej?KRb(G-*PbHRokY~H(#!or*2;KNwJPPRXU$ISvTmSq^ zdF;U__#HRaNA}IT3zF7_-X3x@-}1#F+|9QTr(mTHe3A$*r08GI*y8uy!IjxYrS7*R zvC)u275xJsI%^5fOD>M2y6`+Y#PqJU&Ze)OqkbfzD>Gai(J@jpNwV*3TEUX+o!%as z@|Kr!?i|i{M|^`}lfSsYnF#jFk=kxj#5vTFn2|`FNHD|?CEn?P`#xkHZaJb8kfOF%$=B| zDzMvRy+dx`Og-ufEGAglcDiFf2Z&AY$lBrQ^}h|^A6+T2)h=_|=l8U&6O&=dK6;c9oH7S!#-{C%sYJ2W z*#A@@@INFl&laRa^G5^RzLwp82|vftPAZ4OW734%*BINez`LK1%RWxL+qmoSihuYm z-UX;Y7hdBFcvgF8dla9*WXyuE4RlIA@k@fJI3YWHBC6t^=S93i$74xUM+?-HRPlS?7l+n1@5k5?P)tz&~1d1x;UR%3*&}DWVky{ zGBSE8pi>L|^MC%HV4QAwGSOv9us&?I_nyM11^hbzSSLHHlvwKlTm{o zgvcVxzcgRvmoohS2gLK-jiXpd(!Y`oF040wWEv;X5c1|~Mm#COFv;hHe%H|bFl@uSy<-OG&`%9e8iM@^E6S4po{p4xR zTlU5NHxIRNjds1VL--!DUm#^T&SLm`$#3n%O+-%S`JJshm2BqVN)<;*6+3-Xlh}!z zo3Y-)>8yut_;)cZ?<7;ZT-5Lz$mf{5L|i0Sy2E literal 0 HcmV?d00001 diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..c6bf6bf --- /dev/null +++ b/po/de.po @@ -0,0 +1,4012 @@ +# @TITLE@ +# Copyright (C) 2006, SUSE Linux GmbH, Nuremberg +# FIRST AUTHOR , YEAR. +# +# This file is distributed under the same license as @PACKAGE@ package. FIRST +# +msgid "" +msgstr "" +"Project-Id-Version: @PACKAGE@\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2005-03-09 13:54+0100\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Desktop" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Menü Fenster" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Faltgeschwindigkeit" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Fensterdurchlässigkeit verringern" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Aktives Fenster horizontal maximieren" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Initiieren" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Würfelfarbe" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktive Plugins" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "Leeren" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Initiieren" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Fensterskalierung initiieren" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Fensterskalierung initiieren" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Initiieren" + +#: ../metadata/annotate.xml.in.h:13 +#, fuzzy +msgid "Line width" +msgstr "Fensterbreite" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +#, fuzzy +msgid "Stroke width" +msgstr "Breite der Quellansicht" + +#: ../metadata/annotate.xml.in.h:17 +#, fuzzy +msgid "Stroke width for annotations" +msgstr "Breite der Quellansicht" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Fenster skalieren" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Fenster skalieren" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Strukturfilter" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Sättigung" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Sättigung" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Faltgeschwindigkeit" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Fenster platzieren" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Sättigung" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Fenster skalieren" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Fenstertypen, die beim Erhalt des Fokus wackeln sollen" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Fenster skalieren" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Fenster skalieren" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Russische Föderation" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Russisch" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Russische Föderation" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Russisch" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Effekt fokussieren" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Fensterausblendgeschwindigkeit" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Ausgaben" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Ungültige Auswahl" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 10 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 1 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 10 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 11 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 2 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 3 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 4 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 5 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 6 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 7 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 8 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"Eine Tastenbelegung, die den durch Befehl 9 festgelegten Shell-Befehl " +"ausführt" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Aktive Plugins" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Aufbau von Vollbildfenstern ohne Umleitung zu Offscreen-Pixmaps erlauben" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Akustische Glocke" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Akustischer System-Warnton" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Automatisch in den Vordergrund" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Verzögerung für Automatisch in den Vordergrund" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Automatische Erkennung von Ausgabegeräten" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Automatische Erkennung der Aktualisierungsrate" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Fokuswechsel durch Klicken" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Fenster durch Anklicken fokussieren" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Fenster schließen" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Aktives Fenster verschieben" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Kommandozeile 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Kommandozeile 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Kommandozeile 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Kommandozeile 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Kommandozeile 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Kommandozeile 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Kommandozeile 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Kommandozeile 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Kommandozeile 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Kommandozeile 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Kommandozeile 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Kommandozeile 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command10 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command1 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command10 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command11 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command2 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command3 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command4 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command5 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command6 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command7 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command8 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" +"Die Kommandozeile, die bei Ausführung von run_command9 in der Shell " +"ausgeführt wird" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Durchlässigkeit verringern" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Fensterdurchlässigkeit verringern" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Standardsymbol" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Standardfenstersymbol" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Ausgaben erkennen" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Aktualisierungsrate erkennen" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Fenstertypen fokussieren" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Fenstertypen fokussieren" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Programmleistenfenster ausblenden" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Alle Fenster ausblenden und Desktop fokussieren" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Fenster ausblenden, die sich bei Wechsel in Modus \"Desktop anzeigen\" nicht " +"in Programmleiste befanden" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Horizontale virtuelle Größe" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Bei maximierter Anzeige Tipps ignorieren" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "Bei maximierter Anzeige Größensteigerung und Aspekttipps ignorieren" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Durchlässigkeit erhöhen" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Fensterdurchlässigkeit erhöhen" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Zeitintervall vor Verlagern der ausgewählten Fenster" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Beleuchtung" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Liste der aktiven Plugins" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Liste mit Zeichenketten zur Erläuterung von Ausgabegeräten" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Fenster nach unten verschieben" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Fenster unter andere Fenster verschieben" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Fenster maximieren" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Fenster horizontal maximieren" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Fenster vertikal maximieren" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Aktives Fenster maximieren" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Aktives Fenster horizontal maximieren" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Aktives Fenster vertikal maximieren" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Fenster minimieren" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Aktives Fenster minimieren" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Anzahl der Desktops" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Anzahl der virtuellen Desktops" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"Bildschirmaktualisierungen nur während Deaktivierung der vertikalen Anzeige " +"durchführen" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Durchlässigkeits-Schritt" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Änderungsschritt für Durchlässigkeit" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Abstand zwischen Fenstern" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "In Terminal ausführen" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Fenstermenü öffnen" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Ausgaben" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Regenverzögerung" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Durch Klicken in den Vordergrund" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Fenster nach vorn verlagern" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Ausgewählte Fenster nach Zeitintervall in Vordergrund verschieben" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Fenster vor andere Fenster verlagern" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Fenster durch Anklicken in Vordergrund verschieben" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Aktualisierungsrate" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Dialogfeld Ausführen" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Befehl 10 ausführen" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Befehl 1 ausführen" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Befehl 10 ausführen" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Befehl 11 ausführen" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Befehl 12 ausführen" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Befehl 3 ausführen" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Befehl 4 ausführen" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Befehl 5 ausführen" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Befehl 6 ausführen" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Befehl 7 ausführen" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Befehl 8 ausführen" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Befehl 9 ausführen" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Bildschirmgrößenmultiplikator für horizontale virtuelle Größe" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Bildschirmgrößenmultiplikator für vertikale virtuelle Größe" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Kommandozeile für Bildschirmfoto" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Hauptmenü anzeigen" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Dialogfeld 'Anwendung ausführen' anzeigen" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Hauptmenü anzeigen" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Langsame Animationen" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Mit VBlank synchronisieren" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Bildschirmfoto aufnehmen" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Bildschirmfoto von Fenster aufnehmen" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Kommandozeile für Bildschirmfoto" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Strukturfilter" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "Texturfilter" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Rate des Bildschirmneuaufbaus (Häufigkeit/Sekunde)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Fenster maximieren ein/aus" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Fenster horizontal maximieren ein/aus" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Fenster vertikal maximieren ein/aus" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Fenster schattieren ein/aus" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Aktives Fenster maximieren ein/aus" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Aktives Fenster horizontal maximieren ein/aus" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Aktives Fenster vertikal maximieren ein/aus" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Aktives Fenster schattieren ein/aus" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Verwenden langsamer Animationen ein/aus" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Maximierung von Fenstern aufheben" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Maximierung des aktiven Fensters aufheben" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Umleitung von Vollbildfenstern aufheben" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Beim Umwandeln des Bildschirms diffuses Licht verwenden" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Vertikale virtuelle Größe" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Menü Fenster" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Kommandozeile für Fenster-Bildschirmfoto " + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Beschleunigung" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Nächstes Dia anzeigen" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Skydome animieren" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Beim Drehen von Würfel Skydome animieren" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Farbe der Ober- und Unterseite des Würfels" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "Farbe, die unten im Skydome-Fallback-Verlauf verwendet werden soll" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "Farbe, die oben im Skydome-Fallback-Verlauf verwendet werden soll" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Würfelfarbe" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Desktop-Würfel" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Beschleunigung beim Falten" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Faltgeschwindigkeit" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Faltzeitintervall" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "Wenn möglich für präzise Skalierung Mipmaps erstellen" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Zurück zum vorherigen Dia" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Bilddateien" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Bild für die Struktur des Skydome" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "In Würfel" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "In Würfel" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Liste der PNG- und SVG-Dateien, die auf der Oberseite des Würfels angezeigt " +"werden sollen" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Nächstes Dia" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Fenster auf Würfel platzieren" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Vorheriges Dia" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Skydome anzeigen" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Bild skalieren" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Fenstergröße an Oberseite des Würfels anpassen" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Skydome" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Endfarbe für Skydome-Verlauf" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Anfangsfarbe für Skydome-Verlauf" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Skydome-Bild" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Geschwindigkeit" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Zeitintervall" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Auffalten" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Würfel auffalten" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Kommando" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Fenster skalieren" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Decorator-Kommandozeile, die ausgeführt wird, wenn nicht bereits ein " +"Decorator ausgeführt wird" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Drop-Shadow-X-Offset" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Drop-Shadow-Y-Offset" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Drop-Shadow-Radius" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Drop-Shadow-Durchlässigkeit" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Drop-Shadow-Radius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Fenster einrasten" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Schattenversatz X" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Schattenversatz Y" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Schattendurchlässigkeit" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Schattenradius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Fenster einrasten" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Fensterdekoration" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Fensterdekorationen" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Ausblendgeschwindigkeit" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Ausblendeffekt für System-Warnton" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Fenster beim Zuordnen einblenden, beim Aufheben der Zuordnung ausblenden" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Fenster skalieren" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Fenster ein-/ausblenden" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Visuelle Glocke in Vollbild" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Ausblendeffekt für System-Warnton in Vollbild" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Visuelle Glocke" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Fensterausblendgeschwindigkeit" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Punkt" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Punkt hinzufügen" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Nicht ändern" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Nicht ändern" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Effekt minimieren" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Fenster minimieren" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Minimiergeschwindigkeit" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Minimierintervall" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Schattenwiderstand" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Schattenwiderstand" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Fenster beim Minimieren und beim Aufheben der Minimierung umformen" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Fenstertypen, die beim Minimieren umgeformt werden sollen" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Y einschränken" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Y-Koordinate auf Arbeitsoberfläche einschränken" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Fensterverschiebung initiieren" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Fenster verschieben" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Fenster verschieben" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Durchlässigkeit" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Durchlässigkeitsgrad beweglicher Fenster" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "Beim Ziehen Einrasten und Maximierung maximierter Fenster aufheben" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Einrasten maximierter Fenster aufheben" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Fensterverschiebung starten" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Horizontale virtuelle Größe" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Fenster platzieren" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Fenster bei Zuordnung ungefähr platzieren" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Minimierte Fenster anzeigen" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Horizontale virtuelle Größe" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Minimierte Fenster anzeigen" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Fensterplatzierungs-Workarounds" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Fenstertypen, die im Skaliermodus skaliert werden sollen" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Workarounds" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Minimierte Fenster anzeigen" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Horizontale virtuelle Größe" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Minimierte Fenster anzeigen" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Horizontale virtuelle Größe" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Desktop-Würfel" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Fenster auf Würfel platzieren" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Bild ab" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Links drehen" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Rechts drehen" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Bild auf" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Fenster platzieren" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Links drehen" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Rechts drehen" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "In Richtung %d drehen" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Bild auf" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Einrasten von Fenstern ein/aus" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Einrasten von Fenstern ein/aus" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Fensterskalierung initiieren" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Fenster skalieren" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Fenster skalieren" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Fensterskalierung starten" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "An Rand wechseln (Ziehen und Ablegen)" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "An Rand wechseln (Verschieben)" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "An Rand wechseln (Zeiger)" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Wechselzeit" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Zum linken Viewport wechseln und Zeiger verzerren" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Zum nächsten Viewport wechseln, wenn Objekt an den Bildschirmrand gezogen " +"wird" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Zum nächsten Viewport wechseln, wenn Zeiger an den Bildschirmrand verschoben " +"wird" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Zum nächsten Viewport wechseln, wenn Fenster an den Bildschirmrand " +"verschoben wird" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Zum rechten Viewport wechseln und Zeiger verzerren" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Y-Achse für Zeigerbewegung umkehren" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Y umkehren für Zeiger" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Zeigerempfindlichkeit" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Würfel drehen" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Drehen (nach links kippen)" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Drehen (nach rechts kippen)" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Links drehen" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Links drehen mit Fenster" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Rechts drehen" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Rechts drehen mit Fenster" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Drehen in Richtung" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Drehen zu Fläche 10" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Drehen zu Fläche 10 mit Fenster" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Drehen zu Fläche 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Drehen zu Fläche 10 mit Fenster" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Drehen zu Fläche 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Drehen zu Fläche 11 mit Fenster" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Drehen zu Fläche 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Drehen zu Fläche 12 mit Fenster" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Drehen zu Fläche 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Drehen zu Fläche 2 mit Fenster" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Drehen zu Fläche 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Drehen zu Fläche 3 mit Fenster" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Drehen zu Fläche 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Drehen zu Fläche 4 mit Fenster" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Drehen zu Fläche 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Drehen zu Fläche 5 mit Fenster" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Drehen zu Fläche 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Drehen zu Fläche 6 mit Fenster" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Drehen zu Fläche 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Drehen zu Fläche 7 mit Fenster" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Drehen zu Fläche 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Drehen zu Fläche 8 mit Fenster" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Drehen zu Fläche 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Drehen zu Fläche 9 mit Fenster" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Desktop-Würfel drehen" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Links drehen" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Links drehen und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Rechts drehen" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Rechts drehen und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Drehen zu Fläche 10" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Drehen zu Fläche 10 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Drehen zu Fläche 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Drehen zu Fläche 10 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Drehen zu Fläche 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Drehen zu Fläche 11 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Drehen zu Fläche 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Drehen zu Fläche 12 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Drehen zu Fläche 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Drehen zu Fläche 2 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Drehen zu Fläche 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Drehen zu Fläche 3 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Drehen zu Fläche 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Drehen zu Fläche 4 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Drehen zu Fläche 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Drehen zu Fläche 5 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Drehen zu Fläche 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Drehen zu Fläche 6 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Drehen zu Fläche 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Drehen zu Fläche 7 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Drehen zu Fläche 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Drehen zu Fläche 8 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Drehen zu Fläche 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Drehen zu Fläche 9 und aktives Fenster mitführen" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "In Richtung Viewport drehen" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Fenster drehen" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Mit Fenster drehen" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Drehbeschleunigung" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Drehgeschwindigkeit" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Drehintervall" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Empfindlichkeit bei Zeigerbewegung" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Würfeldrehung an Oberseite einrasten" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "An Oberseite einrasten" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Drehung starten" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Zeitüberschreitung vor Viewport-Wechsel" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Durchlässigkeitsgrad in Prozent" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Hintergrund abdunkeln" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Hintergrund beim Skalieren von Fenstern abdunkeln" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Verweildauer" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Fensterauswahl initiieren" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Fensterauswahl für alle Fenster initiieren" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Fensterauswahl für Fenstergruppe initiieren" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Fensterauswahl für Fenster in aktueller Ausgabe initiieren" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Layout durchführen und mit der Umformung aller Fenster beginnen" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Layout durchführen und mit der Umformung der Fenstergruppe beginnen" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Layout erstellen und mit Fensterumformung beginnen" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" +"Layout durchführen und mit der Umformung der Fenster in aktueller Ausgabe " +"beginnen" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Symbol überlagern" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Fenster nach Skalierung mit Symbol überlagern" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Skalieren" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Fenster skalieren" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Skaliergeschwindigkeit" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Skalierzeitintervall" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Fenster skalieren" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Abstand zwischen Fenstern" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Abstand" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Zeit (in ms) bis zum Beenden des Skaliermodus beim Verweilen über einem " +"Fenster" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Fenstertypen, die im Skaliermodus skaliert werden sollen" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "Verzeichnis" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Bildschirmfoto aufnehmen" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Starten einer Anwendung" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Bildschirm" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Kommandozeile für Bildschirmfoto" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Helligkeitsgrad in Prozent" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Sättigungsgrad in Prozent" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Anwendungs-Switcher" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automatisch in den Vordergrund" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Helligkeit" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "In den Vordergrund verschieben" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Ausgewähltes Fenster in den Vordergrund verschieben" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"Distance-Desktop sollte beim Umschalten zwischen Fenstern verkleinert sein" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Icon" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimiert" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Nächstes Fenster" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "Popup-Schalter, wenn nicht sichtbar, und nächstes Fenster auswählen" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Popup-Schalter, wenn nicht sichtbar, und von allen Fenstern nächstes Fenster " +"auswählen" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "Popup-Schalter, wenn nicht sichtbar, und vorheriges Fenster auswählen" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Popup-Schalter, wenn nicht sichtbar, und von allen Fenstern vorheriges " +"Fenster auswählen" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Vorheriges Fenster" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Sättigung" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Nächstes Fenster auswählen" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Vorheriges Fenster auswählen" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Neben Miniaturbild Symbol anzeigen" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Minimierte Fenster anzeigen" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Schaltergeschwindigkeit" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Schalterzeitintervall" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Fenster skalieren" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Fenstertypen, die im Schalter angezeigt werden sollen" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Linie hinzufügen" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Punkt hinzufügen" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Wassereffekte zu verschiedenen Aktionen des Desktops hinzufügen" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Verzögerung (in ms) zwischen den einzelnen Regentropfen" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Wassereffekte für Mauszeiger aktivieren" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Linie" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Versatz-Skalierung" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Punkt" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Regenverzögerung" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Titelwelle" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Regen ein/aus" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Regeneffekt ein/aus" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Wischer ein-/ausschalten" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Wischereffekt ein-/ausschalten" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Wassereffekt" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Wasser-Versatz-Skalierung" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Welleneffekt aus Fenstertitel" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Effekt fokussieren" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Fenstereffekt fokussieren" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Fenstertypen fokussieren" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Reibung" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Fenstertypen aufnehmen" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Gitterauflösung" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Invertiertes Einrasten von Fenstern" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Fenster zittern lassen" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Effekt zuordnen" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Fenstereffekt zuordnen" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Fenstertypen zuordnen" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Effekt maximieren" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Minimale Gittergröße" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Minimale Gittergröße" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Fenster verschieben" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Zittern" + +# 52895 AttribValues/label +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Einrasten invertiert" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Fenster einrasten" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Reibung" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Spring K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Federkonstante" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Einrasten von Fenstern ein/aus" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Spring-Modell für Fenster-Wackeleffekt verwenden" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Auflösung des Gitters" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Fenstertypen, die beim Erhalt des Fokus wackeln sollen" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Fenstertypen, die bei Aufnahme wackeln sollen" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Fenstertypen, die beim Zuordnen wackeln sollen" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Fenstertypen, die beim Verschieben wackeln sollen" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Wackeleffekt beim Maximieren/Aufheben der Maximierung von Fenstern" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Wackelige Fenster" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Linearer Filter" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "In Vergrößerung linearen Filter verwenden" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Desktop zoomen" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Ansicht vergrößern" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Ansicht verkleinern" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Zoomgeschwindigkeit" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Zoomintervall" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Desktop-Würfel zoomen und schwenken" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Zoomfaktor" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Andocken" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Werkzeugleiste" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menü" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Dienstprogramm" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Splash" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Dialogfeld" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normal" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "DropdownMenu" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "PopupMenu" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Kurzinfo" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Benachrichtigung" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Combo" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "ModalDialog" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Vollbild" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Unbekannt" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Linearer Filter" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Russisch" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 10 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 1 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 10 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 11 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 2 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 3 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 4 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 5 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 6 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 7 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 8 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Eine Tastenbelegung, die den durch Befehl 9 festgelegten Shell-Befehl " +#~ "ausführt" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Helligkeitsgrad in Prozent" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Durchlässigkeitsgrad in Prozent" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Sättigungsgrad in Prozent" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Sättigung" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Verzögerung (in ms) zwischen den einzelnen Regentropfen" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "" +#~ "Distance-Desktop sollte beim Umschalten zwischen Fenstern verkleinert sein" + +#~ msgid "Do not modify" +#~ msgstr "Nicht ändern" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Drop-Shadow-X-Offset" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Drop-Shadow-Y-Offset" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Drop-Shadow-Durchlässigkeit" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Drop-Shadow-Radius" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Fenstereffekt fokussieren (Keiner, Zittern)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Vorheriges Fenster auswählen" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Faltbeschleunigung (1,0-20,0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Faltgeschwindigkeit (0,1-50,0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Falt-Zeitintervall (0,1-50,0)" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Russische Föderation" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Russisch" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Zeitintervall vor Verlagern der ausgewählten Fenster" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Layout durchführen und mit der Umformung der Fenster in aktueller Ausgabe " +#~ "beginnen" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Fenstereffekt zuordnen (Keiner, Zittern)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Minimiergeschwindigkeit (0,1-50,0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Minimiergeschwindigkeit (0,1-50,0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Minimale Gittergröße" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Anzahl der virtuellen Desktops" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Änderungsschritt für Durchlässigkeit" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Durchlässigkeitsgrad beweglicher Fenster" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Durchlässigkeitsgrad beweglicher Fenster" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Würfelfarbe" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Fenster nach Skalierung mit Symbol überlagern" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Plugins, die zuvor geladen werden müssen" + +#~ msgid "Plugins that this requires" +#~ msgstr "Erforderliche Plugins" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Popup-Schalter, wenn nicht sichtbar, und von allen Fenstern nächstes " +#~ "Fenster auswählen" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Popup-Schalter, wenn nicht sichtbar, und von allen Fenstern nächstes " +#~ "Fenster auswählen" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Popup-Schalter, wenn nicht sichtbar, und von allen Fenstern vorheriges " +#~ "Fenster auswählen" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Popup-Schalter, wenn nicht sichtbar, und von allen Fenstern vorheriges " +#~ "Fenster auswählen" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Faltbeschleunigung (1,0-20,0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Zoomgeschwindigkeit (0,1-50,0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Zoom-Zeitintervall (0,1-50,0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Skaliergeschwindigkeit (0,1-50,0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Skalier-Zeitintervall (0,1-50,0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Bildschirmgrößenmultiplikator für horizontale virtuelle Größe" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Bildschirmgrößenmultiplikator für vertikale virtuelle Größe" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Empfindlichkeit bei Zeigerbewegung" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Schattenwiderstand (0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Abstand zwischen Fenstern" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Reibung" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Federkonstante" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Skaliergeschwindigkeit (0,1-50,0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Skalier-Zeitintervall (0,1-50,0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Texturfilter (Schnell, Gut, Beste)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Rate des Bildschirmneuaufbaus (Häufigkeit/Sekunde)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Zeit (in ms) bis zum Beenden des Skaliermodus beim Verweilen über einem " +#~ "Fenster" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Zeitüberschreitung vor Viewport-Wechsel" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "In Vergrößerung linearen Filter verwenden" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Auflösung des Gitters" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Wasser-Versatz-Skalierung" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Fensterausblendgeschwindigkeit" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Fensterausblendgeschwindigkeit" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Fenstertypen, die im Skaliermodus skaliert werden sollen" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Fenstertypen, die im Schalter angezeigt werden sollen" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Fenstertypen, die beim Minimieren umgeformt werden sollen" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Fenstertypen, die ausgeblendet werden sollen" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Fenstertypen, die beim Erhalt des Fokus wackeln sollen" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Fenstertypen, die bei Aufnahme wackeln sollen" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Fenstertypen, die beim Zuordnen wackeln sollen" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Fenstertypen, die beim Verschieben wackeln sollen" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ecken, die Skalierungsmodus auslösen sollten (links oben, rechts oben, " +#~ "links unten, rechts unten)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Zoomgeschwindigkeit (0,1-50,0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Zoom-Zeitintervall (0,1-50,0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Zoomfaktor" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimiert" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "In Richtung %d drehen" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "In Richtung %d drehen" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "In Richtung %d drehen (mit Fenster)" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "In Richtung %d drehen (mit aktivem Fenster)" + +#~ msgid "Rotate To Face %d" +#~ msgstr "In Richtung %d drehen" + +#~ msgid "Rotate to face %d" +#~ msgstr "In Richtung %d drehen" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "In Richtung %d drehen (mit Fenster)" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "In Richtung %d drehen (mit aktivem Fenster)" + +#~ msgid "None" +#~ msgstr "Keine" + +#~ msgid "Emblem" +#~ msgstr "Emblem" + +#~ msgid "Big" +#~ msgstr "Groß" + +#~ msgid "Fast" +#~ msgstr "Schnell" + +#~ msgid "Good" +#~ msgstr "Gut" + +#~ msgid "Best" +#~ msgstr "Beste" + +#~ msgid "Command line %d" +#~ msgstr "Kommandozeile %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "" +#~ "Kommandozeile, die beim Aufruf von Kommando 'run_command%d' in Shell " +#~ "ausgeführt werden soll" + +#~ msgid "Run command %d" +#~ msgstr "Kommando %d ausführen" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "" +#~ "Eine Tastenzuordnung, bei deren Aktivierung das durch Kommando %d " +#~ "identifizierte Shell-Kommando ausgeführt wird" + +#~ msgid "Window Types" +#~ msgstr "Fenstertypen" + +#~ msgid "Move Window Types" +#~ msgstr "Fenstertypen verschieben" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "ZEN-Partition aktivieren" + +#~ msgid "Corners" +#~ msgstr "Ecken" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "Fenster fokussieren, wenn sich der Mauszeiger darüber befindet" + +#~ msgid "Initiate All Windows" +#~ msgstr "Alle Fenster initiieren" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "Fensterverschiebung via Tastatur initiieren" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Fensterskalierung via Tastatur initiieren" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "Fenster-Switcher initiieren" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "Modifikator zur Anzeige des Switcher für alle Fenster" + +#~ msgid "Return from scale view" +#~ msgstr "Zurück aus Skalierungsansicht" + +#~ msgid "Show switcher" +#~ msgstr "Switcher anzeigen" + +#~ msgid "Sloppy Focus" +#~ msgstr "Verzögerter Fokus" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "Fensterverschiebung via Tastatur starten" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "Fensterskalierung via Tastatur starten" + +#~ msgid "Terminate" +#~ msgstr "Beenden" + +#~ msgid "Water effect on system beep" +#~ msgstr "Wassereffekt für System-Warnton" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Fenstertypen, die ein-/ausgeblendet werden sollen (Desktop, Dock, " +#~ "Symbolleiste, Menü, Dienstprogramm, Splash, Dialog, ModalDialog, Normal, " +#~ "Vollbild, Unbekannt)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "Fenstertypen, die beim Minimieren umgeformt werden sollen (Desktop, Dock, " +#~ "Symbolleiste, Menü, Dienstprogramm, Splash, Dialog, ModalDialog, Normal, " +#~ "Vollbild, Unbekannt)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Fenstertypen, die im Skaliermodus skaliert werden sollen (Desktop, Dock, " +#~ "Symbolleiste, Menü, Dienstprogramm, Splash, Dialog, ModalDialog, Normal, " +#~ "Vollbild, Unbekannt)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Fenstertypen, die im Switcher angezeigt werden sollen (Desktop, Dock, " +#~ "Symbolleiste, Menü, Dienstprogramm, Splash, Dialog, ModalDialog, Normal, " +#~ "Vollbild, Unbekannt)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Fenstertypen, die beim Erhalt des Fokus wackeln sollen (Desktop, Dock, " +#~ "Symbolleiste, Menü, Dienstprogramm, Splash, Dialog, ModalDialog, Normal, " +#~ "Vollbild, Unbekannt)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Fenstertypen, die bei Aufnahme wackeln sollen (Desktop, Dock, " +#~ "Symbolleiste, Menü, Dienstprogramm, Splash, Dialog, ModalDialog, Normal, " +#~ "Vollbild, Unbekannt)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Fenstertypen, die beim Anzeigen wackeln sollen (Desktop, Dock, " +#~ "Symbolleiste, Menü, Dienstprogramm, Splash, Dialog, ModalDialog, Normal, " +#~ "Vollbild, Unbekannt)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Fenstertypen, die beim Verschieben wackeln sollen (Desktop, Dock, " +#~ "Symbolleiste, Menü, Dienstprogramm, Splash, Dialog, ModalDialog, Normal, " +#~ "Vollbild, Unbekannt)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "Wackeleffekt für System-Warnton" diff --git a/po/el.gmo b/po/el.gmo new file mode 100644 index 0000000000000000000000000000000000000000..cb0b018006798876e7000454a1f9ca763da7d686 GIT binary patch literal 539 zcmYL_&1zIJ6vv}hg-a1}?IPVNk}(-SI%H-1)=7&1?rs=OY`1LQmOxRRoqhNwe|eoNahe5sTOZ z6+zNA=c|n0V?t1INAfn~cR5ER+kpe!G++1xL#tS&;=UB^TO2F1hblytdu4-B(RoSN zwJ~(4m9=W-N>>>dXs_8E4)(y9s%RB{4a;m%sRCFIYA)%}1I%boi;f+HDnM%rYuRXf zw7GboXz^^r*$5WzJ1lYV2yf!;(kN}abh4*>fY{&7w^(Q4Yvy_ho^9HRn`&D~+IgX4 zHa3-4hHc@u21#xCZyEaSF8!bOEnVqT(alKulD?, 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-07-17 16:12+0200\n" +"Last-Translator: Bill Giannakopoulos \n" +"Language-Team: Greek \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Επιφάνεια Εργασίας" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Διαχειριστές Παραθύρων" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Επιλεγμένο" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&Ολοκληρωτική διαγραφή των Windows" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&Ολοκληρωτική διαγραφή των Windows" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Χρώματα" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Ενεργοποιημένο Προφίλ" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Ορι&σμός Φίλτρου" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Διάρκεια" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Διάρκεια" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Επιλεγμένο" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Διάρκεια" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Ρωσική Ομοσπονδία" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Ρωσικά" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Ρωσική Ομοσπονδία" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Ρωσικά" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mi'kmaq" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows free (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Hittite" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Ενεργοποιημένο Προφίλ" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Σύστημα αρχείων" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "AutoYast" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&Ολοκληρωτική διαγραφή των Windows" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Προκαθορισμένο Τμήμα" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Προεπιλεγμένη περιοχή" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Επιλέξτε για Ενημέρωση" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +# screen title for uml disks +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Εικονική Συσκευή" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Καταγραφή" + +# command line help text for the 'list detected only' option +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Λίστα μόνο των ανιχνευμένων εκτυπωτών" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Lower Sorbian" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Επιφάνεια Εργασίας" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Επιφάνεια Εργασίας" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Occitan (post 1500)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Καθυστέρηση" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "R&adio Clock" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Ο ανασχηματισμός απέτυχε." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Ανανέωση" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "&Τονική Κλήση" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Εντολή '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Εντολή '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Εντολή '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Εντολή '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Εντολή: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Σφάλμα κατά την λεκτική ανάλυση της γραμμής εντολών." + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "&Εμφάνιση του μενού εκκίνησης" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "&Εμφάνιση του μενού εκκίνησης" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Εμφάνιση Όλων των Κατατμήσεων" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Σφάλμα κατά την λεκτική ανάλυση της γραμμής εντολών." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "Ορι&σμός Φίλτρου" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Ορι&σμός Φίλτρου" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +# screen title for uml disks +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Εικονική Συσκευή" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Διαχειριστές Παραθύρων" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3Δ Επιτάχυνση:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "Προχωρημένες Επιλογές" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Χρώματα" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Επιφάνεια Εργασίας" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3Δ Επιτάχυνση:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Επιλεγμένο" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Δοκιμή" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "&Προηγούμενο" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Αρχείο εικόνας ISO" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Mi'kmaq" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "Νέο Μέγεθος" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "&Προηγούμενο" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "Τοπική ώρα" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Εικόνα ISO" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Επιλεγμένο" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Δοκιμή" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Εντολή: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Χαμηλή Χωρητικότητα" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Χαμηλή Χωρητικότητα" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Χαμηλή Χωρητικότητα" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Χαμηλή Χωρητικότητα" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Χαμηλή Χωρητικότητα" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Χαμηλή Χωρητικότητα" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Καμία Περιγραφή" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "επιλογές ypbind" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Επιλεγμένο" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Σύστημα αρχείων" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Οθόνη επαφής" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows free (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Προσθήκη επαφής" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Προσθήκη επαφής" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Καμία Καταγραφή" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Καμία Καταγραφή" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Περιλαμβάνει" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "Μετακίνηση &Κάτω" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Μετακίνηση &Κάτω" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Μετακίνηση &Κάτω" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Χαμηλή Χωρητικότητα" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +# screen title for uml disks +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Εικονική Συσκευή" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Ο ανασχηματισμός απέτυχε." + +# screen title for uml disks +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Εικονική Συσκευή" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Ο ανασχηματισμός απέτυχε." + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "επιλογές ypbind" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Ομάδα εργασίας" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Ο ανασχηματισμός απέτυχε." + +# screen title for uml disks +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Εικονική Συσκευή" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Ο ανασχηματισμός απέτυχε." + +# screen title for uml disks +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Εικονική Συσκευή" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Επιφάνεια Εργασίας" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Απομακρυσμένο Υποδίκτυο" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Στα δεξιά" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Απομακρυσμένο Υποδίκτυο" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Στα δεξιά" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +# screen title for uml disks +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Αρχικός δίσκος RAM" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Ο ανασχηματισμός απέτυχε." + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Ο ανασχηματισμός απέτυχε." + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Πραγματικού Χρόνου" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Δείκτης στο %1" + +# label for testpage, %1 will be text specified by use as +# description of the printer +# TRANSLATORS: keep this short! Only translations in languages +# with encodings ISO-8859-[1|2|15] will be used. +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Πε&ριγραφή εκτυπωτή" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Απομακρυσμένο Υποδίκτυο" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Στα δεξιά" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Στα δεξιά" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Απομακρυσμένο Υποδίκτυο" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Στα δεξιά" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Απομακρυσμένο Υποδίκτυο" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Απομακρυσμένο Υποδίκτυο" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Στα δεξιά" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Περιστροφή οθόνης" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Μετακίνηση &Κάτω" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3Δ Επιτάχυνση:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Δοκιμή" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Δοκιμή" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Εκκίνηση Ανίχνευσης" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Φόντο" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +# screen title for uml disks +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Αρχικός δίσκος RAM" + +# screen title for uml disks +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "Αρχικός δίσκος RAM" + +# screen title for uml disks +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "Αρχικός δίσκος RAM" + +# screen title for uml disks +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Αρχικός δίσκος RAM" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Αποθήκευση" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "Τοπική ώρα" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "Τοπική ώρα" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Ισπανία" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Κατάλογος\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Hittite" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Εφαρμογές Γραφείου" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Οθόνη" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Σφάλμα κατά την λεκτική ανάλυση της γραμμής εντολών." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Σειρά Εφαρμογής" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "AutoYast" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Γέφυρα" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Κατά την Εκκίνηση" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Εικονίδια" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Διάρκεια" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Γίνεται εκκίνηση του δαίμονα." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Τοπική ώρα" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "Τοπική ώρα" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Σύνδεση" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "&Προσθήκη Δεσμού" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Προσθήκη επαφής" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Καθυστέρηση" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Δράση" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Ανάλυση" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Μέγιστο Μέγεθος Αλληλογραφίας" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Μέγιστο Μέγεθος Αλληλογραφίας" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Μετακίνηση &Κάτω" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Οδηγός" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Σμίκρυνση των Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Δράση" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Βηματισμός" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Βηματισμός" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Διαγραφή των Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +# translators: frame title for method of incoming request resolution +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Επίλυση Διακομιστή" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Φίλτρο: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Επιφάνεια Εργασίας" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Σύνδεση" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Αποσύνδεση" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Επιλεγμένο" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Δοκιμή" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Αποσύνδεση" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Εργαλεία" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Μενού" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Δισκέτα βοηθητικών εργαλείων..." + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "&Τονική Κλήση" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Κανονικό" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Διαχειριστές Παραθύρων" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Μενού" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Εργαλεία" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Δράση" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Οθόνη επαφής" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Άγνωστο" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Φίλτρο: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Ρωσικά" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Διάρκεια" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "Καμία Καταγραφή" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Χαμηλή Χωρητικότητα" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Γίνεται εκκίνηση του δαίμονα." + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Επιτάχυνση 3Δ: " + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Επιτάχυνση 3Δ: " + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Δοκιμή" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Ρωσική Ομοσπονδία" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Ρωσικά" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Σμίκρυνση των Windows" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Σμίκρυνση των Windows" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Μέγιστο Μέγεθος Αλληλογραφίας" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Επιφάνεια Εργασίας" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Occitan (post 1500)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Γίνεται εκκίνηση του δαίμονα." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Γίνεται εκκίνηση του δαίμονα." + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Χρώματα" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Επιτάχυνση 3Δ: " + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Δοκιμή" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Τοπική ώρα" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Τοπική ώρα" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Διαγραφή των Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Δράση" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Βηματισμός" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Ορι&σμός Φίλτρου" + +# translators: frame title for method of incoming request resolution +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Επίλυση Διακομιστή" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows free (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows free (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Επιλεγμένο" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Δοκιμή" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Αποσύνδεση" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Περιστροφή οθόνης" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Περιστροφή οθόνης" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Γίνεται εκκίνηση του δαίμονα." + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Περιστροφή οθόνης" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Περιστροφή οθόνης" + +#~ msgid "None" +#~ msgstr "Κανένα" + +#~ msgid "Big" +#~ msgstr "Μεγάλο" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Εντολή: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Εντολή: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Τύπος Παροχέα" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Cornish" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Εμφάνιση α&λλαγών" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Δισκέτα" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Γίνεται εκκίνηση του δαίμονα." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Τερματικά" diff --git a/po/en_GB.gmo b/po/en_GB.gmo new file mode 100644 index 0000000000000000000000000000000000000000..889257fcdcf1f788c3b6f4ed61d224065225ac86 GIT binary patch literal 416 zcmYL^T}#6-6owVO>ZR9S9Kj1k&rIsaYWBf!ZZL6d%qn;p+q16PCM8M5{Sg12zs1yn zd*R_E=&~xnB^PGE{M4qKTy!Ewl{xdiFof3zW6ko{LTq^;u@+pRs zK}n@H>%nQTph_EuQ=8=}-qo4KSPKZ|vlxelr1MR9FC7U88EYfEM$Um>3Kk-}V$6%U zpwGOyeCu)aDsKb75n=m``Oe@`T8FWb$`;aTBj7=nWMP&Sw1%#3%D~o^T8VDeAARqu ztd<#JOtKU(QdyDP6?AhRsg0OYKbTIYqwU{#iv>fi94Y_Qy7DtS`f?XlA#>G%WF?Iy z*L#k~7;U{~q$L>~sYIu_$^=CCmb+kH)J7IK)~2)qRQ0#Dy|4qDWlzCT4|pfo`31p$ Bb!q?r literal 0 HcmV?d00001 diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..2bdbd95 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,2897 @@ +# English message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2002 SuSE Linux AG. +# Copyright (C) 2000, 2001 SuSE GmbH. +# James Ogley , 2000, 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-07-17 16:27+0200\n" +"Last-Translator: James Ogley \n" +"Language-Team: English \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Desktop" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Window Manager" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Suspend" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&Delete Windows completely" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&Delete Windows completely" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Colours" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Active Profile" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Hittite" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Delete Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Delete Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "&Set Filter" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Duration" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Duration" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Suspend" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Delete Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Duration" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Delete Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Delete Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Delete Windows" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Russian Federation" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Russian" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Russian Federation" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Russian" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mi'kmaq" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows free (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Hittite" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Active Profile" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "File system" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "AutoYast" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Delete Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&Delete Windows completely" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Default Section" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Default domain" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Select for Update" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Starting daemon." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Virtual Device" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Logging" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "List only detected printers" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Lower Sorbian" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Shrink Windows" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Shrink Windows" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Shrink Windows" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Desktop" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Desktop" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Occitan (post 1500)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Delete Windows" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Delay" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "&Radio Clock" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Resize failed." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Refresh" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "&Tone Dialling" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Command '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Command '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Command '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Command '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Command: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Error parsing command line." + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "&Show Boot Menu" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "&Show Boot Menu" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Show All Partitions" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Error parsing command line." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "&Set Filter" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "&Set Filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Virtual Device" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Window Manager" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D Acceleration:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "Advanced Options" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Colours" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Desktop" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D Acceleration:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Suspend" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Test" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "&Previous" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Failed files" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Mi'kmaq" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "New Size" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Delete Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "&Previous" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "local time" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Disk Image" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Suspend" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Test" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Command: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Delete Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Low Capacity" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Low Capacity" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Low Capacity" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Shrink Windows" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Low Capacity" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Low Capacity" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Low Capacity" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Shrink Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "No Description" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind options" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Suspend" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "File system" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Delete Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Shrink Windows" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows free (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Do not log any" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Do not log any" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Shrink Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Shrink Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Shrink Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Shrink Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Contains" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "Move &Down" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Move &Down" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Move &Down" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Low Capacity" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Starting daemon." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Shrink Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Starting daemon." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Virtual Device" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Delete Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Resize failed." + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Virtual Device" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Resize failed." + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind options" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Workgroup" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Resize failed." + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Virtual Device" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Resize failed." + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Virtual Device" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Desktop" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Delete Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "&Delete Windows" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Remote Subnet" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Remote Subnet" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "&Delete Windows" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Delete Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Remote Subnet" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Remote Subnet" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Starting daemon." + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "&Delete Windows" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Initial RAM Disk" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Resize failed." + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Resize failed." + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Real Time" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Pointer to %1" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Printer &Description" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Remote Subnet" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Move &Down" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Starting daemon." + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D Acceleration:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Test" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Test" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Start Detection" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Background" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Initial RAM Disk" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "Initial RAM Disk" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "Initial RAM Disk" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Initial RAM Disk" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Scanner" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Delete Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "local time" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "local time" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Delete Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Delete Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Spain" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Hittite" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Error parsing command line." + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Error parsing command line." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Application Order" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "AutoYast" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Bridge" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "During Boot" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Icons" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Shrink Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Delete Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Duration" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Delete Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Starting daemon." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Shrink Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "local time" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "local time" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Delete Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Log Out" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Delay" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Delete Windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Action" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Delete Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Resolution" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Delete Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Maximum Mail Size" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Maximum Mail Size" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Move &Down" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Shrink Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Action" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Skipping %1" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Skipping %1" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Delete Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Server Resolution" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filter: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Desktop" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Log Out" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Log Out" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Suspend" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Test" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Log Out" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "&Tone Dialling" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Window Manager" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Action" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +#, fuzzy +msgid "Unknown" +msgstr "unknown" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filter: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Russian" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Duration" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "Do not log any" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Low Capacity" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Starting daemon." + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D Acceleration: " + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D Acceleration: " + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Test" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Russian Federation" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Russian" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Shrink Windows" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Shrink Windows" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Maximum Mail Size" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Desktop" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Occitan (post 1500)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Starting daemon." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Starting daemon." + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Colours" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D Acceleration: " + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Test" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "local time" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "local time" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Delete Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Action" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Skipping %1" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "&Set Filter" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Server Resolution" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows free (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows free (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Suspend" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Test" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Log Out" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Starting daemon." + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Command: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Command: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Provider Type" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Cornish" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Show c&hanges" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Floppy disk" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Starting daemon." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminals" diff --git a/po/en_US.gmo b/po/en_US.gmo new file mode 100644 index 0000000000000000000000000000000000000000..3bc50980a81483b1dd52f31d44599101b0f001b9 GIT binary patch literal 411 zcmZ9H%}N6?5P&Os+M{O=5j-e5HK~=ZsVj@Mg@VOWSHWZKPPdWWWJ$7OAH>)5S)5g{ z;J`-`=9`~jcVmr9!\n" +"Language-Team: English \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Previous" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Previous" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +msgid "Blur Saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Previous" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +msgid "Blur saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Previous" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Previous" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Previous" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Terse output" + +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +#, fuzzy +msgid "Detect Outputs" +msgstr "Terse output" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Previous" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "Invalid relation" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "Invalid relation" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "Previous" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Previous" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Previous" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Previous" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Previous" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Previous" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Previous" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Previous" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Previous" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Previous" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Previous" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Previous" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "Previous" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Previous" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Previous" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Previous" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Previous" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Previous" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Previous" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Previous" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Previous" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Previous" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Terse output" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Previous" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Previous" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Previous" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Previous" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Invalid relation" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Registration key" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Registration key" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Previous" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Previous" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Previous" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +msgid "Initiate rectangle screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Recurse into the directory" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +msgid "Auto Rotate" +msgstr "" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Previous" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Previous" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Previous" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Previous" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "Previous" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Previous" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "Previous" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Previous" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Previous" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Previous" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "No confirmation" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Previous" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Previous" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Previous" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Previous" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Previous" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Previous" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Previous" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Registration key" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "Catalog" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "No confirmation" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +#, fuzzy +msgid "Unknown" +msgstr "unknown" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Previous" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Invalid relation" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Registration key" diff --git a/po/es.gmo b/po/es.gmo new file mode 100644 index 0000000000000000000000000000000000000000..58d1b84b50fd3a2a2a0deb1dc5d2fce911981293 GIT binary patch literal 31766 zcmcJX37lM2nYXV(Si-)9eYwaEY3S}GodpE4Cy>*zR&=qQeYelvc9I^xE-42+`R^FQakw{CS;I_VJV$Kko> z+_T+t-t(UKES(=7z5m++ey@365S#*M9~uM)KR*aoouJSlsDwdqHQWlWSHmOWt&snMyZIkg3BCyR{-;p&`VBk{ zKL4B`m)3O^T~3wxmQe<@V{Tj2Tdm2f${4=#aELZ$B^(Sh(%sC2tO_*vuEjgP^F*ZQRAnK&loSiz`wr<9zwh^ zNYdaNa5{Vn9tHQiFbMd>U-)}U&3o8A`;L-3a@KE?DJPiI6s{MZtRsU%n zUY?GJ`mWjVBzQTz3|G0EA!RN5JFYNf1#Cx}eJ01l5kW!z1AP&HpJV`Tq`7J3R%} z{I4xRyD0agCHq0;}I z@#9eOzXT75k3p651eAO{WBvo@`0qUtN}ju++GW0Rsqt#4`o6^cLs0SSP~Z15sPB4% z`QHiE&-X%&qyMz1L8bp1 zJO=&%@=3vya5+4OPLjNr;8pN_P~ZIU$0*lG^83sPfN*>gP@v!i`YvKVt9S z0u}#VQ1$zu@zYTGeif=-k3hBePb~atcs%}T3=)-dDm(#R09CKWQ1Ms8Q{naIf4TYJ zZ2q0*{~S~~KY)^xUz-1r1>S!O)cg77zta4J=HG7qx0(OF<{vZvx6S{g`JYc`D!ht^S{dcx10a-=KrSo zgBSYvM?ux=3iDrW{#Tj*cJqJU{NFUcl&8u&3QBITF!n;p*#J~O-w5?Rw?N6uT~Pgg zuf6|-@ke+iU)uZ3#Y4N!V4GXEQ(>h)HreEt?n zuI`8Wj(>*7!N=g~@HbHHbIcW`E7v8FAp`Yt5D&i@MQP~<9nd;|2$NA z--R0AKZ7U1|Awc)!d%|af2aB12TvvZ0So`Gh5s0?Ap9v9 z!i9@{dHqoRwFRpEx52aEZSV!~qwrYx2-J5!0WXBpm-u<12dZ6ffa>QPq1y8eQ1y5x zR69Qa)jkhHr{|#B<4NPwkf9$uZ>evWOQ7;w1Ql-$)c0Zc2r z`*aK7{`i+cm2(w55MBe-zc)a&cL7SS>QHj>YN&Gm8ZLPr;}S;re?h19!?i0tKLQm# z<4VsF>GXB{Zt@7bxQ1v={weQz%sQNF5s?SDy*EP1Zv~zUUj;RO?uCcLG4p>5sy}`KmGAy*(Y^2-sD9rB4}iBrm2;=P-w6-I z|3j$$`7uNV1y4ccKX;v%hh?xE|Ml=C@GZt)!)f@}T)m2I=D9fb0DFcN0|m-v=**PeHZUSugVC z&Vnc4Ukzu#0jTf35vrYUg{tpgLCNWTa5?-J$Pf#Tp;94yDU{xLC7cQGg5B_|un3=l zC&A4Kqsn_7lpNj-L--y@7X)8|N5fNI>igwlsPeCeDt{|f``-aih3|x?zz5)L_z3KQ zhg|R1p^KpU?{!e^^?u_6P;&BRD82q9oCS})fjJbefEU46z=d!pl%Dt%R6qX_s$KVs zd_L>peEc^;mGcQGIrt(}{hoko_k&PgC&J^Q+PMqr`xe17U>`gkZi8yCzl4(W`=R9G zF{pN%mhZ zhX0*V_5D7a2A_ti&!3^nn=!y%3%m$!fiHuo_TVRQGn_T(^}*dx<$MsTojwOOe!dCS zACJQ>_*?h_c+QY-=ao?XR)tFcW+-`kw}pQes$Cy7|Bs>Cf4_nskEg*9|179}=!5#6 zL3kj%8LB?FL6@)jKWqMn&HqdD>!VbU)1c~gvH4e-|0U+%Vg6gpf3Nu;F#jXw|B3nc zr}32E45<9O&A-_EH<*7bl-%A1rEl(q`mWDFrF$55!2dA+5e$0yL#X#_%zr(Up1u{% zgm;<$tLFc{`41fS?~jLyzr_4~=D*4Ox10a7=6}fie=z?cC7*sCRCz0)>eGN~|C^z{ z=T7tQgoon)ocX^7^_@S2lA9-u)5<>lMB_~3<;L~K*tp$zi}7xF2>IO)B@ds0hr=&H z$^W;Z$~&gw!_S4PcMm)tE{7r93Z*aJ0?&aTff^^@gOayjLCM$QTRmq&y}uGV{Qy;d z4IU3)1{c6P;MwpYDEas;lzbmm_3>vyy`K%wgV({M;A^1t!rS0Q@B>io`zTa>ehrU= zN7VfM8A9d187kfD;lc23e=$fYTekowvaK@xKi!-aFvA@B?rz{5G5e58dX&7r~41Z-$q{ zcfc3I?_2l@BmR3=K=oG)75`08?e%G>arOi}6HeRizx#YR9slJ}{c|N$JG~C7UT=ny zr+eVBa3@s1e*w;d{|>w1v7>%Hwj3UW|Fux{xD}oNKL#a-Ux#Y<$6yG50X2RO-{IT! z5~y-}q53t3YM0l-dGG^Ja`8A^01tneuh&X=JpPx$Bj7f861*8o4(~DE2bKT*Q2jdw zd*H)R^*iuJ)M+){P-9QOex5%9*TGM_5dYoh;m`g)i|7B~wh?|U?o~Wbhj+tvzuPTvC2`ar z`n`l_{l4H4{9ofmgb(sO8=eKvfKS1H#p!(IAe`p3@js?2Hy0nl`|t3)3_cH+{4U{H zYp&$?7!Uu2qsg62cfd|u7fv!I`8p1#aiBh$i_`CM+{NVcI`}Ev+Dx7cdHxr|{)Ag> z;izo)n{WPy@Ktf2@WH{aMBcps_e~4?zA?c7@1DeS8}9eG>+t_u@)EuVw;ER@d>Gfy z^Aor}o=0%{{Q~!1oW@0!unVDnAM$YazS9Z#ckq4;{x$A}mVT+lyB@w7hl+AzX_3AE z9{xEzUkd*c_hZ~Vd-o!qe}>zR{~Fv&c)kJmN_+o4p6|n*g8K}P;Sd~Y?|O}0@KL=p z|9YM`;?Bo^0qz|<>-Rz2yKowR`kjIM7;cq3_PgBjI14T$><74=xaZ@h;SRuQ+)9@m zjFXN!1gA0kS2+DTNIT2&xfg#0_cyrXamnvD$%FB5DE)vscE1aZSCh{G&#Npy1-}9J z9^43SK5iQC_Othw!ovvLiqr4axb3*rgddDMkLS%6w+8FDM+iIJ!am3I&A6rbFSIb} z)gR*i9rsh*w{Snl{SxpiFWF*MVEzigQTb@_qF2j8h_ZFOfJ8;MF{%l;sg*5;7 z3Lcl3x50bq_v_66Nx00Ozhun8J{&6B{Wg;3pLn_q{=~wBvvKFj5uU>(zu(!zIfUI| z&;Jeo-kw*$t8qQNKMeOup7ZwZRrqJ~{CDPm6I^c3|7pC^m|$)4058G46ZdlRS)2(! zjpuH{^eY%+p8p?if%*0B%eV({H{ot1{7kq4F2~)<^QrLFxOF_wh5G$3?kJv*#g%zJ z4jzwtEzc*ylW;S5)-UF{jMMM+xGQiU#p!n@;TOS+ao6B(!2b<+74EILS6Dh8gFoQj zje7?7b=;qEpU3?X7vjE+)9-I_U%?$n+Ckil709oME4U}-GWc@b7TzC@)9=F`!Pnpd z+zEsq11t9ayF6cuI~jk;!u|*U+i^$XeuR4(_kP?K+)UgC;=KrW2<{5piG;lvUWr?S zOMY8BZ7Xky^E1PdLa`WD8ztVw zVQnbJmn#nsN2PpN$j7C6VW1G_!~W4Ev}@nz*tzes-1oKY-shE^wa;^$z0Y%;v(Izv z+2=XV-RC*Z+vhpX4;JQfaWSq&^+LIXr(W0=hwF-s!9uAPEX?P_Vxbhfhf29ns_Us1 zjzsmi8pZ*X+C;JM1E4D)eqOTAnPBXTOcEVf0ZT&zf?czZpp6&bz3!eX&J z66UMXh(>>TARK5Ei?v)eMgtI(FORrvOXYglABWXAU#Lt%f2AD{(bPoigvsl_*!JkG6kVi|P&E4lVCXg<(E7?A>VwrNUyx9=%||JxmdS8`nXKHrl+X>C zuxp&RbDV$N`|j4)vs%5gTfK8yy*;hoxvk!Lt={>qUK)}S7H^Mp4UI2Gjh}1XWX$w? zy-m7ZVL=`1Cg;7(q4U{i@$75S{j4i7>sjY8`&s8O=UL~_^Q?22`>b=A_pEc6-$Qrj~fu+g!3ZnjUX zfZ9;GQAC-?;f^xeocW3tEHDe!+_c!zh-&Y0ZcDI)DxriTjDYYO^!Pw6uD1kU+b%F| zmrQD@dL}7lNM@zgaj6k3%@4-mvSOhUE-5X^_*OG>WxVTT>@aIDEk&BNo$Z6k(_;7p z%c4AXK_!m!{?QvmA&sA%*Ig_+z;_PDla@KyEfv(QRx<<2#kGtXJ}yF|pcuk*1u`#C8|yoWU~LCpkM~sWV1{WzORpD@?->!4@-j zS(y;)I6bNbF~lmtvTDH@SHZH>9?d+48w<5YRP-iXGluWM_MN{xF3Glz!{I_jwyN*_ zO1V~Z#-Qw%Axu_!bSpW_G&SWCEN5bt!9uH4su*}>j45wCFRvEz;rh5%E;gLez5*Kw z^AwTpi)vf?qiQNF?hTetDtk`eToc&{4P2B&G-YoisddZ7i3PS&>D1H8!BV*zhbtITwQ!Tfe|5CIFig~ZVDD;p zC>rHAtW|{S8PzHh!y%W-RmJ24wK?2OFEtkqpi^qWO7~2I$ux|xJy~!xC^)ea%@_<; zs+_EnO#`fiM47BC73u|Py5zxHHgwuzeBe4vV^l`_;BXmT&9W!$n@OUX_%3G>s!W!h zkB50&LS}jvx?b+GXD@$}(J-jxgS!=GjlCdmnP?;7FE??byP{TpB{Z)%@9BMCitz$WN;?Qn!~&}O3s$p^4y42u+}YRU$rjn(iAPh z;ZUkPc9}Gk$R(L;@?KqF@hweZnmzR=HBa8R6xB?IMnUDIsp^T^PeSZnV>om=)+sah zju3rlyuIaxGywfBT*f=1v~3@<20#-&s7i6_GFl=aDfmI062 z{uzoH5$Iw~Z}h>sq6W_7%^I6NuGDwoRF^OO5qT_a@spymJOaQWx*DCR(q(IGg0`*%`;Hu#AIj zzO?b}O62gW2i~il(qML!4d0-nI;??6xU7rHlz?S*P(+@o9!kF^5z_ z(j2;{mcxV$rkFkzx}*ZLrdEC`hDrL_Q%j!;W|Dr+)Y7M-nxyZUTKZIYlk{_^mOd5d zB>lXprB4MsNk4y&(z#D7s|F#pCd3L8FIVM96 zFUGGUd^B&U`sdV2^KF8LN|e+8*wxu6LrSe#k?`j3oF`4~wmQ}V!VI73@vmHW2f*l_ME4-WFY$#r37S8NyIVarl{ zSCKY0SIwP+4Xzdm^Epbv_e&eXi~bK?SerPq)k1# zwx$6WxkGq2;4EV=$6>lHl?Jo+O>!71;A!Ss=0sTU%Efx267(h8R;>dnUAQ)Ni`Iq= z#YEQx8%hIgA{+c}(1y~M5+@FXCGDClB{Cr`twz-3nnRe`TK1Ar3pViax@4h7C~Do} zWzjb1C8bIAX-`G2`JpQzF1j7Pk#c`OTL;!oez!W@N5w#zi&Rj`1F}4ktE#p&x8Q%B{t9k6<_{zpgP5nB3d>8QqzLxT(P2+IgAlYzuNn zCSGG$2>L4Lw~lqb7rEoRT9TV@C25P+sdAH=B(0ts+}2$hxYo^H<2F?mx%!s$CCl3^ z@H$Sp0{t)9z44xvB~P|a{DarBE@EorIG+lwu!+*LbZ~E29B{%ItgDuFI@7T--$C!x zXq5#_TEmsXj_K=To%wXEt_>FQ9g7-+wT`~>f^hn}wS66n+3(gKO2-oVYeCrE**UkP zb52KBSJ*XcL1%YI=j_f-B6h6jph0;yZQ$Z?7FCPI)}P-ChCs9 z(Fz}--TjN{_d@BCFgFxc5xN&{=v&q?uNlvciMZOaw3I9B6m3B`ufI^A>+l8?Rgi z8vCf4nyhlncO1bmw-iH8Rf>fj$}o&+>jrcG*gYY`h;N~Pbb@P_B-l)M7ZG#VHP}z- z`LDa%@!Xc+u9G~sMLhRk;V!*ArynuvIqz$CHRn0~26x-%IW56mAbL(qaCefP(-Pb@ zr{}Z;-Ia7#C7s@oU{#84&MC9+sco4uSMbK}XEjj`i(@-Es!6>S?kAR0U#xqRWzsap z?%{lcC+7AVCsG`|5}HE+Yd0VDqaz~pY=N{~qudb@vxxOu7;I?8B9nk6g4@!Lf_1V} z>y&M3jO&Jt%^U`ABW6@m&YD>`tR)9D8FjBmx{rdIGt0vjTv9xLu~JnSXmEb5ha@d~ z;O5;o==^IQ2c0bm8u3z8tcx_5u31u;y;{m)hiQK; ztcG1TMC>YKMb(^sr=Q!!aF=5Iw2?`un$UsP6G#L88mIYu)~*xqsa(sWU{#!(C8flaQFinca<_Y-lHp*LQwF}q&Vs0MJG5P3 zXWP)Wal6|^oz*UIcDuki?E-t+1~(f+J9DpdYbynNom*S++3Vce%H3Y))>dHmI=8lxzSp_69U^<3 z8)J)`53EGE+v=aB3f;}t*lB$3?i9nZdsyd5&!D6Gqs?X0a#CGx@?2ZvdP*#9KTwup zO8j2IYiUC!7#&fOg0vz^Y=?tMFQd0$n=rORl`Pru^kEl~Zc~w-O&_;3OX4My z{CU)4n1x;~9^|TTncJ~M#(Ws$tk+K##m2S*Ggs3FTZ{psdSuKpe@m9u^7DOiPnLj5 zC-=pTh?}>{D_#{T|`T|Y!|N) zje`5gW(jQUj6LXU5fAEWZNN2LC1(cEc7`p;`?;|lbG3%Bwr|#9PshFi+a+8P^=n^? z@AbkVtJ-XBbuGq`PtU$rv7EzB%c}~s4MujHW1y+QgQea~pZJDx#~&9>FfX}})*LaI zrjdpk5v%1vZF_HvIDWupZyL4{hJ1-$fjQBPDsnxeVlAT%=T z6XT4FK3o>|!s+@n!y)vk4V< z!<`9jUVV9@owDmh!jZRP0W}l1$XhdXonLe`19afx)#JMHE4E~n!#~NnY+}Qw|wYYx}uFO)<>1P!<(#6_gJ) zVu`bkaQ1s<&C2Re$1vq8OD}CY`<0a!AqGLdI<_;%A~9IY|23Ku!4Jz?>E^wjW)q)U zkcb%E>P;ipxtOPgMrKToCd(d8co{A3^KXr-8O^VbS)s8?L*FuSx%JVw65XV!_oy3Z z-LmQKh9Qe5w@RaKnZo*_;b`oBX2Y}NzSRp1ldg=*1V zOtiU>h{;&9SbqJ>UWqbEY>6|1H4fbMZhUPTZ?|dMwjHS|YhWO4cvM zv8%DXBtB6h@46B`8tOv033@)}3btl+{@j-D_v(Oc6fCG@D?{qu8QW=gUNO5NC_}_; z6k3lvi=bIB=LlHy{vZMkp!?w}LL;yJ_R^v#v%}}CeJYa~LuUDEEuar8%V-Q%xcwe| zQFE|`b&Lm@V+);4k{C|oyqU2Tto8?EY6WK}Wdf|9CWd5mp8xV@CYFYw>#uybzR%Xw zc9fE&6JPDJlr~Yv6({R7xgVbSGJn)dK>B4CGBL-@6ff1Bqzv2~pA8Aqa?r5JoG{Ez zQ2`}NUuEaN$zQu(8M{yIhRy6IYqY}n1%~c3pklmDoqmVg-fM~hBP-odZf-O4O>PT0 z6SAiD>bf6CYsMaAkJ8n?Ip5W^f?`3bT8^95ddEImboju-|H~lP%38wPr3Yn4Mf zN9ex1mQsF&M1$M9X?0nK4MShsy6J|zU-ip;xCfKQn}}N5BpcH$nkijUAd-8XS(-^Q zGU-WIrOo;(<|qAa8l9WA<+CWu@@U$u`!KKFR@+G)hfUQ%hN9LHen4jIXQ_5K^ooAp zVqwwE*V*lTcHtRkO)aJuX!eyyobj>eOcuLmeC(ddV$U5Pd+ubh=Z%j&Z?f3) z$H$)ECbmS@X@=%(YRTNPsjVbt1x>@QMS!va7`Dkq4mu#wklsG^0-uTPsr zCZ0Ey#9pkMiRbS=adv0Yq+8poi4GmNm8Q!8<&2Gu#&;pMh2}j=?bcRvb3F}VE#|Hj zbOjTGI@^S`iPt?b+N_B|vnK}4nHbbFF=+0@pm`I6l0P=^CZ4yj`PVA!=*Bi_yw}a} z1?FZ<2TVn`C7{J0+C^JhjQw3KU|TlFQ9&5-ei=ifn>Q)YdW%2Fo_N$v>|9jQKdq(t zIWgn;>w^}vaDpW_K7tj|G{4-RFEowQjKS`7W@4(cv#8r2$%%@cbYw%FiP*aJ&t`jO z`;C8wgqqV(&0~`6+i|BOYxUO-cBIfuvwq@PNS{{R?BFDJq+ed>-fpf?aZ9zPT|99) zr%p(Z(Nw?WE(}K~!D`!il<}t3Na*chH*IK5>i$qAjg|CXx?I(QCX>bZiY@k6bkfsB z{#@Q4ytUkqNG-SI-UsD!KgD%U+lcNDD%^d{BF){IMW0@`btS_{W8Y=y zrb<8EjTh*^N4K4>f;(qodFJxqU*B+3rrZVfhSOZ5}VJu?pmawYTyguZ1EE2ty z{u32kMsb_8$y{4ab85D_?WCyHm+GG;qLKJ)R*Fd!3ub}WRDBFZyUgX<6?sWd4I~Xn zygN;!ll9CRqjtyXd|mnurz(;b}DHH`XaHsDJB!OMTs=m zim4*W1oi6Q|0tJScN47RpVk%qVy{NrGBVX8eQ0!d_RvPj=#w*tK<*#U@%t0DOFc29 zmTbba49*@8d%cOEv)-3H^1;bAzt@G@iBI-7{KB|Vt+5^L*ZkR9*g0KsY$vA}j9V6T z?!eiJrY`U$$8N#8g*6W8X-z7l79QJKZ*V7Uq4p4|gG9gPx5H9NZP~Zqvv?Es%l0sT z#38#^H)$&Mr)f_gFI)MHyqNtt@hkQ?{w}^|&(pX2s@$-J)r_va<|Qv1GT8#20trw4&6$~Ptn~9lwRW&CkM^VH<>DpkFzK_ zZsVUIsrvH+Qud}tQq4c48Mn94-04boML9i|1gBn|adRz|EiM1VnW=yWce-uk8y|KpL zh#iBdup}*idgE%0YT#ypx|B0Ob~nBDXz6P!IUMAlTHxw$xfc1q#?g-DxYJN=?b%VN zvfP&J^(NcGiNt2k5#3GL-iC^UN;Ba^fK1}4Wp3F~Kc&8|+K{ke)W zZ*?&=*DR!2{_d<(i@@wVw)a-jQa?;HCM}YEW^VcZoA#=W^Fa#kTi}q zFSd(4oglx(kH literal 0 HcmV?d00001 diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..3b99611 --- /dev/null +++ b/po/es.po @@ -0,0 +1,4014 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-21 11:51\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Escritorio" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Menú de ventanas" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Velocidad del pliegue" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Disminuye la opacidad de la ventana" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Maximiza la ventana activa horizontalmente" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Color del cubo" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Complementos activos" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "Limpiar" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Iniciar cambio de tamaño de ventanas" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Iniciar cambio de tamaño de ventanas" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:13 +#, fuzzy +msgid "Line width" +msgstr "Anchura de la ventana" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +#, fuzzy +msgid "Stroke width" +msgstr "Ancho de la vista de fuentes" + +#: ../metadata/annotate.xml.in.h:17 +#, fuzzy +msgid "Stroke width for annotations" +msgstr "Ancho de la vista de fuentes" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Escalar ventanas" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Escalar ventanas" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Filtro de textura" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Saturación" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Saturación" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Velocidad del pliegue" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Colocar ventanas" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Saturación" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Escalar ventanas" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Tipos de ventana que deben temblar al enfocarse" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Escalar ventanas" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Escalar ventanas" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Federación Rusa" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Ruso" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Federación Rusa" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Ruso" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Enfocar efecto" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Velocidad de desvanecimiento de ventana" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Tipos de ventana que deben desvanecerse" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Tipos de ventana que deben desvanecerse" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Salidas" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Selección inválida" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command10" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command1" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command10" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command11" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command2" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command3" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command4" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command5" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command6" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command7" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command8" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"Combinación de teclas que al utilizarse ejecutará el comando de shell " +"identificado por command9" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Complementos activos" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Permitir que al dibujar ventanas a pantalla completa no se redireccionen a " +"pixmaps de fuera de pantalla" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Timbre audible" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Pitido del sistema audible" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Elevación automática" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Retraso de elevación automática" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Detección automática de dispositivos de salida" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Detección automática de la frecuencia de actualización" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Clic para enfocar" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Al hacer clic en la ventana se mueve el foco de entrada a ella" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Cerrar ventana" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Cierra la ventana activa" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Línea de comandos 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Línea de comandos 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Línea de comandos 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Línea de comandos 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Línea de comandos 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Línea de comandos 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Línea de comandos 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Línea de comandos 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Línea de comandos 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Línea de comandos 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Línea de comandos 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Línea de comandos 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command10" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command1" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command10" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command11" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command2" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command3" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command4" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command5" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command6" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command7" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command8" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" +"Línea de comandos que se ejecutar en el shell cuando se invoque run_command9" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Disminuir opacidad" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Disminuye la opacidad de la ventana" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Icono por defecto" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Imagen del icono de ventana por defecto" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Detectar salidas" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Detectar frecuencia de actualización" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Enfocar ventanas de tipo" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Enfocar ventanas de tipo" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Ocultar ventanas omitidas de barra de tareas" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Ocultar todas las ventanas y enfocar el escritorio" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Oculta las ventanas que no se encuentran en la barra de tareas al entrar en " +"el modo de muestra de escritorio" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Tamaño horizontal virtual" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Ignorar sugerencias al maximizar" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Ignorar sugerencias de aumento de tamaño y aspecto cuando la ventana esté " +"maximizada" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Aumentar opacidad" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Aumenta la opacidad de la ventana" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Intervalo antes de elevar las ventanas seleccionadas" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Iluminación" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Lista de complementos activos actualmente" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Lista de cadenas que describen los dispositivos de salida" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Bajar ventana" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Colocar la ventana por debajo de otras" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Maximizar ventana" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Maximizar ventana horizontalmente" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Maximizar ventana verticalmente" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Maximiza la ventana activa" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Maximiza la ventana activa horizontalmente" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Maximiza la ventana activa verticalmente" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Minimizar ventana" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimiza la ventana activa" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Número de escritorios" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Número de escritorios virtuales" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"Sólo se llevan a cabo actualizaciones de la pantalla durante el período de " +"borrado vertical" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Paso de opacidad" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Paso de cambio de opacidad" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Espacio entre ventanas" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Ejecutar en terminal" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Abre el menú de la ventana" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Salidas" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Retraso de lluvia" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Alzar al hacer clic" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Elevar ventana" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Alza las ventanas seleccionadas tras el intervalo" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Elevar la ventana sobre las demás" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Alza las ventanas al hacer clic en ellas" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Frecuencia de actualización" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Ejecutar diálogo" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Ejecutar comando 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Ejecutar comando 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Ejecutar comando 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Ejecutar comando 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Ejecutar comando 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Ejecutar comando 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Ejecutar comando 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Ejecutar comando 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Ejecutar comando 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Ejecutar comando 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Ejecutar comando 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Ejecutar comando 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Multiplicador de tamaño de pantalla para el tamaño horizontal virtual" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Multiplicador de tamaño de pantalla para el tamaño vertical virtual" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Línea de comandos de captura de pantalla" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Mostrar menú principal" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Mostrar el cuadro de diálogo de ejecución de aplicación" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Muestra el menú principal" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Ralentizar animaciones" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Sincronizar con borrado vertical" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Capturar la pantalla" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Toma una captura de pantalla de una ventana" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Línea de comandos de captura de pantalla" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Filtro de textura" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "Filtro de texturas" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Velocidad con la que se redibuja la pantalla (veces por segundo)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Activar o desactivar ventana maximizada" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Activar o desactivar ventana maximizada horizontalmente" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Activar o desactivar ventana maximizada verticalmente" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Activar o desactivar ventana con sombra" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Activa o desactiva la ventana activa maximizada" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Activa o desactiva la ventana activa maximizada horizontalmente" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Activa o desactiva la ventana activa maximizada verticalmente" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Activa o desactiva la ventana activa con sombra" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Activa o desactiva el uso de animaciones lentas" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Desmaximizar ventana" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Desmaximiza la ventana activa" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Anular redirección de ventanas a pantalla completa" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Usa luz indirecta cuando se transforma la pantalla" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Tamaño vertical virtual" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Menú de ventanas" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Línea de comandos de captura de ventana" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Tipos de ventana que deben desvanecerse" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Aceleración" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Avanza a la siguiente diapositiva" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Cúpula animada" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Anima la cúpula cuando se gira el cubo" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "El color de los lados superior e inferior del cubo" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" +"Color utilizado para la parada de color inferior del degradado de vuelta " +"atrás de la cúpula" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" +"Color utilizado para la parada de color superior del degradado de vuelta " +"atrás de la cúpula" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Color del cubo" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Cubo de escritorio" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Aceleración del pliegue" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Velocidad del pliegue" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Paso del pliegue" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" +"Generar mipmap cuando sea posible para obtener una escala de mayor calidad" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Vuelve a la diapositiva anterior" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Archivos de imagen" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Imagen que se usará como textura de la cúpula" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Cubo interior" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Cubo interior" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Lista de archivos PNG y SVG que se deben procesar en la cara superior del " +"cubo" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Diapositiva siguiente" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Coloca las ventanas en un cubo" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Diapositiva anterior" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Procesar cúpula" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Escalar imagen" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Escala las imágenes para que cubran la cara superior del cubo" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Cúpula" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Color de fin del degradado de cúpula" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Color de inicio del degradado de cúpula" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Imagen de cúpula" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Velocidad" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "PAso" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Desplegar" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Despliega el cubo" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Comando" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Escalar ventanas" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Línea de comando del decorador que se ejecuta si no hay ningún decorador en " +"ejecución" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Desechar desplazamiento X de la sombra" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Desechar desplazamiento Y de la sombra" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Desechar radio de la sombra" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Desechar opacidad de la sombra" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Desechar radio de la sombra" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Solapar ventanas" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Desplazamiento X de la sombra" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Desplazamiento Y de la sombra" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Opacidad de la sombra" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Radio de la sombra" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Solapar ventanas" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Decoración de ventanas" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "La decoración de las ventanas" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Tipos de ventana que deben desvanecerse" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Tipos de ventana que deben desvanecerse" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Velocidad de desvanecimiento" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Efecto de desvanecimiento con pitido del sistema" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Las ventanas aparecen progresivamente cuando se asignan y se desvanecen " +"cuando se desasignan" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Escalar ventanas" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Desvanecer ventanas" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Timbre visual a pantalla completa" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" +"Efecto de desvanecimiento a pantalla completa con el pitido del sistema" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Timbre virtual" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Velocidad de desvanecimiento de ventana" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Tipos de ventana que deben desvanecerse" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Punto" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Añadir punto" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "No modificar" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "No modificar" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Minimizar efecto" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Minimizar ventana" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Velocidad al minimizar" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Paso al minimizar " + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Resistencia de sombra" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Resistencia al desvanecimiento" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Transforma las ventanas cuando se minimizan o desminimizan" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Tipos de ventana que deben transformarse al minimizarlas" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Limitar Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Limita la coordenada Y al área de trabajo" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Iniciar movimiento de ventana" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Mover ventana" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Mueve la ventana" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Opacidad" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Nivel de opacidad de las ventanas en movimiento" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" +"Separar y desmaximizar automáticamente ventanas maximizadas al arrastrar" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Separar ventanas maximizadas" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Empieza a mover la ventana" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Tamaño horizontal virtual" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Colocar ventanas" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Coloca las ventanas en sus lugares adecuados en la asignación" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Muestra ventanas minimizadas" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Tamaño horizontal virtual" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Muestra ventanas minimizadas" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Procedimientos alternativos para colocación de ventanas" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Tipos de ventana que deben desvanecerse" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Tipos de ventanas que se deben escalar en el modo de escala" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Soluciones alternativas" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Muestra ventanas minimizadas" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Tamaño horizontal virtual" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Muestra ventanas minimizadas" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Tamaño horizontal virtual" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Cubo de escritorio" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Coloca las ventanas en un cubo" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Av Pág" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Girar a la izquierda" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Girar a la derecha" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Re Pág" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Colocar ventanas" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Girar a la izquierda" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Girar a la derecha" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Girar a cara %d" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Re Pág" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Activa o desactiva el solapamiento de ventanas" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Activa o desactiva el solapamiento de ventanas" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Iniciar cambio de tamaño de ventanas" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Cambiar de tamaño la ventana" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Cambia de tamaño la ventana" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Empieza a cambiar el tamaño de la ventana" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "DnD de inversión de borde" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Mover inversión de borde" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Puntero de inversión de borde" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Tiempo de inversión" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Invertir a viewport izquierdo y mover puntero" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Se invierte al viewport siguiente al arrastrar un objeto al borde de la " +"pantalla" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Se invierte al viewport siguiente al arrastrar un puntero al borde de la " +"pantalla" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Se invierte al viewport siguiente al mover una ventana al borde de la " +"pantalla" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Invertir a viewport derecho y mover puntero" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Invertir eje Y para movimiento de puntero" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Invertir Y en puntero" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Sensibilidad del puntero" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Girar cubo" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Girar a inversión izquierda" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Girar a inversión derecha" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Girar a la izquierda" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Girar a la izquierda con ventana" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Girar a la derecha" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Girar a la derecha con ventana" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Girar a" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Girar hacia el 10" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Girar hacia el 10 con ventana" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Girar hacia el 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Girar hacia el 10 con ventana" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Girar hacia el 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Girar hacia el 11 con ventana" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Girar hacia el 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Girar hacia el 12 con ventana" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Girar hacia el 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Girar hacia el 2 con ventana" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Girar hacia el 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Girar hacia el 3 con ventana" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Girar hacia el 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Girar hacia el 4 con ventana" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Girar hacia el 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Girar hacia el 5 con ventana" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Girar hacia el 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Girar hacia el 6 con ventana" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Girar hacia el 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Girar hacia el 7 con ventana" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Girar hacia el 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Girar hacia el 8 con ventana" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Girar hacia el 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Girar hacia el 9 con ventana" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Girar cubo del escritorio" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Girar a la izquierda" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Gira a la izquierda y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Girar a la derecha" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Gira a la derecha y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Gira hacia el 10" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Gira hacia el 10 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Gira hacia el 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Gira hacia el 10 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Gira hacia el 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Gira hacia el 11 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Gira hacia el 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Gira hacia el 12 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Gira hacia el 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Gira hacia el 2 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Gira hacia el 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Gira hacia el 3 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Gira hacia el 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Gira hacia el 4 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Gira hacia el 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Gira hacia el 5 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Gira hacia el 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Gira hacia el 6 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Gira hacia el 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Gira hacia el 7 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Gira hacia el 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Gira hacia el 8 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Gira hacia el 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Gira hacia el 9 y arrastra la ventana activa" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Girar a viewport" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Girar ventana" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Girar con ventana" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Aceleración de giro" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Velocidad de giro" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Paso de giro" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Sensibilidad de movimiento del puntero" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Solapa el giro del cubo hacia la cara superior" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Solapar hacia la cara superior" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Iniciar giro" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Tiempo límite antes de invertir viewport" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Porcentaje de opacidad" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Oscurecer fondo" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Oscurece el fondo al escalar las ventanas" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Tiempo de desplazamiento" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Iniciar selector de ventanas" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Iniciar selector de ventanas para todas las ventanas" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Iniciar selector de ventanas para un grupo de ventanas" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Iniciar selector de ventanas para las ventanas de la salida actual" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Diseñar y empezar a transformar todas las ventanas" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Diseñar y empezar a transformar un grupo de ventanas" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Disponer e iniciar transformación de ventanas" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Diseñar y empezar a transformar las ventanas de la salida actual" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Superponer icono" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Superponer un icono sobre las ventanas cuando se escalen" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Escalar" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Escalar ventanas" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Velocidad de escala" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Paso de escala" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Escalar ventanas" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Espacio entre ventanas" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Espaciado" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Tiempo en milisegundos para finalizar el modo de escala al desplazar el " +"cursor sobre una ventana" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Tipos de ventanas que se deben escalar en el modo de escala" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Inicia el applet automáticamente al entrar" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "Carpeta" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Capturar la pantalla" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Iniciar una aplicación" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Pantalla" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Línea de comandos de captura de pantalla" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Porcentaje de brillo" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Porcentaje de saturación" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Conmutador de aplicaciones" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Elevación automática" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Brillo" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Traer a primer plano" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Arrastra la ventana seleccionada al primer plano" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"Distancia de alejamiento al reducir mientras se intercambian las ventanas" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Icono" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimizada" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Ventana siguiente" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" +"Mostrar el conmutador si no está visible y seleccionar la ventana siguiente" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Mostrar el conmutador si no está visible y seleccionar la siguiente ventana " +"del conjunto total de ventanas" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" +"Mostrar el conmutador si no está visible y seleccionar la ventana anterior" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Mostrar el conmutador si no está visible y seleccionar la ventana anterior " +"del conjunto total de ventanas" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Ventana anterior" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Saturación" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Seleccionar la siguiente ventana" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Seleccionar la ventana anterior" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Muestra el icono junto a la miniatura" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Muestra ventanas minimizadas" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Velocidad de conmutador" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Paso de conmutador" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Escalar ventanas" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Tipos de ventanas que deben mostrarse en el conmutador" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Ampliar/reducir" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Añadir línea" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Añadir punto" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Añadir efecto acuático a distintas acciones de escritorio" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Retraso (en milisegundos) entre gotas de lluvia" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Habilitar efectos acuáticos del puntero" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Línea" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Escala de desplazamiento" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Punto" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Retraso de lluvia" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Ola en el título" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Activa o desactiva la lluvia" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Activa o desactiva el efecto de lluvia" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Alternar limpiaparabrisas" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Alternar efecto de limpiaparabrisas" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Efecto acuático" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Escala de desplazamiento de agua" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Efecto de ola desde el título de la ventana" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Enfocar efecto" + +# clients/inst_resize_ui.ycp:691 +# clients/inst_resize_ui.ycp:691 +# clients/inst_resize_ui.ycp:691 +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Enfocar efecto de ventana" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Enfocar ventanas de tipo" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Fricción" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Obtener tipos de ventanas" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Resolución de la cuadrícula" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Solapamiento de ventanas invertido" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Hacer que la ventana tiemble" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Asignar efecto" + +# clients/inst_resize_ui.ycp:691 +# clients/inst_resize_ui.ycp:691 +# clients/inst_resize_ui.ycp:691 +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Asignar efecto de ventana" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Asignar tipos de ventanas" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Maximizar efecto" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Tamaño mínimo de cuadrícula" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Tamaño mínimo de cuadrícula de vértice" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Mover ventana" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Temblor" + +# 52895 AttribValues/label +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Solapamiento inverso" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Solapar ventanas" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Fricción de tensión" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Constante de tensión" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Constante de tensión" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Activa o desactiva el solapamiento de ventanas" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Usa el modelo de muelle para el efecto de ventana gelatinosa" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Resolución de cuadrícula de vértice" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Tipos de ventana que deben temblar al enfocarse" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Tipos de ventana que deben temblar al obtenerse" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Tipos de ventana que deben temblar al asignarse" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Tipos de ventana que deben temblar al moverse" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Efecto gelatinoso al maximizar o desmaximizar las ventanas" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Ventanas gelatinosas" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Filtro lineal" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Usa el filtro lineal cuando se acerca la imagen" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Ampliar/reducir escritorio" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Ampliar" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Reducir" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Velocidad de zoom" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Paso de zoom" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Ampliar o reducir y panorámica del cubo de escritorio" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Factor de zoom" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Anclar" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Barra de herramientas" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menú" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Utilidad" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Pantalla inicial" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Cuadro de diálogo" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normal" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Menú desplegable" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Menú emergente" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Sugerencia" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Notificación" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Combo" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Cuadro de diálogo modal" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Pantalla completa" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Desconocido" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtro lineal" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Ruso" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command1" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command11" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command2" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command3" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command4" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command5" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command6" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command7" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command8" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Combinación de teclas que al utilizarse ejecutará el comando de shell " +#~ "identificado por command9" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Porcentaje de brillo" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Porcentaje de opacidad" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Porcentaje de saturación" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Saturación" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Retraso (en milisegundos) entre gotas de lluvia" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "" +#~ "Distancia de alejamiento al reducir mientras se intercambian las ventanas" + +#~ msgid "Do not modify" +#~ msgstr "No modificar" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Desechar desplazamiento X de la sombra" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Desechar desplazamiento Y de la sombra" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Desechar opacidad de la sombra" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Desechar radio de la sombra" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Enfocar efecto de ventana (ninguno, temblor)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Seleccionar la ventana anterior" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Aceleración de pliegue (de 1,0 a 20,0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Velocidad de pliegue (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Paso de pliegue (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Federación Rusa" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Ruso" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Intervalo antes de elevar las ventanas seleccionadas" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "Diseñar y empezar a transformar las ventanas de la salida actual" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Asignar efecto de ventana (ninguno, temblor)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Velocidad de minimización (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Velocidad de minimización (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Tamaño mínimo de cuadrícula de vértice" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Número de escritorios virtuales" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Paso de cambio de opacidad" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Nivel de opacidad de las ventanas en movimiento" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Nivel de opacidad de las ventanas en movimiento" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Color del cubo" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Superponer un icono sobre las ventanas cuando se escalen" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Complementos que esto debe cargar antes" + +#~ msgid "Plugins that this requires" +#~ msgstr "Complementos que esto requiere" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostrar el conmutador si no está visible y seleccionar la siguiente " +#~ "ventana del conjunto total de ventanas" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostrar el conmutador si no está visible y seleccionar la siguiente " +#~ "ventana del conjunto total de ventanas" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostrar el conmutador si no está visible y seleccionar la ventana " +#~ "anterior del conjunto total de ventanas" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Mostrar el conmutador si no está visible y seleccionar la ventana " +#~ "anterior del conjunto total de ventanas" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Aceleración de pliegue (de 1,0 a 20,0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Velocidad de zoom (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Paso de ampliar/reducir (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Velocidad de escala (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Paso de escala (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "" +#~ "Multiplicador de tamaño de pantalla para el tamaño horizontal virtual" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Multiplicador de tamaño de pantalla para el tamaño vertical virtual" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Sensibilidad de movimiento del puntero" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Resistencia de sombra (de 0 a 100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Espacio entre ventanas" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Fricción de tensión" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Constante de tensión" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Velocidad de escala (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Paso de escala (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Filtrado de texturas (rápido, bueno, mejor)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Velocidad con la que se redibuja la pantalla (veces por segundo)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Tiempo en milisegundos para finalizar el modo de escala al desplazar el " +#~ "cursor sobre una ventana" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Tiempo límite antes de invertir viewport" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Usa el filtro lineal cuando se acerca la imagen" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Resolución de cuadrícula de vértice" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Escala de desplazamiento de agua" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Velocidad de desvanecimiento de ventana" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Velocidad de desvanecimiento de ventana" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Tipos de ventana que deben desvanecerse" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Tipos de ventana que deben desvanecerse" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Tipos de ventana que deben desvanecerse" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Tipos de ventana que deben desvanecerse" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Tipos de ventanas que se deben escalar en el modo de escala" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Tipos de ventanas que deben mostrarse en el conmutador" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Tipos de ventana que deben transformarse al minimizarlas" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Tipos de ventana que deben desvanecerse" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Tipos de ventana que deben temblar al enfocarse" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Tipos de ventana que deben temblar al obtenerse" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Tipos de ventana que deben temblar al asignarse" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Tipos de ventana que deben temblar al moverse" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Esquinas activas que deben iniciar el modo de escala (superior izquierda, " +#~ "superior derecha, inferior izquierda, inferior derecha)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Velocidad de zoom (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Paso de ampliar/reducir (de 0,1 a 50,0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Factor de zoom" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimizada" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Girar a cara %d" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Girar a cara %d" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Girar a cara %d con la ventana" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Girar a cara %d y traer la ventana activa" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Girar a cara %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Girar a cara %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Girar a cara %d con la ventana" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Girar a cara %d y traer la ventana activa" + +#~ msgid "None" +#~ msgstr "Ninguno" + +#~ msgid "Emblem" +#~ msgstr "Emblema" + +#~ msgid "Big" +#~ msgstr "Grande" + +#~ msgid "Fast" +#~ msgstr "Rápido" + +#~ msgid "Good" +#~ msgstr "Bueno" + +#~ msgid "Best" +#~ msgstr "El mejor" + +#~ msgid "Command line %d" +#~ msgstr "Línea de comando %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "" +#~ "Línea de comando que se debe ejecutar en la shell al invocar run_command%d" + +#~ msgid "Run command %d" +#~ msgstr "Ejecutar el comando %d" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "" +#~ "Asociación de teclas que, al invocarse, ejecuta el comando de shell " +#~ "identificado por el comando %d" + +#~ msgid "Window Types" +#~ msgstr "Tipos de ventana" + +#~ msgid "Move Window Types" +#~ msgstr "Mover ventanas de tipo" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Habilitar partición ZEN" + +#~ msgid "Corners" +#~ msgstr "Esquinas" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "Enfoca las ventanas al pasar el ratón sobre ellas" + +#~ msgid "Initiate All Windows" +#~ msgstr "Iniciar todas las ventanas" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "Iniciar movimiento de ventana de teclado" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Iniciar cambio de tamaño de ventana de teclado" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "Iniciar conmutador de ventanas" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "Modificador para mostrar el conmutador de todas las ventanas" + +#~ msgid "Return from scale view" +#~ msgstr "Volver desde la vista a escala" + +#~ msgid "Show switcher" +#~ msgstr "Muestra el conmutador" + +#~ msgid "Sloppy Focus" +#~ msgstr "Enfoque aproximado" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "Empieza a mover la ventana mediante el teclado" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "Empieza a cambiar el tamaño de la ventana mediante el teclado" + +#~ msgid "Terminate" +#~ msgstr "Interrumpir" + +#~ msgid "Water effect on system beep" +#~ msgstr "Efecto acuático con el pitido del sistema" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de ventanas que se deben desvanecer (Escritorio, Dock, Barra de " +#~ "herramientas, Menús, Utilidades, Inicial, Diálogos, Diálogo de modos, " +#~ "Normal, Pantalla completa, Desconocidas)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "Tipos de ventanas que se deben transformar al minimizarse (Escritorio, " +#~ "Dock, Barra de herramientas, Menús, Utilidades, Inicial, Diálogos, " +#~ "Diálogo de modos, Normal, Pantalla completa, Desconocidas)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de ventanas que deben cambiar de tamaño en el modo de escala " +#~ "(Escritorio, Dock, Barra de herramientas, Menús, Utilidades, Inicial, " +#~ "Diálogos, Diálogo de modos, Normal, Pantalla completa, Desconocidas)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de ventanas que se deben mostrar en el conmutador (Escritorio, " +#~ "Dock, Barra de herramientas, Menús, Utilidades, Inicial, Diálogos, " +#~ "Diálogo de modos, Normal, Pantalla completa, Desconocidas)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de ventanas que deben temblar cuando se enfoquen (Escritorio, Dock, " +#~ "Barra de herramientas, Menús, Utilidades, Inicial, Diálogos, Diálogo de " +#~ "modos, Normal, Pantalla completa, Desconocidas)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de ventanas que deben temblar cuando se recuperen (Escritorio, " +#~ "Dock, Barra de herramientas, Menús, Utilidades, Inicial, Diálogos, " +#~ "Diálogo de modos, Normal, Pantalla completa, Desconocidas)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de ventanas que deben temblar cuando se asignen (Escritorio, Dock, " +#~ "Barra de herramientas, Menús, Utilidades, Inicial, Diálogos, Diálogo de " +#~ "modos, Normal, Pantalla completa, Desconocidas)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de ventanas que deben temblar cuando se muevan (Escritorio, Dock, " +#~ "Barra de herramientas, Menús, Utilidades, Inicial, Diálogos, Diálogo de " +#~ "modos, Normal, Pantalla completa, Desconocidas)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "Efecto gelatinoso con pitido del sistema" diff --git a/po/et.gmo b/po/et.gmo new file mode 100644 index 0000000000000000000000000000000000000000..4e2cc761f2b34a9d56f9201c952696515333e8ce GIT binary patch literal 600 zcmYk3&2H2%5XTLauW;kc!Q4Q|TPFotvQ1T5wqm6&T~%rCL*lw_o$<;a1teaBcYr$= zq>4+$kyqeZnCw>Cj`Y)i?EGhJXZ}52`Nk;j5l@JH;t}zc=;J$)5kH6(;^(#gBJFE_ z6ZeTf1l(fm@AZ21He+`wUnlLqSELU~N2Cu(4@k*A@6q?Y8GYTI8yjS0Y{wgY8c~J7 z#*ITZQJB~V=R2_M2+z@dLN@j8Of^xATXC#>Fb+!&DLR884o*yVsAkSbF$vnVVkhY! zYFF}XdQgj9uOL!^cn49HypVET$X6oIdA?T4Ldcg=l2IJ03)44V`qqSeBZ{K;6|Y}N zs?7EwL{WRdU?DnR^0x;0G3aE0Z^Feq+14ExJ7`?DMSj!?v=X&~uH>T-9U4Hssp7UZ z1LyTtHW^Pw%U9(Cne94^3hAIPGrDn9pX2Jxg25qgPQeEitD|~PY%G2Kg-(R literal 0 HcmV?d00001 diff --git a/po/et.po b/po/et.po new file mode 100644 index 0000000..33227fc --- /dev/null +++ b/po/et.po @@ -0,0 +1,2903 @@ +# translation of +# Copyright (C) 2006 SUSE Linux Products GmbH. +# Estonian message file for YaST2 (@memory@). +# +msgid "" +msgstr "" +"Project-Id-Version: autoinst.fi\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2003-09-22 13:26+0200\n" +"Last-Translator: Ain Vagula \n" +"Language-Team: Estonian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Töölauad" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Aken" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Kiirus:" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Lähtestamine" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Värvid" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktiivne vajutatud:" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "P_uhasta" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Lähtestamine" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Käivita Windows" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Käivita Windows" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Lähtestamine" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Käivita Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Käivita Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Määra filter" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Häälestamine" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Häälestamine" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Kiirus:" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Käivita Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Häälestamine" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Käivita Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Käivita Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Käivita Windows" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Venemaa Föderatsioon" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Vene" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Venemaa Föderatsioon" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Vene" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Sorimisjärjestuse muutmine" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows NT" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Videorežiimi valimine" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Aktiivne vajutatud:" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Failisüsteem" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +#, fuzzy +msgid "Automatic detection of output devices" +msgstr "Automaatne tuvastamine" + +#: ../metadata/core.xml.in.h:20 +#, fuzzy +msgid "Automatic detection of refresh rate" +msgstr "Automaatne tuvastamine" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +#, fuzzy +msgid "Close active window" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Käsk tagastas '%1' : %2" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Käsk tagastas '%1' : %2" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Käsk tagastas '%1' : %2" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Käsk tagastas '%1' : %2" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Käsk tagastas '%1' : %2" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Vaikeruuting" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "X Window süsteem" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "X Window süsteem" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Horisontaalne" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Käivita Windows" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +#, fuzzy +msgid "Maximize active window" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +#, fuzzy +msgid "Minimize active window" +msgstr "Mitteaktiivne vajutatud:" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Kaugtöölaud" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Kaugtöölaud" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Käivita Windows" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Käivitatakse terminalis" + +#: ../metadata/core.xml.in.h:91 +#, fuzzy +msgid "Open window menu" +msgstr "Ava menüü" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Käivita Windows" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Värskenda" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "Häälestusdialoog" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Tundmatu käsk " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "Peamenüü" + +#: ../metadata/core.xml.in.h:117 +#, fuzzy +msgid "Show Run Application dialog" +msgstr "Käivita rakendus" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "Teenuse URI näitamine" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Animatsioon" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Käsku pole antud" + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "Määra filter" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Määra filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +#, fuzzy +msgid "Toggle Window Shaded" +msgstr "Sorimisjärjestuse muutmine" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +#, fuzzy +msgid "Unmaximize active window" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Aken" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D kiirenduse aktiveerimine" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "Täiustatud jõudluse kontroll" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Värvid" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Töölauad" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D kiirenduse aktiveerimine" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Kiirus:" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Töölauad" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "Eelmine" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "tekstirežiim" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "Käivita Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Eelmine" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "Vali &pilt" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Vali &pilt" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Vali &pilt" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Kiirus:" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Töölauad" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Käsku pole antud" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Käivita Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "MShadow" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "MShadow" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "MShadow" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "MShadow" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "MShadow" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Käivita Windows" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "MShadow" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "MShadow" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Käivita Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Venemaa Föderatsioon" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "Venemaa Föderatsioon" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Kiirus:" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Failisüsteem" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Käivita Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Käivita Windows" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Ekraan" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows NT" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Lisa sündmus" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Lisa sündmus" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "Mitteaktiivne vajutatud:" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "Mitteaktiivne vajutatud:" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "Mitteaktiivne vajutatud:" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "Käivita Windows" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "X Window süsteem" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "X Window süsteem" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "Käivita Windows" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Käivita Windows" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Käivita Windows" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Horisontaalne" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Käivita Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Horisontaalne" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "Venemaa Föderatsioon" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Horisontaalne" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Horisontaalne" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Töölauad" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Käivita Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "PgDn" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Vasakule" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Paremale" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "PgUp" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Käivita Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Paremale" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Ekraani pööramine" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "PgUp" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Käivita Windows" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Käivita Windows" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Käivita Windows" + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Käivita Windows" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Vasakule" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Paremale" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Vasakule" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Paremale" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Paremale" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Ekraani pööramine" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D kiirenduse aktiveerimine" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Registreerimiskood" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Töölauad" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Taaskäivituse kinnitus" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Värviline taust" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Käivita Windows" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "Käivita Windows" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "Käivita Windows" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Käivita Windows" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Vali &pilt" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Käivita Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "Kiirus:" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "Vali &pilt" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Käivita Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Käivita Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Tühik" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Aplett käivitatakse sisselogimisel automaatselt" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Kataloog\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Videorežiimi valimine" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Käivita rakendus" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Ekraan" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Käsku pole antud" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Rakenduste sirvija" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Lähtestamine" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Heledus" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Toiming" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Ikoon" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "Mitteaktiivne vajutatud:" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "tekstirežiim" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Käivita Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Häälestamine" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Käivita Windows" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "Kas kasutada animeeritud aknaid?" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Kiirus:" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "Vali &pilt" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Käivita Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "XF86ZoomIn" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "Lis&a link" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Lisa sündmus" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +#, fuzzy +msgid "Offset Scale" +msgstr "Kaugus tiitlist:" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +#, fuzzy +msgid "Title wave" +msgstr "Tiitel: %1" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Sorimisjärjestuse muutmine" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Sorimisjärjestuse muutmine" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Sorimisjärjestuse muutmine" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Sorimisjärjestuse muutmine" + +#: ../metadata/water.xml.in.h:16 +#, fuzzy +msgid "Water Effect" +msgstr "Töölaua efektid" + +#: ../metadata/water.xml.in.h:17 +#, fuzzy +msgid "Water offset scale" +msgstr "Kaugus tiitlist:" + +#: ../metadata/water.xml.in.h:18 +#, fuzzy +msgid "Wave effect from window title" +msgstr "kaugus tiitlist" + +#: ../metadata/wobbly.xml.in.h:1 +#, fuzzy +msgid "Focus Effect" +msgstr "X Window süsteem" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "X Window süsteem" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "X Window süsteem" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Toiming" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "X Window süsteem" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Resolutsioon" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Käivita Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Töölaua efektid" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Töölaua efektid" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "X Window süsteem" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Töölaua efektid" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "X Window süsteem" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Draiver" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Käivita Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Toiming" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Tühik" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Toiming" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "Sorimisjärjestuse muutmine" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Resolutsioon" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Käivita Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filtreeri seda kausta" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Töölauad" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "XF86ZoomIn" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "XF86ZoomOut" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Kiirus:" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Töölauad" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "XF86ZoomOut" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Tööriistad" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menüü" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "KDE utiliidid" + +#: ../src/main.c:59 +#, fuzzy +msgid "Splash" +msgstr "splash" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "Häälestusdialoog" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normaalne" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Aken" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Menüü" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Tööriistad" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Märguanded" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +#, fuzzy +msgid "Dnd" +msgstr "End" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Ekraan" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Tundmatu" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtreeri seda kausta" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Vene" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Häälestamine" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "MShadow" + +#, fuzzy +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "X Window süsteem" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Käivita Windows" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D kiirenduse aktiveerimine" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Kiirus:" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Venemaa Föderatsioon" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Vene" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Töölaua efektid" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Mitteaktiivne vajutatud:" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Mitteaktiivne vajutatud:" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Kaugtöölaud" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Käivita Windows" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Käivita Windows" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Värvid" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D kiirenduse aktiveerimine" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Registreerimiskood" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Kiirus:" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Vali &pilt" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Käivita Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Toiming" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Määra filter" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Resolutsioon" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Kaugus tiitlist:" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows NT" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows NT" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Kiirus:" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Töölauad" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "XF86ZoomOut" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Ekraani pööramine" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Ekraani pööramine" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "XF86RotateWindows" + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Ekraani pööramine" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Ekraani pööramine" + +#, fuzzy +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "XF86RotateWindows" + +#~ msgid "None" +#~ msgstr "Puudub" + +#~ msgid "Big" +#~ msgstr "Suur" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Käsku pole antud" + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Tundmatu käsk " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows NT" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "ZEN-partitsiooni lubamine" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Korni" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "&Näita muudatusi" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "XF86Terminal" diff --git a/po/fi.gmo b/po/fi.gmo new file mode 100644 index 0000000000000000000000000000000000000000..e34309905a5c34c2d9f3a9427443b62c8435edd6 GIT binary patch literal 30625 zcmcJX37lO;mH#iw8VH1ahl}ixhVIVR39=+)CFvxjn=ByW?S8k@H}Cbk&$o1F98m{H zMNx6Vg+T{3>fcev8As6(TrkRCM^Oj=$|xh_#yH}FGNL=@~Yr_;NjqZfCq!W2M+gpz$2ia1bJ0($k{<~3^*IqdlrL7gKNPV-~c!a90B<+xS4-=Wv~NO z`By;o>)YUI;E#>o@0=hw7kU;bzCED$E(6a8w}30aTfn8@*T4h7Su{EbJPs7!(?IpN z!|+ne?=^gZVbSm=!&?pCVfaDAd%(r;`!cu$Jm@@+SAoiZz2P?vkEFB8?=!r^@L|If zFYx8pfrnD>T_8<^4}mklhrlDjAAo#f@C0}jc-)0vt`T@VbQP4GUJITGz8z$Uf`0%H z0>5kJkAjlRFF?ujDeyq>@Yz9d33x2{T<~gefAAVm<9n@P3aZ^J!K1);fQNw}24{kw z2F3pYQ2qW6DE;{vI0M|jBM43cj{q+NF920P0cV0Yf`@>w0`HGUZ$>}SgB*K@o4_n!o+-C}Sqn1CvOHz>ZJG`t^F{~iQoQho!XV!N{TuN`9{d z_1^nH_4~`G5;sdAS^7 zc&y4s#^dm<9(&$4L`SO!M)n8!r zN~2?=M~!}q(L0R3-{^;oe!^%CuH=3ysPFCq^<9^O`i`qWrg-oIqi-|%-9~@I=pTaW z*R1CU0j4B40~Ed9=*Z~Xjed{O-!l3~M$fv`+JmmW(UH-&8~q-mzh(4~Kh#=3@HBJ0wtG!1=YVtLGgVIlpX%P(a(VD_u)%SKSA;70+qi4 z)Oc<*df4dg;Hl)_YWW|u{CmKaz+1p$zz=}> z?t8%t!S91wR}Nh2<=P2qoY#Po=Vnm-D1wsnt)S#{H|XpfD0$p(_*Iap9{dX^xg5I8 z^E(Puz0*K_?>V6CO%EvkSA(;`6jXoi0#*M3Q1AT)D7ifbs((*|>c>ILeLs%@#phg5 z{Fi~Mx5>%}Eq@f0KD-8$9NrJk2fqYrJe~&CZpI3~jvWW;Jtu?e&v~H6w-c1S7lP8C zrJ(d=1E}^T@b&vKFG0E*9Jq=x0oNG51yug`4a2KEJ!JS1!`~YAtoG$M8-58qg!VJm z_;vRfQ2m&1xD>>c1sg!g?+qYB61*P_!NWd0h~o zn!)v;E0_pew>#1BT*G;WSAq-RcQwco7~E?3 zMazHMaL(1fUeWMz{C2y+)e>Y&?`Xc(I>z& zz;A$(({Dh@@z3Bn;7R>nE{nk;UVa)^%U zZ^2&hd7JPV!3wwr{5&W=hi&%nUj&{2z1rvkI1{>I^ex~4&~F7bAMOP8{X4*g;O9Wi zyFXg~1Yz=YZn#Vz3*08z{Z{DtH3;UBf3p>C?e4^y7CDC_T6s zl)hd8o(irvEQ2RO-v&yaA2j?HsPBIgRQvr9uJ9=EWbjN--+4JG{n!9%o)24j9h97I z2POZ{fa>S{p!)HB!^c5=$5Tch^dfJ6jyDWJ@joBbcU=xj&#ngbzITI?``?0k-{(N} z>pwxs@o7-)4~V>7JQ>t?tOGS}F9K(S?*yfX4}g-#*Fo|98F&r&G?;)_51>Qfz2G+R zs6o%~rG{?+^*w(BYW{o#l%CxWs(;@EWk;R_CC9T1zWriQ_HYBJ_eO>dP~UT_;a#Bm z|1nVfzW|;Ie#gq61kZpzEcWd#0`;E7p!Dr}qhDk64x_(m^e;et|8YaUzg?i{>x>>X z`fj7|HTp55gRQ>)1)#onnbE1yuQmD;Mt{@jCyhR4*z4zIpuX<~puYdbpuXdk;HBW* zMn7uwQ%3hNNGk6K)$cch&j&wh^y5Y!z~HHT38?bxjlR?9Pa6GOqh}U<{i{ILkBxq> z(VsQ?DWi`q`ElF;%5DsS(!-a6`kuEK{Q>Ya==(tF_aj#RE5l&K=O1l&w&4Q9Rfg9Y zju^ho@J-;M@O>Y6F!(WWCirRaZ14e4diP6E?|&MU{>?1=_2dl0g`no|)rQ+Zea9_^ zZv!=6A2R$LcsTU8!Nb5GgL?lHpz8e*JO`Yadb=|h)c9Txs(cJQ5PSnD`P^an2~hmL z4XVFC1kVG13rfx>SA2fA;Zkrp`5Qs;e;26l_$P3G@F7s|dD!q#a0c{ahQBd<8r1k5 z_+roJ6!3KD9`JB*Gbnj%1tq_mz$3vofO_xU;1S?`mj87S6B0ZMs{f0t-d=43XF}IO z&FjAeJHZbaJ`6q&`rw-1pI!)F0)4IF+rSR!hd{|OsQdRH3(78Z8TNrELN~w=d?Tpu z_rB91N^?NILG59)A_3s5w0UrQ0?|uU6 zeb0c>&zYlMz9)hj?~B1%;95}qxxwfWQ1ZMPlpO8^H4dKzF93f4s@=icJ>L^Sjq};y zG2jK@A>iePt3dJZ1Jy19#jgsge{Tl&1G68~()~`e%xkg&@RRmDgR)tqTcKY7UQc>8 z&#xg3lb!>uUoUAf>20Ko$UBAfk30{6lD&Q};`#5vwcux5j`vT`fo}cX2k{0{o%~It zn|VGMysNcR%kvxUc?ESeAN0G9XZ^n5{zaCCv&m;!2)aRy?djkjz<(jVg69KC8jJD2 zAu=>pGb#TzxD@=KmP!kumyojG_j&jk=_b-;q}e3tP$#L2)J-~$G?z4wG@qp3Pe>i` zxdr?uQf~{-%X$7Pd4D1;wtP%<+wbd871Adx_gCOD>V~9mTHe1JW>BE)35eTBzawpi z{%%$XzJj!dw2k~C=|w#MoV0=G21&nPkamzXZz|+TfA#yQ2j}lgci%#~k@EY&J4u&V z`=vbVcRlI#But6Z;VZ2CVdyzL%Rao7^i$G&E5l6={*yEcy^(Ys&o3ms)XLw_^9M?-&0wZ&vQTNTG{r)R^Fw`7Bf`nOh zzw-^(!Kc9URmM-*uOhvd)FAbco=e$&R=xeksc@glJslRkkz}!kSw!-T&p#sd7_G7|lNLa~47>@9z~xr{I-XDF`Q@Z_ zJkPWIKk|G8&qt9)cs>R^mh_iA9}k`&nrHn6c^)C@_gAFLN&g^%-x=h0fESTAl3ob? zAb1t&&7{Auc02}8lHN^vn)Ef&pGlu1Jw*yh50UhH59tBY0kn-t*D90WHqxiu6Kfgx z5>i6>VI=+j&O`9e;6l=IZ9Hk z(jlbFNGFnaEx3}jhLrtMp1)zlGvE!RlgRrD`0u2Tk^VQSPP%~n_15IICr0OoVU+8&fn)87wmJ6J^P&F!eH^>U|fo;Q9Vh^5cOm<4%e3&Ta$7vSX?NC zrKB9Yhf121>w2n%+oO714dbDqc(7gz>uFd>c&;)l!$Mpu*3(KD!6|htMx*jztV-qh z#(G#QF?)l>rBb>*EL5ZIn*HfeIMgVWYJ=4n3qV#O-R{_y(|R}%ht;@{RCyKi9X9FE zkkzatH;zOVx;c_Icr|PWs>#;jdO5DuFeG6mt`5?tmh!X`4JP%m$qQ>yz2W81R$fj< z_}s9sI95nU=(^E0PkXCXP3s7dPZ?|sP^D5SC4)|)Vc+(oJ~$j#+2|FLfl?eU!II@f zZLC(0NBG9LLS8-X*bpT(803%P(zq0jxeR)d3?kn;l0dZj+_X`zG$ixUWH3e!G@GPW zH6E(Qwc(I&i-RS(g!D*{`_piFHAPCEtf34}(ta2u@F7=xC7)DuwbQ{yE$}4WuzDlu zXe^boYr972huv95!TR?n#;%jJF)tj zux-F`h(=l&toER|bkxK{th8kK@#z?fN~M8_u5YbIg+%HwDIc}mJtiXqDXiRzl%bm} zVb?gaa~wUcyt}=4PCGfbot)QB&Tl6dw39vUTE)MV`9|Bfr`2MO1t1QiY8(YuVyZ)D3xcIlwaCh|1T(R<%34y$a%4Ds zj<@r*!HD&6YqmxOOXI;5vx+Usd{Zr#-koLEG$+?kSZ0;XYf~1L=tN;mE^Zl?Vnqg) zZJl4Eni*zcZS5j|C~B1I;i^Fv?2NEF33(yw)z+927LM>dWHM4apP63YuEjNu2DK0* z<&Hu%tx(CW))|J9351rIaGhIRY8kn~R*?-_MV2N}DW%Uzt?pL$Y}Ky~r;QROJPvP4 zvEi&w$Sq;jtGQ*cO>~lSI#>*r(h*Eg#G)T=#(EFc;(A-=mdP@6X|%MKfoEwFLztC& z<8mWdR@fSc%S%ZmTv}e*LiMsxyO$wxags4d$5m*QeHC$*m^S&sV0luKueAoXimHM8 zkp2WW#66+ZrFf_wjwbQ;N?NTu{@bH!CHsK9n)AK#YVM7AUt96=aK8q&X}n=(epQUj zrfbPsuXdS`cDtb|>lE#rgEHMGIqzbbb3TLRj_|??^E_0r&8=OYl4Ap>M@bOJs}d}) zCeE1(mgoLw%VW4PsWqaKciEaX{0L4y_$%VFeCaqGNh+&*Q5n$} z!&$DVnUr7!%dy-Pq*AHk(51Lg-dSEzO$ybd{NU?JanajB7=FX3#c$fjO9qPy^LEpgiWahtK2gJlS3Hcak9Z^@Z!ujG#4;frT4U&);z=BkQtLz<)og- zzGV+4+0a>w@tNy!h%p(HXNSufYPLD~*i2K+)OQ6-Ph~oGz8+3-8ADxl+bwUTCp1D^ zG%%~m@}j*}w`b=`uPQTO^>9mwSZhvP*<6+zuMwfCs$jBAM71&&j9DM7iN<8SG-4Qk zxUle+YlwVAHlaoNo~5So)#_T=rK+`Et0n0Snsn$W`;lOcHifS5+RLtC(b6Vi{n{1o zEBZFB@cQJJ?dB4OfD3GD3*xBl!H`@B8afeXTB^n--#y`9CrX z*}%Ey?S7xTR*{ZA7wK@1SvHd-Dg|p(1uuPkAXwWN8DMNttEJx5)`E4;1q%C+avZEH zqgn(qG{LgSWhzNI6J}3Vf10EIb8IG9|*kUbjjKTVnCeJ3*U{7TY z2>oJPaN4S}y|@)MtT0}DtLJ14vLCtYxS}WK959(#8NZSTu zgR{L^5Qj47Fl2r4l!<7AVsEy{*|T$w*Weiktr;7%3}iX2rFupj7~1Rwo@HADM@&|$ zKh1dd6H1escXdw8nY^Xd@0w7*YuftV6Y6(QSARnFX=~3J&wS2wyyuRuJ$Jg=^TyYn zH(l-d<7>~KuJ(fQwHHiRyJvjup6O~Y9AA6kWVJJA**OTNdD@?4jor>BBXC=tL(x>0 zW{&eqh-J&6Y7LfRQ&L6 zhNXo<$Su^upf5i#3cR!C{-34#`HNPgdhEngooxLAP(i|PeFquQQ9P{172&8|X|-jdT6!Bl&S zH~6qzpWmwVDXh>dr^C4-j+9ti56ucbyy(iDd+EYgsAhc_cexxTC0+%a5%d4ET`E#i zwvK;B^akg@W(RkMc=Yr~L5F2*VSW5}LQ$XF*|rzDXhYDagG+w~C?7TGV_)nx*kP{5 z^s}E~mMh?kv%R#Z`o|aNBMd9TpKjts9OZ?I30mBw83AG8@#mv$K|IG=jhiiUwl3tI z1%O*~SziJ_1^X(cs5T7Y)|@;lX7uW;V6|fF5zzrJpX`f`Y}-g!o|NaN=JtYXqy9KF zG>y;5rqYj<2X)H0afvoFLBIC8k!^fxDF4J9>2hRJ3HmJrT$I#X^;UahF?k1cu_Ie!VVW~Wuy>G^0djiqqnsN@T zvb0oBDnWl1wrZbH`Np+rTeLT1DrUAOxTZWr5ZS;-gRUtT%bYlnm&rBTO0?v(NsX%6 zwT7@IwCpvb7F@%}>r#b;P}07|>!JndrKMT-k*6xx{M3~ams~_|dpa;c=)mOUqt(GR z^+ZAEKq`|3H!%2FWI5BM_V8|N6nqo&qMC(cJb~5W#Kv#*gH33;NnG~^MzZ(UH3tII zdpk8_II|qL6j-U9lDWaQEO%t$Er#V_uLgbSSf_fCJG851+`N=zE!vmLO%h4oJvX^+ zxHNHXn7zeqnk=|_N%}X7Y`*YXPPqd8lSOYlv8wEm(20NWR@PO_og7E$r4@oGZCeLd z!sdW;#bA9k)#*&fszL{&Q$s3?^ih@MrWqSzo%wY1*0v^vjwOw)wT}LDQ8;7$y8ezU ziFYf8(y^5BS`>D7b}s1XoY&FS6?V;8)Y;w9Ik&TuiX9s`Xb{h4z4;xT{MQwBcP;8# zcwy%p>aB@t^$s^(N)cUJ6t2Y*64_o8mA5t&jekC-+C5!Sb|n|l!OLjoGdud@Xk=F# z^{(n&*8I?}i#lg;o?B14$rtW?7C#e<_1dLSMmbf{Ovowj zjV1MXIQ7#CSBu$QyLVkR!LO!hP3-(YoG zOskDXy^$1)4XW0oFiyfogEg_loK1(fMPyZyq?FcUYUw4Fq)1dVVGZF8;=MYl7K;&W z*gvTARr*hKni*cN$2f+;8s>CTY;Xr78Wr!U>a89tl_ZC;v8n55Cy^$cz#<F; z=Oa+whB>G2MfIp$j_YJ{%MoMJ=S*$`>6OFLC>gFt+oE7Ky=!28Tx}dxz9`8vxA9He zbp9=4gn!%M(jYR+?hi(F&dL~#)b11JH2fLHIJkx@ef35uWt=1teVn!{Bay2KRrgjB zjvNyg8EkGjM$tAetEsA**lSqFG-Pn15&?8PW+)=dyr~hoQDsQ;!qus>su73AToC2L zC+h;0Vum{kR!Ij?4R%#E_k9>>Up+ETXiQ(Dv<oF(%IK!fpG>Q$^+Ku6q9LB_f zLDCe`Tc+W$rDcIxt(AxYG_3MD+)8YtI@`(i((bmxIc?P3HfmlQHNTBo&_?yNQ3Oxi zB8ehvnRH7hz6Bkf9WrdX71g|d=-1O29V%b68|^x6A>QqVU3=KDdk@>q*~4~o_psf( zJ#06B58Ex+!*)G;*luBayA9Dcw-jvYDB68M87j`ICd+nKx5jNi%;Q*8YRHzbCYS|q zlMtIUB2O=3I%9XE@wAx@IfTVDVuj^?EozRr#xSGfvb@+!znqoB^K3hmR?lyr2iwvj zkq?_D=)O!08^4`9ux>En^^QlKcd*K_08_37VoW}&mWFKgWff{!u;@x&;td@3XhMy3 zCCqFMBSiovXcG2qF5lT%$wr6HVU4Xl3wwn7EnB77q%9cXdE7t@`fV|%|ENxs4N|vw zvM~5Baf+d3lY8|xL`%7t*w1-rQC9+!VC7iJExN2iRro7x$_f*WMB#ax&!4Vz%f!;r zXc&*7HlY=Rr9Xs_(Pv0@bQcTv7up_Zjly32@g=cd&&s>XZ{H+I}&g~qTJ zR+|pOvo~B^#*jiqGfx4B!Fyfb2{YZSENX%yY-@Z>JqZEhL`O^SWP4)t@rnYM3C1cdsmaxo`O z9;$QlZCGUCUob8LN|eQ6|-#{_IK8^m@VQ6wzuq zLavTVa^)qxABNh*%DtvAwD#^U2!)%i3 z#GC!l)bon)#ktS2opYLb#qIi+w=fRQW5ry?32)&>oHkr-FJ%h08ybY_raeJKjk}uw z%CMb?zY{9kEXyD9#at{!@L00-ngQAk@n<^pR~r<+u<%vrd@{T(RtT}d?M-K&{bIS! zm5KopvE+Ho3#&qM(9Yp&1 zyh#?qW|@D_WQ*luZ#;rNnO?Y9j{?g#+HGUd0si_;Zo{}-_7q9c?MPi~zZadnre|Lr z8^##PJDI!|AE^D^a9n2##)vT8T;QsOeJ`#_)(>-6a#x2_Ksg0y_heb?W9dMv@!!&c z{Ix1;^a%stHmr7bk1e9xoZ5S}T`VT-4+trx64pNSC;%quzly)?E z{Z<)BE3CFYbbM7x6{Bl@D%ZZy(mHnCxlt_anA|4oX$8mP+k9Jl-*8Lhm$_}Pg*)iK zcW^KjehTQKGJjv8h2FiKTc}Q}xrN%1DXR*CHLh6863&l1l5GpFP>LfpZY%Cyhn90B zj~LvpAD4vyG9%J(f=&aXxg4o^@wE}ypkma)H@IzgoYj%0Vj#430>P@1uFj81a%Rrg zxR8%=%rg7@RBqaK%gD5imD$bpjMl(00`3>(oF7hG$t+3Wri!QETUZF8&tJl<$cpe@R#^(yGg2$T0( zU1^1_^g_-l;hW6QcRDDg$09n*h}Osr^2?}PGlJwA6+R>&Oc81V0!dhBk;xiW&)nYHAC$l$+ zpMyUBH_jq9_XgO9-1cB@-Lzh>X)6g$Fy0X&XBhLn0IDYYA%Xf3oR2KB{ejhRp;7bw z%yy-CJhlh*o|oHz;$difovF=(wb@Ml|H9QTqWR*Q%7*Tv{(Hx*#nkMZ4;asO(l1z_ z2|ZKEWzLIi=?qtqGqB3~Qy*h1K^b;qAKWkCMCa*IIuPkdqBYVB~x#aD)@X6eA zwx62RTmWspV?x;k&UtsnS0#iyb=j`7A@(~Z8~%jaZ44(7&bZ!8!)4c*5O|)dEBq<; zF7||Y^;AswYwTTQLYR9hCj3G6E;1oHJ{1%GCVLl|5LBOv34fNoi%f{cPsN14%-%&N z3#VqnA7?)slYDj3{LMQv>D26Wj~L7R=%ssw;FcJ7F~+080#IkH_P zA5%}c!#SZM0YC2kv}8}H=x1J?AwXT&h{#$HdD3Go3j#M|-7VKk+yTz`Bd(myByEEh zU3D=QeSrel+|TA8f5O21c6a~%D*mSn1Yvcm;2zQFByD|M>|>Jc0wMnDB9;E5d|W&e z*7!0`pk08H01&sC*cRy2NLO}ju4QCLbF%e~m5clzxVR!e;Trjr*=5V5pSoyzM=td-`n=N#tpv_`5(;d@hXQ%{N-1aX!^x)Xc9iXCJ?mC5! zX=GpA7TdHh(+LQ2$}WhxSD-OE25E$f@;48TbXp)OxNxki==ZVf>Wl_#2rv=)9e?mR zLdZgwrwUC)nNX)Ss7M^`*&DRQoOY$bs4NgcmFE4V37yCyjD)myg=0(g-R^!%+ui<> zmZ0S>e3Xv+Cw!?gv+(Hn;nG=7yMY;BLw|GQkGC`PFuq1*Y;3rgpqmrkoR?&;?)rPAbb_C0z2Ey@oNUTmv_qSoVbajB6aE)|ZqZyr7 zpm{Oz84lP=te3DK7b0#sdTcwt%hkt4n^}Z7a@SJej#D=_5Bm920uCoQ_iB&sF4mN_ zvB)=rshiKTNUO5#VLYrjZgzPgTVJOrZXVv!2J_+X6s%`|Sd4WnYm25IQ601BqK#rW zIln1A3(2_w, 2003. 2001. +# Jyri Palokangas , 2006. +# Jouni Hätinen , 2006. +# Jani-Matti Hätinen , 2006. +msgid "" +msgstr "" +"Project-Id-Version: compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-01 21:19+0300\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: KBabel 1.11.2\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Työpöytä" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Ikkunavalikko" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Nopeuskerroin" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Lisää ikkunan läpikuultavuutta" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Suurenna aktiivista ikkunaa vaakatasossa" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Aktivoi" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Kuution väri" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Käytössä olevat liitännäiset" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Aktivoi" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Muuta ikkunan kokoa" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Muuta ikkunan kokoa" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Aktivoi" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Tekstuurisuodin" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Kylläisyys" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Kylläisyys" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Nopeuskerroin" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Asettele ikkunat" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Kylläisyys" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Ikkunatyypit, joiden tulisi huojua kohdistettaessa" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Kohdistustehoste" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Ikkunan häivytyksen nopeus" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Ulostulot" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Ota kuvankaappaus" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "Tunnisteen command10 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "Tunnisteen command1 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "Tunnisteen command10 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "Tunnisteen command11 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "Tunnisteen command2 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "Tunnisteen command3 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "Tunnisteen command4 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "Tunnisteen command5 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "Tunnisteen command6 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "Tunnisteen command7 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "Tunnisteen command8 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "Tunnisteen command9 mukaisen komennon suorittava näppäinyhdistelmä" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Käytössä olevat liitännäiset" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "Kokoruutuikkunoita ei uudelleenohjata piilotetuille pikselikartoille" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Kuuluva äänimerkki" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Kuuluva järjestelmän huomautus" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Automaattinosto" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Automaattinoston viive" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Ulostulolaitteiden automaattinen tunnistus" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Virkistystaajuuden automaattinen tunnistus" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Kohdista hiiren painikkeella" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Ikkunan napsautus kohdistaa ikkunaan" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Sulje ikkuna" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Sulje aktiivinen ikkuna" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Komentorivi 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Komentorivi 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Komentorivi 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Komentorivi 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Komentorivi 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Komentorivi 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Komentorivi 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Komentorivi 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Komentorivi 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Komentorivi 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Komentorivi 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Komentorivi 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "Suoritettava komentorivi, kun run_command10 suoritetaan." + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "Suoritettava komentorivi, kun run_command1 suoritetaan." + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "Suoritettava komentorivi, kun run_command10 suoritetaan." + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "Suoritettava komentorivi, kun run_command11 suoritetaan." + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "Suoritettava komentorivi, kun run_command2 suoritetaan." + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "Suoritettava komentorivi, kun run_command3 suoritetaan." + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "Suoritettava komentorivi, kun run_command4 suoritetaan." + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "Suoritettava komentorivi, kun run_command5 suoritetaan." + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "Suoritettava komentorivi, kun run_command6 suoritetaan." + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "Suoritettava komentorivi, kun run_command7 suoritetaan." + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "Suoritettava komentorivi, kun run_command8 suoritetaan." + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "Suoritettava komentorivi, kun run_command9 suoritetaan." + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Lisää läpikuultavuutta" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Lisää ikkunan läpikuultavuutta" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Oletuskuvake" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Oletuskuva ikkunakuvakkeelle" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Tunnista ulostulot" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Tunnista päivitystaajuus" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Kohdistettaessa huojuvat ikkunat" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Kohdistettaessa huojuvat ikkunat" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Piilota tehtäväpalkin ohitetut ikkunat" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Piilota kaikki ikkunat ja kohdista työpöytään" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Piilota ikkunat, jotka eivät ole tehtäväpalkissa työpöydän näyttötilaan " +"siirryttäessä" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Virtuaalinen vaakatasokoko" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Ohita vihjeet suurennettaessa" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "Ohita kokolisäys- ja kuvasuhdevihjeet ikkunaa suurennettaessa" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Vähennä läpikuultavuutta" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Vähennä ikkunan läpikuultavuutta" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Aikaväli ennen valittujen ikkunoiden nostamista" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Valaistus" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Lista aktiivisista liitännäisistä" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Ulostulolaitteita kuvaavien merkkijonojen luettelo" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Laske ikkuna" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Laske ikkuna taka-alalle" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Suurenna ikkuna" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Suurenna ikkunaa vaakatasossa" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Suurenna ikkunaa pystytasossa" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Suurenna aktiivinen ikkuna" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Suurenna aktiivista ikkunaa vaakatasossa" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Suurenna aktiivista ikkunaa pystytasossa" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Pienennä ikkuna" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Pienennä aktiivinen ikkuna" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Työpöytien määrä" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Virtuaalisten työpöytien määrä" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "Suorita vain näyttöpäivitykset pystytasossa tehtävän tyhjäyksen aikana" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Peittävyyden askel" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Läpikuultavuuden muutosväli" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Ikkunoiden välinen tila" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Avaa ikkunavalikko" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Ulostulot" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Sateen viive" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Nosta napsautuksesta" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Nosta ikkunaa" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Nosta valittu ikkuna tietyn ajan jälkeen" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Nosta ikkuna muiden ikkunoiden yläpuolelle" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Nosta ikkuna napsautuksesta" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Virkistystaajuus" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Suorita komento -valintaikkuna" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Suorita komento 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Suorita komento 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Suorita komento 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Suorita komento 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Suorita komento 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Suorita komento 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Suorita komento 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Suorita komento 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Suorita komento 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Suorita komento 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Suorita komento 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Suorita komento 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Virtuaalisen vaakatasokoon näyttökokokerroin" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Virtuaalisen pystytasokoon näyttökokokerroin" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Kuvakaappauksen komento" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Näytä päävalikko" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Näytä Suorita komento -valintaikkuna" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Näytä päävalikko" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Hitaat animaatiot" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Synkronoi VBlankiin" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Ota kuvankaappaus" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Ota kuvankaappaus ikkunasta" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Kuvakaappauksen komento" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Tekstuurisuodin" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "Tekstuurisuodatus" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Nopeus, jolla näyttö piirretään uudelleen (kertaa/sekunnissa)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Ota käyttöön maksimoidut ikkunat" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Ota käyttöön vaakatasossa maksimoidut ikkunat" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Ota käyttöön pystytasossa maksimoidut ikkunat" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Ota käyttöön varjostettu ikkuna" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Ota käyttöön aktiiviset maksimoidut ikkunat" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Ota käyttöön aktiiviset vaakatasossa maksimoidut ikkunat" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Ota käyttöön aktiiviset pystytasossa maksimoidut ikkunat" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Ota käyttöön aktiivinen varjostettu ikkuna" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Ota käyttöön hitaat animaatiot" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Palauta ikkuna" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Palauta aktiivinen ikkuna" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Kokoruutuikkunoita ei uudelleenohjata" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Käytä hajavaloa ruudun muuttuessa" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Virtuaalinen pystytasokoko" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Ikkunavalikko" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Ikkunan kuvakaappauksen komento" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Kiihdytys" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Etene seuraavaan diaan" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Animoi taivas" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Animoi taivas työpöytäkuutiota käännettäessä" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Kuution pohjan ja kannen väri" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "Väri, jota käytetään alimpana värinä taivaan liukuvärissä" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "Väri, jota käytetään ylimpänä värinä taivaan liukuvärissä" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Kuution väri" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Työpöytäkuutio" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Kiihdytyskerroin" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Nopeuskerroin" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Aikavälikerroin" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "Luo mipmap skaalauksen laadun parantamiseksi mikäli se on mahdollista" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Takaisin edelliseen diaan" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Kuvatiedostot" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Taivaana käytettävä kuva" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Kuution sisäpinta" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Kuution sisäpinta" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "Lista kuution päälle asetettavista PNG- ja SVG-tiedostoista" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Seuraava dia" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Asettele ikkunat työpöytäkuution pinnalle" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Edellinen dia" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Näytä taivas" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Skaalaa kuvaa" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Skaalaa kuva kuution katon kokoiseksi" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Taivas" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Taivasliukuvärin lopetusväri" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Taivasliukuvärin aloitusväri" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Taivaan kuva" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Nopeus" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Aikaviive" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Levitä" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Levitä kuutio" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Komento" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Koristelutoiminnon (Decorator) komentorivi, joka suoritetaan, jos tällaista " +"toimintoa ei ole jo käynnissä" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Hylkää varjon poikkeama (X)" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Hylkää varjon poikkeama (Y)" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Hylkää varjon säde" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Hylkää varjon vahvuus" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Hylkää varjon säde" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Kiinnitä ikkunat" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Varjon poikkeama (X)" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Varjon poikkeama (Y)" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Varjon vahvuus" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Varjon säde" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Kiinnitä ikkunat" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Ikkunan kehykset" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Ikkunan kehykset" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Häivytyksen nopeus" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Häivitystehoste järjestelmän huomatuksessa" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "Ikkunat häivytetään näkyvistä/näkyviin" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Ikkunoiden häivytys" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Kokoruudun näkyvä kello" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Kokoruudun häivytystehoste järjestelmän huomautuksesta" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Näkyvä kello" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Ikkunan häivytyksen nopeus" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Piste" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Lisää piste" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Älä muuta" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Älä muuta" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Pienennystehoste" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Pienennä ikkuna" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Vähennä nopeutta" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Vähennä aikaväliä" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Varjon vastussauma" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Varjon vastussauma" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Animoi ikkunoiden pienennys ja suurennus" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Ikkunatyypit, jotka tulisi muuntaa pienennettäessä" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Rajoita Y-koordinaatti" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Rajoita Y-koordinaatti työskentelyalueelle" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Siirrä ikkunaa" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Siirrä ikkunaa" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Siirrä ikkunaa" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Peittävyys" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Liikkuvien ikkunoiden läpikuultavuustaso" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "Vapauta ja palauta suurennetut ikkunat automaattisesti siirrettäessä" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Vapauta suurennetut ikkunat" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Aloita ikkunan siirtäminen" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Virtuaalinen vaakatasokoko" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Asettele ikkunat" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Asettele ikkunat sopiville paikoille niiden ilmestyessä" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Näytä pienennetyt ikkunat" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Virtuaalinen vaakatasokoko" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Näytä pienennetyt ikkunat" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Poikkeukset ikkunoiden asettelussa" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Ikkunatyypit, jotka tulisi skaalata skaalaustilassa" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Poikkeukset" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Näytä pienennetyt ikkunat" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Virtuaalinen vaakatasokoko" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Näytä pienennetyt ikkunat" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Virtuaalinen vaakatasokoko" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Työpöytäkuutio" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Asettele ikkunat työpöytäkuution pinnalle" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Asettele ikkunat" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Käännä vasemmalle" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Käännä oikealle" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Asettele ikkunat" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Asettele ikkunat" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Käännä vasemmalle" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Käännä oikealle" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Kierrä kohteen %d suuntaan" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Asettele ikkunat" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Ota käyttöön tarttuvat ikkunat" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Ota käyttöön tarttuvat ikkunat" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Muuta ikkunan kokoa" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Muuta ikkunan kokoa" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Muuta ikkunan kokoa" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Aloita ikkunan koon muuttaminen" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "Raahattaessa aktivoituvat työpöydän reunat" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Ikkunaa siirrettäessä aktivoituvat työpöydän reunat" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Osoittimella aktivoituvat työpöydän reunat" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Työpöydän reunan aktivoitumisviive" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Vaihda vasempaan näkymään ja siirrä osoitin" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Vaihda seuraavaan työpöytään vedettäessä objektia ruudun reunaa vasten." + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Vaihda seuraavaan työpöytään vedettäessä osoitinta ruudun reunaa vasten." + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "Vaihda seuraavaan työpöytään vedettäessä ikkunaa ruudun reunaa vasten." + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Vaihda oikeaan näkymään ja siirrä osoitin" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Peilaa osoittimen Y-suuntainen liike" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Peilaa osoittimen Y-akseli" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Osoittimen herkkyys" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Käännä kuutiota" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Kierrä vasemmalle" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Kierrä oikealle" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Käännä vasemmalle" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Käännä vasemmalle ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Käännä oikealle" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Käännä oikealle ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Kierrä kohteeseen" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Käännä työpöydälle 10" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Käännä työpöydälle 10 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Käännä työpöydälle 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Käännä työpöydälle 10 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Käännä työpöydälle 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Käännä työpöydälle 11 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Käännä työpöydälle 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Käännä työpöydälle 12 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Käännä työpöydälle 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Käännä työpöydälle 2 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Käännä työpöydälle 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Käännä työpöydälle 3 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Käännä työpöydälle 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Käännä työpöydälle 4 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Käännä työpöydälle 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Käännä työpöydälle 5 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Käännä työpöydälle 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Käännä työpöydälle 6 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Käännä työpöydälle 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Käännä työpöydälle 7 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Käännä työpöydälle 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Käännä työpöydälle 8 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Käännä työpöydälle 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Käännä työpöydälle 9 ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Käännä työpöytäkuutiota" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Käännä vasemmalle" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Käännä vasemmalle ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Käännä oikealle" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Käännä oikealle ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Käännä työpöydälle 10" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Käännä työpöydälle 10 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Käännä työpöydälle 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Käännä työpöydälle 10 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Käännä työpöydälle 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Käännä työpöydälle 11 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Käännä työpöydälle 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Käännä työpöydälle 12 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Käännä työpöydälle 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Käännä työpöydälle 2 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Käännä työpöydälle 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Käännä työpöydälle 3 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Käännä työpöydälle 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Käännä työpöydälle 4 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Käännä työpöydälle 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Käännä työpöydälle 5 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Käännä työpöydälle 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Käännä työpöydälle 6 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Käännä työpöydälle 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Käännä työpöydälle 7 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Käännä työpöydälle 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Käännä työpöydälle 8 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Käännä työpöydälle 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Käännä työpöydälle 9 ja pidä aktiivinen ikkuna mukana" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Kierrä näkymään" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Kierrä ikkunaa" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Kierrä ikkunan kanssa" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Kääntämiskiihdytys" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Kääntämisnopeus" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Kääntämisaikaväli" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Osoitinliikkeen herkkyys" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Kiinnitä kääntäminen kuution kattoon" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Kiinnitä kattoon" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Aloita kääntäminen" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Aikakatkaisu ennen näkymän vaihtamista" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Läpikuultavuuden määrä prosentteina" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Tummenna tausta" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Tummenna tausta ikkunan kokoa muutettaessa" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Päälläoloaika" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Aktivoi ikkunavalitsin" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Alusta ikkunavalitsin kaikille ikkunoille" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Alusta ikkunavalitsin ikkunaryhmälle" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Alusta ikkunavalitsin tämänhetkisen kohteen ikkunoille" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Asettele kaikki ikkunat ja aloita niiden muunto" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Asettele ikkunaryhmä ja aloita sen muunto" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Asettele ja mukauta ikkunat valitsemista varten" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Asettele tämänhetkisen kohteen ikkunat ja aloita niiden muunto" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Aseta kuvake päälle" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Aseta kuvake päälle ikkunoihin, kun ne skaalataan" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Skaalaus" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Skaalausnopeus" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Skaalausaikaväli" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Ikkunoiden välinen tila" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Tila" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Aika (ms), jonka jälkeen skaalaustila lopetetaan, kun ikkunan päälle " +"asettaminen on käytössä" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Ikkunatyypit, jotka tulisi skaalata skaalaustilassa" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Ota kuvankaappaus" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Näytä Suorita komento -valintaikkuna" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Ota kuvankaappaus" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Kuvakaappauksen komento" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Kirkkauden määrä prosentteina" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Kylläisyyden määrä prosentteina" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Sovellusten vaihtaja" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automaattinosto" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Kirkkaus" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Tuo etualalle" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Tuo valittu ikkuna etualalle" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"Etäisyys, jonka työpöydän tulisi olla loitonnettuna ikkunoita vaihdettaessa" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Kuvake" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Pienennetty" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Seuraava ikkuna" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" +"Tuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse seuraava " +"ikkuna" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Tuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse seuraava " +"ikkuna kaikista ikkunoista" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" +"Tuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse " +"edellinen ikkuna" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Tuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse " +"edellinen ikkuna kaikista ikkunoista" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Edellinen ikkuna" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Kylläisyys" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Valitse seuraava ikkuna" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Valitse edellinen ikkuna" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Näytä kuvake esikatselukuvan vieressä" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Näytä pienennetyt ikkunat" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Vaihtajanopeus" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Vaihtaja-aikaväli" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Ikkunoiden skaalaus" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Ikkunatyypit, jotka tulisi näyttää vaihtajassa" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Lisää viiva" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Lisää piste" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Lisää vesitehosteen erilaisille työpöydän toiminnoille" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Kunkin sadepisaran välinen viive (ms)" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Ota käyttöön osoittimen vesitehosteet" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Viiva" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Siirtymän skaala" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Piste" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Sateen viive" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Otsikon aalto" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Ota käyttöön sade" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Ota käyttöön sadetehoste" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Ota käyttöön pyyhkijä" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Ota käyttöön pyyhkijätehoste" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Vesitehoste" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Vesisiirtymän skaala" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Aaltotehoste ikkunan otsikosta" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Kohdistustehoste" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Ikkunan kohdistustehoste" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Kohdistettaessa huojuvat ikkunat" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Kitka" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Tartuttaessa huojuvat ikkunatyypit" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Hilan tarkkuus" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Käänteisten ikkunoiden kiinnitys" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Tee ikkunasta värisevä" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Ilmestymistehoste" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Liitä ikkunatehoste" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Ilmestyessään huojuvat ikkunatyypit" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Suurennustehoste" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Pienin mahdollinen hilakoko" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Pienin mahdollinen kärkipisteen hilakoko" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Siirrä ikkunaa" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Värinä" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Kiinnitä käänteiset" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Kiinnitä ikkunat" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Jousikitka" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Jousivakio" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Jousivakio" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Ota käyttöön tarttuvat ikkunat" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Käytä ikkunoiden joustavaa huojumistehostetta" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Kärkipisteen hilan tarkkuus" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Ikkunatyypit, joiden tulisi huojua kohdistettaessa" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Ikkunatyypit, joiden tulisi huojua tartuttaessa" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Ikkunatyypit, joiden tulisi huojua liitettäessä" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Ikkunatyypit, joiden tulisi huojua siirrettäessä" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Huojumistehoste ikkunan kokoa muutettaessa" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Huojuvat ikkunat" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Suodata lineaarisesti" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Käytä lineaarista suodinta lähennettäessä" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Työpöydän zoomaus" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Lähennys" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Loitonnus" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Zoomausnopeus" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Zoomausaikaväli" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Zoomaa ja panoroi työpöytää" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Zoomauskerroin" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Telakointi" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Työkalupalkki" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Valikko" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Apuohjelma" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Splash" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Valintaikkuna" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normaali" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Avattava valikko" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Ponnahdusvalikko" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Työkaluvihje" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Ilmoitus" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Yhdistelmä" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Modaalinen valintaikkuna" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Kokoruutu" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Tuntematon" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Suodata lineaarisesti" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command10 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command1 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command10 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command11 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command2 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command3 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command4 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command5 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command6 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command7 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command8 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "Tunnisteen command9 mukaisen komennon suorittava näppäinyhdistelmä" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Kirkkauden määrä prosentteina" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Läpikuultavuuden määrä prosentteina" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Kylläisyyden määrä prosentteina" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Kylläisyys" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Kunkin sadepisaran välinen viive (ms)" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "" +#~ "Etäisyys, jonka työpöydän tulisi olla loitonnettuna ikkunoita " +#~ "vaihdettaessa" + +#~ msgid "Do not modify" +#~ msgstr "Älä muuta" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Hylkää varjon poikkeama (X)" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Hylkää varjon poikkeama (Y)" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Hylkää varjon vahvuus" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Hylkää varjon säde" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Ikkunan kohdistustehoste (ei mitään = None, vavistus = Shiver)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Valitse edellinen ikkuna" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Taittamisen kiihdytys (1.0-20.0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Taittamisen nopeus (0.1-50.0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Taittamisen aikaviive (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Aikaväli ennen valittujen ikkunoiden nostamista" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "Asettele tämänhetkisen kohteen ikkunat ja aloita niiden muunto" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Ikkunoiden ilmestymistehoste (ei mitään = None, vavistus = Shiver)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Pienennysnopeus (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Pienennysnopeus (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Pienin mahdollinen kärkipisteen hilakoko" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Virtuaalisten työpöytien määrä" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Läpikuultavuuden muutosväli" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Liikkuvien ikkunoiden läpikuultavuustaso" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Liikkuvien ikkunoiden läpikuultavuustaso" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Kuution väri" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Aseta kuvake päälle ikkunoihin, kun ne skaalataan" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Etukäteen tätä varten ladattavat liitännäiset" + +#~ msgid "Plugins that this requires" +#~ msgstr "Tähän vaadittavat liitännäiset" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Tuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse " +#~ "seuraava ikkuna kaikista ikkunoista" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Tuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse " +#~ "seuraava ikkuna kaikista ikkunoista" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Tuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse " +#~ "edellinen ikkuna kaikista ikkunoista" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Tuo vaihtaja ponnahdusikkunaan, jos se ei ole näkyvissä, ja valitse " +#~ "edellinen ikkuna kaikista ikkunoista" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Taittamisen kiihdytys (1.0-20.0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Zoomauksen nopeus (0.1-50.0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Zoomauksen aikaviive (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Skaalauksen nopeus (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Skaalauksen aikaviive (0.1-50.0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Virtuaalisen vaakatasokoon näyttökokokerroin" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Virtuaalisen pystytasokoon näyttökokokerroin" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Osoitinliikkeen herkkyys" + +#, fuzzy +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Varjon vastussauma" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Ikkunoiden välinen tila" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Jousikitka" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Jousivakio" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Skaalauksen nopeus (0.1-50.0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Skaalauksen aikaviive (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Tekstuurisuodin (nopea = Fast, hyvälaatuinen = Good, paras = Best)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Nopeus, jolla näyttö piirretään uudelleen (kertaa/sekunnissa)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Aika (ms), jonka jälkeen skaalaustila lopetetaan, kun ikkunan päälle " +#~ "asettaminen on käytössä" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Aikakatkaisu ennen näkymän vaihtamista" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Käytä lineaarista suodinta lähennettäessä" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Kärkipisteen hilan tarkkuus" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Vesisiirtymän skaala" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Ikkunan häivytyksen nopeus" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Ikkunan häivytyksen nopeus" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Ikkunatyypit, jotka tulisi skaalata skaalaustilassa" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Ikkunatyypit, jotka tulisi näyttää vaihtajassa" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Ikkunatyypit, jotka tulisi muuntaa pienennettäessä" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Ikkunatyypit, jotka tulisi häivyttää" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Ikkunatyypit, joiden tulisi huojua kohdistettaessa" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Ikkunatyypit, joiden tulisi huojua tartuttaessa" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Ikkunatyypit, joiden tulisi huojua liitettäessä" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Ikkunatyypit, joiden tulisi huojua siirrettäessä" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Nurkat, jotka aktivoivat skaalaustilan (vasen ylänurkka = TopLeft, oikea " +#~ "ylänurkka = TopRight, vasen alanurkka = BottomLeft, oikea alanurkka = " +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Zoomauksen nopeus (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Zoomauksen aikaviive (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Zoomauskerroin" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Pienennetty" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Kierrä kohteen %d suuntaan" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Kierrä kohteen %d suuntaan" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Kierrä kohteen %d suuntaan ikkunan kanssa" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Kierrä kohteen %d suuntaan ja tuo aktiivinen ikkuna mukana" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Kierrä kohteen %d suuntaan" + +#~ msgid "Rotate to face %d" +#~ msgstr "Kierrä kohteen %d suuntaan" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Kierrä kohteen %d suuntaan ikkunan kanssa" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Kierrä kohteen %d suuntaan ja tuo aktiivinen ikkuna mukana" + +#~ msgid "None" +#~ msgstr "Ei mitään" + +#~ msgid "Emblem" +#~ msgstr "Tunnus" + +#~ msgid "Big" +#~ msgstr "Suuri" + +#~ msgid "Fast" +#~ msgstr "Nopea" + +#~ msgid "Good" +#~ msgstr "Hyvä" + +#~ msgid "Best" +#~ msgstr "Paras" + +#~ msgid "Command line %d" +#~ msgstr "Komentorivi %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "" +#~ "Komentotulkissa suoritettava komentorivi, kun suorita_komento%d annetaan" + +#~ msgid "Run command %d" +#~ msgstr "Suorita komento %d" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "" +#~ "Pikanäppäin, joka kutsuttaessa suorittaa komentotulkin komennon komento%d" + +#~ msgid "Window Types" +#~ msgstr "Ikkunatyypit" + +#~ msgid "Move Window Types" +#~ msgstr "Siirrettäessä huojuvat ikkunatyypit" + +#~ msgid "Corners" +#~ msgstr "Kulmat" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "Kohdista ikkunaan osoittimen liikkuessa sen päälle" + +#~ msgid "Initiate All Windows" +#~ msgstr "Aktivoi kaikkien ikkunoiden ikkunanvaihtaja" + +#, fuzzy +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "Siirrä ikkunaa" + +#, fuzzy +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Muuta ikkunan kokoa" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "Aktivoi ikkunanvaihtaja" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "Kaikkien ikkunoiden näyttämiseen käytettävä vaihtonäppäin" + +#~ msgid "Return from scale view" +#~ msgstr "Poistu skaalausnäkymästä" + +#~ msgid "Show switcher" +#~ msgstr "Näytä ikkunavaihtaja" + +#~ msgid "Sloppy Focus" +#~ msgstr "Seuraava tarkennus" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Aloita ikkunan siirtäminen" + +#~ msgid "Terminate" +#~ msgstr "Lopeta" + +#~ msgid "Water effect on system beep" +#~ msgstr "Vesitehoste järjestelmän huomautuksessa" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Häivytettävät ikkunatyypit (työpöytä = Desktop, paneeli = Dock, " +#~ "työkalupalkki = Toolbar, valikko = Menu, työkalu = Utility, " +#~ "käynnistysikkuna = Splash, valintaikkuna = Dialog, pakotettu " +#~ "valintaikkuna = ModalDialog, tavallinen ikkuna = Normal, kokoruutuikkuna " +#~ "= Fullscreen, tuntematon = Unknown)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "Pienennettäessä animoitavat ikkunatyypit (työpöytä = Desktop, paneeli = " +#~ "Dock, työkalupalkki = Toolbar, valikko = Menu, työkalu = Utility, " +#~ "käynnistysikkuna = Splash, valintaikkuna = Dialog, pakotettu " +#~ "valintaikkuna = ModalDialog, tavallinen ikkuna = Normal, kokoruutuikkuna " +#~ "= Fullscreen, tuntematon = Unknown)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Skaalautuvat ikkunatyypit (työpöytä = Desktop, paneeli = Dock, " +#~ "työkalupalkki = Toolbar, valikko = Menu, työkalu = Utility, " +#~ "käynnistysikkuna = Splash, valintaikkuna = Dialog, pakotettu " +#~ "valintaikkuna = ModalDialog, tavallinen ikkuna = Normal, kokoruutuikkuna " +#~ "= Fullscreen, tuntematon = Unknown)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Ikkunavaihtajassa näkyvät ikkunatyypit(työpöytä = Desktop, paneeli = " +#~ "Dock, työkalupalkki = Toolbar, valikko = Menu, työkalu = Utility, " +#~ "käynnistysikkuna = Splash, valintaikkuna = Dialog, pakotettu " +#~ "valintaikkuna = ModalDialog, tavallinen ikkuna = Normal, kokoruutuikkuna " +#~ "= Fullscreen, tuntematon = Unknown)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Ikkunatyypit, jotka huojuvat kohdistettaessa(työpöytä = Desktop, paneeli " +#~ "= Dock, työkalupalkki = Toolbar, valikko = Menu, työkalu = Utility, " +#~ "käynnistysikkuna = Splash, valintaikkuna = Dialog, pakotettu " +#~ "valintaikkuna = ModalDialog, tavallinen ikkuna = Normal, kokoruutuikkuna " +#~ "= Fullscreen, tuntematon = Unknown)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Ikkunatyypit, jotka huojuvat tartuttaessa (työpöytä = Desktop, paneeli = " +#~ "Dock, työkalupalkki = Toolbar, valikko = Menu, työkalu = Utility, " +#~ "käynnistysikkuna = Splash, valintaikkuna = Dialog, pakotettu " +#~ "valintaikkuna = ModalDialog, tavallinen ikkuna = Normal, kokoruutuikkuna " +#~ "= Fullscreen, tuntematon = Unknown)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Ikkunatyypit, jotka huojuvat ilmestyessään (työpöytä = Desktop, paneeli = " +#~ "Dock, työkalupalkki = Toolbar, valikko = Menu, työkalu = Utility, " +#~ "käynnistysikkuna = Splash, valintaikkuna = Dialog, pakotettu " +#~ "valintaikkuna = ModalDialog, tavallinen ikkuna = Normal, kokoruutuikkuna " +#~ "= Fullscreen, tuntematon = Unknown)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Ikkunatyypit, jotka huojuvat liikuteltaessa (työpöytä = Desktop, paneeli " +#~ "= Dock, työkalupalkki = Toolbar, valikko = Menu, työkalu = Utility, " +#~ "käynnistysikkuna = Splash, valintaikkuna = Dialog, pakotettu " +#~ "valintaikkuna = ModalDialog, tavallinen ikkuna = Normal, kokoruutuikkuna " +#~ "= Fullscreen, tuntematon = Unknown)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "Huojumistehoste järjestelmän huomautuksesta" diff --git a/po/fr.gmo b/po/fr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..5075c270b13bfeb0e1d42c245748b9fa54328737 GIT binary patch literal 32541 zcmchf37lO;mH#iumOx0@7g;W{G)o$~vv$H}LKXtqNH+-q1z&f+?tbL;dyltt76#E# z8F4}8uPBblh#N$d`H!PGgSgS^fDDZLhBEGqqN9$>h>pzv`>Q&2-@V;l(- zYrzx2J3!UL`zgJ*!7!Ij{vz-8d0;J)B23hfUb35xFtpz7Oh zc)rE2F?@;P7Q-EeHyhq=c(>vG;1c+K4qOWEf4av@K*hh&@LvrNp|XnaHoVR78-~Z6 z>C>+Q4&rD4XQu?2<`_SJUfcc1&;t<0A2>}16~ele6KVtgDUrG@KEq}@F4JBa0d8~ zp!k0tRK33jN`9UKr-S>nN71q1Oz;BmOi=j?;0$mZI1RiBRC{j)7l9uGyTD(A3&Atb z_VUpS9t8b5Q1yBnsQ2Cr>V2O8XMhib2Y_F<_1XB=QvRP)ds#0oDE(GUJM=xz7|AeqPKvvzz0EA$?ufVyW+Icmo{(Cj3 z_dW=!-k$@PgI@q+aMoO3z7tgcUImK(5O^r~dQkm)CwK_B6PyWt-0)FQ8PXgD1dVd8}`G(@r0cU|fwe&w)`rZq?KAj0l z?k)uB(r68M1o#S2dg`s9%HIJV27U;n3DIZ3mEi9|$@>Ki)}`Q9Q0*QCHSUjrYR|Vo z_0Nw$wc|IS##x19;51PEzYFR1)wQ1yGc;Tu5l{TopAdOxWC{+Pu-0v-kZHBfwh z0Uizh5mdbnWAZ5f@!;{`IYzHB`WmBeF#1iP-t!?)a`H)|pD_C8Mo(Mp(~kv}f1%MA z8=W_L#OOC0{a&L#WAvAe{-x0xT=o0$pxWIDs$J)UYR4rYQ#^W!(Qh#NPNN?;`g@@2 zHS4@6LX|`(fuh$NoiqAYqwg~Mi$;In=vn7mdC-+NI%o8)M&D)h7mfZtD7l@5G8LW- zO3oI58t2uZ+H(~sc^L*Z?%OQ=Cd1n-{=J4DHvF{VF^b6`<W^g`n!S z9F*K_1R2Vx4?G5Z7pQS~02Kc(g6fxVf~wz>p!oh6lpg+_(a(aa_rXg|K0)#61Qov$ z)Oc<*ddTRl;PJ%YZ1Hzn{Qcm?#6Jwi;2{_J_ssz{Ugv`9{}tdV;ML%Zz*m8XgYO5` z?vI0Kf!_wTuI#tW_iG2Jab69oKd%5)k1e43`DRf4^DfZoIZ*xa8N)|Frh4=xQ2lb? za?kHjQ29;()!x%U>6Cs6g+e}%8-;h^}m zf#Sa$RK87?-e>V6pyc7Tp!(r`-~#ZopvL1*pvp~O>DRF%LA~dNpz3ovsPXLp)!&Oi z$4v2r-4VV_2th8+o9KiYR?Ve z!Qk6K@p(U}ad;R!5quJy4?YWOzRX+a+kYLXdfWh>1>OQ`d>#Oq^3gXz$=A{A{d>*= zwO%dHp6=jKV|q8!>0`YWH@t!-zS|6 z(v;{r!%tiM%x<6lQp0-Dq zfGhcP7VShQSe;wS)&){ynGFV(~18WxG(q+i0X+R2G#yU=nR$X0#)BSsQ$hg zJOaEQRJ;BKJRW=kRDVBX=?C_Cd-Nnw?OX|}zqWwl^IGss@T1^9;P*h4|1l{3{{<@l zjDG+AGeODih2S)BBdBqF8F(_d15`iWY4Ps^#phFoUjx;Sr$N0Z%KQ9>f(Jn!11kPB zQ02P79&jxvxp|Mpe-KnZKLo1XzXml=W)65cJ_wJOg|S zC^`5fcp~^~Q1k7OYrWlbs^N=4@wp0AyNaOt|8=1B%H5#)`2nM!H2T+|^zIQ`d^=7C z_1^Q09x(bwqjwtp5UBS596TM|r|9W+Q1o)6OGe*h^xql%&qn{s=mUm*`A$&fR~cP3 z`gKPCgVB$I$CB^2pxQUHx`Vpgl0ID5_mHqra3lx2o(KVyr zWAw+3e%k04RDAxq;5n4L)adJtezVb|Mn7Tnf!F!`Cxd!lH>mlr1=RSx2Go3ckHtR# zYW%+nD*tamwez5=$5TPYUtqY=uw;0X;hl!}8$NFM6L31^p9K#9r`5dt9130xeGYgi zxDAy2z8-uLco%po_*tWW2A&2zqweG9fy#fSVFgsXZZdo)co_6Yz**qK;6dQGK#lKD zKOI$h`+{nD;9r7=gKq%E?=DdF_!!s*eh)knJYbt2 z=MzEIZxN_=Tmov|<-tS1H-X}R7swJ5eH7IEJ$$>bPZy~1xCoTIYy{iEI(QcNZcy|8 zaqtxIX>cAmYlqh-%R%wm2I_rxfX9IMfoFmbTl#N6jq_30`}oD+!O(e7{Za>)f;WPa zn}rqhs^&L?C@+0tt;4`4=cf?cS>sD5++ zct<)@>iJFfyplXe+w)aC>-TB*7n{s*Ht~6$=YW!}6T#nuUn0Dc=luv8+p)g^A~dEm zNdF3`{nY=YGA)8$N(jGi^Y9d52jK$3Y=U%e2ceTNhoHG8d7n>MK+x}pgm(D63j8O+ zniS6qd47br|0XQ4c$T)z?_Z!QgpXM4FTmyGjS2s1ao;oy&`;VgA>KgvE#V62uZKkN zm4wxVYl+`Ncp1+>C2ZiiLD27M!g~plw+eBRd;LD-!P)zg-8U1qk^UL*ZwTjF`DHxo z_foq$6MSd zcz!kEBIq+L?s(|$5S}Fbgz!be&j>#!{0Cvc@?CC7l+$4m^ndbvG2wi|Lxfui`fVc| zLi)*snu}@v`3oK|GO|Yc;XGeq^!?y+dmc3$1UC>^0^P5NGN0w?Jn+XBCpd+08sSvp zbA<5wjXj(~++W-CufTikc_p}>Fpu;D2{-WEYiTcsp3C!ljD8)s!k&L%xXLiV+VB7_ zCcK?+J$#m?;!ohYgE;*L4f}ZhKB3EKrG1XD5Sry7+5zUk6_);bo?poGD+ud&o^SDg z;CUv`hZ2T)J{&xP@RvLv1s*M$XZ`wk9wzAb8p4HyzZb#pB;wn_vk4msS3^GrUPAak zguk$IJVwtD?j-z)@F?NWgijLwNQenvCg^t;;q!!jDVrx;sYrg;5@G61oXDTKqoX2cTD_@FRJI4jPo#VpY&arE^b6gZH>FdiE^VM9vP%c5#3nTe>eX%iEDAl4R{rz#V zP|CZ9O1V&~>!}uR&DHbOI6p9u@2l71dO7Yd@LXk9#{K!)mU_7o=ipR!EJkvrzPvJ( z^4scht;p<+mK2NSt#N-fw^g&hJP;2wip5%AHID`$s=vI|u`QMBac@4Z=KBj(Ud4Qe zO?hCza#jl4hI19FIb3e=YS{Ev3xh-TQodG0k;IjJwU0Wb(#w@xU!lIebz&`7Z}@)5 zq?ZcAG&kX`$T%iVoHNE}-7QOR9n zGTd8+m0OVly2%oEjv+h7&|}i)WRvG+$$43FewJL2B^PGNt}MAIOVW|dt^BrpUqdsC z`Qleuw+yrJUSrE`XI#+0x@Gx)$)V%3|4KE~_$T3?R!a4@V<(XxDB8MTTo3bv`1OK;9HYnqd5ATF^=Cb>z= z6{$r3cA2;(Sc(-9Xts5JjcP`ihPAbe_<>xbSdUlrv0w+n@)U@RS+553q_A+rr_(3H zwKJIM^{rZ5^SM4P1cg$2f3;j8lUuC=#_AIYEiv&rx46^-xxrSE4O&H(6>`NgbuQHE zZgmf4SD5Api@s2V&ob`!*E3oR-+%lNyI`wk7Z%ed{ilBOOEc)>kXzzhqzMhHP z+$u8ZjZ|qVc$OwHgjs1#zSM}8_Ydad6~#g&URGL`qSmlprO5R%Zdj$4mvUO9ovnk3 zlQDFn6}f)wfJ#2!?;pJZ6w~GDb=>8m+x?JWENNSVol-%`YWFfAF0N^N8b;o~eu38BVNU}NGE6L{G zi1jsym52G&d#%PBW@cCA>9fg7vev6y=%igPXu>){IcK0u)+A?LEO*9dw89a-v*IKU z5zLsiE6T*!!0Ayvh~ZUCIIWVR0$gJBjQ$d2?N4Gc#)$u%3;bwip|^9)lQ_(Knoldyj6O4o|+jVrx8`DMGggwetMY-;<(QQLz7nGO_mT^P97 ztBTv*j+bps#rDo21BMB&u4yLqRSP)0P`KG`+v@UGrjH-o$P?B%y=aqMeJC!opw!###*CP}Ustu4!W>HP!I z+Qx7%V~bcV^QyKMt#c+&+)Xd%qje=j3rB_~SXiGMm41{IBGqt;I`mrHTg;WVNWjQn zDECLfk~ECFwd4h&m>LQFbU&vXZhHoU;I%oK1$t6V+hz_SNen#8=bV|+~Ol9s=7T>j2U^UoQVf6iq2 z$7P>1_uR3}=T63Z-q_spCd)m4Z0`A!8MBKV5(!B- z%-J;#;~4B>`9$bK1?KMB`x7w?<>&2M`9v^7`T4t6J`vSWe!;GlPlPv=U$|@K6LAjZ zyLPR7BH*F?qA8aTUWFi*PLZZ{vkogV+i@qqiuGIagiN;O8#wkg6HAZ5w}zajDYR^w z%%&ocsYJvpMIkIHilI+Y3}lL8SW*<7oT3&*-N}Jb z&*lwP|D0H)7CrTm(_uMVSnvNGm(=Zcw%J7I zZHT&caOuwgWur#j?2Fw7J5I!ydiF5PG6j5c*h_n=XKZpZ!mz^q=_X!|qr6x?LGzn5 zJs>PR{(Lm!#B;1wxLG1$>s;Q!0i2FyeTn=O?5-4ZwIK+%<|JM*qc05!m&&)E!#m*n zC$!ke%tpfEBs@Es+lwe1hsGxH!5nW2{q|CyP8l~Y)n+E@(Ox%a8=o4&KR!mXoU>ku zddvmn-KGhNzsP&FBI%fvSDbB??NQhVA^o^R$cS8FQX*CIT@7jCstIlaH{S#!IYN5# zj>iBlX8A`F$EACdb29c6>bR7*=5RRolm`cS-sFZb(x+c23G=LM?z)!W@nDdwon;&?4e5U2L)TxqZ&=lgkRY4`Nv zl1n)oTkQgh`N;O3d~SHEh1RTEv%J~H&a*qFbCg?Wp>FTlUZD~4?w`ZB7fR>GeM7k_ zLU;bdZ&v1~^w3l3rFl2lA!S57e>1Ig`p`Uis|NWer|fsE_V+Wg6Hua=1fc z>sF*CX$UOR`P%#e>7;pROR^mv%S!ttwTwKeTa=lYW-DmEyG=>kX{Ga}vEU6i2?%$xL&Cng>+h+^Oq~5ZU&E2=~~$xKudRX!E*E-O#YB#Lw=Z5MM_*-EZvs8u91(H zAsxAb-p7G->-2E#GF8mRg#j;AhV&O!ZfI((%LT`^MJdl-Q{C~R9fv}}%yKm4dt<95ci#uXQLfZ{|Y402qf2^b29Ov$${{o|Dnhcg|(&FmaA5ga3?0lxmn&V z-Qmus?_w?VdI~}qsxu|d&3aCO^Oa>Z32&md%x#G;hMta|(Jj8ZK8CxZE#f*_MYhU0 zr$xrOE#l_2h@0OcZb6Ha+|kXxy|3L+!pLsZVPuSx31mFZBd4swnFle^y98_cU%+7 zZC1GEYI=XOj10Hz+l0$;71NYaTi#!PMKMu)L~hie0)w($Qmd7RIeB6ckajJM-c!xD zqx$(YWTKSx$~~+DWGdin6U}pJyObr;VjA*hRu^}TR%-woG}my`8(PY01y;U3T*T>o zG--gF25!B}M;k_W_BZ%Ogck=>rB$3$$t=BQ7)7gCgkYrY9K5+!%e^Oer%bB5t>9Dj z+$@vHyv&;or(-$kk}ZJs#WETXVo$P>q$t;cumqNRGw>o^Ii|s86;eFd2kIqnHE@5` zN876U9A<(YldR@T2=@+ekjhId!=hZMn=nwf9r9CzLA6n9(4Jb&S&VJ6enZ!YjcB^0 ziXl_#kCycHHS$Odwc|>MN?hT(vrY2ihuOE{n3ljUXcYg zW+%Y7`Xd!GZ7i@CkPFXAX+PJHxvuIA6@-?IY#eG6nX3AHC|7k?U?fq#KxP&x+Ig$F zkEC10;#^>APpyzn6;zD7v#Lslv%7ArX;i?7%rT*&p8PPkSZPNv%Kb5)dfSk>O?W;a)DYKRHv9)t~8Y3t6^qo-mX`V?&Rvwh}-dKRm$$YE2vibO@2MMf&@3X z_3mI*ytn{~uh8au(2jopo#Vnbw{Tt6>!a^R{A=+lclB8pGJUDK91D`-)FP<)YI~?; zDG2$q8MPRqgi$1QbRF%eOI;@m`}o%ftJ-bpq}kcg1!cj;x#=EAUfhEffGmvYKDQg# z<~_~S;#Y93UtzZ>S1s?cqd_M^G&$@7mox@d6%BFI zcxV-AauI}p>&UFJRRbxi^g5%=V{$5s?b2oG>`Df|d2c05sn@sW?TeyR-A!x1Bn8LN z6bomC(rGV_WSx&A=9I$8O^TJgSM;dP6-xe$Cf(H0S2zh^&G4Ik^o85zPZZC+b*~{X zNVj49`u5P3eDv$@s;6~3UlwbR?PRNoN;>@Y{?XmC>8~aBT6Vk2xPO!0|{p*$cBq_u%OXU4y3&ypEs) zY?wKQLTVEq4MlCd0wZ}Bo8D9>3$FKd+KFqmnGMr;^gce#)->TJyxg8{#yj^`T`)@7uc`4}IfKy~mEh znpUw=1*%~tk*n7-gwv6z|6qcIXqIVPhtL#$-Su~SbOU}|3VGP14kNSpuF?5gq}|t6 z(bDqheO|i#4I*}8*vZNeY{9H7O%U74Kfl6sCUe0&_G??+<`0_{+l_6Dn1Ep)>;ylj zty8qtb+1$>6+&VqU^PuY4kFyj5G-Bn7?#xF@z2F>vgo1;|3(V^+J=R3w443(r9N*8 z>uYmKTg%|E@90lrye4Hfx~-2l!NQWob^peQa|6(YZo8FP*>x<w$V>}|3-^i2~x)t%Z&Bz@6zA_RYTM&-4P#N6CQyTTU)xE0)g91+YD zdl}~g2oKX9_d?=K&oKAu&yFA5-j80@a-xk7yV~Y%!e6WF)x8QWHK~Lp&fN04hoxKF zBSsB@Ouqh*Yr`2`C0sM!whJF5AlsF1)D{A5VuwiH>En-@7=LD+K5}3yqO&D05MiRFA~TaC zHTV)zZYfkp??H^y+OriuUSsX@vp9FvqB_nB#t_zb+x2o3=6VrcIDv#D+$-AqK6j?JG$*>1bJOlOKYMr;T} zttjTBCMhP(&@3U!*(~XgL8LgwBs>ShCJQcVgxX|TbWWLtUCSK z4pU|@cY;=M)qiR=uuJ~q+Q41^sWGry{^J;M*?(#b?3({L2Hf_a8UwrMKaK&{{invj zF8YsSz(E=-K);53nRca9hD$vI8LXjl16eYQ+qpQ%rp$@xru?o7^S>QiWPK2x7blk=JS zgqobs)aO-eK6nqt&aH71a=f3HopIHchP1Oc9i8>~rc+vMm$=mAZ$UCSqvduX(k<8W zl;{!zR~9CS@0ciIq7ri^C@^<|_<0k=&z~TE!36OOCy4KwAU^Y@PuS2!Yw~rx4YJ7G zks(?ywP6W~m|!m1ZSI=se(S}ZRKLe!?VZTYl6dfS+so}F*@%SwGn=_2Huc6}TaI~Y ztHW1zIJt`ZPcs}V9AHs5W~^N#%9^UpZO6n}G6u2x;3%~-YVEOGr}I50VpyEXw@0mG zF|k`5K5BR0;=nQ45NqACb40EgW)BvFi^yLLOdGXs+pAmkeT532HaC;-`;YfCq$iGl zAKT01np(4PI8{bmQs-Knb>Pa-{W-24hHYbZLrUjp$DQZ4V#pvTsCFjJO4^4^&0~F> z(A@lE{Z8M63ZC!e@Slz8=+0g~W|<(Pcd3&YN^ZcX!X-jRO?!;y#~I%H>IXAetigDg zz@ga6V{35}Iw6zvF>X`j$2*~@L0hir31%}by{8_;M};BIwkX{FbK9imjLB??9Q&L) zJsxz&$yJF<>vv>FD`%%3oZR_47j&1D1)P$1SrS8754xKVt=xxL;XqE3ghx|eU3O3o z<4YM`{~4C^Cxm1wHmu{QOy{e*A=V9Ya?0&wG-dPaj+!=m&JmvR;5&w)(xIY~6s-t$ zD>I{$vMJsApvzfp_DRM&ADN?sbVS>e4(yk$+zgWamacHbuHSMSG`P>f6Q=Yw`+-qzG&%u-g^TB;w? zx+F8tqb08L)pO9FDYYOEN+I7qsE?E;%Hl7C;P*>qUFy%1+Yl;_RGCx*<@R3wXEL1N z6CF)uy{OKynXDB2Cm_jyxm!6bNO`Bi+ym|OM{oFxIjUTC zy5RpdkQk@+Tjm}>ba^<9MH3gf+pL>q%}?CI;c>XrE_Y~h9EVH0S=vqA(R-+SQ#aa~ zU~{aQTf=$wTvOJQ2<2bqG5)4;M7_ zO+ag(KN?JF$yJGwaoWJDkyIAl?XJaX!SXdslGe0v$!D{t*O|nIq$ljokMk{sYjEAE ze#k5k$@|7%Ql>(Q`c8Fl(mW=FPTu_NN*!RN7GYLpHLK0^9mhmAUg^582xrwYQN+=? z>_d%f?(;hTja_@Z)ZKvdl+(%fX!jV?YnSfAjajr@l>79Kit$Yz|FP$=?!>#LE_-or P1q#R=;Wyl+y6FD_7#fw{ literal 0 HcmV?d00001 diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..16803bb --- /dev/null +++ b/po/fr.po @@ -0,0 +1,4019 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-21 12:04\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Bureau" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Menu de la fenêtre" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Vitesse de pliage" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Réduire l'opacité de la fenêtre" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Optimiser la fenêtre active horizontalement" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Lancer" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Couleur du cube" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Plug-ins actifs" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "E_ffacer" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Lancer" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Lancer le redimensionnement de fenêtre" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Lancer le redimensionnement de fenêtre" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Lancer" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Filtre de texture" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Saturation" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Saturation" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Vitesse de pliage" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Placer des fenêtres" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Saturation" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Types de fenêtres à déformer lorsque le focus est sur elles" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Fédération de Russie" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Russe" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Fédération de Russie" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Russe" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Effet de focus" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Vitesse de fondu de la fenêtre" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Types de fenêtres devant utiliser le fondu" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Types de fenêtres devant utiliser le fondu" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Produit" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Sélection du mode vidéo" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command10" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command1" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command10" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command11" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command2" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command3" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command4" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command5" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command6" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command7" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command8" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"Raccourci qui, lorsqu'il est appelé, exécute la commande du shell identifiée " +"par command9" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Plug-ins actifs" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Empêcher la redirection vers des pixmaps hors de l'écran lors de l'affichage " +"des fenêtres plein écran" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Cloche audible" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Signal sonore du système audible" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Remontée automatique" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Délai de remontée automatique" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Détection automatiques des périphériques de sortie" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Détection automatique de la fréquence de rafraîchissement" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Cliquer pour obtenir le focus" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Si vous cliquez sur la fenêtre, vous déplacez le focus dessus" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Fermer la fenêtre" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Fermer la fenêtre active" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Ligne de commande 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Ligne de commande 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Ligne de commande 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Ligne de commande 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Ligne de commande 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Ligne de commande 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Ligne de commande 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Ligne de commande 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Ligne de commande 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Ligne de commande 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Ligne de commande 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Ligne de commande 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command10 est appelé" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command1 est appelé" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command10 est appelé" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command11 est appelé" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command2 est appelé" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command3 est appelé" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command4 est appelé" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command5 est appelé" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command6 est appelé" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command7 est appelé" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command8 est appelé" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" +"Ligne de commande à exécuter dans le shell lorsque run_command9 est appelé" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Réduire l'opacité" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Réduire l'opacité de la fenêtre" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Icône par défaut" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Image de l'icône de la fenêtre par défaut" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Détection des sorties" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Détecter la fréquence de rafraîchissement" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Focus des types de fenêtres" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Focus des types de fenêtres" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Masquer les fenêtres de la barre des tâches Ignorer" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Masquer toutes les fenêtres et focus du bureau" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Masquer les fenêtres qui ne se trouvent pas dans la barre des tâches lorsque " +"vous passez en mode d'affichage du bureau" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Taille virtuelle horizontale" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Ignorer les conseils lorsque la fenêtre est agrandie" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Ignorer l'incrément de taille et les conseils d'aspect lorsque la fenêtre " +"est agrandie" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Augmenter l'opacité" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Augmenter l'opacité de la fenêtre" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Intervalle avant de remonter les fenêtres sélectionnées" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Éclairage" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Liste des plug-ins actuellement actifs" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Liste des chaînes décrivant les périphériques de sortie" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Abaisser la fenêtre" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Abaisser la fenêtre sous d'autres fenêtres" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Optimiser la fenêtre" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Optimiser la fenêtre horizontalement" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Optimiser la fenêtre verticalement" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Optimiser la fenêtre active" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Optimiser la fenêtre active horizontalement" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Optimiser la fenêtre active verticalement" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Minimiser la fenêtre" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimiser la fenêtre active" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Nombre de bureaux" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Nombre de bureaux virtuels" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"N'effectuer les mises à jour de l'écran que lors de la période de vidage " +"vertical" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Incrément d'opacité" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Incrément de changement d'opacité" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Espace entre les fenêtres" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Exécuter en terminal" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Ouvrir le menu de la fenêtre" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Produit" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Délai de pluie" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Remonter au clic" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Remonter la fenêtre" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Remonter les fenêtres sélectionnées après l'intervalle" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Remonter la fenêtre au-dessus des autres" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Remonter les fenêtres lorsque vous cliquez dessus" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Fréquence de rafraîchissement" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Boîte de dialogue d'exécution" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Exécuter la commande 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Exécuter la commande 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Exécuter la commande 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Exécuter la commande 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Exécuter la commande 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Exécuter la commande 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Exécuter la commande 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Exécuter la commande 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Exécuter la commande 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Exécuter la commande 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Exécuter la commande 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Exécuter la commande 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Multiplicateur de taille d'écran pour taille virtuelle horizontale" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Multiplicateur de taille d'écran pour taille virtuelle verticale" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Ligne de commande de capture d'écran" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Afficher le menu principal" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Afficher la boîte de dialogue d'exécution de l'application" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Afficher le menu principal" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Ralentir les animations" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Sync vers VBlank" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Faire une capture d'écran" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Faire une capture d'écran d'une fenêtre" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Ligne de commande de capture d'écran" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Filtre de texture" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "Filtrage de texture" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Vitesse à laquelle l'écran est redessiné (fois/seconde)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Basculer la fenêtre agrandie" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Basculer la fenêtre agrandie horizontalement" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Basculer la fenêtre agrandie verticalement" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Basculer la fenêtre ombrée" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Basculer la fenêtre active agrandie" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Basculer la fenêtre active agrandie horizontalement" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Basculer la fenêtre active agrandie verticalement" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Basculer la fenêtre active ombrée" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Basculer l'utilisation d'animations lentes" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Agrandir la fenêtre" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Agrandir la fenêtre active" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Ne pas rediriger les fenêtres plein écran" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Utiliser la lumière diffuse lorsque l'écran est transformé" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Taille virtuelle verticale" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Menu de la fenêtre" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Ligne de commande de capture de fenêtre" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Types de fenêtres devant utiliser le fondu" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Accélération" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Passer à la diapositive suivante" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Animer le skydome" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Animer le skydome lors de la rotation de cube" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Couleur des côtés supérieur et inférieur du cube" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" +"Couleur à utiliser pour l'arrêt de couleur inférieure du gradient de rappel " +"de skydome" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" +"Couleur à utiliser pour l'arrêt de couleur supérieure du gradient de rappel " +"de skydome" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Couleur du cube" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Cube du bureau" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Accélération de pliage" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Vitesse de pliage" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Intervalle de pliage" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" +"Générer des mipmaps dans la mesure du possible pour une mise à l'échelle de " +"meilleure qualité" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Revenir à la diapositive précédente" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Fichiers image" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Image à utiliser comme texture pour le skydome" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "À l'intérieur du cube" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "À l'intérieur du cube" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "Liste de fichiers PNG et SVG à afficher sur la face supérieure du cube" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Diapositive suivante" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Placer des fenêtres sur le cube" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Diapositive précédente" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Afficher le skydome" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Mettre l'image à l'échelle" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Mettre les images à l'échelle pour couvrir la face supérieure du cube" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Skydome" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Couleur de fin du gradient de skydome" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Couleur de début du gradient de skydome" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Image du skydome" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Vitesse" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Intervalle" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Déplier" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Déplier le cube" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Commande" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Ligne de commande du décorateur qui est exécutée si aucun décorateur ne " +"fonctionne" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Décalage X de l'ombre des gouttes" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Décalage Y de l'ombre des gouttes" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Rayon de l'ombre des gouttes" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Opacité de l'ombre des gouttes" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Rayon de l'ombre des gouttes" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Aligner les fenêtres" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Décalage X de l'ombre" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Décalage Y de l'ombre" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Opacité de l'ombre" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Rayon de l'ombre" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Aligner les fenêtres" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Décoration de la fenêtre" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Décoration des fenêtres" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Types de fenêtres devant utiliser le fondu" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Types de fenêtres devant utiliser le fondu" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Vitesse de fondu" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Effet de fondu au signal sonore du système" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Apparition en fondu des fenêtres en mode mapped et disparition en fondu des " +"fenêtres en mode unmapped" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Fondu des fenêtres" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Cloche visuelle plein écran" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Effet de fondu plein écran au signal sonore du système" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Cloche virtuelle" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Vitesse de fondu de la fenêtre" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Types de fenêtres devant utiliser le fondu" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Point" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Ajouter un point" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Ne pas modifier" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Ne pas modifier" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Minimiser l'effet" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Minimiser la fenêtre" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Minimiser la vitesse" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Minimiser l'intervalle" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Ombrer la résistance" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Ombrer la résistance" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Transformer les fenêtres lorsqu'elles sont réduites ou agrandies" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Types de fenêtres à transformer lorsqu'elles sont réduites" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Contraindre Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Contraindre la coordonnée Y à être dans la zone de l'espace de travail" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Lancer le déplacement de fenêtre" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Déplacer la fenêtre" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Déplacer la fenêtre" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Opacité" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Niveau d'opacité pour déplacer des fenêtres" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" +"Désactiver l'alignement et la réduction automatique des fenêtres lorsque " +"vous les faites glisser" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Désactiver l'alignement des fenêtres agrandies" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Démarrer le déplacement de la fenêtre" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Taille virtuelle horizontale" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Placer des fenêtres" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Placer des fenêtres aux positions correctes lorsqu'elles sont mappées" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Afficher des fenêtres réduites" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Taille virtuelle horizontale" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Afficher des fenêtres réduites" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Solution de placement de fenêtre" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Types de fenêtres devant utiliser le fondu" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Types de fenêtres à mettre à l'échelle en mode échelle" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Solutions" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Afficher des fenêtres réduites" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Taille virtuelle horizontale" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Afficher des fenêtres réduites" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Taille virtuelle horizontale" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Cube du bureau" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Placer des fenêtres sur le cube" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page bas" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Rotation à gauche" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Rotation à droite" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page haut" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Placer des fenêtres" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Rotation à gauche" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Rotation à droite" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Rotation vers la face %d" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page haut" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Basculer l'alignement des fenêtres" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Basculer l'alignement des fenêtres" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Lancer le redimensionnement de fenêtre" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Redimensionner la fenêtre" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Redimensionner la fenêtre" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Commencer à redimensionner la fenêtre" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "Rotation de côté - Glissement-déplacement" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Rotation de côté - Déplacement" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Rotation de côté - Pointeur" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Temps de rotation" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Rotation sur le coté gauche avec le pointeur" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Rotation vers la fenêtre suivante - Glissement d'un objet vers le côté de " +"l'écran" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Rotation vers la fenêtre suivante - Déplacement du pointeur vers le côté de " +"l'écran" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Rotation vers la fenêtre suivante - Déplacement de la fenêtre vers le côté " +"de l'écran" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Rotation sur le coté droit avec le pointeur" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Insérer l'axe Y pour le mouvement du pointeur" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Inversion Y du pointeur" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Sensibilité du pointeur" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Rotation du cube" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Rotation sur le côté gauche" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Rotation sur le côté droit" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Rotation à gauche" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Rotation à gauche avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Rotation à droite" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Rotation à droite avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Rotation vers" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Rotation vers la face 10" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Rotation vers la face 10 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Rotation vers la face 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Rotation vers la face 10 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Rotation vers la face 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Rotation vers la face 11 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Rotation vers la face 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Rotation vers la face 12 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Rotation vers la face 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Rotation vers la face 2 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Rotation vers la face 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Rotation vers la face 3 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Rotation vers la face 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Rotation vers la face 4 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Rotation vers la face 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Rotation vers la face 5 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Rotation vers la face 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Rotation vers la face 6 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Rotation vers la face 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Rotation vers la face 7 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Rotation vers la face 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Rotation vers la face 8 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Rotation vers la face 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Rotation vers la face 9 avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Rotation du cube de bureau" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Rotation à gauche" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Rotation à gauche avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Rotation à droite" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Rotation à droite avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Rotation vers la face 10" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Rotation vers la face 10 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Rotation vers la face 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Rotation vers la face 10 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Rotation vers la face 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Rotation vers la face 11 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Rotation vers la face 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Rotation vers la face 12 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Rotation vers la face 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Rotation vers la face 2 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Rotation vers la face 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Rotation vers la face 3 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Rotation vers la face 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Rotation vers la face 4 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Rotation vers la face 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Rotation vers la face 5 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Rotation vers la face 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Rotation vers la face 6 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Rotation vers la face 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Rotation vers la face 7 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Rotation vers la face 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Rotation vers la face 8 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Rotation vers la face 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Rotation vers la face 9 avec la fenêtre active" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Rotation vers un bureau" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Rotation de la fenêtre" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Rotation avec la fenêtre" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Accélération de la rotation" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Vitesse de la rotation" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Intervalle de la rotation" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Sensibilité du mouvement du pointeur" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Aligner la rotation du cube sur la face supérieure" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Aligner sur la face supérieure" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Démarrer la rotation" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Timeout avant la rotation du bureau" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Quantité d'opacité en pourcentage" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Assombrir l'arrière-plan" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Assombrir l'arrière-plan lors de la mise à l'échelle des fenêtres" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Temps de survol" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Lancer le sélecteur de fenêtre" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Lancer le sélecteur de fenêtre pour toutes les fenêtres" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Lancer le sélecteur de fenêtre pour un groupe de fenêtres" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" +"Lancer le sélecteur de fenêtre pour les fenêtres sur la sortie actuelle" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Disposer et commencer à transformer les fenêtres" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Disposer et commencer à transformer un groupe de fenêtres" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Disposer et commencer à transformer les fenêtres" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" +"Disposer et commencer à transformer des fenêtres sur la sortie actuelle" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Superposer l'icône" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" +"Superposer une icône sur les fenêtres lorsqu'elles ont été mises à l'échelle" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Échelle" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Vitesse d'échelle" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Intervalle d'échelle" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Espace entre les fenêtres" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Espacement" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Temps (en ms) avant que le mode échelle soit terminé lors du survol au-" +"dessus d'une fenêtre" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Types de fenêtres à mettre à l'échelle en mode échelle" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Démarrer automatiquement l'applet lors du login" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Répertoire\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Faire une capture d'écran" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Lancer une Application" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Traitement récursif dans le répertoire" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Écran" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Ligne de commande de capture d'écran" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Quantité de luminosité en pourcentage" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Quantité de saturation en pourcentage" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Commutateur d'application" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Remontée automatique" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Luminosité" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Placer au-dessus" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Placer la fenêtre sélectionnée au-dessus" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"Le bureau à distance doit être en zoom arrière lors du passage d'une fenêtre " +"à une autre" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Icône" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimisé" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Fenêtre suivante" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" +"Afficher la touche de modification si elle n'est pas visible et sélectionner " +"la fenêtre suivante" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Afficher la touche de modification si elle n'est pas visible et sélectionner " +"la fenêtre suivante parmi toutes les fenêtres" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" +"Afficher la touche de modification si elle n'est pas visible et sélectionner " +"la fenêtre précédente" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Afficher la touche de modification si elle n'est pas visible et sélectionner " +"la fenêtre précédente parmi toutes les fenêtres" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Fenêtre précédente" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Saturation" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Sélectionner la fenêtre suivante" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Sélectionner la fenêtre précédente" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Afficher l'icône à côté de la miniature" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Afficher des fenêtres réduites" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Vitesse du commutateur" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Intervalle du commutateur" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Mettre les fenêtres à l'échelle" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Types de fenêtres à afficher dans le commutateur" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Ajouter une ligne" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Ajouter un point" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Ajoute des effets d'eau à différentes opérations du bureau" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Délai (en ms) en chaque goutte de pluie" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Activer les effets d'eau du pointeur" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Ligne" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Échelle de décalage" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Point" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Délai de pluie" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Vague sur le titre" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Basculer la pluie" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Basculer l'effet de pluie" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Activer/désactiver l'essuie-glace" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Activer/désactiver l'effet d'essuie-glace" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Effet d'eau" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Échelle de décalage d'eau" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Effet de vague sur le titre de la fenêtre" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Effet de focus" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Effet de focus de la fenêtre" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Focus des types de fenêtres" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Friction" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Saisir les types de fenêtres" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Résolution de la grille" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Alignement inversé de la fenêtre" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Déformer la fenêtre" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Mapper l'effet" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Mapper l'effet de la fenêtre" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Mapper les types de fenêtres" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Optimiser l'effet" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Taille de grille minimale" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Taille de grille de sommet minimale" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Déplacer la fenêtre" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Déformation" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Alignement inversé" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Aligner les fenêtres" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Friction de ressort" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Ressort K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Constante de ressort" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Basculer l'alignement des fenêtres" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Utiliser le modèle de ressort pour l'effet de tremblement de fenêtre" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Résolution de la grille de sommet" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Types de fenêtres à déformer lorsque le focus est sur elles" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Types de fenêtres à déformer lorsqu'elles sont saisies" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Types de fenêtres à déformer lorsqu'elles sont mappées" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Types de fenêtres à déformer lorsqu'elles sont déplacées" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" +"Effet de déformation lors de la réduction et de l'agrandissement des fenêtres" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Fenêtres déformées" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Filtre linéaire" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Utiliser le filtre linéaire pour le zoom avant" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Zoom - Bureau" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Zoom avant" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Zoom arrière" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Vitesse du zoom" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Intervalle du zoom" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Zoom et panoramique du cube du bureau" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Facteur du zoom" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Accueil" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Barre d'outils" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menu" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Utilitaire" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Splash" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Dialog" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normal" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Menu déroulant" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Menu contextuel" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Info-bulle" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Notification" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Zone de liste" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Boîte de dialogue modale" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Fullscreen (Plein écran)" + +# TLABEL autoinst_2002_08_07_0216__168 +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Inconnu" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtre linéaire" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Russe" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command1" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command11" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command2" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command3" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command4" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command5" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command6" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command7" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command8" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par command9" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Quantité de luminosité en pourcentage" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Quantité d'opacité en pourcentage" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Quantité de saturation en pourcentage" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Saturation" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Délai (en ms) en chaque goutte de pluie" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "" +#~ "Le bureau à distance doit être en zoom arrière lors du passage d'une " +#~ "fenêtre à une autre" + +#~ msgid "Do not modify" +#~ msgstr "Ne pas modifier" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Décalage X de l'ombre des gouttes" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Décalage Y de l'ombre des gouttes" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Opacité de l'ombre des gouttes" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Rayon de l'ombre des gouttes" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Effet de focus de la fenêtre (aucun effet ou effet de déformation)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Sélectionner la fenêtre précédente" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Accélération de pliage (1,0-20,0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Vitesse de pliage (0,1-50,0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Intervalle de pliage (0,1-50,0)" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Fédération de Russie" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Russe" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Intervalle avant de remonter les fenêtres sélectionnées" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Disposer et commencer à transformer des fenêtres sur la sortie actuelle" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Mapper l'effet de la fenêtre (aucun effet ou effet de déformation)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Minimiser la vitesse (0,1-50,0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Minimiser la vitesse (0,1-50,0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Taille de grille de sommet minimale" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Nombre de bureaux virtuels" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Incrément de changement d'opacité" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Niveau d'opacité pour déplacer des fenêtres" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Niveau d'opacité pour déplacer des fenêtres" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Couleur du cube" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "" +#~ "Superposer une icône sur les fenêtres lorsqu'elles ont été mises à " +#~ "l'échelle" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Plug-ins à charger avant" + +#~ msgid "Plugins that this requires" +#~ msgstr "Plug-ins requis" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Afficher la touche de modification si elle n'est pas visible et " +#~ "sélectionner la fenêtre suivante parmi toutes les fenêtres" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Afficher la touche de modification si elle n'est pas visible et " +#~ "sélectionner la fenêtre suivante parmi toutes les fenêtres" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Afficher la touche de modification si elle n'est pas visible et " +#~ "sélectionner la fenêtre précédente parmi toutes les fenêtres" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Afficher la touche de modification si elle n'est pas visible et " +#~ "sélectionner la fenêtre précédente parmi toutes les fenêtres" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Accélération de pliage (1,0-20,0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Vitesse du zoom (0,1-50,0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Intervalle du zoom (0,1-50,0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Vitesse d'échelle (0,1-50,0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Intervalle d'échelle (0,1-50,0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Multiplicateur de taille d'écran pour taille virtuelle horizontale" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Multiplicateur de taille d'écran pour taille virtuelle verticale" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Sensibilité du mouvement du pointeur" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Ombrer la résistance (0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Espace entre les fenêtres" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Friction de ressort" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Constante de ressort" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Vitesse d'échelle (0,1-50,0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Intervalle d'échelle (0,1-50,0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Filtrage de texture (rapide, bon ou supérieur)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Vitesse à laquelle l'écran est redessiné (fois/seconde)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Temps (en ms) avant que le mode échelle soit terminé lors du survol au-" +#~ "dessus d'une fenêtre" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Timeout avant la rotation du bureau" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Utiliser le filtre linéaire pour le zoom avant" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Résolution de la grille de sommet" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Échelle de décalage d'eau" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Vitesse de fondu de la fenêtre" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Vitesse de fondu de la fenêtre" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Types de fenêtres devant utiliser le fondu" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Types de fenêtres devant utiliser le fondu" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Types de fenêtres devant utiliser le fondu" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Types de fenêtres devant utiliser le fondu" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Types de fenêtres à mettre à l'échelle en mode échelle" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Types de fenêtres à afficher dans le commutateur" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Types de fenêtres à transformer lorsqu'elles sont réduites" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Types de fenêtres devant utiliser le fondu" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Types de fenêtres à déformer lorsque le focus est sur elles" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Types de fenêtres à déformer lorsqu'elles sont saisies" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Types de fenêtres à déformer lorsqu'elles sont mappées" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Types de fenêtres à déformer lorsqu'elles sont déplacées" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Hot corners devant lancer le mode échelle (haut à gauche, haut à droite, " +#~ "bas à gauche et bas à droite)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Vitesse du zoom (0,1-50,0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Intervalle du zoom (0,1-50,0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Facteur du zoom" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimisé" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Rotation vers la face %d" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Rotation vers la face %d" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Rotation vers la face %d avec la fenêtre" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Rotation vers la face %d avec la fenêtre active" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Rotation vers la face %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Rotation vers la face %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Rotation vers la face %d avec la fenêtre" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Rotation vers la face %d avec la fenêtre active" + +#~ msgid "None" +#~ msgstr "Aucun" + +#~ msgid "Emblem" +#~ msgstr "Emblème" + +#~ msgid "Big" +#~ msgstr "Grand" + +#~ msgid "Fast" +#~ msgstr "Rapide" + +#~ msgid "Good" +#~ msgstr "Bon" + +#~ msgid "Best" +#~ msgstr "Meilleur" + +#~ msgid "Command line %d" +#~ msgstr "Ligne de commande %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "" +#~ "Ligne de commande à exécuter dans le shell lorsque run_command%d est " +#~ "appelé" + +#~ msgid "Run command %d" +#~ msgstr "Exécuter une commande %d" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "" +#~ "Raccourci qui, lorsqu'il est appelé, exécute la commande du shell " +#~ "identifiée par la commande %d" + +#~ msgid "Window Types" +#~ msgstr "Types de fenêtres" + +#~ msgid "Move Window Types" +#~ msgstr "Déplacer les types de fenêtres" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Activer la partition ZEN" + +#~ msgid "Corners" +#~ msgstr "Angles" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "Focus de la fenêtre lorsque la souris se déplace sur elle" + +#~ msgid "Initiate All Windows" +#~ msgstr "Lancer toutes les fenêtres" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "Lancer le déplacement de la fenêtre au clavier" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Lancer le redimensionnement de la fenêtre au clavier" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "Lancer le commutateur de fenêtre" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "" +#~ "Touche de modification pour afficher le commutateur de toutes les fenêtres" + +#~ msgid "Return from scale view" +#~ msgstr "Revenir de la vue d'échelle" + +#~ msgid "Show switcher" +#~ msgstr "Afficher le commutateur" + +#~ msgid "Sloppy Focus" +#~ msgstr "Focus flou" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "Commencer à déplacer la fenêtre avec le clavier" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "Commencer à redimensionner la fenêtre avec le clavier" + +#~ msgid "Terminate" +#~ msgstr "Fermer" + +#~ msgid "Water effect on system beep" +#~ msgstr "Effet d'eau au signal sonore du système" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Types de fenêtres devant utiliser le fondu (bureau, accueil, barre " +#~ "d'outils, menu, utilitaire, démarrage, boîte de dialogue, boîte de " +#~ "dialogue modale, normal, plein écran et inconnu)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "Types de fenêtres à transformer lorsqu'elles sont réduites (bureau, " +#~ "accueil, barre d'outils, menu, utilitaire, démarrage, boîte de dialogue, " +#~ "boîte de dialogue modale, normal, plein écran et inconnu)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Types de fenêtres à mettre à l'échelle en mode échelle (bureau, accueil, " +#~ "barre d'outils, menu, utilitaire, démarrage, boîte de dialogue, boîte de " +#~ "dialogue modale, normal, plein écran et inconnu)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Types de fenêtres à afficher dans le commutateur (bureau, accueil, barre " +#~ "d'outils, menu, utilitaire, démarrage, boîte de dialogue, boîte de " +#~ "dialogue modale, normal, plein écran et inconnu)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Types de fenêtres à déformer lorsque le focus est sur elles (bureau, " +#~ "accueil, barre d'outils, menu, utilitaire, démarrage, boîte de dialogue, " +#~ "boîte de dialogue modale, normal, plein écran et inconnu)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Types de fenêtres à déformer lorsqu'elles sont saisies (bureau, accueil, " +#~ "barre d'outils, menu, utilitaire, démarrage, boîte de dialogue, boîte de " +#~ "dialogue modale, normal, plein écran et inconnu)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Types de fenêtres à déformer lorsqu'elles sont mappées (bureau, accueil, " +#~ "barre d'outils, menu, utilitaire, démarrage, boîte de dialogue, boîte de " +#~ "dialogue modale, normal, plein écran et inconnu)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Types de fenêtres à déformer lorsqu'elles sont déplacées (bureau, " +#~ "accueil, barre d'outils, menu, utilitaire, démarrage, boîte de dialogue, " +#~ "boîte de dialogue modale, normal, plein écran et inconnu)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "Effet de déformation au signal sonore du système" diff --git a/po/gl.gmo b/po/gl.gmo new file mode 100644 index 0000000000000000000000000000000000000000..df54665c458f086fae7fe8526cbf0054703ee7ee GIT binary patch literal 468 zcmYL^%T60H6o#jWs?vxR>n_|K2u`pAh{(Ap;wq{}P3eHd@?_?8FwEE^+Xgy zk^QerduQFfO~&5cQXb*FfGhIBIIG1q{>;S2u%_Di$KhsrL5=efMxitX98SvsnbRU2 zf6w5^6GjffF-Fp&E#(2oeNalMT`k)n_oQSaT+qxcE?@fi>;T%kLMgqkwj?LhZx|wE z9&M;FI^f{d`%;tVU38?>Tl zRL2g(G*GLcK{`4goh<*TS~5LyHj?Eh9~+)M(nH*7Dm1n$@*DJlV*fHbh0fBq80{B% zII+1aj4ie3OiWD2)zo7Jr_R?w3){SJL%-b>|JweB{nA&P-84C-kh}RS<)*;oFUD1a AN&o-= literal 0 HcmV?d00001 diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..0dc3a7d --- /dev/null +++ b/po/gl.po @@ -0,0 +1,2721 @@ +# Galician message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2000, 2001 SuSE GmbH. +# Copyright (C) 2002 SuSE Linux AG. +# Jesús Bravo Álvarez , 2000. +# +# Proxecto Trasno - Adaptación do software libre á lingua galega: Se desexas +# colaborar connosco, podes atopar máis información en http://trasno.gpul.org +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2002-07-23 11:51+0200\n" +"Last-Translator: Jesús Bravo Álvarez \n" +"Language-Team: Galician \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Propiedades do Escritorio" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Xestores de Fiestras" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&Borrar Windows completamente" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&Borrar Windows completamente" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +# IN +# fuzzy +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Iconas" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Activo" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +# IN +# fuzzy +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Iconas" + +# IN +# fuzzy +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Iconas" + +# IN +# fuzzy +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Iconas" + +# IN +# fuzzy +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Iconas" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Borrar Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Borrar Windows" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Partición" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Partición" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Borrar Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Partición" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Borrar Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Borrar Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Borrar Windows" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Ruso" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Ruso" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Ruso" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Ruso" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Libre en Windows (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +# IN +# fuzzy +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Iconas" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Activo" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Automático" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Borrar Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&Borrar Windows completamente" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Predeterminada" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "&Borrar Windows" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Autenticación" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Reducir Windows" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Reducir Windows" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Reducir Windows" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Borrar Windows" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "&Borrar Windows" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Xestores de Fiestras" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Propiedades do Escritorio" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "&Probar" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "&Probar" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "&Borrar Windows" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Borrar Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "&Reducir Windows" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "&Probar" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Local" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "&Probar" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Borrar Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Borrar Windows completamente" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Borrar Windows completamente" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Mostrar &detalles" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Borrar Windows completamente" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Mostrar &detalles" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Reducir Windows" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Borrar Windows completamente" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Mostrar &detalles" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Reducir Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Configuración do son" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "Configuración do son" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Local" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Borrar Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Reducir Windows" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Libre en Windows (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Reducir Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Reducir Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Reducir Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Reducir Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Continuar" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "&Borrar Windows" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "&Borrar Windows" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "&Borrar Windows" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Borrar Windows" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "&Borrar Windows" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Reducir Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "&Reducir Windows" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Borrar Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "&Reducir Windows" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "&Reducir Windows" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "&Reducir Windows" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "&Reducir Windows" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Propiedades do Escritorio" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "&Borrar Windows" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "&Borrar Windows" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +# IN +# fuzzy +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Iconas" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "&Borrar Windows" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "&Borrar Windows" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "&Probar" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Dispositivo da impresora" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Dispositivo da impresora" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Propiedades do Escritorio" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "&Borrar Windows" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "&Probar" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "&Probar" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Partición" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "&Borrar Windows" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Local" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Borrar Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "Local" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "&Probar" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Borrar Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Borrar Windows" + +# ES +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "España" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +# IN +# fuzzy +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Iconas" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Activo" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automático" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Partición" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Reducir Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Borrar Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "&Reducir Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Partición" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Borrar Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "&Borrar Windows" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Reducir Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Local" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "&Probar" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Borrar Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "&Borrar Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Borrar Windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Partición" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Borrar Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Resolución" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Borrar Windows" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "&Reducir Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "&Reducir Windows" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "&Borrar Windows" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Reducir Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Partición" + +# ES +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "España" + +# ES +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "España" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Borrar Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Resolución" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "&Borrar Windows" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Propiedades do Escritorio" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "&Probar" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "&Probar" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Xestores de Fiestras" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Partición" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Descoñecida" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Partición" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Borrar Windows completamente" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Mostrar &detalles" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "&Borrar Windows" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "&Probar" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Ruso" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Reducir Windows" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Reducir Windows" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "&Probar" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Local" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "&Probar" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Borrar Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Partición" + +# ES +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "España" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Resolución" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Libre en Windows (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Libre en Windows (%1)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "&Probar" + +#~ msgid "None" +#~ msgstr "Ningún" + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Usado en Windows:" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Impresora" diff --git a/po/gu.gmo b/po/gu.gmo new file mode 100644 index 0000000000000000000000000000000000000000..218025a503b0980e15b9695e39860c3edcc629c0 GIT binary patch literal 446 zcmYk1!A=4(5QbNyG1-fWXAkuT(ZTK_0gG#h2!=%Bii-)y3UytCmb6`!n-?F!n>TNm z_y|6V*++4}MEo;fI!*tX&U|mJy*j8>WE(R{X^oFSh2iIOGWCQb7LXW zT$&NLN;8sp65ru)kR~e@~77z(OX5=g#a*cnJqyMgBx7}(tmaBLL>eiLCLSpCX z1V^;u$?i`^Jdst>zvJ2n8+4;4RF=N^1h+y%L-y4mkuf8co5Z@|DAjxfO{K?%5jk00 gP2g9_ZyMy}PT=LMu9MAPve{cU`^skT*~hc<15rkPB>(^b literal 0 HcmV?d00001 diff --git a/po/gu.po b/po/gu.po new file mode 100644 index 0000000..8966984 --- /dev/null +++ b/po/gu.po @@ -0,0 +1,2469 @@ +# Marathi message file for YaST2 (@memory@). +# Copyright (C) 2007 SUSE Linux Products GmbH. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2005-07-29 15:37+0530\n" +"Last-Translator: i18n@suse.de\n" +"Language-Team: Gujarati \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +#, fuzzy +msgid "Draw using tool" +msgstr "બુટ દરમિયાન" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "કન્ફિગ્યુરેશન સાચવો" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "કન્ફિગ્યુરેશન સાચવો" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "કન્ફિગ્યુરેશન સાચવો" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "કેટાલોગ પસંદગી" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&રીફેશ" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "આદેશ '%1'" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "આદેશો :" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "સ્થાપન પૂરું થયું" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "સ્થાપન પૂરું થયું" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "સ્થાપન પૂરું થયું" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "શોધી કાઢવાનું ફ&રીશરૂ થઇ રહ્યું છે" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "&સ્થાનિક ડિરેક્ટરી" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "કેટાલોગ પસંદગી" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "પ્રારંભ કરાઈ રહયું છે." + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "બુટ દરમિયાન" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "કન્ફિગ્યુરેશન સાચવો" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "એકપણ પસંદ ન કરો" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "બુટ દરમિયાન" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "સ્થાપન પૂરું થયું" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "અજાણી" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "કન્ફિગ્યુરેશન સાચવો" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "સ્થાપન પૂરું થયું" diff --git a/po/he.gmo b/po/he.gmo new file mode 100644 index 0000000000000000000000000000000000000000..b4f3d46a88bc73bb9ace43f701b9ae889103eab2 GIT binary patch literal 451 zcmYL^&q^af5XMJY5eD|MXAk8~(aQG3h_RDMSpTqs!KkAkp4y}wM`yZ+?vBp9#lqr2 z@Z>xAEOYZ&tSFd|`q9zkWOgta)aMS!WiQE;H4TS!7O_tGOV!w9e;buhH%jz%62$9O^3rAAA*RA(`)^mEFMt@^9sDHX7@O>{O(zqT5XPi(34iI@(j#=!sIB{M;;1pEop5kC z*q{9\n" +"Language-Team: Hebrew \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +# Label text +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "חלונות השתמשה" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "איות" + +# Radio button for using an entire (Windows) partition for Linux +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&מחק את חלונות לגמרי" + +# Radio button for using an entire (Windows) partition for Linux +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&מחק את חלונות לגמרי" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "הודו" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "הודו" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "הודו" + +# IN +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "הודו" + +# IN +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "הודו" + +# IN +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "הודו" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +# button text +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&מחק את חלונות" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "איות" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "אורך" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "אורך" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "איות" + +# button text +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&מחק את חלונות" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "אורך" + +# button text +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&מחק את חלונות" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +# button text +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&מחק את חלונות" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "רוסית" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "רוסית" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "רוסית" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "רוסית" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +# label text, %1 is replaced by a unit value ("MB") +# Labels for input fields. "%1" will be replaced with the current unit (MB). +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "חלונות פנוי (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +# IN +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "הודו" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +# label text +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "מערכת &קבצים" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&מחק את חלונות" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&מחק את חלונות לגמרי" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "ברירת מחדל" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "בחר לעדכון" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +# heading text +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "שינוי גודל נכשל." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "הדפסה" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +# label text +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "חלונות" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&כווץ את חלונות" + +# button text +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&כווץ את חלונות" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&כווץ את חלונות" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&מחק את חלונות" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +# heading text +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "שינוי גודל נכשל." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +# label text +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "קצב &חזרה" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "סימולציה" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "פקודה:" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +# Label text +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "חלונות השתמשה" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "פעולה" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "פעולה" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "איות" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "&בחינה" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +# button text +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&מחק את חלונות" + +# label text +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "חלונות" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "זמן מקומי" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "איות" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "&בחינה" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "פקודה:" + +# button text +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&מחק את חלונות" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&מחק את חלונות לגמרי" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&מחק את חלונות לגמרי" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "&מחק את חלונות לגמרי" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&מחק את חלונות לגמרי" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "&מחק את חלונות לגמרי" + +# button text +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&כווץ את חלונות" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&מחק את חלונות לגמרי" + +# button text +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "&כווץ את חלונות" + +# button text +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&כווץ את חלונות" + +# Label text +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "חלונות השתמשה" + +# Label text +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "חלונות השתמשה" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "איות" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +# label text +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "מערכת &קבצים" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +# button text +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&כווץ את חלונות" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +# label text, %1 is replaced by a unit value ("MB") +# Labels for input fields. "%1" will be replaced with the current unit (MB). +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "חלונות פנוי (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +# button text +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&כווץ את חלונות" + +# button text +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&כווץ את חלונות" + +# button text +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&כווץ את חלונות" + +# button text +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&כווץ את חלונות" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +# header text +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "מיכל" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +# button text +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "לעבור &למטה" + +# button text +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "לעבור &למטה" + +# button text +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "לעבור &למטה" + +# button text +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "&מחק את חלונות" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +# button text +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&כווץ את חלונות" + +# heading text +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "שינוי גודל נכשל." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +# button text +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&מחק את חלונות" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +# heading text +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "שינוי גודל נכשל." + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +# heading text +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "שינוי גודל נכשל." + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +# heading text +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "שינוי גודל נכשל." + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +# heading text +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "שינוי גודל נכשל." + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +# button text +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "לעבור &למטה" + +# heading text +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "שינוי גודל נכשל." + +# button text +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "לעבור &למטה" + +# heading text +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "שינוי גודל נכשל." + +# button text +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "&מחק את חלונות" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +# IN +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "הודו" + +# heading text +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "שינוי גודל נכשל." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "&בחינה" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +# heading text +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "שינוי גודל נכשל." + +# button text +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "לעבור &למטה" + +# heading text +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "שינוי גודל נכשל." + +# button text +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "לעבור &למטה" + +# heading text +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "שינוי גודל נכשל." + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +# button text +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "לעבור &למטה" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +# heading text +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "שינוי גודל נכשל." + +# heading text +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "שינוי גודל נכשל." + +# button text +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "לעבור &למטה" + +# heading text +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "שינוי גודל נכשל." + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "פעולה" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "&בחינה" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "&בחינה" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +# label text +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "מצב התחלתי" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "רקע" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +# button text +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "לעבור &למטה" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "סורקים" + +# button text +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&מחק את חלונות" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "זמן מקומי" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "זמן מקומי" + +# button text +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&מחק את חלונות" + +# button text +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&מחק את חלונות" + +# ES +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "ספרד" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +# IN +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "הודו" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +# IN +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "הודו" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "פעולה" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "איקונים" + +# button text +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&כווץ את חלונות" + +# button text +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&מחק את חלונות" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +# label text +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "חלונות" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "אורך" + +# button text +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&מחק את חלונות" + +# heading text +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "שינוי גודל נכשל." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +# button text +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&כווץ את חלונות" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "זמן מקומי" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "זמן מקומי" + +# button text +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&מחק את חלונות" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +# label text +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "חלונות" + +# button text +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&מחק את חלונות" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "פעולה" + +# button text +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&מחק את חלונות" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +# button text +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&מחק את חלונות" + +# label text +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "חלונות" + +# label text +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "חלונות" + +# label text +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "חלונות" + +# label text +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "חלונות" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +# button text +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "לעבור &למטה" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +# button text +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&כווץ את חלונות" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "פעולה" + +# ES +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "ספרד" + +# ES +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "ספרד" + +# button text +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&מחק את חלונות" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +# label text +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "חלונות" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "פילטר:" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "&בחינה" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "איות" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "&בחינה" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +# Label text +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "חלונות השתמשה" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "פעולה" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "לא ידוע" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "פילטר:" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "אורך" + +# Radio button for using an entire (Windows) partition for Linux +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&מחק את חלונות לגמרי" + +# heading text +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "שינוי גודל נכשל." + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "פעולה" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "איות" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "&בחינה" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "רוסית" + +# label text +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "חלונות" + +# button text +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&כווץ את חלונות" + +# button text +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&כווץ את חלונות" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "פעולה" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "&בחינה" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "זמן מקומי" + +# label text, Clock setting: local time (not UTC) +# ComboBox entry: hardware clock set to local time +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "זמן מקומי" + +# button text +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&מחק את חלונות" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "פעולה" + +# ES +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "ספרד" + +# label text, %1 is replaced by a unit value ("MB") +# Labels for input fields. "%1" will be replaced with the current unit (MB). +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "חלונות פנוי (%1)" + +# label text, %1 is replaced by a unit value ("MB") +# Labels for input fields. "%1" will be replaced with the current unit (MB). +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "חלונות פנוי (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "איות" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "&בחינה" + +# heading text +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "שינוי גודל נכשל." + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "פקודה:" + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "פקודה:" + +# label text +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "חלונות" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "ממירים" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "טרמינלים" diff --git a/po/hi.gmo b/po/hi.gmo new file mode 100644 index 0000000000000000000000000000000000000000..a526e0a5c964a8e384443ab16d80d10908e3f236 GIT binary patch literal 481 zcmYL^!EO^V5QY~7Lh`Za9?Y#3OzKUD8l0qxT3WS&h^1_idNkQ#YnmOeY%h>&B_4qr z$35^AJOYn^_EDGwM1J{`$D{wZJ->Gzd`npOnO){7^N^V^Yh}zM<_#0?CCN4KJIpVx zd2O`L{?`@VlKV_a=G{kJM7Sv69r|D$X?bnl=5lXVVdea4wl6NRc0R&9l(vB5rVNlf zEk*V^hZBz`atL0Sh+6iQIs`R@G?nQtsr7OpztIF*el5ppz@mgklV zD1xz;&)dy4-oN7JgAq((pWBTj1L&6SNR!?w!ZcM zKA?wFTDZbespaUsjUrn%-YntF`6_5h_2w9+{jvO8PWR~XG~FKyA(F2B+O +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2005-07-29 15:37+0530\n" +"Last-Translator: Prasanth Kurian \n" +"Language-Team: Hindi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" +"\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "डेसक्टाप" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "विन्डो मैनेजर" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "छोडं दिया \n" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "भारत" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "रंग" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "सक्रिय" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "भारत" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "भारत" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "भारत" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "भारत" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "फिल्टर सैट करें" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "अवधि" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "अवधि" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "छोडं दिया \n" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "अवधि" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "windows" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "लीमा" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "windows" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "भारत" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "सक्रिय" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "फाइल सिस्टम" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "स्वचालित" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "अकरण डोमैन" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "अकरण डोमैन" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "अपडेट के लिए चुनें" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "विरचयुल उपकरण" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "लोगिगं" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "सिर्फ मिटाए गए प्रिंटर क्यू सूचीबद्ध करेंद्ध करें" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "लोवर सोर्बियन" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "डेसक्टाप" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "डेसक्टाप" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "windows" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "डिले" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "रेडियो क्लोक (&R)" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "windows" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "ताजा करो" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "टोण डायलिन्क (&T)" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "कमान्ड '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "कमान्ड '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "कमान्ड '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "कमान्ड '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "कमांड:" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "कमाडं लैन पार्स करने पर्ड खराबी आ गया।" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "सिमुलेशन" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "कमाडं लैन पार्स करने पर्ड खराबी आ गया।" + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "फिल्टर सैट करें" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "फिल्टर सैट करें" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "विरचयुल उपकरण" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "विन्डो मैनेजर" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D " + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "एडवांस विकल्प" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "रंग" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "डेसक्टाप" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D " + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "छोडं दिया \n" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "टाइम" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "पीछे का" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "डिस्क इमेज फाइल" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "लीमा" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "अगला अप्डेट " + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "पीछे का" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "लोकल टाइम" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "डिस्क इमेज" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "डिस्क इमेज" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "छोडं दिया \n" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "टाइम" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "कमांड:" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "त्रिज्या" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "त्रिज्या" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "त्रिज्या" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "त्रिज्या" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "त्रिज्या" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "windows" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "त्रिज्या" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "त्रिज्या" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "समनुरूपण" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind विकल्प" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "छोडं दिया \n" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "फाइल सिस्टम" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "windows" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "windows" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "किसी को लोग न करें" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "किसी को लोग न करें" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "रखता है" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "windows" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "windows" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "windows" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "windows" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "विरचयुल उपकरण" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "windows" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "विरचयुल उपकरण" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "windows" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind विकल्प" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "वर्कग्रुप " + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "windows" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "विरचयुल उपकरण" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "windows" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "विरचयुल उपकरण" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "डेसक्टाप" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "windows" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "रिमोट सबनेट:" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "रिमोट सबनेट:" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "windows" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "रिमोट सबनेट:" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "रिमोट सबनेट:" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "windows" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "भारत" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "windows" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "windows" + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "असली समय " + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "प्रिंटर का विवरण" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "प्रिंटर विवरण" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "रिमोट सबनेट:" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "windows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D " + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "टाइम" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "टाइम" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "इंसटालेशन शुरु करें" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "पृष्ठभूमि" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "windows" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "स्कैनर" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "लोकल टाइम" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "लोकल टाइम" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "स्पेन" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "भारत" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "कमाडं लैन पार्स करने पर्ड खराबी आ गया।" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "कमाडं लैन पार्स करने पर्ड खराबी आ गया।" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "कम्प्यूटर प्रोग्राम आडिट रिपोर्ट" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "स्वचालित" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "ब्रिज" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "बूट के दौरान" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "आइकंश्श" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "अवधि" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "डेइमण शुरू कर रहा हैं।" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "लोकल टाइम" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "लोकल टाइम" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "डिले" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "टोकन रिंग" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "टोकन रिंग" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "टोकन रिंग" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "टोकन रिंग" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "क्रिया" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "रिजोल्यूशन" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "निम्नतम &GID" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "निम्नतम &GID" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "क्रिया" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "स्टेपिगं" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "स्टेपिगं" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "सेर्वर सार" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "फिल्टर:" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "डेसक्टाप" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "डेसक्टाप" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "छोडं दिया \n" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "टाइम" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "डेसक्टाप" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "टोण डायलिन्क (&T)" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "विन्डो मैनेजर" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "क्रिया" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "अनंजान" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "फिल्टर:" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "अवधि" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "किसी को लोग न करें" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "त्रिज्या" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "डेइमण शुरू कर रहा हैं।" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D " + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D " + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "टाइम" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "windows" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "निम्नतम &GID" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "डेसक्टाप" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "डेइमण शुरू कर रहा हैं।" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "डेइमण शुरू कर रहा हैं।" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "रंग" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D " + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "टाइम" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "लोकल टाइम" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "लोकल टाइम" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "क्रिया" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "स्टेपिगं" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "फिल्टर सैट करें" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "सेर्वर सार" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "windows" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "windows" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "छोडं दिया \n" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "टाइम" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "डेसक्टाप" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "डेइमण शुरू कर रहा हैं।" + +#~ msgid "None" +#~ msgstr "कुछ नहीं" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "कमांड:" + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "कमांड:" + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "संभरक" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "कोर्निश" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "फ्लोपी डिस्क" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "डेइमण शुरू कर रहा हैं।" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "टर्मिनल" diff --git a/po/hr.gmo b/po/hr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..e3de30f5c67c21422977b04474d0bfc72b3cec95 GIT binary patch literal 535 zcmYL`&rTaL5XQF^73xa8aPDC^fI#g8dw~);yJ1_1F6YsB z-{OKMWbY^%I(utI0guOcX`C-DDY(+-Ic)SQQ(5=W+l4n{#D#2$)WloI5&5($bOAy|lK=1OpQ zg7$S8;^DM*dWuKZRbBzj=B3ZJJMfxjv?fKCNmyTpCKan059d1wU^Um>Ecw5cW;;!~ eF_)!Mz|+&Kg*9T6J(4|1Cysvde>@V8DEbFGn2qHC literal 0 HcmV?d00001 diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 0000000..56c8a6b --- /dev/null +++ b/po/hr.po @@ -0,0 +1,2854 @@ +# Croatian message file for YaST2 (@memory@) +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2002 SuSE Linux AG. +# Copyright (C) 2001 SuSE GmbH. +# Vlatko Kosturjak , 2001 +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-07-17 16:22+0200\n" +"Last-Translator: Vlatko Kosturjak \n" +"Language-Team: Croatian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Radne površine" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Upravitelji Prozorima" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Brzina:" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&Obriši Windows kompletno" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&Obriši Windows kompletno" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Postavke arhiva" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +#, fuzzy +msgid "Fill color for annotations" +msgstr "Naučite više iz dokumenatcije" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Indija" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +#, fuzzy +msgid "Line width for annotations" +msgstr "Naučite više iz dokumenatcije" + +#: ../metadata/annotate.xml.in.h:15 +#, fuzzy +msgid "Stroke color for annotations" +msgstr "Naučite više iz dokumenatcije" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +#, fuzzy +msgid "Stroke width for annotations" +msgstr "Naučite više iz dokumenatcije" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Brzina:" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Trajanje" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Trajanje" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Brzina:" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Trajanje" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Ruski" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Ruski" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Ruski" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Ruski" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows slobodno (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Sažmi izlaz" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Indija" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Postavke arhiva" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Datotečni Sustav" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Automatski" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Obriši Windowse" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&Obriši Windows kompletno" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Osnovni odabir" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +#, fuzzy +msgid "Detect Outputs" +msgstr "Sažmi izlaz" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Pokrećem servis." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Virtualni Diskovi" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Prijava" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Smanji Windowse" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Smanji Windowse" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Smanji Windowse" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Radne površine" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Radne površine" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Obriši Windowse" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Pokreni u terminalu" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Odgoda" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "&Obriši Windowse" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Ob&oviti" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Naredba '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Naredba '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Naredba '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Naredba '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Konfiguracije" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Naredba: " + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Postavi filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Virtualni Diskovi" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Upravitelji Prozorima" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "Akcija" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sydnej" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Postavke okružja" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "Akcija" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Brzina:" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "&Testiraj" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Instaliram presliku datoteke" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "&Obriši Windowse" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Obriši Windowse" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "&Smanji Windowse" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "lokalno vrijeme" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sydnej" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sydnej" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Brzina:" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "&Testiraj" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Naredba: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Obriši Windowse" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Obriši Windows kompletno" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Obriši Windows kompletno" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Prikaži &detalje" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Obriši Windows kompletno" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Prikaži &detalje" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Smanji Windowse" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Obriši Windows kompletno" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Prikaži &detalje" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Smanji Windowse" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Nema opisa" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind opcije" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Brzina:" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Datotečni Sustav" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Obriši Windowse" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Smanji Windowse" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows slobodno (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Dodaj točku provjere" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Dodaj točku provjere" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Smanji Windowse" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Smanji Windowse" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Smanji Windowse" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Smanji Windowse" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Mountain" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "&Obriši Windowse" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "&Obriši Windowse" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "&Obriši Windowse" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Obriši Windowse" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Pokrećem servis." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Smanji Windowse" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Pokrećem servis." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Virtualni Diskovi" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "&Smanji Windowse" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Virtualni Diskovi" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "&Smanji Windowse" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind opcije" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "&Smanji Windowse" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Virtualni Diskovi" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "&Smanji Windowse" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Virtualni Diskovi" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Postavke okružja" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Pokrećem servis." + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "&Obriši Windowse" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Indija" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "&Obriši Windowse" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "&Obriši Windowse" + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "&Testiraj" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Pokazivač na %1" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Pokazivač na %1" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "&Obriši Windowse" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "&Obriši Windowse" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Postavke okružja" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "&Obriši Windowse" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "&Obriši Windowse" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Pokrećem servis." + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Akcija" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "&Testiraj" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "&Testiraj" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Pokrenuti servis" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "&Obriši Windowse" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Skener" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "lokalno vrijeme" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "lokalno vrijeme" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Obriši Windowse" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Obriši Windowse" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Tražim..." + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Automatski pokreni program prilikom prijave" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Direktorij\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Indija" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Aplikacija za zamjenu:" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Rekurzija u direktorij" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Postavke arhiva" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automatski" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Most" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Akcija" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Akcija" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Smanji Windowse" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Obriši Windowse" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "&Smanji Windowse" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Trajanje" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Obriši Windowse" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Pokrećem servis." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Smanji Windowse" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "lokalno vrijeme" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "lokalno vrijeme" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Obriši Windowse" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "Dodaj servis" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Dodaj točku provjere" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Odgoda" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "&Promijeni status" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "&Promijeni status" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "&Promijeni status" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "&Promijeni status" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Akcija" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Rezolucija" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "&Smanji Windowse" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "&Smanji Windowse" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Minimalni &GUID" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Minimalni &GUID" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "&Obriši Windowse" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Pogonski program" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Smanji Windowse" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Akcija" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Preskačem %1" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Preskačem %1" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Rezolucija" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Ime datoteke" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Radne površine" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Brzina:" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "&Testiraj" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "Katalog" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Upravitelji Prozorima" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Akcija" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Nepoznato" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Ime datoteke" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Trajanje" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Obriši Windows kompletno" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Prikaži &detalje" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Pokrećem servis." + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Akcija" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Brzina:" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "&Testiraj" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Ruski" + +#, fuzzy +#~ msgid "Line width for annotations (0.0-100.0)" +#~ msgstr "Naučite više iz dokumenatcije" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Smanji Windowse" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Smanji Windowse" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Minimalni &GUID" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Radne površine" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Pokrećem servis." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Pokrećem servis." + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Akcija" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "&Testiraj" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "lokalno vrijeme" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "lokalno vrijeme" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Obriši Windowse" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Akcija" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Preskačem %1" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Postavi filter" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Rezolucija" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows slobodno (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows slobodno (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Brzina:" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "&Testiraj" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Pokrećem servis." + +#~ msgid "None" +#~ msgstr "Ništa" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Naredba: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Naredba: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows iskorišteno:" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Omogući ZEN particiju" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Pisači" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Floppy disk" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Pokrećem servis." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Pisač" diff --git a/po/hu.gmo b/po/hu.gmo new file mode 100644 index 0000000000000000000000000000000000000000..eb0c0974a46513144e8d4f605e424db49a7f372d GIT binary patch literal 26305 zcmcJX37j2Oo$pI_!VW<;fg*qe!VO8-LRgb@cL<#(A>By`$Wnc8_3g@Cxpi+R-Rd|x z<1RB3M|k2xv0cWOK@^OMKGdgpjXI7x;)b}4j2q01iq1GLyuq38@0?S0>)!4}m^bf! zIQ^}&)Ty)l&;R_-zbgFwu?O7c@w@E>p7$a+_b|`LD^uZKs%yWt`5 zz3@=@0eAuYC_ElM1&848;T*W;G|xL7Zi1?RtBbz{9!31aa31^&RJ~8aN|j& zRqkXs7oG>zo~xnCt$}*Z?eJ(=f@i~*!875z;9~e$NY}jILX|(jxAhza=M#UCi}%B` zh_8n#w-u`2uYxqm+YS$e4??ByhUdUNQ0@Ae<1Q_IMTx^2sZxfyjUjeUzZ-XlTxJ!Qus-FFsWTw(P2CBV_p~mNOco`gp zOX0onQuqz1c{+kZdd|gA?Yai4y+cs#30!^*^_)L~lFK)_^t+&z#ycTZdLMxrhwnN5 z4C?vMLe0aaJXHBNK*a;dlz16_? z`F}Ii{qKf{z>h)A$7i70`8cF0-Y=l;I{{(52wn}9--K${8y(*ZPbB_HsB!-mWGQ=3 zLOuV$^DK{n>c^>2<*$L7@6C{+UK#SAcQ=1DPLDv%!;|n3c=`g{&-ri;@f_5=FNOVZ z82a!YsQMm;ny(*0J@=PT&zpO`z5g7j`C9@t-hGZEQ1VrPs{fTx{k|6>qTWu(Qu7{z z8u#Bp-T!;XBXhR=X;9;FG1PPV;GuA%i{B144h?t^d?Qr9-VF7;x5LBWhaErV_(iC4 z-*WLELf!u~JRJTSs-OEWwDA{0$<3MYV0fELFG8({CRF?10*!uvl80ST<-Y(`?^odk z@cU5DKZ?i^@MO3I&WGyH%}{!{303Y5j(0)z=bcdV`F@wa%kfh#|8HIXWAH%AJpt9O zpFpj<-$2RZVT-JOyap~M{yI1aAAuU@BNp4|od8wOnNa;W7fP-#fok8a@JJZB{B2P3 z_iE_F`=R9Ei!T33sPeyp>i_<9UOWb>f2YHv;R1LJyuzhl54G-Yf@((tYP?ZoIIIVFUf&Ayagg+Xu zyP@iPJ5;$HQ2l)fo(S7e^?w(h51)Z*&pFF%`5T~~yBTU6>QME)25LOt4Asv2pz8S$ zRQ+FpD)$2y|2b4SDLdsK2Q@EeLygA@$dG#h)HuHt>i+jZ>G7RV&-*A;KlVV4`e~aQ-@XfT zaKCG;y}Jmi{!u9TzY}Wy-|pfM!3&5#0#)xXq2_b{W;Sx9kHLkCP>fc{NweP)9<#)rg;1^x`FQMdOzkX|X z9sxCvYv2L!CMdmr8&v-ysP*|u$Gf5C?|v8mJk)c)2Tz7iL(SWq0ejzB@J!;DLFL~9 z)&Fg99sDb(^1p$n!DCk0aasiD6TimABZ%mFlW+*`f@|RZ*V=Jk2N7lOKB#g2F4Q>u z6lxrvg_^(PR$Dnc2P%IV)c6g$^i5Fh-2xFc@6Vv-@ym|ifj1L>3Z4%8uCx6wzL$0y<0@M}=x_B+Qz5#|esp9EEYHPkvR z!bR|pAgb52Rxz#&qt?g$K9!Puw9tB?p)t)y&weNm-7W^TUemewVkQ`kN)&Coy zc!I$y&+!xRXyV^-{3$$&__OdBc*L-s=hLC; zSpe0~rSMod1V`ZQF1`zDy?q`ogg=IQ?pz9KeVzx^j}=hzu^Ao#^HBZ110Dz80agEp zAWO~L1J&-sH`sYO530Ybq1t&PRQWAX?SHw;ztiR4>+(O~@*jbc>qnv5^-ag0LmuTF zv=P~XH$#TlYr_IOev=)qDX4b85gr2XfojLQ;9~e;sDAtes@=~(&C7{5+HqM7wN7q_ zFNS{#Pk{GB-PeZ4!^a$d1~pInZ?^rL3l%@h#V>}cuivFdP;xc}HO}`zwPOd=_R{4_>{|k7V5dD++@=iL$zlBYTj;w>h~Q`^6(0%e!mH--|v7b_Z6smo`kCZS*ZCs z7G-o2JOiErFNZ$d1SL1yT>LJmdUiX03921Ga{Mh+`NLmg>pvH&U01;q;Tm`u458NN zeNg)D^Dh6N;X%X?xW(?Hhe4IQ5UO7vj=Jmwe?08-QjedoC{sh$c zzX6^M?}ewpk3jY3Yf$z6JJh@%b31z_JOfG(zYURO*8Y16;cM&#m{Ym%_gnuSnM;tT5`y%1(gjW!TN!uU( zU&3s^&ycA3(eE{c5y~e&M9-X&lK8RY{RxpjCcKsKWkQ{x-vVei_vaSg;oS4A zyB5Am*hQFBgx{wvyq8e!m0S-HmJ@Qs^*bE~a6h=yq}X}6p6d@NpYT^M{okR+Qor>U zMuy+uuD|E_Iruc;TZFS++E3vPge5%Z#e|=5Jwf;zg4V}p3Ht3JOcNyQ`bkE25Z*$# zmvA}vUJn0>a1lX2txNq@6C@k@9Z5O;{+e(o*UJen=2|kcm7w1-q}>i5CNv28Y0Vu- zID@DiLC1F3VKdeN4zb4#B+GZ28e_jYKA>8cJ zR>CI;_Yw3iLcd=SK1BEfky~ux;oy-b%pRa;bhX55kAHBTEg{QpF_BsYyJ8OzApGpS$I#uQz>%` zLBID}n7HnMSErfXl{YD4}k+%-6aAn@iwRF@k31<@Wgov<_u-KLPd#)F9EuH-;!p{g*!cxMc zgwqHIlYbTA4z82m|KQ>f(%$3}F5!9}LBAKk5Ppo%BwRr_m7rgrEAvvW|CUfDe4cQe zOaCs{gM{}G&Lik|2H`luFyYS#e@gfdLh^esxqvSse4TJKVV$e<6i1T0*Avbr{xU@} zzdN~Z5f+j6adQqWFr5{^_)!oN!A9^4koe&&LN%%j6dtBbAV+}5)%zDCF!t03t3*j`b^(zowLO4uzl%^JTuZzUUQ9TO@Q;LxNV^T{H^8-i?Y~*QPCcjn>@=3(LWz zNuVQ9p4n1O?KvOWHcNn>NgufH7>U_d44@;Aa1nOiHI#Y zTZHEZ^rRNX)pMHucz{fg)$*;_TaikIE}5l~nm^E}AsIFrvlfh?*;*xUV-#B#CfP*r3&G0lxJS)&2{C^mvZ zq*XC%J-YMxRZ<02NhCWuh<4*N{yHBX65xG?*0#WHHU$hvZXHtsX4*2zRQlGlgA zHh&N}6=>FKW#R}*JRYF5{Tq?Bu{dmYC2pQAF&(QGp1dHscA=ns^m zy5Cpr%fyCQYMJOdZBD3^{%Rn#X!a_$sIHC58wd(0Z=-L_rQN`M<|nH;O%`)x=a0=! zTAh8Sj?f_4{+Mbp!{s(AQ=nC~Mf4C2%_gVIjJh|=$Slyns(iCGS}o|WVS`1rxL74@ zj@JrW&^!qt9z|bDQF&$zMk2NybH(B*hht5DA_}+GYmKI9+SZ^^Px_t~Guv)j%rusb zx5x(1&O5pVb*Gi+w$zZ}-q)RIINg_w@AJOVEsDL|XO#24x+JaZn~i?JT=p9i#Iq4Q z6@tl#TftT))G zYmA3Asa7?jg1!;DQVBOwZN}3n2hS8q7J#fU zZRM^SBSGvMq1iuCBN%ed=&RJQ?XImgqA7M%hHPWhXlm$&qba3N&>lrEmQ))LHDU zHrEW8Hpu|H5;L^LgOmNzZHwM&JtwQ}(**Z~L}jh6M$Je{Ho0&k>l>Zao45{(0mU?X zvOmC7V+^NrvyWm&W> zk_B#65tO8xoVbdHR?F4|ttuO8#%d;MQusOh+4sTp#mw+{X zIvYMRQQ)*z&~s(wjmZGxMl<$FEv`YB_0BrA#}T^Z9)o#D17j`zd?OmwP};_)Cx|t* zt*m$}kDiUVAsj^k2F-E5hF!`o?e@x{fJ2Zg5szaLH@u;so+xx(+PXR^R$t7B+hW}8 z^4)D6%~YP8k+~6Z;+Vxbrjylem#5WrCHv#4zT4}qzGOA2Tvp9c#L-d8&23g`JZX87 z-}R`@Z74ysWO`RK*~yX=m)ENJW?L}&*W{6+j)vR1GPDU%o8Yfm+m~FH!-=q*tBvJ2 zCI(U28>$t8va>9u>yoK8*IVs@=6W6Shs`11TqemZwxH}?Uu#BV?l9|J->Qr<`v_j2 z-9KV)t+5{cVdf$9)>aWd4(?j0iG9+l7tp*2UCZn~$+%)B1=W&7kn&Nj;3XEjBPVS3 z`6OccrRSnebdPN#PuKZ1V1tliptUA$Gkug!%d>jaw>obeeS+h}C2}{7k$rDAwiwjxei zStHf!zJ(_Te%+iKW@MNJPb%7_4})8Ga=8Y((p|2X8gkbg>h40exx17J>Mo7#=B`nX z#vr$Und3yErwPL$s-HtIwhd|Z7AFYj+OP*R8Mf9KGFsc5%B=&*4#j`zCS$cT?OBcg zoFAT=ThF%vJvZ*P5$3qF4x`RVinp#+W(PHYov)1u9<+4-w8u*0-!gs{>m}1^564f{ ziIedG`D-x-@NOJuncS|+igD>)xz)A+t~t66!Ur*a@}<( zU2pcC#1BE9vF|on#o=OZbk`fNnY9euwK?_}*~}(b33VyiTwODgY%<9MY?WO%n8<9U zMrxj`GqG*WT5)Mc?A^7Mdl$jVOio(K{iX@oUdh|mbuKaYD%GA%(r9`IwZ?SXzc zbxiW+SW43Tb^e9SwQ-;3nJRojy*s=uX15S~o$entYFisqw;Zy@QtMoHxm7Yn&@plv zd&4u=s!Qrw2$W29fRynJ6K@!wLZ~B+b6t2gq0ybd@x$#JH<|*S_~tb3+&8+PY)4lqMnFJ=Lns0KV^K;qsu-V~E()VVoRGuh2?_OPnv&oqk*f}gDPEyXYF~=qyxW}a+G#W-xbe={+T&n3qUq?YdmMB>eP5nF1t2Uo3o>)WL&YT6Sd`SsE*+obFk;Z4b@Ur2H%Es@h2N< zCZ%iCD4M*n^E3W3D;cr3fzIoFp$4HW`_i_~nl(mBljbv?DjZuaAR#WBmAADvI?B<& zjgxi3c^jIMJY}9lCOO`)cO>qxM3TCFQd!sDCM@bkav-x26d2BIYomLc^cKna`* z>d%;i*%uz(CJj>BVB;xsx>!ruO}t&D9eqfxc5LmF741CmCf*Zx`a>`6I|>t7UA2iE zj_ie1;U+It6egyJ);SS%nN%hR4+L*)ymgJ5{L#79g&gx0Gb+oZ@#@jkob{o++_|B+ z7!`6WTE#dwQd{QFS+{m1w-UFVPC>aoW^kFmWYMBabBiv{Ene&|zHr&1CAmcxEm}mu z+1foPb7RiAl1)oj z1f#5w#S0fNUU<7VYyO^H3|c!-;F)nFVpS)oUq~D4( zdzz}N6!!+y(cmoC5bna8Z+t) z$WHHCPRC~8{Cpf%i+i?bQsg*{r}&h@HSgcOcD2b5!a-cg|a}bvq^^kGr zU^|GFQ4O1sAI4KOc&fd-H~I3!NoXQs0W!9e5ki#8Mr@5&wru4*5$9}SEkxV6J=+^0tIG^E zf;c^&zBTsmDREH@|$I7(|Pi{}sJH7*nr?jZp zhmsPgl0Q(LYsho0Z%xQ_Hwq{j5w~EA7EdEMpHYwTPlnKLMFyikGvKvlL zFsgjbmE8|n(bb@+{mTfhL|;?K0P4)B6=hZRG;e;9sOhTLUnD=-Mfp;rBsbrdshU=G z=gMdXt7@mhGIP~nlVtVWm_sL)N zn@?`0yb+S2RRU3yDTcFb3X|`&Acdk5QA9h)vH8U^ge+egIf$(FsA&qWxlidk<`u{+4c%P`)4Si2GSlO4B?6(hSQ zW4~pelFp=t`2V>w#>Z`d|1H&JM`;U3qUSYCc4KFerN*Q-`i^OArNHf+xkLi7vy6`Q zi?YUz;09@0#t=!0X*Q+hQ2r0Ix9^lyj-$xf#YSpb-w5c;B>Xs2Ew;fZPEEWSx1r_J z1+=qc(
8Gy-rd*%a|T-+*3n{`EoRgg2HE5EE<>Cotxsq8WR3~z+tYbtNsJ=al27#a zII5M;DQVMmIUg8x%JvxY9;WN?B;uM(Jc&t0ZeMC0n&U#^_jr^<<7T+U|{w z>3WI+-&q)yO_k^ za-Qf;+fghB*k@*Y2#xw-9!)e|^qOsB&*G|xC9l2l&7AG4MVX;=joLV}o3(3Jn=t`! zXHTJMtWj@A0h#8rdaNt6hPC}@Iwx3?oda&Rsr{^X=F9BsMt5i^%~wHF+{=j}A9c_C ztT(th%MjRtR0=HZDWK1RK%xY2GP24?B59- zT|rSEjI8Sb)5ACpI=PIYn=!0_aEmm7I~t&@^r?~hVm>vp%Nd_;%!F;R>JV$euKcXq zfrq4pX7K{xaV>}K2O7)(&Q9iq?<(k6o=Hw`;~2o`S0@9uX0zsWFz8Of%$!8=PR9{` z17? zp4UvWv0j}@XCvE7p|SSIi#T9d{n%BMvYt8Hm);upo!k4oebvN~zU#5pfFII3f=&-o zlOSn(cQ*a*dPHw-Z*3X#rYFlkUuUbj+(x)?$u99D?0JBYPxeJ)l;nD?0DEgNL(}wD>YgI5*aDo@s$+PxJx9 zq@~d{>lh|>L%>nW3qp*SRy-P1XW4*fN$Q+dt!#8QSrj^JChI)4`YIV#`<9c*%s3O% z(bF-qE8S@h>u|ztCa;&78{-DTXN|9REW}8*jsw|6+EPf;icifGn`&(-vmwYgVm`-0 zA7uTNc3L^oCFj$Q*038%a`;IMALb`pS{qnc#3!JJ^0fnIuy&bI*Tb2m<#CY5LmFge zu69v|&s$~OO~#@|ZFWUD-eHwy3&^zYNuohrMgFUG=yiY`UG8`uneTJ0lEkWXsi;%- zT--sE8KjLzMl&{~-1!n2>yXw?6Lg&?&0@ha%2+9GIGsO|KD3~-N1TOPqVQLM_Z*5hk>0|wfAS6#OLz$R(XnlhLc=$RQ({vT*s_K zlXQu9IEug74489kA=&cCnKNJ3@1HuBljCD%S-b5-qoi|P#)FMQ>+y6WFYb*4j)y9j z#=+sYus+f)HM9M*gvRibw|AsY@nmIXE9$ttlh*C+)kE?Y$5?R<=L$4c_Ig`gr;y`} zno0b+*qinY!V7`qQjQsxX(#U1Z6~3(fQhF%jh8yIe%c?$-09piqY|62@4MJYGVkho z-cbeK3N^Ij?(wcO3MP}#dAzBH(?M6q5?wiai?g1PPDL4Gp_7<+L%JNT{IlYwjtn~3 zcDy*?ldtKyv|LC zL)Yr+i6$<3Jifg-S<9Ndj%6{cis@SHy{f^f>CBGZqpwq^G4H+Eka@jg#`X^---xEL z77ClPb31RIC5;u*V<7Cs!EBv0&U*I-_H1X*x8_0C?c&YL9{)PBFwd{|IOBWw9^*yn zO+*G{Z3et=Zji?au)Jhen8Sd3|Av<7*~j+YJo_3r(IYw{Go#&eBZ{1j@tJ5=e z=19%{k-nLe>$z2A74g#7nJJlbc=|e#K?(RLVZ4xzaPVc`*z!RJ9y}vQ$tfSh*BtQe zvXwE02GVyb?(oqW=cGz}Vm-B_jnO{ND~_bQ@b}zy-VMzf3Q4;+sM9=k(JPt9+ACZcmMg}6d#}I*k3DP ztmJWgo@_qm~eRgJ^49j_`KYgd?5)yArHfN>+oR^xk*>bZeuzeIXC*+SZIS=!QX zU%w)0{Le31qrAP{Q9{w6Z&Hob>nh|U3%&PFmZIJp=or+i@}wsRBln)eeKAl<;wW;x zh7S2oF)@sL??+IxgFiFdy&q4jMlg-J!*vQ<=8xz&W4Vjm8a)+C*WIFc^nh!W+8x?uU zD~+ga*quBxM>k`?+A2E}q^qoYUhT%8y(4fteRfyYyzfmmmBDGUYyNoclQd8EQqn%} z`t-|(tf$NGd=L?2iws72{x!1sRDw^NI`?L`w@hlf!Oe1}$vnXW0xKx!0{{R3 literal 0 HcmV?d00001 diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..5b20628 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,3102 @@ +# translation of compiz.po to +# translation of hu.po to +# translation of compiz.hu.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Kalman Kemenczy , 2006, 2007. +# Gabor Kelemen , 2007. +msgid "" +msgstr "" +"Project-Id-Version: compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2007-02-20 15:08+0100\n" +"Last-Translator: Kalman Kemenczy \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Munkaasztal" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Ablak menü" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Elmosás sebessége" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Ablak átlátszatlanságának csökkentése" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Aktív ablak maximalizálása vízszintesen" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "Feljegyzés" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "Feljegyzés kitöltő színe" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "Feljegyzés körvonalszíne" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "Feljegyzés bővítmény" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "Törlés" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "Rajzolás" + +# 58721 AttribValues/label +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "Rajzolás az eszközzel" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "Feljegyzések kitöltő színe" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Indítás" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "Feljegyzésrajzolás indítása" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "Feljegyzéstörlés indítása" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "Törlés indítása" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "Vonalvastagság" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "Feljegyzések vonalvastagsága" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "Feljegyzések körvonalának színe" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "Körvonal vastagsága" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "Feljegyzések körvonal-vastagsága" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "Alfa elmosás" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Ablakok elmosása" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "Elmosásszűrő" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Telítettség" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Telítettség" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "Elmosás sebessége" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "Ablak elmosása" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "Elmosás az ablakok áttetsző részei mögött" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Telítettség" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "Ablakok elmosása" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "Fókusszal nem rendelkező ablakok elmosása" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "Az elmosáshoz használt szűrőmódszer" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "Fókuszelmosás" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Ablakok elmosása" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "Gauss-sugár" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Gauss" + +# RU +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "Gauss-sugár" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Gauss" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "Mipmap részletesség" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "Mipmap részletesség szintje" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "Impulzus" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "Impulzus effektus" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "Ablak elmosásának sebessége" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Elmosandó ablaktípusok" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Elmosandó ablaktípusok" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "Kimenet klónozása" + +# /tmp/xapi:301 +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "Klónkiválasztás indítása" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "Kimenet klónkezelője" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:2 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:3 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:4 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:5 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:6 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:7 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:8 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:9 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:10 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:11 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:12 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Aktív bővítmények" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"A teljes méretű ablakok nem irányíthatók át képen kívüli pixeltérképekre" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Hallható csengő" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Hallható rendszercsengő" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Automatikus megnyitás" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Automatikus megnyitás késleltetése" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Kimeneti eszközök automatikus érzékelése" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Frissítési frekvencia automatikus érzékelése" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Kattintson a fókuszáláshoz" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Az ablakra kattintással az ablakra irányítja a fókuszt" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Ablak bezárása" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Aktív ablak bezárása" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "%d. parancssor" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:38 +#, fuzzy +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:39 +#, fuzzy +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:40 +#, fuzzy +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:41 +#, fuzzy +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:42 +#, fuzzy +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:43 +#, fuzzy +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:44 +#, fuzzy +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:45 +#, fuzzy +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:46 +#, fuzzy +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:47 +#, fuzzy +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:48 +#, fuzzy +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "A run_command%d által elindított parancs" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Átlátszatlanság csökkentése" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Ablak átlátszatlanságának csökkentése" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Alapértelmezett ikon" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Alapértelmezett ikon képe" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Kimenetek észlelése" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Frissítési frekvencia felismerése" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Fókuszmegelőzés" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Fókuszmegelőzés" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Kihagyott tálcaablakok elrejtése" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Összes ablak elrejtése és fókuszálás a munkaasztalra" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Az asztal megjelenítése módba kapcsoláskor a tálcán nem lévő ablakok " +"elrejtése" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Vízszintes virtuális méret" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Maximális méretben tanácsok figyelmen kívül hagyása" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Méretnövelési és méretezési tanácsok figyelmen kívül hagyása ha az ablak " +"maximális méretű" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Átlátszatlanság növelése" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Ablak átlátszatlanság növelése" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "A kiválasztott ablakok megnyitását megelőző intervallum" + +#: ../metadata/core.xml.in.h:68 +#, fuzzy +msgid "Interval between ping messages" +msgstr "Ping üzenetek közti időköz" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Világosítás" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Az aktuális bővítmények listája" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Kimeneti eszközöket leíró karakterláncok listája" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Alacsonyabb ablak" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Alacsonyabb ablak egy másik ablak alatt" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Ablak maximalizálása" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Ablak maximalizálása vízszintesen" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Ablak maximalizálása függőlegesen" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Aktív ablak maximalizálása" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Aktív ablak maximalizálása vízszintesen" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Aktív ablak maximalizálása függőlegesen" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Ablak minimalizálása" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Aktív ablak minimalizálása" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Munkaasztalok száma" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Virtuális munkaasztalok száma" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"A képernyő-frissítések végrehajtása csak a függőleges törlési periódusban" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Átlátszatlanság mértéke" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Átlátszatlanság változásának léptéke" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Ablakok közti távolság" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "Terminál megnyitása" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Ablak menü megnyitása" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Kimenetek" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "Ping késleltetése" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Kattintás esetén megnyitás" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Ablak előtérbe hozása" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "A kijelölt ablak megnyitása ennyi idő után" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Ablak másik ablakok fölé hozása" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Ablakok megnyitása kattintás esetén" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Frissítési frekvencia" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Párbeszéd futtatása" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "%d. parancs futtatása" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Képernyőméret-szorzó a vízszintes virtuális mérethez" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Képernyőméret-szorzó a virtuális mérethez" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Képernyőkép parancssor" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Főmenü megjelenítése" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "\"Alkalmazás futtatása\" párbeszédablak megjelenítése" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Főmenü megjelenítése" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Lassú animációk" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Szinkronizálás VBlank-ra" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Képernyőkép készítése" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Képernyőkép készítése az ablakról" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "Terminál parancssor" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Textúraszűrő" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Textúraszűrő" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "A képernyő-újrarajzolás gyakorisága (alkalom/másodperc)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Ablak maximális méret átkapcsolása" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Ablak vízszintes maximális méret átkapcsolása" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Ablak függőleges maximális méret átkapcsolása" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Ablakárnyékolás átkapcsolása" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Aktív ablak maximális méret átkapcsolása" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Aktív ablak vízszintes maximális méret átkapcsolása" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Aktív ablak függőleges maximális méret átkapcsolása" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Aktív ablak árnyékolás átkapcsolása" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "\"Lassú animációk\" effektus kapcsoló" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Ablak visszaállítása" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Aktív ablak visszaállítása" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Teljes méretű ablakok visszairányítása" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Szórt fény használata képernyő-transzformációnál" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Függőleges virtuális méret" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Ablak menü" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Ablak képernyőkép parancssor" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Elmosandó ablaktípusok" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Gyorsítás" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Továbblépés a következő diára" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Kupola animálása" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Kupola animálása a kocka forgatásánál" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "A kocka alsó és felső oldalának színe" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "A kupola tartalék színátmenet alsó színállomásához használandó szín" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "A kupola tartalék színátmenet felső színállomásához használandó szín" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Kocka színe" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Munkaasztal kocka" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Hajtás gyorsulása" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Hajtás sebessége" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Hajtás időköz" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" +"MIP térképek készítése, hacsak lehetséges, a jobb minőségű skálázás érdekében" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Visszatérés az előző diára" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Képfájlok" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "A kupola textúrájaként használt kép" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "A kocka belseje" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "A kocka belseje" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "A kocka tetejére kerülő PNG és SVG fájlok listája" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "MIP térkép" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Következő dia" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Ablakok elhelyezése a kockán" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Előző dia" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Kupola renderelése" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Kép méretezése" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Kép méretezése a kocka tetejének lefedésére" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Kupola" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Kupola színátmenetének záró színe" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Kupola színátmenetének induló színe" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Kupola képe" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Sebesség" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Időköz" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Kibontás" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Kocka kibontása" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Parancs" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Ablakok méretezése" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Díszítő parancs, amely akkor kerül végrehajtásra, ha még nem fut díszítő" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Árnyék X-eltolása" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Árnyék Y-eltolása" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Árnyék átmérője" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Árnyék átlátszatlansága" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Árnyék átmérője" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Ablakok illesztése" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Árnyék X eltolás" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Árnyék Y eltolás" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Árnyék átlátszatlansága" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Árnyék átmérője" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Ablakok illesztése" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Ablakdekoráció" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Ablakdekorációk" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Elmosandó ablaktípusok" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Ablaktípusok, amelyek elhalványulhatnak" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Elhalványulás sebessége" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Elhalványulás effektus rendszerhang esetén" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "Leképezés esetén az ablak erősítése, lecsatolás esetén elhalványítása" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Ablakok méretezése" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Ablakok elhalványítása" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Teljes képernyő vizuális csengő" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Teljes képernyő halványuló effektus rendszercsengő esetén" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Vizuális csengő" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Ablak elhalványulásának sebessége" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Ablaktípusok, amelyek elhalványulhatnak" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Pont" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Pont hozzáadása" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Nem módosít" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Nem módosít" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Minimalizálás effektus" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Ablak minimalizálása" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Minimalizálás sebessége" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Minimalizálási időköz" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Árnyék ellenállása" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Árnyék ellenállása" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Ablakok transzformációja ikonizáláskor és visszaállításkor" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Ablaktípusok, amelyek transzformálhatók, amikor ikonizáltak" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Y megszorítás" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Y koordináta-megszorítás a munkafelületre" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Ablakmozgatás indítása" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Ablak mozgatása" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Ablak mozgatása" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Átlátszatlanság" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Ablakmozgatás átlátszatlanságának szintje" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "Az ablakok azonnali, automatikus visszaállítása azok mozgatásakor" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "A maximalizált ablakok azonnali visszaállítása" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Ablakmozgatás indítása" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Vízszintes virtuális méret" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Ablak elhelyezése" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Térképezés esetén az ablakok elhelyezése a megfelelő pozícióba" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Ikonizált ablakok megjelenítése" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Vízszintes virtuális méret" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Ikonizált ablakok megjelenítése" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Kerülőmegoldások az ablak elhelyezésére" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Ablaktípusok, amelyek elhalványulhatnak" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Ablaktípusok, amelyek skálázás módban méretezendők" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Kerülő megoldások" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Ikonizált ablakok megjelenítése" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Vízszintes virtuális méret" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Ikonizált ablakok megjelenítése" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Vízszintes virtuális méret" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "Munkaasztal sík" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "Ablakok elhelyezése a síkon" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "Gördítés le" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "Gördítés balra" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "Gördítés jobbra" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "Gördítés fel" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "Gördítés le" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "Gördítés balra" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "Gördítés jobbra" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Gördítés a(z) %d. előlap felé" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "Gördítés fel" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "\"Ablakok illesztése\" effektus kapcsoló" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "\"Ablakok illesztése\" effektus kapcsoló" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Ablakátméretezés indítása" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Ablak átméretezése" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Ablak átméretezése" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Ablak átméretezésének indítása" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "Élforgatás egérművelet" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Élforgatás áthelyezés" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Élforgatás mutató" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Forgatási idő" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Forgatás a bal oldali nézőpontig és mutató léptetése" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "Objektum kép szélére húzása esetén forgatás a következő nézőpontig" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "Mutató kép szélére húzása esetén forgatás a következő nézőpontig" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "Egy ablak kép szélére húzása esetén forgatás a következő nézőpontig" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Forgatás a jobb oldali nézőpontig és mutató léptetése" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Y tengely átalakítása a mutató mozgásához" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Y mutató invertálása" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Mutató érzékenysége" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Kocka forgatása" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Forgatás balra" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Forgatás jobbra" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Forgatás balra" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Forgatás balra az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Forgatás jobbra" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Forgatás jobbra az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Forgatás" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "A munkaasztalkocka forgatása" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Balra forgatás" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Balra forgatás az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Jobbra forgatás" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Jobbra forgatás az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Forgatás a(z) %d. előlap felé" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Forgatás munkalapra" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Ablak forgatása" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Forgatás az ablakkal együtt" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Forgatás gyorsulása" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Forgatás sebessége" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Forgatás időköze" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Mutatómozgatás érzékenysége" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Hirtelen kockaforgatás a felső oldalra" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Felső oldalhoz ugrás" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Forgatás indítása" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "A nézőpont váltása előtti időkorlát" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Átlátszatlanság (0-100%)" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Sötétülő háttér" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Sötétülő háttér az ablakok átméretezésekor" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Mutatás ideje" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Ablakválasztó indítása" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Ablakválasztó indítása minden ablakhoz" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Ablakválasztó indítása ablakcsoporthoz" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Ablakválasztó indítása a jelenlegi kimenet ablakain" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Elrendezés és ablaktranszformáció indítása" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Elrendezés és ablakcsoport-transzformáció indítása" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Ablaktranszformáció és elrendezés indítása" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Elrendezés és a jelenlegi kimenet ablakai transzformációjának indítása" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Átfedő ikon" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Ikon átfedése az ablakon átméretezéskor" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Méretarány" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Ablakok méretezése" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Méretezés sebessége" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Méretezés időköze" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Ablakok méretezése" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Ablakok közti távolság" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Távolság" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Az átméretezési mód befejezés előtt eltelő idő (ezredmásodpercben) ablakra " +"mutatáskor" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Ablaktípusok, amelyek skálázás módban méretezendők" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "A automatikus indítása bejelentkezéskor" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "Könyvtár" + +#: ../metadata/screenshot.xml.in.h:4 +msgid "Initiate rectangle screenshot" +msgstr "Téglalap képernyőkép készítése" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "Alkalmazás indítása" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "Képernyőképek elhelyezése ebbe a könyvtárba" + +# /tmp/intro:67 /tmp/xapi:379 +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "Képernyőkép" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "Képernyőkép bővítmény" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Fényerősség (0-100%)" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Telítettség (0-100%)" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Alkalmazásváltó" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automatikus megnyitás" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Fényerő" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Előrehozás" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "A kijelölt ablak az előtérbe hozása" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "A munkaasztal kinagyításának mértéke ablakváltás során" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Ikon" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimalizálva" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Következő ablak" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" +"Ablakváltó megjelenítése ha nem látható és a következő ablak kiválasztása" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Ablakváltó megjelenítése ha nem látható és az összes ablak közül a következő " +"kiválasztása" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "Ablakváltó megjelenítése ha nem látható és az előző ablak kiválasztása" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Ablakváltó megjelenítése ha nem látható és az összes ablak közül az előző " +"kiválasztása" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Előző ablak" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Telítettség" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Következő ablak kiválasztása" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Előző ablak kiválasztása" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Ikon megjelenítése a miniatűr mellett" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Ikonizált ablakok megjelenítése" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Váltás sebessége" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Váltás időköz" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Ablakok méretezése" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Az ablakválasztóban megjelenítendő ablaktípusok" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Nagyítás" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Vonal hozzáadása" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Pont hozzáadása" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Víz effektus hozzáadása a különböző munkaasztal-műveletekhez" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Esőcseppek közötti késleltetés (0-3600000 ms)" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Mutató víz effektus bekapcsolása" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Vonal" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Eltolás skálája" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Pont" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Eső késleltetése" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Címhullám" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "\"Eső\" kapcsoló" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "\"Eső\" effektus kapcsoló" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "\"Ablaktörlő\" kapcsoló" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "\"Ablaktörlő\" effektus kapcsoló" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Víz effektus" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Víz eltolás mértéke" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Hullám effektus az ablakcímből" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Fókusz effektus" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Ablakfókusz-effektus" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Ablakfókusz-típusok" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Súrlódás" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Ablaktípusok érzékelése" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Rács felbontása" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Ablakok illesztése fordítva" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Ablak összetörése" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Térkép effektus" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Ablaktérkép-effektus" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Ablaktérkép-típusok" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Maximalizálás effektus" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Rács minimális mérete" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Minimum csúcs-rácspont mérete" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Ablak mozgatása" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Összetörés" + +# 52895 AttribValues/label +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Illesztés fordítva" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Ablakok illesztése" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Rugó súrlódása" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Rugó K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Rugóállandó" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "\"Ablakok illesztése\" effektus kapcsoló" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Rugómodell használata az imbolygó ablakeffektusnál" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Csúcspontrács felbontása" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Ablaktípusok, amelyek imbolyoghatnak fókuszáláskor" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Ablaktípusok, amelyek imbolyoghatnak megfogáskor" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Ablaktípusok, amelyek imbolyoghatnak, amikor térképezettek" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Ablaktípusok, amelyek imbolyoghatnak mozgatáskor" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Imbolygás ablakok maximalizálásakor és visszaállításakor" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Imbolygó ablakok" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Egyenes szűrő" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Lineáris szűrő használata nagyításnál" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Munkaasztal nagyítása" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Nagyítás" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Kicsinyítés" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Nagyítás sebessége" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Nagyítás időköz" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "A munkaasztalkocka nagyítása és pásztázása" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Nagyítási arány" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Dokk" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Eszköztár" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menü" + +# /tmp/xapi:353 +#: ../src/main.c:58 +msgid "Utility" +msgstr "Segédprogram" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Indítókép" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Párbeszédablak" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Szokványos" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "LegördülőMenü" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "FelbukkanóMenü" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Buboréksúgó" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Értesítés" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Legördülő" + +# modules/inst_custom_part.ycp:493 +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Egérművelet" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "KizárólagosPárbeszédablak" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Teljes képernyős" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Ismeretlen" + +#~ msgid "4xBilinear" +#~ msgstr "4x bilineáris" + +#~ msgid "Gaussian" +#~ msgstr "Gauss" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "A command%d parancs futtatására használt billentyűzetkombináció" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Fényerősség (0-100%)" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Átlátszatlanság (0-100%)" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Telítettség (0-100%)" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Telítettség" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Esőcseppek közötti késleltetés (0-3600000 ms)" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "A munkaasztal kinagyításának mértéke ablakváltás során" + +#~ msgid "Do not modify" +#~ msgstr "Nem módosít" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Árnyék X-eltolása" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Árnyék Y-eltolása" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Árnyék átlátszatlansága" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Árnyék átmérője" + +#, fuzzy +#~ msgid "Fill Color" +#~ msgstr "Feljegyzés kitöltő színe" + +#, fuzzy +#~ msgid "Fill color for filled outline mode" +#~ msgstr "Feljegyzések kitöltő színe" + +#, fuzzy +#~ msgid "Filter method used for blurring (4xBilinear, Gaussian, Mipmap)" +#~ msgstr "Az elmosáshoz használt szűrőmódszer" + +#, fuzzy +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Ablakfókusz-effektus" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Fókuszmegelőzés" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Hajtás gyorsulása" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Hajtás sebessége" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Hajtás időköz" + +# RU +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Gauss-sugár" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Gauss" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "A kiválasztott ablakok megnyitását megelőző intervallum" + +#, fuzzy +#~ msgid "Interval between ping messages (1000-30000)" +#~ msgstr "Ping üzenetek közti időköz" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Elrendezés és a jelenlegi kimenet ablakai transzformációjának indítása" + +#, fuzzy +#~ msgid "Line width for annotations (0.0-100.0)" +#~ msgstr "Feljegyzések vonalvastagsága" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Ablaktérkép-effektus" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Minimalizálás sebessége" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Minimalizálási időköz" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Minimum csúcs-rácspont mérete" + +#, fuzzy +#~ msgid "Mipmap level-of-detail (0.0-5.0)" +#~ msgstr "Mipmap részletesség szintje" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Virtuális munkaasztalok száma" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Átlátszatlanság változásának léptéke" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Ablakmozgatás átlátszatlanságának szintje" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Ablakmozgatás átlátszatlanságának szintje" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Kocka színe" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Ikon átfedése az ablakon átméretezéskor" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Kötelezően betöltendő bővítmények" + +#~ msgid "Plugins that this requires" +#~ msgstr "Szükséges bővítmények" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ablakváltó megjelenítése ha nem látható és az összes ablak közül a " +#~ "következő kiválasztása" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ablakváltó megjelenítése ha nem látható és az összes ablak közül a " +#~ "következő kiválasztása" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Ablakváltó megjelenítése ha nem látható és az összes ablak közül az előző " +#~ "kiválasztása" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Ablakváltó megjelenítése ha nem látható és az összes ablak közül az előző " +#~ "kiválasztása" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Forgatás gyorsulása" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Forgatás sebessége" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Forgatás időköze" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Méretezés sebessége" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Méretezés időköze" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Képernyőméret-szorzó a vízszintes virtuális mérethez" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Képernyőméret-szorzó a virtuális mérethez" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Mutatómozgatás érzékenysége" + +#, fuzzy +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Árnyék ellenállása" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Ablakok közti távolság" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Rugó súrlódása" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Rugóállandó" + +#, fuzzy +#~ msgid "Stroke width for annotations (0.0-20.0)" +#~ msgstr "Feljegyzések körvonal-vastagsága" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Váltás sebessége" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Váltás időköz" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Textúraszűrés" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "A képernyő-újrarajzolás gyakorisága (alkalom/másodperc)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Az átméretezési mód befejezés előtt eltelő idő (ezredmásodpercben) " +#~ "ablakra mutatáskor" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "A nézőpont váltása előtti időkorlát" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Lineáris szűrő használata nagyításnál" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Csúcspontrács felbontása" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Víz eltolás mértéke" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Ablak elmosásának sebessége" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Ablak elhalványulásának sebessége" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Elmosandó ablaktípusok" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Elmosandó ablaktípusok" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Ablaktípusok, amelyek elhalványulhatnak" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Ablaktípusok, amelyek elhalványulhatnak" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Ablaktípusok, amelyek skálázás módban méretezendők" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Az ablakválasztóban megjelenítendő ablaktípusok" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Ablaktípusok, amelyek transzformálhatók, amikor ikonizáltak" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Elmosandó ablaktípusok" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Ablaktípusok, amelyek imbolyoghatnak fókuszáláskor" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Ablaktípusok, amelyek imbolyoghatnak megfogáskor" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Ablaktípusok, amelyek imbolyoghatnak, amikor térképezettek" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Ablaktípusok, amelyek imbolyoghatnak mozgatáskor" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Nagyítás sebessége" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Nagyítás időköz" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Nagyítási arány" + +#~ msgid "." +#~ msgstr "," + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimalizálva" + +#~ msgid "Plane To Face %d" +#~ msgstr "Gördítés a(z) %d. előlap felé" + +#~ msgid "Plane to face %d" +#~ msgstr "Gördítés a(z) %d. előlap felé" + +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Gördítés a(z) %d. előlap felé az ablakkal együtt" + +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Gördítés a(z) %d. előlap felé az aktív ablakkal együtt" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Forgatás a(z) %d. előlap felé" + +#~ msgid "Rotate to face %d" +#~ msgstr "Forgatás a(z) %d. előlap felé" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Forgatás a(z) %d. előlap felé az ablakkal együtt" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Forgatás a(z) %d. előlap felé az aktív ablakkal együtt" + +#~ msgid "None" +#~ msgstr "Egyik sem" + +#~ msgid "Emblem" +#~ msgstr "Embléma" + +#~ msgid "Big" +#~ msgstr "Nagy" + +#~ msgid "Fast" +#~ msgstr "Gyors" + +#~ msgid "Good" +#~ msgstr "Jó" + +#~ msgid "Best" +#~ msgstr "Legjobb" + +#~ msgid "Window Types" +#~ msgstr "Ablaktípusok" + +#~ msgid "Move Window Types" +#~ msgstr "Ablakmozgatás típusai" + +#~ msgid "Enable focus prevention" +#~ msgstr "Fókuszmegelőzés engedélyezése" diff --git a/po/id.gmo b/po/id.gmo new file mode 100644 index 0000000000000000000000000000000000000000..f54187a5e864e61f5edb7d3176fac72f8ed612bb GIT binary patch literal 432 zcmYL^!AiqG5QZyy%F(ljJ$O)b;-*!MX)D3nLcwCGQSmr!rg1gdExVgyAH>)5S)5d` zKYZ*A`_IqJ&*8y$i?zobF~`h4bIvr1nKggj@Y{I)HMQo079PeqypVOu=tR8XQzlN* ziYj9_>1i;dm9ZWsu24DL)rEu1BqEqTW-zdXo`>KbJtd+ocJ0lfeTz51B>nO7zAiVk{<@lXz8jgBnGz;x5(rS(g~vwF_&l zV6Ld7C6#%Y(=A8nqQ-(CBdj<;=SGuLs6|gju})p>XltB|C&S&vQ7D6f(VjFfuvzgX zp1%CWszjx`V)2gFk?%ieBZzmtX3-^C80v+|l`awy&y^3RWo@y9k+GFagkEi1*N?j5 Kuk6ci(E0_q#e6CN literal 0 HcmV?d00001 diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..0fb74f1 --- /dev/null +++ b/po/id.po @@ -0,0 +1,2528 @@ +# Indonesian message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2002 SuSE Linux AG. +# Copyright (C) 1999-2001 SuSE GmbH. +# I Made Wiryana , 1999. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2002-10-08 13:38+0200\n" +"Last-Translator: I Made Wiryana \n" +"Language-Team: Indonesian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../gtk/gnome/50-ecomp-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Desktop" + +#: ../gtk/gnome/50-ecomp-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/ecomp.desktop.in.h:1 +msgid "Ecomp" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Kecepatan:" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "India" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "India" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "India" + +# IN +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "India" + +# IN +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "India" + +# IN +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "India" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Kecepatan:" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +msgid "Blur Saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Kecepatan:" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +msgid "Blur saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Adakan Partisi ZEN" + +# RU +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Rusia" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Rusia" + +# RU +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Rusia" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Rusia" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +# IN +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "India" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Adakan Partisi ZEN" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General ecomp options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Desktop" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Desktop" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Jalankan dalam terminal" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +# SH +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Santa Helena" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Set filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# RU +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "Rusia" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Desktop" + +# RU +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "Rusia" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Kecepatan:" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Kecepatan:" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Kecepatan:" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Adakan Partisi ZEN" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +msgid "Shadow windows" +msgstr "" + +# RU +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Rusia" + +# RU +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "Rusia" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Kecepatan:" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +msgid "Fade windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Adakan Partisi ZEN" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +# RU +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "Rusia" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Desktop" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +# IN +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "India" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +# IN +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "India" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +# RU +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Rusia" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Kecepatan:" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +# IN +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "India" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +# ES +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Spanyol" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Direktori\n" + +# IN +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "India" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Pindah aplikasi:" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +# IN +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "India" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +# ES +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Spanyol" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Adakan Partisi ZEN" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +# SH +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Santa Helena" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Adakan Partisi ZEN" + +# ES +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Spanyol" + +#: ../metadata/wobbly.xml.in.h:5 +msgid "Grab Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Driver" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "" + +# ES +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Spanyol" + +# ES +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Spanyol" + +# ES +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Spanyol" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Desktop" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Kecepatan:" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Kecepatan:" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +#, fuzzy +msgid "Unknown" +msgstr "tidak dikenal" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Rusia" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Adakan Partisi ZEN" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Kecepatan:" + +# RU +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Rusia" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Rusia" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Desktop" + +# RU +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Rusia" + +# ES +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Spanyol" + +# ES +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Spanyol" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Set filter" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Kecepatan:" diff --git a/po/it.gmo b/po/it.gmo new file mode 100644 index 0000000000000000000000000000000000000000..636cf75917350ccbaceff087e0710e2b5dd03f20 GIT binary patch literal 31251 zcmchf37lO;o$rsxng9t)SOpGiSkjQr+6kZ}Bpm|j5YnAZ6g=I1y8D>h_g?POokYjc z5f>CkeTvJt3@Ru*x92`j&^HV&r~@uD${_0KsH3EhIUseD5S6#ky^ntfT{JrQYQS>x;*5Off*a1;A?*xTL(S|sRu7TIUjqqK@-$RA3 zJ>Byy#-AIXafT0nt?~QD#b^5PmqA_?Jp_-0{|OI;zk`RtKf{aQp=U+W9M}W<;Cgr( zd@EFa?>7HKa2EbQLS7Xec6JmU3+F+-X9YY4u7@+=Ae;@yA^$}$;2&NY-3AqZA5^{m z1)d83!~9P<$V^egom8#c_mc%tBhYZ9z|sp-fz6c_@ME`^L_laa3<;A z2FV)T31`5s!K2`}A)gri5?%?9yTG?=0*}XEfoi8$z!TvcAzc)G2p$5zVe#LAYL}lv zwdZ5-V0h%bD7qNVflr0kzyskXsQ!JXu>_UxMtC%Q6FeNg7ajrs0jm7ZLDl=~Q1bI5 zI0GKo6-6h(S@7xbe5mvpJOb{3hryRZeeY}FGWZGD1Ah&d!t*cm@-YYx$Nvhbdc6_q zz3+v3->2Xa@IH7b{Dy`9J3J2mPaq-}J%vG__soTAzXVEdo@f47LdpB>Q0;UdRJ$KI z-@oT+Q0+Aro($)~XTU4qO!#t$$V9J)v*F!P`R|9S*AJoE`4>?2dTO`-{*$2ct$>SQ z1{MEysB%AMya%d&_d`u7zk-NZbl3vg3ND2D&g-Ds??$Ni-VIgn&%)L4i!g?>7yA6& zQ0;pyRQY4@X!uH~_I*1%3f>84!MluKg6j8&q5As|Q1w2BkI?u(AD#}^L%qKYmA`I$ z2~_%9;F0isQ17`5N%nDAB0L@ zf~wyOj5kA-`*%?FdN)*if5O7Q0FTH2b*OTF4o`rOLDlOR29MI80#AV#nZM8c*PH*Z z%>Qbr_q-oUPCjk^ht2;p^B=a{$Dah1eyRDdFn?NWe4C}Jv!PKWYuFn?nH*O>nu=KqTM zzi0m0ms)=4@|!;~|7*wH4IgcDwJHk2&(>X zhR4D8!PDTqQ0?)3%goijyrZGgoeK56=RnOjJy7Le1LwgKRDIqGmHu;3 z?|lHO-F^sFzdu3Mfo17u0)C@ALJ($oO<)A9V8_JdJcW!|UMt;9NL!y$@dqD7p9})c895YTs{j;ZpnqP~U$ul)SwOsz2Wk)sGLtbKo!F zEI4O_4?i1Ti2o9(dTuv<5vo7WyT-Tw#Zdmsq3W^8IA-C`Grr3B_r?zy?=^ni_#@*V zAx$66-00Wm%~1Y#8h>u=>G$C;Ha=iHalnTU8$W1#49=jO)tkJWZGdW@mqC61>)-E z`K?3A{|k(7Gu{m~J|2cg!au+{@Q|&3e4PR{|6U9wS6iUsC!yr%Rq)yHWAJ!*%r;-n z1@I{R%i$Wh4qgvm57pm~n!o>^3Lt%Dc9SHn8I3+lVN`G^zYHSi#~9coWBn&&Md=3aEV7LXDFIo&cW@FNC+ii{NKq4}28Hu!}}f|ExD|f$Hz)z?0!k zP~UYsRK9OPwfmgs_;$M#s$MUKdjD%7A{xCBYTW%4E`vuWzP{_=`S_m=RsPGNMa6iRMxgDUsK@KE>wRC_!KPlG=({|qK8`A>n0ztsF2pz2YE z>gT^P|2xe85%Yh|{68@NQ=jY8&whTD?0RGARa|_vDK8+y-aCTcF;5J5>C~q3ZR|Q1bO7<3VM= zj-3fLu6p6I@Or3mQ!~C2>O0^0d*S)`{}rm8{{of%=!$>;g>W7I%b>pJRZ!#c4mbne4G)8#heyM&!Xw}h zEc`d{Nc{f=XTh0O-##b9^YC{=m3J*vJCva6eW2c8Rm2A>A!u-Kge7r<_~30?$W1~pH70_uGaL&@1spz3kJ zgrA?!faz_c?vkq1N7eTfAOQF8=bx`Hs303~5q5A87sCND~RQiK=VT**}uV4?STHvM-0Y7HX zGl-jwy9xiZ;InZrDY*jPnR**^3rHwfSlA z_wcK@7x8>BPBPH`$I|FzAd57UP!S^!I&S7v;Pd{$E^QQ<=};`3r>o7jA`xZ|AxB@1OB74MiWdz@Nj_q>XW3 zwy=LQ1`HGTOFTE@9>s0N|BVm{UxZtSdoJPIanIrT5!^p1=W6n7i$Y+RWzjdT6I z-^1zqlHJ$gb`XCL{5#ymmVXt``g=C+RXCXbN z0{>>*wLD*k`zwpTo#*%9G}qjPV>m=dTHH0pi{L|w3*kHu;O62#7xyNf_4hv9+i)kz z!{6z+592gm!{4P=#u@N30w2b`7k2(;?I%_E26G!JR+o{2jgcMDE`7m&Bx%6T{b zBJNh4=9%#K>+oRI*q?=CdUt>48Ly_CVVcxbNWp6ZaL|PjElO{Q@^) z={6Y&a%)(G|2I5efx8sY4PjKPyxAt%rVXw94U%@-#8-!nL-{Crp2%#vz`+hwCxF;y#O8 zivO?SE||bxi+?50C-eM5+|@iUw(vjjJd5X}apOE63+LeehUeqq3G(x-zagH-ar%1+ z?isib$;032gm=LUahq}1;lCeViThu;=UYA=qd(%_j{6htOSu2WeH!-|F2;Qgr@wdL zK8HJqyeaOP3gqv(xKFqz)-w1!Tt@uiIQ@OVBl;p-hC7b%V_?zZzs~a(+==)L7WO;* zZ^Rvi`!4SP0iG)29UV&SO3x6e^A283K;q|za2)hsdJMM$H z&*N&i^9kQzc`w0#4A1`$>hJGyr{N|EyWY|${4KbD!1d$)+QJWn{~Q0>rgV5&T;lEN z&cUoWoE1mo+E`MHC&$uaoE0ZZ+tcBB@nlvg#FcuHxHPVgrTB(Qa;8MLe}^B8@i`>Z4h)8m$-}jtf~abr0oIR;=l%8c!y*v=XNyBk54B8rMqkaK>|m zQ5g@X)$O%XIZi04-k;LV+ zGDMx4;!EXZD68%499d0jb>9vx@x^SM&yD-H?;I|TQ+4xKz2DDTl~Rockl!T=eC9(sq}+G*quf-b*zs-FRstRimpuBTAv1S&ek1Y8r2GeQF+w214dD zVpu7ZD*6~FHO%gVr5Ya_SCNyd3upd!&FWK9Y@HHE$fT9QQV*$=uBysVQCc#5|8$Kc zg~DJ$)kiDIa3*o+SdMb;T_NLxC5mz@QlJ|wad(?{ew)87enD&W!dCC1R`23g?~+#U z(pGOzt9Mzemxg3)r90B0x<(e`#jmn%8D`_$I8(>EWqBVH^Mp%S)>=ZbTB{_8@HQkge`Y|JD(IJ*zLECHQe}IU z1t5)+N}5EMGgZfKE{IkomF=uNE14!nE375MAw(005ApMSbtqvy91Uw!v??7cF|9He z1>IE3rB`PeHI2bF5*Jw|^VGy81u8MTQz~weB2^Rt%xqWtHL4L{Gpwy$gpVZkLM>i9 z#DX0>mL?-CX1y9siDBW0&!tVqtLHJ&Ym-`B(_}~sL00SNvZPR=&RMnQR`;;#SI0{A0#kSz?^)LVYb}A>ItAvf(Ue;gJWG=bq_ARNTC7K_hey-6w~&?NRmD|J zzCPBgChrC*H>}dDi-{I#r|Y2Nv?w}JZ!(M?P)^ff|L7H#DDTfcplR4chPv+i;_BD!@hx#@6T=h4FnO>FBX4B+rZDSQuh?))`rQMz;*k7s4+roQ*frE1kFf6`jUP*Lg88z@<-s7)!+8kS?JDYQzt zfX}r_62mc<%T>kXgvoNekzbQr zJi?q(jn=wn8cYgdg2u@Pqt1(iZfGiCv{vtFo?7z&dqbE^))uo`rui*ASj)z4wrCIB zfI`fa(K$HorK{QITvaE@!MP@KYeY7swsmV({#^g^aEWE`kO+KzU zp-K22C#99E)wR4wNvnI7O06?wtwTlGk3{RVDRgz$UUnUemNp3+)~|72(Z6|(mnXk$ zHg=wx(=*=a2x!gjZKJl7=c71}`Su)@|Fm z(j>#jcW&f8);NRACP{59F0r9uF|sA0FWDY;Ppq44r7BThQVz499(`Gj5I^{)`0bTp zaE5G+VP4ot$(Gs5+>BJPw=FbBwQlJ094*1|SU!2|Hft=A3x#X(?#tM0Yo@T7J@<#2 zhxnFPHL@|IFy-XAYGK+BAr@C3kKG*WCNmdDh(0vk(GsB6BNgCsREqTFHNGH;Q-pi0z9$!b^US_`b zo|u`S9{DMT2;L)=(oONflb~)&=j1;tfJd2o#!^NEbFr2;`d~vrgJ+9Lu=j-wn0}dC zP}(Y*dr>Q@%))5#&6<-H5VE*2j;iX^Hvcb;7^by6pg&~-#Mr<(OIW#%o@wToIFm*$ z&B-s!ZaQIhbg}3w)6+8Jwq6s)14{ za{yDC#Jqd{)R4|OEq(Wt^xe~@Uoa*8g6YyvNj`1rh3$neoUZIe?Wq?{mwIt~>c!Kg zUeca=$#kigwx?b?UFx3p)IHOsUe=y^S*O%NS#}D7NuKs+A+y`r1P^MfQz#n3(g<;S z3ASu0RL#ax=9CgDm=&F;&&8(^vX>>~5|Wp&VDCzpQovs3&xI~jVBy}qKNrK0f6?CM z&jmB&U%Yqub5RZXm+W2sTzEtNrF)k@7w3?_XYcao0v_@&+vEJfsu0A|O{C3pvkog- zw&PBI73#O-xi{aIZ{*n5R4hFP+ZuA->|>T~_O`|%kWG<@SCbE6Y4XwaO+GrZ$w#*| z`Do-O-?FGbKQM~CvgZCZ`&-kqI|~_NG33aieIMbIc}3Mf=US@w`j)Kn2Az(vJE`UE z;g06|r)n)0)TRHlGuN-HT? z$3NqGgVSHb!JQF}p8Ck>u$nEbxBpIw>UTTa)<|bCXVAqelJgi`@o0&c&E| z4$#d~1$=baOMBlydvxBz6ovWI4ZMV-yjV6tvzs(5AS^uoe6+=g=ZaS5MvlB#XYvjP z;O0=)m&gyn{&FFyj^S}@PHq)5|5YL4D%sW(tOLG%!WWyjWg}r>5}sX+?L`!hLt~Tp zppG|$erIt=r;M9dYBLiJXs?^t#;1z#PYsbQC)O&_fSG{2*);cJFY;EcNOMe+Rh(^= z?NQhVA^n&`NQhjaQX*BdU5#nr>J!`mZoG+tWC$5dT^S>om}MWy4VUgs&d4~B)i5bf zCK#LtN~5DZZ*g7NWEI;@c-*oT-(8~3ja_qV5;uN_!%JH=iCj(|C%SdtZsqT$sOJ59 z$COpgFnNV44AJm*J==wX5G11>U0cdn-?%pB7VQlgieavaHWf!OA{)FlXj5@}krM~PLc4~oL{mshtC2KZ zYlxdn%U&|7(I!4#mnzf<1?^kBESiB{QW~mHdn$3&4_ygy!CCYsOM`=$4y>KLwL02V z%VczpBr?Ic!Gs?y%R!P_&AZK3@GXpsN-)QG53>#@Hh!ZYZ9&Sd#dU9BJiNcAF%X&D z+o>7d8A9ArV6k>e<~rMg+>wc&F)W1nYRH?8b*h)RL%V7y&9{FTSFX2V@8>!a1KfztAL#)hj0 zx-Q4wEgMSLD*9`AykP$PrCswEcXfBi-3yn`U(hvw(fs)&?ApjdgUW2AThcXuN!Nk} zad-FfMN4L^ORBXlH&O}-wOJmoXA;Dyy)G$^)@6vlgjw1>T~>547ow{@ooqg^YamU= z_cT-A+P>9|Z|uHs{tS+CYb?}V13Sxngsl4)(eGLD;&^B*sUUQhZW`$A>S?5NV5dDJq>N$2S#h85Laalj~-%!|`%I$CEf za5oNJ9D}OBD&%eDnVjle6)X+&rHU}lM&9n zIEV6@G)GC}n(bJ~IcjD#FR~LSCr4e}v_vz_IOW~N@<9ds4NGoka(KfE@3KbMFkiBs z-+Qa((Lx=?NOi!=_fnp&Tyiwb>EpQ8CoXKd?cmh-mU8^%OFuogmE(3>xhc5CCnI|j zS1{Mw#E$ZV^{qq`jE~o`3roG{a6#8Gl_FykJX)l3G;y5;V2Di?*D^Uxj#hF9Qy-+= zZ#tgj;VbIwBKZpK$lMi7%)J@gLspEWQxxYaNqY`;gmsiU#SQ=|r*mSr*l=g_hI*=g zCWCHjlqyAEaI~(`=A2MeYKd$4N=CPqv!qzEKdpqLq52PG51GSKnK&a_5&YyTBW2vlqoTDr}0t zbj5SgKuv}s#9=Q@E?JZkL3fY3&LqYu6&S4ALojKz2Te_dX{#*}=B>66Ok8atn7P_Q zFm<(sVD4%Q!Q|Bzf~Bx61Rcm}Ox)4t@T{RInO=o`5S1(A0;$uODor;__hV60TW(*g z)jhSv_qC|usa>_tMNRGFeJ*OMaO`tYQ>AL3i<&Bq`&`siIo{`@rVfC8E@~Nbn|3CcTY0rHfFn$=9f0V zt_Scw7WHfxTNNkatN?yx3i`m5@rRONYZ|Zg8*x9^`T?$4RAanatryWh8tbatQZ=W) z_YTdx!=#b488dnwM_X$`ahP6uBC@tFRR27vyl; z72^nBpT?slbRxB0Im7UlC6V2+h%QG*$ki#o47V=I7%z6a{Pucn%2(1^s!P$mFQ-|g ze+INt)M*ETE+|Wc&_G}R!y>| znz$>wsMb22kuEimq6arOT68&D`$Vb0c0lSqqa4$s?yr-G_i!5XYy?tW zdK(oiZ=8+l2(?>~xbY_Y${x!MGWkk3}M8k94r~%;?Z>Q!S3}udmS*+S&e~m|&TLv}%>NoS{Em@d z|G5>=UzFBxW|*?IqcOA4Sz&o$h`Q_4ZK;?I5{%`VAT@>A9cxW0l%i=nFQ|DOxfRw)Bb*RVk&N()Ddo82qm_D@dAdm|r%xX$p+&+j^zvIEUCQS7oBE;{ zl_#`#yWX`v>~-@8e@4tsA43d^pjuNVgRrXR^J<nv6PZt#ks&^s!2223BQ;fU5!h ztBGHCM}vWck<>n7_9Pqi?a)B}eOdm#wwHw_+Orolk71_=x3}urf-^SxFX0+D%WJf{ zkYej+&d_8+3A)tHk0ZF!ji^@jOHyo5hzx71yHTif9W!YpL(C?4XzEt`Lnsrq(X4o( zV>JqGddc!vv;4X%-ujs;j`7bu?}-v-H)nwBVE0)uI4HF*$T70t7T{~{^%GY87LoT# zH~pH9mzbpaGHYgv@n;;SOkr1S^*0i3%s4H?{KdrW6)zbl@}RuDwWh{uj}Zc$xaZTD zeq!L~jP^86B;5_>4kZV}P{+(Rduv!d-g_EJ8?Woron_l?G(OI4KJstCETp|eNM_!~ zH~MlzG$&qO2Mqykb#^PbLL_ALf-kXY)^`WS>_KeN+igs|*&W7mP2Jru@1454(A5MP zRP(6uk~3Mh`?)e@(k8ji&B1xHrm*$yDtemVMb|xa*@Kz>!UCr2M@-lL_js#yB-Uz& zMDBy8h`gfBgl&x*P?$$4tB{PB-F8JIr|o846R>!;pcElpI|q+*?Rt9R6IerCveajxG^YNlzdDDg1!g&W3I z4Pd6v7dg77Mqdp02*y5SR61g2s4MJ(vo-5hBV|+9TY?(q^4PN;Xe3Qis z4XhE|Wc6wZ&y`a`{k88>?3K;Pbk4?cX?wu@DM`Agge+(eS=b)1s6AkDd%%+RfTisL zJ?#PE#{s5zN|n}LA-4xKY%85Y*?F@6AJQ)(wfEcYPPJhjuevuhHL?$ADLg0{RHXGF z+MQ2uM8ST#KUWMbb+cC3DYi)kYtcwM8!uErW*!+6TaFvpM&=Ru*?lQ`104=FxcBQf&OyUPF+rc>g7;8X)+Wmo$^7%D$Ysm9S4i$R6Lb_OZrTlM^XJZJ zLW0ovI*nt;sF~mI80~%S)v%u=gabd{DBkFk+t}MVK=X(o|v$zIDQ@Ybg9R%jrX`E@SX$OYt>CVoi z0GkcA{rn;nmbYmm4@Xh@M47#U9PlFyh56pdM~s=;bqqwcWG=&A;;ry;l`TrccNKl0 z13W5Z5ze;OnA*IxFBcfwocmC!PKW2i-fO|$iX1XD&6xR?&5Z{;BxnTo%a}{|aVF%H z6#I>YF8lJs1y#|F;Wod%Psg?S`}Ergw)$qc4aZfq*mz=A>2Qw9u;3>jxD6B~)^#bssR@deoTc_<=l@K3P8t zbeT@bnm!dZC%0%%6Q|93v#sfIk~VBjQxZ0&Dy(tsmC3DDyRXxfB#&FQjya~Op{4Is zQMYl$cy0AI<5_-o9>VMF;51~W%qEtPNmqx~4Fk2t73VP*VJ)_|b8(@HA%AK_cxOnk z(oTdpHj@CX`67}6okw<^QUa}JbPo3U8=zF zgE5oae*CWUtfS6IEd?U9W^OAEFV24l(&2P2m?N9)mHGKqkgE>YC}mul zXdI8a8?5^A0_JzWau9r)P*cBa0jnaclA#CLQ)ef4R<4!#&+(EozX zza#&?e40m6F}3+?19_$(;z*_c-%TiY`w`9Vm84J(|Nk)ijJ$#Enn0D|VRm}fV~rIr zNNzPS*+WZcwmb%75(jEdL18jSEd7vDJ>Bm}{Etb3fi@VA!X)Q}OIoJZ*Ve#Bd+gFL lRvOc%`~S4%_aqd_a?TG@Xwq@+%;IU;`t~w_bpq!~`5&H6^;G}> literal 0 HcmV?d00001 diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..ee93c9f --- /dev/null +++ b/po/it.po @@ -0,0 +1,4017 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-22 11:46\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Desktop" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Menu finestra " + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Velocità chiusura" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Riduci opacità finestra" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Ingrandisci finestra attiva in orizzontale" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Avvia" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Colore cubo" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Plug-in attivi" + +# "c" as a keyboard accel is already taken. +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "E_limina" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Avvia" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Avvia Ridimensionamento finestre" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Avvia Ridimensionamento finestre" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Avvia" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Ridimensiona finestre" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Ridimensiona finestre" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Filtro texture" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Saturazione" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Saturazione" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Velocità chiusura" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Posiziona finestre" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Saturazione" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Ridimensiona finestre" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Tipi di finestre a cui applicare l'effetto tremolio quando attivate" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Ridimensiona finestre" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Ridimensiona finestre" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Federazione russa" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Russo" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Federazione russa" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Russo" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Effetto attivo" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Velocità dissolvenza finestra" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Output" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Selezione modalità video" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command10" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command1" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command10" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command11" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command2" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command3" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command4" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command5" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command6" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command7" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command8" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"Un'associazione di tasti che, quando invocata, esegue il comando della shell " +"identificato da command9" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Plug-in attivi" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Consenti disegno finestre a schermo intero per non essere reindirizzati a " +"pixmap fuori schermo" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Segnale acustico udibile" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Beep di sistema udibile" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Aumento automatico" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Ritardo aumento automatico" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Rilevamento automatico dispositivi di output" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Rilevamento automatico della frequenza di aggiornamento" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Fare clic per attivare" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Fare clic sulla finestra per attivarla" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Chiudi finestra" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Chiudi finestra attiva" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Riga di comando 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Riga di comando 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Riga di comando 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Riga di comando 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Riga di comando 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Riga di comando 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Riga di comando 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Riga di comando 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Riga di comando 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Riga di comando 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Riga di comando 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Riga di comando 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command10" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command1" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command10" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_comman11" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command2" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command3" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command4" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command5" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command6" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command7" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command8" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" +"Riga di comando da eseguire nella shell quando viene invocato run_command9" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Riduci opacità" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Riduci opacità finestra" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Icona di default" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Immagine icona finestra di default" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Rileva output" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Rileva frequenza di aggiornamento" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Tipi di finestre attive" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Tipi di finestre attive" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Nascondi finestre della barra delle applicazioni di tralasciamento" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Nascondi tutte le finestre e attiva desktop" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Nascondi finestre non nella barra delle applicazioni durante l'attivazione " +"della modalità di visualizzazione desktop" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Dimensioni virtuali orizzontali" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Ignora suggerimenti quando ingrandita" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Ignora suggerimenti su aspetto e incremento dimensioni quando la finestra è " +"ingrandita" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Aumenta opacità" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Aumenta opacità finestra" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Intervallo prima della visualizzazione delle finestre selezionate" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Illuminazione" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Elenco di plug-in correntemente attivi" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Elenco di stringhe che descrivono i dispositivi di output" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Abbassa finestra" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Abbassa finestra sotto alle altre finestre" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Ripristina finestra" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Ingrandisci finestra in orizzontale" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Ingrandisci finestra in verticale" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Ripristina finestra attiva" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Ingrandisci finestra attiva in orizzontale" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Ingrandisci finestra attiva in verticale" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Riduci finestra a icona" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Riduci a icona finestra attiva" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Numero di desktop" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Numero di desktop virtuali" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"Esegui aggiornamenti schermata solo durante periodo di lampeggiamento " +"verticale" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Passo opacità" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Passo modifica opacità" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Spazio tra finestre" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Esegui in terminale" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Apri menu finestra" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Output" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Ritardo pioggia" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Aumenta al clic" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Visualizza finestra" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Aumenta finestre selezionate dopo l'intervallo" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Visualizza la finestra sulle altre finestre" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Aumenta le finestre al clic" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Frequenza di aggiornamento" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Finestra di dialogo Esegui" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Esegui comando 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Esegui comando 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Esegui comando 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Esegui comando 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Esegui comando 12" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Esegui comando 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Esegui comando 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Esegui comando 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Esegui comando 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Esegui comando 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Esegui comando 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Esegui comando 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Moltiplicatore dimensioni finestre per dimensioni virtuali orizzontali" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Moltiplicatore dimensioni finestre per dimensioni virtuali verticali" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Riga di comando istantanea" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Mostra menu principale" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Mostra finestra di dialogo Esegui applicazione" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Mostra menu principale" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Animazioni lente" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Sincronizza con VBlank" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Crea istantanea" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Crea istantanea di una finestra" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Riga di comando istantanea" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Filtro texture" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "Filtro trama" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Velocità di aggiornamento della schermata (volte/secondo)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Alterna finestra ingrandita" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Alterna finestra ingrandita in orizzontale" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Alterna finestra ingrandita in verticale" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Alterna finestra ombreggiata" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Alterna finestra attiva ingrandita" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Alterna finestra attiva ingrandita in orizzontale" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Alterna finestra attiva ingrandita in verticale" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Alterna finestra attiva ombreggiata" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Alterna uso di animazioni lente" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Annulla ripristino finestra" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Annulla ripristino finestra attiva" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Annulla reindirizzamento finestre a schermo intero" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Usa luce diffusa alla trasformazione della schermata" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Dimensioni virtuali verticali" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Menu finestra " + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Riga di comando istantanea finestre" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Accelerazione" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Avanza a diapositiva successiva" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Anima skydome" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Anima skydome alla rotazione del cubo" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Colore dei lati superiore e inferiore del cubo" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" +"Colore da utilizzare per l'interruzione del colore inferiore della sfumatura " +"in uscita skydome" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" +"Colore da utilizzare per l'interruzione del colore superiore della sfumatura " +"in uscita skydome" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Colore cubo" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Cubo desktop" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Accelerazione chiusura" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Velocità chiusura" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Intervallo chiusura" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" +"Genera mipmap quando possibile per migliorare la qualità di ridimensionamento" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Torna a diapositiva precedente" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "File immagine" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Immagine da utilizzare come texture per lo skydome" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Nel cubo" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Nel cubo" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Elenco dei file PNG e SVG da sottoporre a rendering sulla faccia superiore " +"del cubo" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Diapositiva successiva" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Posiziona finestre sul cubo" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Diapositiva precedente" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Rendering skydome" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Ridimensiona immagine" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Ridimensiona immagini per coprire faccia superiore del cubo" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Skydome" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Colore sfumato fine skydome" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Colore sfumato inizio skydome" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Immagine skydome" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Velocità" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Intervallo" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Apri" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Apri cubo" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Comando" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Ridimensiona finestre" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Riga di comando strumento di decorazione eseguita se nessuna applicazione di " +"decorazione è in esecuzione" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Offset X ombreggiatura esterna" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Offset Y ombreggiatura esterna" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Raggio ombreggiatura esterna" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Opacità ombreggiatura esterna" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Raggio ombreggiatura esterna" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Aggancia finestre" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Offset ombreggiatura X" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Offset ombreggiatura Y" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Opacità finestra" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Raggio ombreggiatura" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Aggancia finestre" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Decorazione finestra" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Decorazioni finestre" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Velocità dissolvenza" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Effetto dissolvenza al beep del sistema" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Applica dissolvenza in entrata alle finestre quando associate e in uscita " +"quando disassociate" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Ridimensiona finestre" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Finestre in dissolvenza" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Segnale visivo schermo intero" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Effetto dissolvenza schermo intero al beep del sistema" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Segnale acustico visivo" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Velocità dissolvenza finestra" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Punto" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Aggiungi punto" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Non modificare" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Non modificare" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Riduci effetto" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Riduci finestra a icona" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Riduci velocità" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Riduci intervallo" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Intensità ombreggiatura" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Intensità sfumatura" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Trasforma finestre quando ridotte a icona e ripristinate" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Tipi di finestre da trasformare quando ridotte a icona" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Mantieni Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Mantieni coordinata Y nell'area dello spazio di lavoro" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Avvia Spostamento finestre" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Finestra mobile" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Finestra mobile" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Opacità" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Livello di opacità delle finestre mobili" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" +"Dividi e riduci automaticamente finestre ingrandite durante il trascinamento" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Dividi finestre ingrandite" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Avvia finestra mobile" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Dimensioni virtuali orizzontali" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Posiziona finestre" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Posiziona finestre in maniera appropriata quando associate" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Mostra finestre ridotte a icona" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Dimensioni virtuali orizzontali" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Mostra finestre ridotte a icona" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Alternative posizionamento finestre" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Tipi di finestre da adattare in modalità scala" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Alternative" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Mostra finestre ridotte a icona" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Dimensioni virtuali orizzontali" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Mostra finestre ridotte a icona" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Dimensioni virtuali orizzontali" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Cubo desktop" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Posiziona finestre sul cubo" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "PgGiù" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Ruota sinistra" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Ruota _destra" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "PgSu" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Posiziona finestre" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Ruota _sinistra" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Ruota _destra" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Ruota su faccia %d" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "PgSu" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Alterna aggancio finestre" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Alterna aggancio finestre" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Avvia Ridimensionamento finestre" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Ridimensiona finestra" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Ridimensiona finestra" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Avvia il ridimensionamento della finestra" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "DnD riflessione bordi" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Spostamento riflessione bordi" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Puntatore riflessione bordi" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Tempo riflessione" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" +"Capovolgi verso sinistra riquadro di visualizzazione e altera puntatore" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Rifletti su finestra successiva durante il trascinamento dell'oggetto sul " +"bordo della schermata" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Rifletti su finestra successiva durante lo spostamento del puntatore sul " +"bordo della schermata" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Rifletti su finestra successiva durante lo spostamento della finestra sul " +"bordo della schermata" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Capovolgi verso destra riquadro di visualizzazione e altera puntatore" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Inverti asse Y per spostamento puntatore" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Inversione puntatore Y" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Sensibilità puntatore" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Ruota cubo" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Ruota capovolgimento verso sinistra" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Ruota capovolgimento verso destra" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Ruota sinistra" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Ruota a sinistra con finestra" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Ruota _destra" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Ruota a destra con finestra" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Ruota su" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Ruota su faccia 10" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Ruota su faccia 10 con finestra" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Ruota su faccia 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Ruota su faccia 10 con finestra" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Ruota su faccia 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Ruota su faccia 11 con finestra" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Ruota su faccia 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Ruota su faccia 12 con finestra" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Ruota su faccia 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Ruota su faccia 2 con finestra" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Ruota su faccia 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Ruota su faccia 3 con finestra" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Ruota su faccia 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Ruota su faccia 4 con finestra" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Ruota su faccia 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Ruota su faccia 5 con finestra" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Ruota su faccia 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Ruota su faccia 6 con finestra" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Ruota su faccia 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Ruota su faccia 7 con finestra" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Ruota su faccia 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Ruota su faccia 8 con finestra" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Ruota su faccia 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Ruota su faccia 9 con finestra" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Ruota cubo desktop" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Ruota _sinistra" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Ruota a sinistra insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Ruota _destra" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Ruota a destra insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Ruota su faccia 10" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Ruota su faccia 10 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Ruota su faccia 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Ruota su faccia 10 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Ruota su faccia 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Ruota su faccia 11 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Ruota su faccia 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Ruota su faccia 12 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Ruota su faccia 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Ruota su faccia 2 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Ruota su faccia 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Ruota su faccia 3 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Ruota su faccia 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Ruota su faccia 4 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Ruota su faccia 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Ruota su faccia 5 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Ruota su faccia 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Ruota su faccia 6 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Ruota su faccia 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Ruota su faccia 7 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Ruota su faccia 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Ruota su faccia 8 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Ruota su faccia 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Ruota su faccia 9 insieme a finestra attiva" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Ruota su riquadro di visualizzazione" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Ruota finestra" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Ruota con finestra" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Accelerazione rotazione" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Velocità di rotazione" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Intervallo di rotazione" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Sensibilità spostamento puntatore" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Aggancia rotazione cubo a faccia superiore" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Aggancia a faccia superiore" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Avvia rotazione" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Timeout prima di capovolgimento riquadro di visualizzazione" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Importo opacità in percentuale" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Scurisci sfondo" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Scurisci sfondo durante ridimensionamento finestre" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Tempo passaggio del mouse" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Avvia Selettore finestre" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Avvia Selettore finestre per tutte le finestre" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Avvia Selettore finestre per gruppo di finestre" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Avvia Selettore finestre per finestre in output corrente" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Dispone e avvia la trasformazione di tutte le finestre" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Dispone e avvia la trasformazione del gruppo di finestre" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Disponi e avvia trasformazione finestre" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Dispone e avvia la trasformazione delle finestre nell'output corrente" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Icona di sovrapposizione" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Sovrappone un'icona nelle finestre dopo che sono state ridimensionate" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Scala" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Ridimensiona finestre" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Velocità scala" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Intervallo scala" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Ridimensiona finestre" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Spazio tra finestre" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Spaziatura" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Tempo (in ms) prima che la modalità di adattamento venga terminata al " +"passaggio del mouse su una finestra" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Tipi di finestre da adattare in modalità scala" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Avvia automaticamente applet al login" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Directory\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Crea istantanea" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Avvia applicazione" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Ricorsione nella directory" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Schermo" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Riga di comando istantanea" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Quantità di luminosità in percentuale" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Quantità di saturazione in percentuale" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Commutatore applicazioni" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Aumento automatico" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Luminosità" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Porta in primo piano" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Porta finestra selezionata in primo piano" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"È necessario ingrandire la distanza desktop durante il passaggio tra le " +"finestre" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Icona" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Ridotto a icona" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Finestra successiva" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" +"Mostra il selettore se non visibile e seleziona la finestra successiva " + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Mostra il selettore se non visibile e seleziona la finestra successiva " +"esterna a tutte le altre finestre" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "Mostra il selettore se non visibile e seleziona la finestra precedente" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Mostra il selettore se non visibile e seleziona la finestra precedente " +"esterna a tutte le altre finestre" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Finestra prec" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Saturazione" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Seleziona finestra successiva" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Seleziona finestra precedente" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Mostra icona accanto a miniatura" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Mostra finestre ridotte a icona" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Velocità selettore" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Intervallo selettore" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Ridimensiona finestre" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Tipi di finestre da visualizzare nel selettore" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Aggiungi linea" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Aggiungi punto" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Aggiunge effetti acqua a diverse azioni desktop" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Ritardo (in ms) tra due gocce di pioggia" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Abilita effetti acqua puntatore" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Linea" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Scala offset" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Punto" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Ritardo pioggia" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Onda titolo" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Alterna piogge" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Alterna effetto pioggia" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Attiva/Disattiva cursore" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Attiva/Disattiva effetto cursore" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Effetto acqua" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Proporzioni offset acqua" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Effetto onda del titolo della finestra" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Effetto attivo" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Effetto finestra attivo" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Tipi di finestre attive" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Attrito" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Cattura tipi di finestre" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Risoluzione griglia" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Aggancio finestre invertito" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Applica tremolio a finestra" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Associa effetto" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Associa effetto finestra" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Associa tipi di finestre" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Ripristina effetto" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Dimensioni minime griglia" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Dimensioni minime griglia Vertex" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Finestra mobile" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Tremolio" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Aggancio invertito" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Aggancia finestre" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Attrito salto" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Attrito K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Costante salto" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Alterna aggancio finestre" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Usa modello sorgente per effetto tremolio finestre" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Risoluzione griglia Vertex" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Tipi di finestre a cui applicare l'effetto tremolio quando attivate" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Tipi di finestre a cui applicare l'effetto tremolio quando agganciate" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Tipi di finestre a cui applicare l'effetto tremolio quando mappate" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Tipi di finestre a cui applicare l'effetto tremolio quando spostate" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" +"Effetto tremolio quando si applica o si annulla il ripristino alle finestre" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Finestre tremolanti" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Filtro lineare" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Usa filtro lineare all'ingrandimento" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Zoom desktop" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Aumenta ingrandimento" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Riduci ingrandimento" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Velocità zoom" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Intervallo zoom" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Applica zoom a panoramica a cubo desktop" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Fattore zoom" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Aggancia" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Barra degli strumenti" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menu" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Utility" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Schermata di avvio" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Finestra di dialogo" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normale" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Menu a discesa" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Menu popup" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Descrizione comandi" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Notifica" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Casella combinata" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Finestra di dialogo modale" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Schermo intero" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Sconosciuto" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtro lineare" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Russo" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command1" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command11" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command2" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command3" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command4" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command5" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command6" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command7" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command8" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando invocata, esegue il comando della " +#~ "shell identificato da command9" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Quantità di luminosità in percentuale" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Importo opacità in percentuale" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Quantità di saturazione in percentuale" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Saturazione" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Ritardo (in ms) tra due gocce di pioggia" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "" +#~ "È necessario ingrandire la distanza desktop durante il passaggio tra le " +#~ "finestre" + +#~ msgid "Do not modify" +#~ msgstr "Non modificare" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Offset X ombreggiatura esterna" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Offset Y ombreggiatura esterna" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Opacità ombreggiatura esterna" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Raggio ombreggiatura esterna" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Effetto finestra attivo (Nessuno, Tremolio)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Seleziona finestra precedente" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Accelerazione chiusura (1.0-20.0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Velocità chiusura (0.1-50.0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Intervallo chiusura (0.1-50.0)" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Federazione russa" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Russo" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Intervallo prima della visualizzazione delle finestre selezionate" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Dispone e avvia la trasformazione delle finestre nell'output corrente" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Associa effetto finestra (Nessuno, Tremolio)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Velocità di riduzione (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Velocità di riduzione (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Dimensioni minime griglia Vertex" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Numero di desktop virtuali" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Passo modifica opacità" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Livello di opacità delle finestre mobili" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Livello di opacità delle finestre mobili" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Colore cubo" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "" +#~ "Sovrappone un'icona nelle finestre dopo che sono state ridimensionate" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Plug-in da caricare per primi" + +#~ msgid "Plugins that this requires" +#~ msgstr "Plug-in necessari" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostra il selettore se non visibile e seleziona la finestra successiva " +#~ "esterna a tutte le altre finestre" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostra il selettore se non visibile e seleziona la finestra successiva " +#~ "esterna a tutte le altre finestre" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostra il selettore se non visibile e seleziona la finestra precedente " +#~ "esterna a tutte le altre finestre" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Mostra il selettore se non visibile e seleziona la finestra precedente " +#~ "esterna a tutte le altre finestre" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Accelerazione chiusura (1.0-20.0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Velocità zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Intervallo zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Velocità scala (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Intervallo ridimensionamento (0.1-50.0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "" +#~ "Moltiplicatore dimensioni finestre per dimensioni virtuali orizzontali" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "" +#~ "Moltiplicatore dimensioni finestre per dimensioni virtuali verticali" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Sensibilità spostamento puntatore" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Intensità ombreggiatura (0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Spazio tra finestre" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Attrito salto" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Costante salto" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Velocità scala (0.1-50.0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Intervallo ridimensionamento (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Filtro texture (Veloce, Buono, Ottimo)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Velocità di aggiornamento della schermata (volte/secondo)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Tempo (in ms) prima che la modalità di adattamento venga terminata al " +#~ "passaggio del mouse su una finestra" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Timeout prima di capovolgimento riquadro di visualizzazione" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Usa filtro lineare all'ingrandimento" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Risoluzione griglia Vertex" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Proporzioni offset acqua" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Velocità dissolvenza finestra" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Velocità dissolvenza finestra" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Tipi di finestre da adattare in modalità scala" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Tipi di finestre da visualizzare nel selettore" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Tipi di finestre da trasformare quando ridotte a icona" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Tipi di finestre a cui applicare la dissolvenza" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Tipi di finestre a cui applicare l'effetto tremolio quando attivate" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "" +#~ "Tipi di finestre a cui applicare l'effetto tremolio quando agganciate" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Tipi di finestre a cui applicare l'effetto tremolio quando mappate" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Tipi di finestre a cui applicare l'effetto tremolio quando spostate" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Angoli che devono avviare la modalità scala (In alto a sinistra, In alto " +#~ "a destra, In basso a sinistra, In basso a destra)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Velocità zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Intervallo zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Fattore zoom" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Ridotto a icona" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Ruota su faccia %d" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Ruota su faccia %d" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Ruota su faccia %d con finestra" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Ruota su faccia %d insieme a finestra attiva" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Ruota su faccia %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Ruota su faccia %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Ruota su faccia %d con finestra" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Ruota su faccia %d insieme a finestra attiva" + +#~ msgid "None" +#~ msgstr "Nessuno" + +#~ msgid "Emblem" +#~ msgstr "Simbolo" + +#~ msgid "Big" +#~ msgstr "Grande" + +#~ msgid "Fast" +#~ msgstr "Veloce" + +#~ msgid "Good" +#~ msgstr "Buono" + +#~ msgid "Best" +#~ msgstr "Ottimo" + +#~ msgid "Command line %d" +#~ msgstr "Riga di comando %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "" +#~ "Riga di comando da eseguire nella shell quando viene richiamato " +#~ "run_command %d" + +#~ msgid "Run command %d" +#~ msgstr "Esegui comando %d" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "" +#~ "Un'associazione di tasti che, quando richiamata, esegue il comando della " +#~ "shell identificato da command%d" + +#~ msgid "Window Types" +#~ msgstr "Tipi di finestre" + +#~ msgid "Move Window Types" +#~ msgstr "Tipi di finestre mobili" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Abilita partizione ZEN" + +#~ msgid "Corners" +#~ msgstr "Angoli" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "Attiva finestra quando il mouse si sposta su di esse" + +#~ msgid "Initiate All Windows" +#~ msgstr "Avvia tutte le finestre" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "Avvia spostamento finestra tastiera" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Avvia ridimensionamento finestra tastiera" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "Avvia Commutatore finestre" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "" +#~ "Tasto di modifica per la visualizzazione del commutatore per tutte le " +#~ "finestre" + +#~ msgid "Return from scale view" +#~ msgstr "Ritorna dalla visualizzazione in scala" + +#~ msgid "Show switcher" +#~ msgstr "Mostra commutatore" + +#~ msgid "Sloppy Focus" +#~ msgstr "Attivazione casuale" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "Avvia lo spostamento della finestra utilizzando la tastiera" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "Avvia il ridimensionamento della finestra utilizzando la tastiera" + +#~ msgid "Terminate" +#~ msgstr "Termina" + +#~ msgid "Water effect on system beep" +#~ msgstr "Effetto acqua al beep del sistema" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipi di finestre a cui applicare la dissolvenza (Desktop, Agganciata, " +#~ "Barra degli strumenti, Menu, Utlity, Schermata iniziale, Finestra di " +#~ "dialogo, Modale, Schermo intero, Sconosciuta)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "Tipi di finestre da trasformare quando ridotte a icona (Desktop, " +#~ "Agganciata, Barra degli strumenti, Menu, Utlity, Schermata iniziale, " +#~ "Finestra di dialogo, Modale, Schermo intero, Sconosciuta)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipi di finestre da ridimensionare in modalità scala (Desktop, " +#~ "Agganciata, Barra degli strumenti, Menu, Utlity, Schermata iniziale, " +#~ "Finestra di dialogo, Modale, Schermo intero, Sconosciuta)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipi di finestre da visualizzare nel commutatore (Desktop, Agganciata, " +#~ "Barra degli strumenti, Menu, Utlity, Schermata iniziale, Finestra di " +#~ "dialogo, Modale, Schermo intero, Sconosciuta)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipi di finestre a cui applicare il tremolio quando attivate (Desktop, " +#~ "Agganciata, Barra degli strumenti, Menu, Utlity, Schermata iniziale, " +#~ "Finestra di dialogo, Modale, Schermo intero, Sconosciuta)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipi di finestre a cui applicare il tremolio quando afferrate (Desktop, " +#~ "Agganciata, Barra degli strumenti, Menu, Utlity, Schermata iniziale, " +#~ "Finestra di dialogo, Modale, Schermo intero, Sconosciuta)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipi di finestre a cui applicare il tremolio quando mappate (Desktop, " +#~ "Agganciata, Barra degli strumenti, Menu, Utlity, Schermata iniziale, " +#~ "Finestra di dialogo, Modale, Schermo intero, Sconosciuta)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipi di finestre a cui applicare il tremolio quando spostate (Desktop, " +#~ "Agganciata, Barra degli strumenti, Menu, Utlity, Schermata iniziale, " +#~ "Finestra di dialogo, Modale, Schermo intero, Sconosciuta)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "Effetto tremolio al beep del sistema" diff --git a/po/ja.gmo b/po/ja.gmo new file mode 100644 index 0000000000000000000000000000000000000000..a52ca625871ccc067d8cf502be51a05d4e0e732d GIT binary patch literal 33829 zcmc(m37k~Lwg0b)Q9(sqY zzZ*P}dQX5fb+&?C!5@RCg1-WpqVpbjD|psttXxCjr=b&|$Y}w14!8njiJWJ_cr17)DC>KdVjPrq4}zzGkAWwF+rX2-J)rRa zE-2&vDJc4L2~pO!4tqYH2)p&Ea=~WsGM^Qn?U-x5)}D`K+&5AlwJsm zzCQ_yoL&V*?#EWze$EF)URQ$Wfjz*Rz~SJD;5-nOaUKP`gZn{g{{v9Ql>vvI2X7GS7QKk>7)$^t&IF zalZl%0skFz!S20m`zlc6dp9Wjr-G+}3qg_Z8t_zbD|iaHPw{)8totuOS?~8j8TaW- zLiYbP;Kkr*Q2K8GrG2B~Y*6Yi1G|AwgVN7FQ1s&mO8*R$`L=?h$Din9<K zMCyzJ&jg!5u~W-IX}=mg9ef643eHR5Fz_#+==;8P_II2+BNe1=-@xJxV{M^ctmqsPunFHw5E(yuH1uF~Ca)b^lhuXIT1B}%VX`gNt>1x0VWV@w4v1x3&L zg0jvdL7C6ppy*3IDC<5`%jYOA)BKH!-%|V+#UCpEQt>y6?<*dMu@nAhfTG_Qfg;z- zL9ydiN>2i1T(zK#BMFLLr9m10O7JZ3Y49TOJD|uTtN15S?8K*Tws)8Q>;R=DiR6 z4EPo(=gM(|tz0WXS?7_U$a4}X08sR2 zFerL57L@i;aPTqgOK>Xm0TwL+UNOSr5>WC#P^`Jt(%)C?bDO2tC>}r3(hXpkc5i~R z4{jP|=W#bE}JkR#pM4)V|WHGi%It8TY^ zCxardI;CfW!gncnF}PjJUkAHDzXzTI{tc`EyNt2*`hgMX$)L3V4k+dCfU*uJ-+}DF z!HUm!RFrw$~^ajH-kS1PXo`HX!W@VD0XHLSOb0ylzou} zuL1u7irlZ9WcSrj@FM6YQ249^rF;Gf$Z15dW6RT&p;X1xV!B<6N>XdneQ4< z^xzlZ=fNTOIL;Tr4WN`COQ!H02#Oxw1q%OW&EKKdO8MKM$nQ^}$o1GS+IgP}$~yG|Wqd0@*=IYH z{tGB_IVEJrbv-EZ8VFtn)_|C9XP)BsKp9`RYTIriDC^p+xD31wdJ8D?|2cRQcpQTe z918XV=YTSfy`ad$skQ5UJctT8CxTM11{6LkK#|8Q-~jMl@M7@1ubpjm%V`dtQ!9G(TG|DS-;@5%MH-%+6G=>y=E;6hO9?^OILD02BLDDylyX7LK} zBn(w*IN0w7*{I;Yxo=>8~lhMd|01en;uwfij=7zGUb3ImO$+Zsbn_2ZB?S-m3H- zr9V)*OTv!hHt=TZPgeSIrMD>Es`Ou#?w_>vhk`PXxk@in`VFNIDt&p%*6#&M{gl$p zpsfFQKv~as6pv}N^STt2@=8$FcO-Z^SPh;5PFGy0`Rf#SDZZ-sOT|AZ9y{IgIa{#@ zD0*-+DEe|MD0(yz>d$rsZ=M*cZAFSOG>sS@*}a{AE!1zYEGZ{-k*MEZcqpDD@k`YrrSK zGr?CC-v(vee*$Iyo_@czTla%9&+VYd<8@HR^(#>NJE-}8RXp|qTkllx6v{6IrTw*_ z^g9NWejfnE?mP@izt1WCQ&8sl0eBu*^<|5rzoOQ0C_}*>>H* zn;-W#`2#G3jaD#_&0zu&&8m~ zXRXrT((;!<>Hl5LKl4Fik?%YXmGE|vGKwyp#8u75ML*y$e&1J`JEHM)&5Gp z=f(Owj5;DO`Q6R4{QkxKWlt#fARjlu=?Pv6UIhLH{0~x^=i^A1@Lc?peJ5*vGUY!3 z2V(Xb$bPw=4lIT|zsVC_yQg2cplI$z_Wl0tAVac55Nuzu` zZ{qni^8P^@sQDb(f#3I`8c4e|_jlkB>bj&KY2MEjJ*cJZJ&1=$eZG@Ne$%5zLeiH7EIj#Se_pt&7}M#@Nv=&+I}$4^7}k# z5s9PE#6WJ=@}EKX;`s*fQPM$DUoD%=^I_6-=n15|dA^tQ6)k^~=gp+^N&85cQKy@h z-Jy6L_@8o z^R3EHvgeS#L24xRCw-E#W3>Ew@MQAhB>6Rwrju?X|9H}sJWtiSUjh@P|0M4M%{##J zgQQ!auhzT^pnpkvo76&jo%9>hZ%Mx=)oHyu70EI-&4K=3JP#+`NP3yHge1S2q*E!s zl$10%g+E{B@fIbMl%K)#B&DANhv@Tn6sLe=NgVCwH=Z{C%F}1ToaPB!M!JG@Ir$-y z_xm4xxQx7q_4yCr7JVKDjv@7?{6x}Mc&^s6uR{0Yd4tjmz@hs5YsC?Y9*p)L!0SmX zNe{qhkS|}(h)VM0H$}0A=XXi{m6ozsNd2HWHl6#y5I9uJ7xH`_&rPJ;dG4e6@AG^L z&!>^0Br=Ump>Ope2xYNS3sw1)5NNkFmni@*EGp2@PZX`B6J}q3^!<`X{ zM%_eXjIywsoEnCziPzVMVzq9hHXKVu>LTG)}9&aq#obL`*g90xc9Yih#La3Yk7#A6Vt$n>x~CfYb95=%M*Yir$TBo;Og z4e>}UB~M9rMkp0dxZ%3Ga7`-drs8gGgy#gi(ya|Ar={WzZU|0s!(w_URuh&=vGB~4 zn~bu1oq^G4e1=<_2+fe)AFp%k8l%x22)zPp! z2uqeHlCzSja6NMjH;|W#SBwosk}$|Wx`V^f&@7X|C?Yk;H-#h+txPxGm}+PgnNN?@ zgpmWy%G64P>k{GQRF}Dhok4jC$s;2kA9sf);z-GoNtD4z+Af0#yv`Kg!jz_&+VPsk zq+>~jq4nzH)59Wk8Bd+mkd~1Y_2S8}JJGDE5~3O?nQiFY5|73cG8v;aSoi99ifOn> z^dxEWvHwP_wkB*F;aEo_IT^Hejc}<*3J+l=M}}RWin>rVS{-8OQxc)th^RwZKGO2Y znABItVP#Gv56xzAtBT0VBD$!&XRx?ekn9~K`vl3pL9$>nft1W5$R-U`nQ*EGt` zV!zl^)*QneykF4cw#tpj!kT0GC^=MqbQT|d6g@xkAbNdd4!u7zhdv*fL*I|gq2EX5 z(ElTI7!c$TOQsSbRCqEPntx_P#}oLMV!qM#8S%ulBnLp)4JE=M=N3%0YixltIFy*i z$ukHuF(tuSQtRc2;jlT@&L?X^oQG4qGs+npu8Ct-u|=M5D#xXDXW2D{%~j{dI3@G7 zDGNmzMC~kbabvI)R%Bq=ZntMtAww;!o?YbEg&LzNcSH>bwnu242zf5&)s!$L931Xd z$fQ1bH9I{uLk`z)s74NgNUWkZ5pST9Ijuc(MJ5n(#JIPc!zJmFWAzjnE2qfdNGKX- z%#mcuobKMKpPU+RjAFvW?)`CWIOh{`i*V{C%`q4dok%%eGtC*yKrlTa4t;kL*1Ikl zP6aY2m&?pc!`E62JV%o-gjsA#9A2o{e%14e7=Y~^yNGv3W zwDEOtaRQExGc;6-AJ7mE*V;$x0J(_Ve~z14h}|v;&XQbf@KYKvvT}Q=6D~$F>gbpX zjWJtAIE$Dj+Cpb&Br3kvNYpBnaLh!;M{q;T6G|No*QMO)k?@R$cp_!^&j=+Nyb0v1 z8Q&{k&Gd-(H3csZ_pACoS#OxBUlm4X?X~2rmv)|zj<}&JYa8v1gVNrVjCV1_IG@f? zLs((C`8-rG;MNX}lcNhKk0L=FuLfsmB4V5=XK3F4^gX&0BFV;3)Vgei8g>QCFaEG_ zOnm9ETOVl<-_)*tLp+%@&YyTKQ*lvQ(J#SSTv0VC&M=N+aZ`{=Ljs2`jtga-HJX}IHbyP* zkiy0>WG~~Qt2%RPeks=RYW8cB8ilUW?bZc$)C=Ij9MC_G-66Do(Q|c*-}Y& zqNx9<(9B3ZRcjqBOG3~!Ca+#@4KmJ9vO&~vs%d40qI!a{tS__|tBoz_+<~^unU1KeZGsoZ%V=~HTyF*!O zt~vR&X{Va1?=X&@hW6OmdN{=~40Xa>x2%yaX@s`O!iZpMy10*xsNy_vX!>m5pW4myKA>djrwY9=g zt_OAEI?&LF(Bq672Iv3{-WT8F5e=M?M}@bk2agSqH-Q{IlMLQ!XQT!NQ2KH!XQtgmKmQLDk$)Fz$VjSJ+CL&{<2_86)~AVW5ocRn{Z)MBJi zsYYX{J*m0X(NJufC>Zr4@mk08Bo*Cpa^!hLG(0^Vm44as(#DRF-W#yjmT<8IjgB=j z6wr^jl*Yt+Lj7w%NZ3(KBoLjB#NMAi)OCS@Ieh@iR3X<3_|I7thHa%*LFV z(1#6E*^Z8?k@4-2tKSrMxbytcf20E_YS`u=j8i-Y2SeA(A>tH6_gGnZl=}y#i^O`A zoM=_rmK8;ZxW&|ocWQj+>8Q4?WykJ@s%3iwZI{1-E^v)>hKd9(7-Nm?^@2E*8Hd3e zi=|XVVbA%l78j|PG^T;@qFgU{Yd8P9P(Cf(h&#R%=zW0%}&nu?azR!`h z&#S7}zVDH>&nvIjzTc6x&#SZ7zWKm2k6vsIJ@->sSw9&pMIn8KsF#mIS$q^r@1s~qAH}lxD1_{z1~}vL zFN_@PteL+WfAc+?cOf+#hP<*UzDL+<)={<3c`wzHR+342khf#pPEvV!m{)V-O1&1% zDsl-NpEo3aU&)nk95J}C1R6A|=h%!yFoU3gI;fLOg#tY}Piq8I+EYB%hULcDtI9YD zD~uAS!?+@b6tVhWn$_CyqA4@(r3qi5nyIO{%dt=-N>{L{SO4F;r6MKCme)V^(u46| zy%%?ic=U`%f(}Et!rJ(6NzpiSvkexSXoE9OUR>IDfa0S%PtOp{{DY=Z+VY zepakT-ZD-YB$pXyyxes|dhto3{G~af%ORDDGhRbLHf)+Fi5J#IB~w#+50U4P596MiL0A4jUeIgqS5hk`G*(o=lK&d?ZCkc}9qU z^Z59bDLhX!OX!P=wUO@zuHtP~nozhk2dkL25ZhGPZi`=EG9?Z0^1uhZzxw0@pb2fu$@S zO+^}<@m|;}xS{eF*Me=4yCGZAvo+40u{wgt3N{*aXKY%GHxA@^a`mnfzMO#6sOo*z z;QB(#Rx^^$olIUnst_SW<=$d-Q3Ld%rQYz7r&Lbbtt(0#H4(iT@#<~0AwHTU%y{fUHV|l9=GB53t9yco`u@=Fja-xVNKRmO! zb-85Y>M~o4TQFI0wUV?w3t8y!F5YrE^2dwbSYkxXBB2xeV6CjFn0ImvC7m`9LKh{WcO4s+cRm%Pl2anJ6@wb5BrC?puXnqS zxqW=aEyTMehEg$@^}62eSy|byqOwm#Rh3)S>-x%`6_vd!E2&s9mKP1evrw;ZMP=WL zo~B-}s;(nL$y9~eDbWz4x!xU(5hSQRG8CKAD1rFTVx`T~%`sDQExy|4Xl64j#)m`o z9c?sf#Hb;KIaXa;*_BthDGut2@v|D3ghcnRW8EXM8{C?yp#(~I)rm!=VhB09De4p+`K2V z>1EmGhqCFl+2-BZ=FQm*r8~2kHQ5Y*=VzOj=C-dryq*dxv&{>$&Cg^r`?HxP+2)P5 zLOUH*er!E`Y;)@QaZRb$$JJ5qkE^3TA6G|xKdz4YeOw*&|9{d^v0)g{$-QKozmaYJ zX0~}>HnTOGd0OlS7AAv*+39FmW=^(wLpHNKn^_^1ns->U;vCxjIELr&iwANG);Wio zpZ5{Vc4X5}i6zR+%}T*Hvzd9>Oh!0pf7%DLY1y$Wx8V7fHLLUOtrc@xo?f3#Z88(hSv_42!3AEa??8!1RM+ zW7Biso14Am(4+fWpFkR$vNBz3S2w}7W$|K)WOQ4e%`N_>H@e5ZE)&Eqr?BI-tMz{A=N@88V$GQ= z=KM)BQJH0K)tbZmzF|*`qhm*JtR(C6tiMCUi*X^ebT+fWVXBAIyRw;;*~~VNKs7|P zb7b6^N6e5`w65Lh9G?4BZsD@SPrcZ(Y*&Dg@xCxSn_ka&TbDoLaMa}%tP-`brxV=L z+imNXjjJhjT2}39S-wM65v?gM_QdYAJhMTTE4}B?=6!VTw5Ip8ELg*SF{fm35u2A5 z*EV{9S{QYaHk+~;j#%~p8-N9R96$)>kto6@=2Pnt;u+Go?8#!oQ(Vm|3@ zcEDz&FR;dCdTL#cu0LiM-|Wx)9+YiWJT8CjfT|qav!FGzC7WJg)O_c`Jqr!F-N=oB zu`^`C41nDf)XKatGE`cka$@UC0~W7fC77Y|_1GB|@wR(<+ra}b9(t5Ph`bKZ|JFzE z%*?67ow1Mkx0-GN^_K#KXI*wywUJ%fMt&RhdzP=>t9*9v^4WdLXZJ0i-LHIh|MJ-b zoP_TqTGp@B3zaj#dYS3Xo@Z$sP*mP0$GqqQ9PubSn|~BOgPqI~udkCi z;@)*KNBp=>=7_`A$sF;_I+-J0SZ8p2Z$EaIgu{GWu{9}bUe>ty{VE2}ag$9W zHSvs!N8WZ-IkoHo&4DIvMOHk~jaGJ!In;`ZgS>sU%?ep(ZI6>%@*o~;%f4N>H*jrD z&(7_8&U!mn@qx49EXQlX1um22Un}*I+H{AsKs{P<9iPD`FP24a9_zB8Wfdzj@8BL5 zve*$ny!(mPRY(9q?iH27qmwD(2F-H@^9i)L+r~SBGtN35F=2*Hld{b?O$dtn0*)d9 zilv7hTz`1e@<6T09jaBdR%Q6)7A?rVfRCQO1?7ymr@aMxqFeJCQI-61v!V7FG1Mv3DVQ)ccF)=oe`tR>9wom<-u+P3e5Y!<#p>uH4wM=DP6S6iT+0 zzcab_7Md z=^f-2vkQ(^%K6K;S!6`n#s#RIdZ)f89zByM60-B$1Cpc;unhm{lVEAHbpWk_K-}V-f z_P5P}y_f!1W#v-3-x?i+ga&#?dCTgi+{Vp>Pqh0CD#-Q-996-dG3Z5Y(%%$I>h+iV z#){m$IbyY>AJ&ezmpRVG1Qv7mEQ)w>989c|Ig6Ut8|4-iWCf8T#aJ$L?h2bZW(&a^ z1HM7JGBFAN-Ptrzj)71U3xtAZn;CEiT%tnN*5wOxo6EIOdk5R{H8jk|rebzW4}W{N zgkNOdZ7EtB^BojDi*oaj693rg?X1Lh8U12<(9x^92HLl`3`fzP#VFfn=~}fniZ;2--b}<* zoRWalQ2~j5Nq`U)dfJ$PCSzZ%)n18=`HvR)*ckuWLQWKKn~Jr>7>kJKIXY0;{A_!6 zDn1X9SZp=!3wB%s;(<100-bD?^{D2`mgRGE&tOq#?DbH*J^YuPgZm`vTU^6L-DGaX zi`CBch&5k5m%Zv!G8=f8$*Q}F5Ce+lJN3O9`7CQSTURde9XG+&s9D~$s-{_s-m?7p z+>(dOj=#7;ZcXzci3xYOLAG?EK6F$aYGcl#{6LDw*%1~+b17lrzsdx}ykl_(#Jpp% z|D{2Rww4uwzfImXlW~>wSl&A;Q`KfM6vsaK9heE%Du(${A*U4S(XI2#JR(>9sc*6xBSKL)z25;Cdki^A@Yq zx)E`<>6Ia_2l;~ zXd`IJ5jlUM8P_(eTpCKjGPFMasNGEMzuUyoX_I$b-a}EJ-nJ75N5}2m-U5?lCl`7v zdR5DwM*B;zHpR|Y$=(<5Cg59ls7ArV#?0B5;wIcA{$3&W=M@kkDPKTebQid=+UXUpjSYl)j2Ilkb)~)XZ0rX1u-XSTkQmn)T~wGhaoT z$rnN$8l?zD9xX$k zatgx&d6Wzb3}lxUsH0>T)a?RwlT+#?0*DA@(~PJuc~cELSW zppKHAZ?B;!1?p(nm5bfCZ756}vbkUr?B>;tSoS+UTf^S&9Itwr>m2^Bxt?U2f)^{B z+e{D@r<}j@`SPVSud-Zbxte?+Q_`BRV@mRRm&xl>CXbI|O4{}-lgH;UCG`e4`H%EC z{e4$9KM{z$7THk^G7;O^M1*)wJIxBrbtQsz%dUrSL`7$>9j*1&xK?qS+-<(v6xesgj*W1!(l*|XAPAW+)c7pl5}NlEc}3t#w!%c= z%uQXoVH&h)@^1j9>ovno&8*9278#Mst-WOnuQH17x}FL%!Pa`h{?PB+>(cgh)LkkD0o}OZE4F=6pa{BP?pT4W6d&HY5OgeiP1>V4&%Zm zmhU{;DGPQd*I)_n6y8LNMvF&WF!Wxy62rCBZbp00&Zhb9ce9ue^HsEdC-jK-7Rmce z!gq}|lgl3w_}qL}F%Jpkvrrl@6zJvhF&UF$y{&1s;aF8z8@?*D3;f>=IYqJh!cHjs zZ=|3)@fyqb-I1J1PGsrZ1|li`0%ME{_B>n8?0fI1i(3}0Qo%l>%fU|g7Dx=n!*X`DQ`W{1 zGY=ZigQyQikT1XrG`o|tT((JYENRS)yx=fLGrM>m{|7Ih;f3N{ zzn@rK)>aF4ur;mpih375^b4q)_ohKYF0H)ec}9-6Kn*j)HcmS^)KFr*con?)VirF2 z$-mRin?kD`Mj80uOuG0gojhH{Q7(!M7vtTsa~UJnk3`vD#c#jN*_1E#DjMb7S!kG* sNRggeS~>49DD53w>x?+_$60BIKCjZ>x!jD!iuigxyeWNX*E;9_0#rK#@c;k- literal 0 HcmV?d00001 diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..c6dbf60 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,3938 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-21 13:31\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "デスクトップ" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "ウィンドウメニュー" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "速度をフォールド" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "ウィンドウの不透明度を下げる" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "アクティブなウィンドウを水平方向に最大化する" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "開始" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "キューブの色" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "アクティブプラグイン" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "_クリア" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "開始" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "ウィンドウのサイズ変更を開始" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "ウィンドウのサイズ変更を開始" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "開始" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "スケールウィンドウ" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "スケールウィンドウ" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "テクスチャフィルタ" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "飽和度" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "飽和度" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "速度をフォールド" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "ウィンドウを配置する" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "飽和度" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "スケールウィンドウ" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "フォーカス時に揺れるウィンドウタイプ" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "スケールウィンドウ" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "スケールウィンドウ" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "ロシア連邦" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "ロシア語" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "ロシア連邦" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "ロシア語" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "ミップマップ" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "効果をフォーカス" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "ウィンドウフェードスピード" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "フェードするウィンドウタイプ" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "フェードするウィンドウタイプ" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "出力" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "ビデオモード選択" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"呼び出し時にcommand10により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"呼び出し時にcommand1により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"呼び出し時にcommand10により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"呼び出し時にcommand11により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"呼び出し時にcommand2により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"呼び出し時にcommand3により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"呼び出し時にcommand4により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"呼び出し時にcommand5により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"呼び出し時にcommand6により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"呼び出し時にcommand7により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"呼び出し時にcommand8により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "呼びし時にcommand9により識別されたシェルコマンドを実行するキーバインド" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "アクティブプラグイン" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"スクリーン外のピックスマップにリダイレクトしないように全画面ウィンドウの描画" +"を許可する" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "可聴ベル" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "可聴システムビープ音" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "自動調整" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "自動調整の待ち時間" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "出力デバイスの自動検出" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "更新レートの自動検出" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "クリックしてフォーカス" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "ウィンドウをクリックすると、入力フォーカスがそのウィンドウに移動します" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "ウィンドウを閉じる" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "アクティブなウィンドウを閉じる" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "コマンドライン10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "コマンドライン1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "コマンドライン10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "コマンドライン11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "コマンドライン2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "コマンドライン3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "コマンドライン4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "コマンドライン5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "コマンドライン6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "コマンドライン7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "コマンドライン8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "コマンドライン9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "run_command10の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "run_command1の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "run_command10の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "run_command11の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "run_command2の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "run_command3の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "run_command4の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "run_command5の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "run_command6の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "run_command7の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "run_command8の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "run_command9の呼び出し時にシェルで実行されるコマンドライン" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "不透明度を下げる" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "ウィンドウの不透明度を下げる" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "デフォルトのアイコン" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "デフォルトのウィンドウアイコンイメージ" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "出力検出" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "更新レートの検出" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "ウィンドウタイプをフォーカス" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "ウィンドウタイプをフォーカス" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "スキップタスクバーウィンドウを非表示にする" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "すべてのウィンドウを非表示にし、デスクトップをフォーカス" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "デスクトップ表示モード移行時にタスクバーにないウィンドウを非表示にする" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "水平仮想サイズ" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "最大化時にヒントを無視" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "ウィンドウの最大化時には、サイズ増分とアスペクトのヒントを無視する" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "不透明度を高める" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "ウィンドウの不透明度を高める" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "選択したウィンドウを手前にするまでの間隔" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "照明" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "現在アクティブなプラグインのリスト" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "出力デバイスを表す文字列リスト" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "ウィンドウを下げる" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "他のウィンドウの下にウィンドウを下げる" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "ウィンドウを最大化する" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "水平方向にウィンドウを最大化する" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "垂直方向にウィンドウを最大化する" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "アクティブなウィンドウを最大化する" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "アクティブなウィンドウを水平方向に最大化する" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "アクティブなウィンドウを垂直方向に最大化する" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "ウィンドウを最小化する" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "アクティブなウィンドウを最小化する" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "デスクトップ数" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "仮想デスクトップ数" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "垂直ブランキング期間にのみ画面を更新する" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "不透明度ステップ" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "不透明度変更ステップ" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "ウィンドウ間のスペース" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "端末で稼動" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "ウィンドウメニューを開く" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "出力" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "雨の待ち時間" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "クリックして上げる" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "ウィンドウを手前に表示" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "時間間隔後に選択したウィンドウを上げる" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "ウィンドウを他のウィンドウの手前に表示する" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "クリック時にウィンドウを上げる" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "更新レート" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "ランダイアログ" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "ランコマンド10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "ランコマンド1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "ランコマンド10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "ランコマンド11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "ランコマンド2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "ランコマンド3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "ランコマンド4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "ランコマンド5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "ランコマンド6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "ランコマンド7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "ランコマンド8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "ランコマンド9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "水平仮想サイズの画面サイズ乗数" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "垂直仮想サイズの画面サイズ乗数" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "スクリーンショットコマンドライン" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "メインメニューの表示" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "ランアプリケーションダイアログの表示" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "メインメニューの表示" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "アニメーションのスロー再生" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "垂直ブランクに同期化" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "スクリーンショットを撮る" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "ウィンドウのスクリーンショットを撮る" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "スクリーンショットコマンドライン" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "テクスチャフィルタ" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "テクスチャフィルタ" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "画面の再描画レート(回/秒)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "最大化されたウィンドウを切り替え" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "水平方向に最大化されたウィンドウを切り替え" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "垂直方向に最大化されたウィンドウを切り替え" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "シェードされたウィンドウを切り替え" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "最大化されたアクティブウィンドウを切り替え" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "水平方向に最大化されたアクティブウィンドウを切り替え" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "垂直方向に最大化されたアクティブウィンドウを切り替え" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "シェードされたアクティブウィンドウを切り替え" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "スロー再生アニメーション使用の切り替え" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "ウィンドウの最大化解除" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "アクティブウィンドウの最大化解除" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "全画面ウィンドウのリダイレクト解除" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "画面の変換時に散光を使用" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "垂直仮想サイズ" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "ウィンドウメニュー" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "ウィンドウスクリーンショットのコマンドライン" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "フェードするウィンドウタイプ" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "アクセラレーション" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "次のスライドに進む" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "スカイドームをアニメーション化する" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "キューブの回転時にスカイドームをアニメーション化する" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "キューブの上部および下部の面のカラー" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" +"スカイドームフォールバックグラデーションの下部カラーストップに使用する色" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" +"スカイドームフォールバックグラデーションの上部カラーストップに使用する色" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "キューブの色" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "デスクトップキューブ" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "アクセラレーションをフォールド" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "速度をフォールド" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "タイムステップをフォールド" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "高品質スケーリングが可能な場合ミップマップを生成" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "前のスライドに戻る" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "イメージファイル" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "スカイドームのテクスチャとして使用するイメージ" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "キューブ内部" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "キューブ内部" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "キューブの上面にレンダリングするPNGおよびSVGファイルのリスト" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "ミップマップ" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "次のスライド" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "ウィンドウをキューブに配置する" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "前のスライド" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "スカイドームのレンダリング" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "スケールイメージ" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "キューブの上面を覆うスケールイメージ" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "スカイドーム" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "スカイドームグラデーション終了色" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "スカイドームグラデーション開始色" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "スカイドームイメージ" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "速度" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "タイムステップ" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "開く" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "キューブを開く" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "コマンド" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "スケールウィンドウ" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "デコレータが動作していない場合に実行されるデコレータコマンドライン" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "シャドウXオフセットを無視" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "シャドウYオフセットを無視" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "シャドウ半径を無視" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "シャドウ不透明度を無視" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "シャドウ半径を無視" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "ウィンドウをスナップ" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "シャドウオフセットX" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "シャドウオフセットY" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "シャドウ不透明度" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "シャドウ半径" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "ウィンドウをスナップ" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "ウィンドウ装飾" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "ウィンドウ装飾" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "フェードするウィンドウタイプ" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "フェードするウィンドウタイプ" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "フェードスピード" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "システムビープ音のフェード効果" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"マップ時にウィンドウをフェードインし、マップ解除時にウィンドウをフェードアウ" +"トする" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "スケールウィンドウ" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "ウィンドウのフェード" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "全画面ビジュアルベル" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "システムビープ音の全画面フェード効果" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "可視ベル" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "ウィンドウフェードスピード" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "フェードするウィンドウタイプ" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "点" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "点を追加" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "変更しないでください" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "変更しないでください" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "効果を最小限にする" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "ウィンドウを最小化する" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "速度を最小限にする" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "タイムステップを最小限にする" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "シェード耐性" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "シェード耐性" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "ウィンドウが最小化および最小化解除時に変換" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "最小化した場合に変換するウィンドウタイプ" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Yをコンストレイン" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Y座標をワークスペースエリアにコンストレイン" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "ウィンドウの移動を開始" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "ウィンドウを移動" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "ウィンドウを移動" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "不透明度" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "移動ウィンドウの不透明度レベル" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "ドラッグ時に、最大化したウィンドウをスナップ解除して最大化を自動解除" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "最大化したウィンドウのスナップ解除" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "ウィンドウの移動を開始" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "水平仮想サイズ" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "ウィンドウを配置する" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "マップ時にウィンドウを適切な位置に配置する" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "最小化したウィンドウの表示" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "水平仮想サイズ" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "最小化したウィンドウの表示" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "ウィンドウ配置の回避策" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "フェードするウィンドウタイプ" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "スケールモードで調整するウィンドウタイプ" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "回避方法" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "最小化したウィンドウの表示" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "水平仮想サイズ" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "最小化したウィンドウの表示" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "水平仮想サイズ" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "デスクトップキューブ" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "ウィンドウをキューブに配置する" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page Down" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "左に回転" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "右に回転" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page Up" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "ウィンドウを配置する" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "左に回転" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "右に回転" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "%d に向かうように回転" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page Up" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "ウィンドウスナップの切り替え" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "ウィンドウスナップの切り替え" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "ウィンドウのサイズ変更を開始" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "ウィンドウのサイズ変更" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "ウィンドウのサイズ変更" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "ウィンドウのサイズ変更を開始" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "エッジフリップDnD" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "エッジフリップ移動" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "エッジフリップポインタ" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "時間のフリップ" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "左ビューポートとワープポインタにフリップ" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "オブジェクトを画面の端にドラッグする時に次のビューポートにフリップする" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "ポインタを画面の端に移動する時に次のビューポートにフリップする" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "ウィンドウを画面の端に移動する時に次のビューポートにフリップする" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "右ビューポートとワープポインタにフリップ" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "ポインタ移動用にY 軸を反転させる" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "ポインタ反転Y" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "ポインタ感度" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "キューブの回転" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "左にフリップ回転" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "右にフリップ回転" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "左に回転" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "ウィンドウと一緒に左に回転" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "右に回転" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "ウィンドウと一緒に右に回転" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "回転先" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "面10に回転" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "ウィンドウと一緒に面10に回転" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "面10に回転" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "ウィンドウと一緒に面10に回転" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "面11に回転" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "ウィンドウと一緒に面11に回転" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "面12に回転" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "ウィンドウと一緒に面12に回転" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "面2に回転" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "ウィンドウと一緒に面2に回転" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "面3に回転" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "ウィンドウと一緒に面3に回転" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "面4に回転" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "ウィンドウと一緒に面4に回転" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "面5に回転" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "ウィンドウと一緒に面5に回転" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "面6に回転" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "ウィンドウと一緒に面6に回転" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "面7に回転" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "ウィンドウと一緒に面7に回転" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "面8に回転" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "ウィンドウと一緒に面8に回転" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "面9に回転" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "ウィンドウと一緒に面9に回転" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "デスクトップキューブの回転" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "左に回転" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "左に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "右に回転" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "右に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "面10に回転" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "面10に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "面10に回転" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "面10に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "面11に回転" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "面11に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "面12に回転" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "面12に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "面2に回転" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "面2に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "面3に回転" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "面3に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "面4に回転" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "面4に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "面5に回転" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "面5に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "面6に回転" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "面6に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "面7に回転" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "面7に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "面8に回転" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "面8に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "面9に回転" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "面9に回転して、アクティブなウィンドウを移動" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "ビューポートに回転" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "ウィンドウを回転" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "ウィンドウとともに回転" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "回転アクセラレーション" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "回転速度" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "回転タイムステップ" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "ポインタの移動感度" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "キューブ回転を上面にスナップ" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "上面にスナップ" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "回転の開始" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "ビューポートフリップのタイムアウト" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "不透明度(%)" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "背景を暗くする" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "ウィンドウのスクロール時に背景を暗くする" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "ホバー時間" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "ウィンドウピッカーを起動" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "すべてのウィンドウでウィンドウピッカーを起動" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "ウィンドウグループでウィンドウピッカーを起動" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "現在の出力でウィンドウのウィンドウピッカーを起動" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "配列してすべてのウィンドウの変換を開始する" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "配列してウィンドウグループの変換を開始する" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "配列してウィンドウの変換を開始する" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "現在の出力で配列してウィンドウの変換を開始する" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "オーバレイアイコン" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "ウィンドウ調整後にアイコンをオーバレイ" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "スケール" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "スケールウィンドウ" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "スケール速度" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "スケールタイムステップ" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "スケールウィンドウ" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "ウィンドウ間のスペース" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "スペース" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "ウィンドウ上をホバー時に、スケールモードを終了するまでの時間(ms)" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "スケールモードで調整するウィンドウタイプ" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "ログイン時にアプレットを自動的に起動する" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "ディレクトリ\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "スクリーンショットを撮る" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "アプリケーションの起動" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "ディレクトリに再帰" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "画面" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "スクリーンショットコマンドライン" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "明るさの量(%)" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "飽和度の量(%)" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "アプリケーションスイッチャ" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "自動調整" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "明るさ" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "正面へ移動" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "選択したウィンドウを正面へ移動" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "ウィンドウ切り替え中デスクトップ距離をズームアウト" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "アイコン" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "最小化" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "次のウィンドウ" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "表示されていない場合スイッチャをポップアップして次のウィンドウを選択" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"表示されていない場合スイッチャをポップアップしてすべてのウィンドウから次の" +"ウィンドウを選択" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "表示されていない場合スイッチャをポップアップして前のウィンドウを選択" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"表示されていない場合スイッチャをポップアップしてすべてのウィンドウから前の" +"ウィンドウを選択" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "前のウィンドウ" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "飽和度" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "次のウィンドウを選択" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "前のウィンドウを選択" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "サムネイルの横にアイコンを表示" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "最小化したウィンドウの表示" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "スイッチャ速度" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "スイッチャタイムステップ" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "スケールウィンドウ" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "スイッチャに表示するウィンドウタイプ" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "ズーム" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "線を追加" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "点を追加" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "異なるデスクトップアクションに水効果を追加する" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "各水滴間の遅延時間(ms)" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "ポインタの水効果を有効にする" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "線" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "オフセットスケール" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "点" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "雨の待ち時間" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "タイトルウェーブ" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "雨の切り替え" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "雨効果の切り替え" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "ワイパーの切り替え" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "ワイパー効果の切り替え" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "水効果" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "水オフセットスケール" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "ウィンドウタイトルからウェーブ効果" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "効果をフォーカス" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "ウィンドウ効果をフォーカス" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "ウィンドウタイプをフォーカス" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "摩擦" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "ウィンドウタイプを取得" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "グリッド解像度" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "反転されたウィンドウをスナップ" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "ウィンドウを震動させる" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "効果のマップ" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "ウィンドウ効果をマップ" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "ウィンドウタイプのマップ" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "効果を最大限にする" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "最小グリッドサイズ" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "最小頂点グリッドサイズ" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "ウィンドウを移動" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "震動" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "反転をスナップ" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "ウィンドウをスナップ" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "バネ摩擦" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "バネ定数" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "バネ定数" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "ウィンドウスナップの切り替え" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "揺れるウィンドウ効果用にバネモデルを使用" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "頂点グリッド解像度" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "フォーカス時に揺れるウィンドウタイプ" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "取得時に揺れるウィンドウタイプ" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "マップ時に揺れるウィンドウタイプ" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "移動時に揺れるウィンドウタイプ" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "ウィンドウの最大化および最大化解除時の揺れる効果" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "揺れるウィンドウ" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "線形のフィルタ" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "ズームイン時に線形フィルタを使用" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "デスクトップのズーム" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "ズームイン" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "ズームアウト" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "ズーム速度" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "ズームタイムステップ" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "デスクトップキューブのズームとパン" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "ズーム要素" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "ドック" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "ツールバー" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "メニュー" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "ユーティリティ" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "スプラッシュ" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "ダイアログ" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "通常" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "ドロップダウンメニュー" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "ポップアップメニュー" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "ツールヒント" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "通知" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "コンボ" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "モーダルダイアログ" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "フルスクリーン" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "不明" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "線形のフィルタ" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "ロシア語" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand10により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand1により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand10により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand11により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand2により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand3により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand4により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand5により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand6により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand7により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼び出し時にcommand8により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "呼びし時にcommand9により識別されたシェルコマンドを実行するキーバインド" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "明るさの量(%)" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "不透明度(%)" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "飽和度の量(%)" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "飽和度" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "各水滴間の遅延時間(ms)" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "ウィンドウ切り替え中デスクトップ距離をズームアウト" + +#~ msgid "Do not modify" +#~ msgstr "変更しないでください" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "シャドウXオフセットを無視" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "シャドウYオフセットを無視" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "シャドウ不透明度を無視" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "シャドウ半径を無視" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "ウィンドウ効果をフォーカス(なし、震動)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "前のウィンドウを選択" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "アクセラレーションをフォールド(1.0-20.0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "速度をフォールド(0.1-50.0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "タイムステップをフォールド(0.1-50.0)" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "ロシア連邦" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "ロシア語" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "選択したウィンドウを手前にするまでの間隔" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "現在の出力で配列してウィンドウの変換を開始する" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "ウィンドウ効果のマップ(なし、震動)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "速度を最低にする(0.1-50.0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "速度を最低にする(0.1-50.0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "最小頂点グリッドサイズ" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "仮想デスクトップ数" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "不透明度変更ステップ" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "移動ウィンドウの不透明度レベル" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "移動ウィンドウの不透明度レベル" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "キューブの色" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "ウィンドウ調整後にアイコンをオーバレイ" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "これを前にロードする必要のあるプラグイン" + +#~ msgid "Plugins that this requires" +#~ msgstr "これが必要なプラグイン" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "表示されていない場合スイッチャをポップアップしてすべてのウィンドウから次の" +#~ "ウィンドウを選択" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "表示されていない場合スイッチャをポップアップしてすべてのウィンドウから次の" +#~ "ウィンドウを選択" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "表示されていない場合スイッチャをポップアップしてすべてのウィンドウから前の" +#~ "ウィンドウを選択" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "表示されていない場合スイッチャをポップアップしてすべてのウィンドウから前の" +#~ "ウィンドウを選択" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "アクセラレーションをフォールド(1.0-20.0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "速度のズーム(0.1-50.0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "タイムステップのズーム(0.1-50.0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "スケール速度(0.1-50.0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "スケールタイムステップ(0.1-50.0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "水平仮想サイズの画面サイズ乗数" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "垂直仮想サイズの画面サイズ乗数" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "ポインタの移動感度" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "シェード耐性(0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "ウィンドウ間のスペース" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "バネ摩擦" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "バネ定数" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "スケール速度(0.1-50.0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "スケールタイムステップ(0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "テクスチャフィルタ(高速、良、最高)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "画面の再描画レート(回/秒)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "ウィンドウ上をホバー時に、スケールモードを終了するまでの時間(ms)" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "ビューポートフリップのタイムアウト" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "ズームイン時に線形フィルタを使用" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "頂点グリッド解像度" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "水オフセットスケール" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "ウィンドウフェードスピード" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "ウィンドウフェードスピード" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "フェードするウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "フェードするウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "フェードするウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "フェードするウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "スケールモードで調整するウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "スイッチャに表示するウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "最小化した場合に変換するウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "フェードするウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "フォーカス時に揺れるウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "取得時に揺れるウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "マップ時に揺れるウィンドウタイプ" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "移動時に揺れるウィンドウタイプ" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "スケールモードを開始するホットコーナー(TopLeft、TopRight、BottomLeft、" +#~ "BottomRight)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "速度のズーム(0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "タイムステップのズーム(0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "ズーム要素" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "最小化" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "%d に向かうように回転" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "%d に向かうように回転" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "%d がウィンドウに向かうように回転" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "%d に向かうように回転し、アクティブウィンドウを揃えます" + +#~ msgid "Rotate To Face %d" +#~ msgstr "%d に向かうように回転" + +#~ msgid "Rotate to face %d" +#~ msgstr "%d に向かうように回転" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "%d がウィンドウに向かうように回転" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "%d に向かうように回転し、アクティブウィンドウを揃えます" + +#~ msgid "None" +#~ msgstr "なし" + +#~ msgid "Emblem" +#~ msgstr "エンブレム" + +#~ msgid "Big" +#~ msgstr "大きい" + +#~ msgid "Fast" +#~ msgstr "高速" + +#~ msgid "Good" +#~ msgstr "良" + +#~ msgid "Best" +#~ msgstr "最高" + +#~ msgid "Command line %d" +#~ msgstr "コマンドライン %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "run_command%d の起動時にシェルで実行されるコマンドライン" + +#~ msgid "Run command %d" +#~ msgstr "コマンド %d の実行" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "" +#~ "呼び出し時にcommand%d で指定されたシェルコマンドを実行するキーバインド" + +#~ msgid "Window Types" +#~ msgstr "ウィンドウタイプ" + +#~ msgid "Move Window Types" +#~ msgstr "ウィンドウタイプを移動" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "ZENパーティションを有効にする" + +#~ msgid "Corners" +#~ msgstr "コーナー" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "マウスの移動時にウィンドウをフォーカス" + +#~ msgid "Initiate All Windows" +#~ msgstr "すべてのウィンドウを開始" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "キーボードによるウィンドウの移動を開始する" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "キーボードによるウィンドウのサイズ変更を開始する" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "ウィンドウスイッチャを起動" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "すべてのウィンドウでスイッチャを表示する修飾子" + +#~ msgid "Return from scale view" +#~ msgstr "スケールビューから戻る" + +#~ msgid "Show switcher" +#~ msgstr "スイッチャの表示" + +#~ msgid "Sloppy Focus" +#~ msgstr "スロッピフォーカス" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "キーボードを使ったウィンドウの移動を開始" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "キーボードを使ったウィンドウのサイズ変更を開始" + +#~ msgid "Terminate" +#~ msgstr "終了" + +#~ msgid "Water effect on system beep" +#~ msgstr "システムビープ音の水効果" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "フェードするウィンドウタイプ(デスクトップ、ドック、ツールバー、メニュー、" +#~ "ユーティリティ、スプラッシュ、ダイアログ、モデルダイアログ、標準、全画面、" +#~ "不明)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "最小化時に変換するウィンドウタイプ(デスクトップ、ドック、ツールバー、メ" +#~ "ニュー、ユーティリティ、スプラッシュ、ダイアログ、モデルダイアログ、標準、" +#~ "全画面、不明)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "スケールモードでスケールするウィンドウタイプ(デスクトップ、ドック、ツール" +#~ "バー、メニュー、ユーティリティ、スプラッシュ、ダイアログ、モデルダイアロ" +#~ "グ、標準、全画面、不明)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "スイッチャで表示するウィンドウタイプ(デスクトップ、ドック、ツールバー、メ" +#~ "ニュー、ユーティリティ、スプラッシュ、ダイアログ、モデルダイアログ、標準、" +#~ "全画面、不明)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "フォーカス時に揺れるウィンドウタイプ(デスクトップ、ドック、ツールバー、メ" +#~ "ニュー、ユーティリティ、スプラッシュ、ダイアログ、モデルダイアログ、標準、" +#~ "全画面、不明)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "取得時に揺れるウィンドウタイプ(デスクトップ、ドック、ツールバー、メ" +#~ "ニュー、ユーティリティ、スプラッシュ、ダイアログ、モデルダイアログ、標準、" +#~ "全画面、不明)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "マップ時に揺れるウィンドウタイプ(デスクトップ、ドック、ツールバー、メ" +#~ "ニュー、ユーティリティ、スプラッシュ、ダイアログ、モデルダイアログ、標準、" +#~ "全画面、不明)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "移動時に揺れるウィンドウタイプ(デスクトップ、ドック、ツールバー、メ" +#~ "ニュー、ユーティリティ、スプラッシュ、ダイアログ、モデルダイアログ、標準、" +#~ "全画面、不明)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "システムビープ音の揺れる効果" diff --git a/po/ka.gmo b/po/ka.gmo new file mode 100644 index 0000000000000000000000000000000000000000..ce5f62aa0ed03b22ca93475b4594745d0613266a GIT binary patch literal 411 zcmYL^O-{ow5Jrn&l_hHyUa$bc6sM&kxIaoMEvlfRDglY5X@=C0*ui!XJqXw1EKG_- zKk3OH`HemP+28waPp$H4+iV?E4Vrc$`7G6#tfESTRXFtR8;HNmy?C|Ha03*a3HLl(9LZvj8&oJ3gQ zr>ZaCdYz3Iv5<>)`-D?xa3`II#7gaQ>5Ua^sL-=plfSPN>q#o&4{3dstENUjAYW&d z%n%ZkgX}~A!dNd&s&pn;^rCz)&nqi)m>63)!F0JPT|exyzipp)gT^n5WOSzh literal 0 HcmV?d00001 diff --git a/po/ka.po b/po/ka.po new file mode 100644 index 0000000..6357b13 --- /dev/null +++ b/po/ka.po @@ -0,0 +1,2392 @@ +# Georgian message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Aiet Kolkhi , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2005-05-18 10:33+0200\n" +"Last-Translator: Aiet Kolkhi \n" +"Language-Team: Georgian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +msgid "Blur Saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +msgid "Blur saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +msgid "Shadow windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +msgid "Fade windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +msgid "Initiate rectangle screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +msgid "Auto Rotate" +msgstr "" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +msgid "Focus Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +msgid "Grab Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "" diff --git a/po/km.gmo b/po/km.gmo new file mode 100644 index 0000000000000000000000000000000000000000..da6cb74476d56a54f87a384c81b185a53e7304f4 GIT binary patch literal 559 zcmYL_Piqu07{;Sk3v-g5MRHUmYo=Nqvb$yJ+Cs6bOPvaWmvrat?AV!POfuCT1Q9$) z4}u~nLiSrI=yws~(eEJm&Un}tetF)>^W@Lu*V@V_g0+HNK?cZ0>MF)QP+?^*thx@^(yM+^MqhaP{;+Ot#%(W0o9NP+ElV62kKbq7m7@ceg-qg zb~E-Ej4iYh^oe|w(rcp%Ds4_j*Q0%?wQ+1>^CDwgO>SAL1&yW;Q#Ljr9WG+`qys_M zIls&J28&}F-x7SC@!OnZknO`s(QdxX-C;aNoAN|#BsX}BxjkteON~^vlujE#_du$g zj^|Bf^&u!a=wx&}ufS;AE7XzR#8oP9WDYC^SqXZ-HR+&;6E(7pgR&5*>3djga6j0{CAA}etj1F QA}r8*gGTUQ!{Utm1I%i#k^lez literal 0 HcmV?d00001 diff --git a/po/km.po b/po/km.po new file mode 100644 index 0000000..35ca7fa --- /dev/null +++ b/po/km.po @@ -0,0 +1,2923 @@ +# Khmer message file for YaST2 (@memory@). +# Copyright (C) 2006 SUSE Linux Products GmbH. +# Leang Chumsoben , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-01-04 08:58+0100\n" +"Last-Translator: Leang Chumsoben \n" +"Language-Team: Khmer \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "ផ្ទៃតុ" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "កម្មវិធីគ្រប់គ្រងបង្អួច" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "បាន​ជ្រើស" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "លុប​វ៉ីនដូ​ទាំង​ស្រុង" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "លុប​វ៉ីនដូ​ទាំង​ស្រុង" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "អ៊ីទីតេ" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "ពណ៌" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "សកម្ម" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "ជម្រះ" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "អ៊ីទីតេ" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "អ៊ីទីតេ" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "អ៊ីទីតេ" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "អ៊ីទីតេ" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "កំណត់​តម្រង" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "ថិរវេលា" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "ថិរវេលា" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "បាន​ជ្រើស" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "ថិរវេលា" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "ម៊ិកម៉ា" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "វ៉ីនដូ" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "លទ្ធផល​គឺ" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "អ៊ីទីតេ" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "សកម្ម" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "ប្រព័ន្ធ​ឯកសារ" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "AutoYast" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "លុប​វ៉ីនដូ​ទាំង​ស្រុង" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "ដែន​លំនាំ​ដើម" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "ដែន​លំនាំ​ដើម" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "ជ្រើស​ដើម្បី​ធ្វើ​ឲ្យ​ទាន់​សម័យ" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "ឧបករណ៍​និម្មិត" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "ការ​ចូល" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "រាយ​តែ​ម៉ាស៊ីន​បោះពុម្ព​ដែល​បាន​រកឃើញ" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "សូរប៊ីយ៉ាន​ក្រោម" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "ផ្ទៃតុ" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "ផ្ទៃតុ" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "អុកស៊ីតង់ (ក្រោយ​ឆ្នាំ ១៥០០)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "រត់​ក្នុង​ស្ថានីយ" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +#, fuzzy +msgid "Outputs" +msgstr "លទ្ធផល​គឺ" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "ពន្យារពេល" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "នាឡិកា​វិទ្យុ" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "ធ្វើ​ឲ្យ​ស្រស់" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "ការ​ហៅ​ឮ​សម្លេង" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "ពាក្យបញ្ជា '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "ពាក្យបញ្ជា '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "ពាក្យបញ្ជា '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "ពាក្យបញ្ជា '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "មាន​កំហុស ខណៈ​ពេល​កំពុង​ញែក​បន្ទាត់​ពាក្យ​បញ្ជា​។" + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "បង្កើតម៉ឺនុយ​ចាប់ផ្ដើម" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "បង្កើតម៉ឺនុយ​ចាប់ផ្ដើម" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "ការ​ធ្វើ​តាម" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "មាន​កំហុស ខណៈ​ពេល​កំពុង​ញែក​បន្ទាត់​ពាក្យ​បញ្ជា​។" + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "កំណត់​តម្រង" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "កំណត់​តម្រង" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "ឧបករណ៍​និម្មិត" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "កម្មវិធីគ្រប់គ្រងបង្អួច" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "ការ​បង្កើន​ល្បឿន 3D ៖ " + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "ជម្រើស​កម្រិត​ខ្ពស់" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "ពណ៌" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "ផ្ទៃតុ" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "ការ​បង្កើន​ល្បឿន 3D ៖ " + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "បាន​ជ្រើស" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "សាកល្បង" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "មុន" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "ឯកសារ​រូបភាព ISO" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "ម៊ិកម៉ា" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "ទំហំ​ថ្មី" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "មុន" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "ពេលវេលា​មូលដ្ឋាន" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "រូបភាព ISO" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "រូបភាព ISO" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "បាន​ជ្រើស" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "សាកល្បង" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "ពាក្យបញ្ជា ៖ " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "សមត្ថភាព​ទាប" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "សមត្ថភាព​ទាប" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "កាំ" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "សមត្ថភាព​ទាប" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "កាំ" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "សមត្ថភាព​ទាប" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "សមត្ថភាព​ទាប" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "សមត្ថភាព​ទាប" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "កាំ" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "គ្មាន​សេចក្ដី​ពណ៌នា" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ជម្រើស ypbind" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "បាន​ជ្រើស" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "ប្រព័ន្ធ​ឯកសារ" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "ឧបករណ៍​ប៉ះអេក្រង់" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "វ៉ីនដូ" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "បន្ថែម​ទំនាក់​ទំនង" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "បន្ថែម​ទំនាក់​ទំនង" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "កុំ​ចុះ​កំណត់ហេតុ​អ្វី​ទាំងអស់" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "កុំ​ចុះ​កំណត់ហេតុ​អ្វី​ទាំងអស់" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "មាន" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "XF86RotateWindows" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "ផ្លាស់ទី​ចុះ​ក្រោម" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "ផ្លាស់ទី​ចុះ​ក្រោម" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "សមត្ថភាព​ទាប" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "ឧបករណ៍​និម្មិត" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "ផ្លាស់​ប្ដូរ​ទំហំ" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "ឧបករណ៍​និម្មិត" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "ផ្លាស់​ប្ដូរ​ទំហំ" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ជម្រើស ypbind" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "ក្រុម​ការងារ" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "ផ្លាស់​ប្ដូរ​ទំហំ" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "ឧបករណ៍​និម្មិត" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "ផ្លាស់​ប្ដូរ​ទំហំ" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "ឧបករណ៍​និម្មិត" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "ផ្ទៃតុ" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Subnet ពី​ចម្ងាយ" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "ទៅ​ស្ដាំ" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Subnet ពី​ចម្ងាយ" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "ទៅ​ស្ដាំ" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "ថាស​សតិ​ដំបូង" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "ផ្លាស់​ប្ដូរ​ទំហំ" + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "ពេល​វេលា​ពិត​ប្រាកដ" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "ទ្រនិចចង្អុរ​ទៅ %1" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "ការពិពណ៌នា​អំពី​ម៉ាស៊ីន​បោះពុម្ព" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Subnet ពី​ចម្ងាយ" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "ទៅ​ស្ដាំ" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "ទៅ​ស្ដាំ" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Subnet ពី​ចម្ងាយ" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "ទៅ​ស្ដាំ" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Subnet ពី​ចម្ងាយ" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Subnet ពី​ចម្ងាយ" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "ទៅ​ស្ដាំ" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "បង្វិល​អេក្រង់" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "ការ​បង្កើន​ល្បឿន 3D ៖ " + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "សាកល្បង" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "សាកល្បង" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "ចាប់ផ្ដើម​រក" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "ផ្ទៃ​ខាង​ក្រោយ" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "ថាស​សតិ​ដំបូង" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "ថាស​សតិ​ដំបូង" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "ថាស​សតិ​ដំបូង" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "ថាស​សតិ​ដំបូង" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "ម៉ាស៊ីន​ស្កេន" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "ពេលវេលា​មូលដ្ឋាន" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "ពេលវេលា​មូលដ្ឋាន" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "អេស៉្បាញ" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "ថត\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "អ៊ីទីតេ" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "បើក​កម្មវិធី​មួយ" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "អេក្រង់" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "មាន​កំហុស ខណៈ​ពេល​កំពុង​ញែក​បន្ទាត់​ពាក្យ​បញ្ជា​។" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "លំដាប់​កម្មវិធី" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "AutoYast" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Bridge" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "កំឡុង​ពេល​ចាប់ផ្ដើម​ឡើង" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "រូប​តំណាង" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "វ៉ីនដូ" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "ថិរវេលា" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "ប្ដូរ​ស្គ្រីប" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "ពេលវេលា​មូលដ្ឋាន" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "ចេញ" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "បន្ថែម​តំណ" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "បន្ថែម​ទំនាក់​ទំនង" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "ពន្យារពេល" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "វ៉ីនដូ" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "អំពើ" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "គុណភាព​បង្ហាញ" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "វ៉ីនដូ" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "វ៉ីនដូ" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "វ៉ីនដូ" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "វ៉ីនដូ" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "ទំហំ​សំបុត្រ​អតិបរមា" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "ទំហំ​សំបុត្រ​អតិបរមា" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "ផ្លាស់ទី​ចុះ​ក្រោម" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "កម្មវិធី​បញ្ជា" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "អំពើ" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "ការ​ចែក​រំលែក" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "ការ​ចែក​រំលែក" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "លុប​វ៉ីនដូ​" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "ដំណោះស្រាយ​ម៉ាស៊ីន​បម្រើ" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "វ៉ីនដូ" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "តម្រង ៖ " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "ផ្ទៃតុ" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "ចេញ" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "ចេញ" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "បាន​ជ្រើស" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "សាកល្បង" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "ចេញ" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "ឧបករណ៍" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "ម៉ឺនុយ" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "ថាស​ឧបករណ៍​ប្រើប្រាស់..." + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "ការ​ហៅ​ឮ​សម្លេង" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "ធម្មតា" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "កម្មវិធីគ្រប់គ្រងបង្អួច" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "ម៉ឺនុយ" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "ឧបករណ៍" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "ការ​ជូនដំណឹង" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "ឧបករណ៍​ប៉ះអេក្រង់" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "មិន​ស្គាល់" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "តម្រង ៖ " + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "ថិរវេលា" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "កុំ​ចុះ​កំណត់ហេតុ​អ្វី​ទាំងអស់" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "សមត្ថភាព​ទាប" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "កាំ" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "ការ​បង្កើន​ល្បឿន 3D ៖ " + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "ការ​បង្កើន​ល្បឿន 3D ៖ " + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "សាកល្បង" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "វ៉ីនដូ" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "បន្ថយ​ទំហំ​ភាគ​របស់​វ៉ីនដូ​" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "ទំហំ​សំបុត្រ​អតិបរមា" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "ផ្ទៃតុ" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "អុកស៊ីតង់ (ក្រោយ​ឆ្នាំ ១៥០០)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "ពណ៌" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "ការ​បង្កើន​ល្បឿន 3D ៖ " + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "សាកល្បង" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "ពេលវេលា​មូលដ្ឋាន" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "ពេលវេលា​មូលដ្ឋាន" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "លុប​វ៉ីនដូ​" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "អំពើ" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "ការ​ចែក​រំលែក" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "ប្ដូរ​ស្គ្រីប" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "កំណត់​តម្រង" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "ដំណោះស្រាយ​ម៉ាស៊ីន​បម្រើ" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "វ៉ីនដូ" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "វ៉ីនដូ" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "បាន​ជ្រើស" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "សាកល្បង" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "ចេញ" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "បង្វិល​អេក្រង់" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "បង្វិល​អេក្រង់" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "បង្វិល​អេក្រង់" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "បង្វិល​អេក្រង់" + +#~ msgid "None" +#~ msgstr "គ្មាន" + +#~ msgid "Big" +#~ msgstr "ធំ" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "ពាក្យបញ្ជា ៖ " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "ពាក្យបញ្ជា ៖ " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "វ៉ីនដូ" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "ប្រភេទ​ក្រុមហ៊ុន​ផ្ដល់" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "អនុញ្ញាត​ឲ្យ​ផ្អាក​ស្វ័យប្រវត្តិ" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "កូនីស" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "ថាស​ទន់" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "កំពុង​ចាប់ផ្តើម​ដេមិន ។" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "ស្ថានីយ" diff --git a/po/ko.gmo b/po/ko.gmo new file mode 100644 index 0000000000000000000000000000000000000000..26523e2c7f510563806546eb3960ee47acc77df0 GIT binary patch literal 459 zcmYL^K~6$35Qd*dWAYX*T)XH}BZDnUBn1o+A)*oy9wzK8P@mODOWGoG0po%#(Tz9p zES`WvIA9`w`c0?F|F_ehosC(5T1R$~6tamFkcAq^7IKSp*Mgvf`!@28J+7q|*?+b5 zvo>QLG^}}&JrA`$+)3+{(VTQdDMHxZPr z6dprxF1+L;e;XFiEXqO0Y zEGHLZq2m;3VTDVjN#RAAL`h$ABPY{+d5RGok3=jXl48KgmBD$?r&vy}O!Zp5vicoM z)39u`ml_|N3~_2NU;W`Q5lZJt?@?GMeX$)?A-D1^hI)_|D!OO-O2?e!y2^)*WMoAG jRbvN^6FpoWU6JL3O|9G2!P49zW&q#r# literal 0 HcmV?d00001 diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..41888c6 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,3044 @@ +# KOREAN message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2002 SuSE Linux AG. +# Copyright (C) 2000, 2001 SuSE GmbH. +# Hwang, Sang-Jin +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-07-18 11:05+0200\n" +"Last-Translator: Hwang, Sang-Jin \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "데스크탑 설정" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "윈도우 매니저" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +# combo box item +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "일시 중단" + +# Radio button for using an entire (Windows) partition for Linux +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "윈도우즈를 완전히 지우기(&D)" + +# Radio button for using an entire (Windows) partition for Linux +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "윈도우즈를 완전히 지우기(&D)" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "-- 초기화" + +# local clock type name +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Dumb Clock" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "활성화된 프로파일" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "-- 초기화" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "-- 초기화" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "-- 초기화" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "-- 초기화" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +# button text +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "윈도우 삭제(&D)" + +# button text +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "윈도우 삭제(&D)" + +# MenuButton label +# menubutton label +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "필터 설정(&S)" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "지속" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "지속" + +# combo box item +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "일시 중단" + +# button text +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "지속" + +# button text +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +# button text +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "윈도우 삭제(&D)" + +# button text +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "윈도우 삭제(&D)" + +# RU +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "러시아" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "러시아어" + +# RU +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "러시아" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "러시아어" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "리마" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "윈도우즈 남음 (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "-- 초기화" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "활성화된 프로파일" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +# label text +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "파일 시스템(&S)" + +# Combobox item +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "자동 설정" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "윈도우즈를 완전히 지우기(&D)" + +# table item / label +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "기본 선택" + +# text entry +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "기본 만료 일자(&E)" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "업데이트를 위한 선택" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "가상 별명들" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +# Tree Menu Item - DNS & Dialog Label - expert settings +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "로그인" + +# command line help text for the 'list detected only' option +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "검색된 프리터만 나열합니다." + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "윈도우즈" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "윈도우즈 줄이기(&S)" + +# button text +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "윈도우즈 줄이기(&S)" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "윈도우즈 줄이기(&S)" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "늦추기" + +# radio button, NTP relationship type +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "라디오 클럭(&R)" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "크기 재조정 실패" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Refresh 목록(&R)" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +# Process "help" +# translators: %1 is the command name +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "'%1 명령" + +# Process "help" +# translators: %1 is the command name +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "'%1 명령" + +# Process "help" +# translators: %1 is the command name +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "'%1 명령" + +# Process "help" +# translators: %1 is the command name +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "'%1 명령" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "명령어: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "명령줄을 구문 분석하는 동안 오류가 발생했습니다." + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "모든 파티션 보기" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "명령줄을 구문 분석하는 동안 오류가 발생했습니다." + +# MenuButton label +# menubutton label +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "필터 설정(&S)" + +# MenuButton label +# menubutton label +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "필터 설정(&S)" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "가상 별명들" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "윈도우 매니저" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D 가속:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "시드니" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +# local clock type name +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Dumb Clock" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "데스크탑 설정" + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D 가속:" + +# combo box item +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "일시 중단" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "테스트(&T)" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "복구 실패 파일" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "리마" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "다음 업데이트" + +# button text +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "다음 업데이트" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +# ComboBox entry: hardware clock set to local time +# label text, Clock setting: local time (not UTC) +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "지역 시간" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "시드니" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "시드니" + +# combo box item +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "일시 중단" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "테스트(&T)" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "명령어: " + +# button text +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +# int field +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "낮은 수준(&L)" + +# int field +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "낮은 수준(&L)" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "반경" + +# int field +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "낮은 수준(&L)" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "반경" + +# button text +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "윈도우즈 줄이기(&S)" + +# int field +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "낮은 수준(&L)" + +# int field +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "낮은 수준(&L)" + +# int field +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "낮은 수준(&L)" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "반경" + +# button text +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "윈도우즈 줄이기(&S)" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "설명없음" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind 옵션" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +# combo box item +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "일시 중단" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +# label text +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "파일 시스템(&S)" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +# button text +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "윈도우 삭제(&D)" + +# button text +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "윈도우즈 줄이기(&S)" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "윈도우즈 남음 (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +# button text +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "윈도우즈 줄이기(&S)" + +# button text +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "윈도우즈 줄이기(&S)" + +# button text +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "윈도우즈 줄이기(&S)" + +# button text +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "윈도우즈 줄이기(&S)" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +# header text +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr " 컨테이너" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "윈도우즈" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "윈도우즈" + +# button text +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "아래로(&D)" + +# int field +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "낮은 수준(&L)" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +# button text +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "윈도우즈 줄이기(&S)" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "가상 별명들" + +# button text +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "크기 재조정 실패" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "가상 별명들" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "크기 재조정 실패" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind 옵션" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +# text entry +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "작업그룹(&W)" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "크기 재조정 실패" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "가상 별명들" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "크기 재조정 실패" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "가상 별명들" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "데스크탑 설정" + +# button text +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "윈도우 삭제(&D)" + +# button text +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "원격 서브넷" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "원격 서브넷" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "데몬을 시작하고 있습니다." + +# button text +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "윈도우 삭제(&D)" + +# button text +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "원격 서브넷" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "원격 서브넷" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "데몬을 시작하고 있습니다." + +# button text +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "-- 초기화" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "크기 재조정 실패" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "크기 재조정 실패" + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "실 시간" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +# table entry, %1 is host name +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Pointer to %1" + +# dialog caption +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "프린터 장치" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "원격 서브넷" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "윈도우즈" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "데몬을 시작하고 있습니다." + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D 가속:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "테스트(&T)" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "테스트(&T)" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "검색 시작" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "배경" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "윈도우즈" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "스캐너" + +# button text +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "윈도우 삭제(&D)" + +# ComboBox entry: hardware clock set to local time +# label text, Clock setting: local time (not UTC) +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "지역 시간" + +# ComboBox entry: hardware clock set to local time +# label text, Clock setting: local time (not UTC) +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "지역 시간" + +# button text +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "윈도우 삭제(&D)" + +# button text +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "스페인" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "-- 초기화" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "명령줄을 구문 분석하는 동안 오류가 발생했습니다." + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "명령줄을 구문 분석하는 동안 오류가 발생했습니다." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +# frame +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "지원 순서" + +# Combobox item +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "자동 설정" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "브릿지" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "작동" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "아이콘" + +# button text +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "윈도우즈 줄이기(&S)" + +# button text +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "윈도우즈" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "지속" + +# button text +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "데몬을 시작하고 있습니다." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +# button text +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "윈도우즈 줄이기(&S)" + +# ComboBox entry: hardware clock set to local time +# label text, Clock setting: local time (not UTC) +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "지역 시간" + +# ComboBox entry: hardware clock set to local time +# label text, Clock setting: local time (not UTC) +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "지역 시간" + +# button text +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +# combo box item +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "로그아웃" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "늦추기" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "상태 변경(&T)" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "상태 변경(&T)" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "상태 변경(&T)" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "상태 변경(&T)" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "윈도우즈" + +# button text +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "작동" + +# button text +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "해상도" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +# button text +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "윈도우즈" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "윈도우즈" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "윈도우즈" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "윈도우즈" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "최소 GUID(&G)" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "최소 GUID(&G)" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "윈도우즈" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +# button text +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "윈도우즈 줄이기(&S)" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "작동" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "%1 생략" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "%1 생략" + +# button text +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "윈도우 삭제(&D)" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +# translators: frame title for method of incoming request resolution +# table cell description +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "서버 확인" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "윈도우즈" + +# label text - keep it short +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "필터: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "데스크탑 설정" + +# combo box item +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "로그아웃" + +# combo box item +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "로그아웃" + +# combo box item +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "일시 중단" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "테스트(&T)" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +# combo box item +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "로그아웃" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "윈도우 매니저" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "구성" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "알수 없음`" + +# label text - keep it short +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "필터: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "러시아어" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "지속" + +# int field +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "낮은 수준(&L)" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "반경" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "데몬을 시작하고 있습니다." + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D 가속:" + +# combo box item +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "일시 중단" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "테스트(&T)" + +# RU +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "러시아" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "러시아어" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "윈도우즈" + +# button text +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "윈도우즈 줄이기(&S)" + +# button text +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "윈도우즈 줄이기(&S)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "최소 GUID(&G)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "데몬을 시작하고 있습니다." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "데몬을 시작하고 있습니다." + +# local clock type name +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Dumb Clock" + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D 가속:" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "테스트(&T)" + +# ComboBox entry: hardware clock set to local time +# label text, Clock setting: local time (not UTC) +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "지역 시간" + +# ComboBox entry: hardware clock set to local time +# label text, Clock setting: local time (not UTC) +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "지역 시간" + +# button text +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "윈도우 삭제(&D)" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "작동" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "%1 생략" + +# MenuButton label +# menubutton label +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "필터 설정(&S)" + +# translators: frame title for method of incoming request resolution +# table cell description +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "서버 확인" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "윈도우즈 남음 (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "윈도우즈 남음 (%1)" + +# combo box item +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "일시 중단" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "테스트(&T)" + +# combo box item +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "로그아웃" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "데몬을 시작하고 있습니다." + +#~ msgid "None" +#~ msgstr "없음" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "명령어: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "명령어: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "윈도우즈" + +# src/isdn/complex.ycp:268 src/modem/complex.ycp:202 +# src/modem/complex.ycp:207 src/provider/complex.ycp:186 +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "서비스 제공자 종류" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "변환기" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "변경 보기(&H)" + +# default is "/dev/fd0" floppy device (used when floppy detection is skipped as a fallback) +# tree node string +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "플로피 디스크" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "데몬을 시작하고 있습니다." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "터미널" diff --git a/po/lo.gmo b/po/lo.gmo new file mode 100644 index 0000000000000000000000000000000000000000..196a7419cbb3127fd2dab425b9145d36c36e01f1 GIT binary patch literal 393 zcmYk1!Ab)$5QZyy+M{O=BY04BYErGPsg+`Fq0rJ&SHWZKj_b;9vLsot58~_jEY2!e zfA~nkd^1VDc6UBooGoULIbgP#6Q)Vb%(-~QYvcT7;p`i&0!~tVBjKVvmZx}IXC4!)AX>~596Hj0oA6EtQqU3N5=9rK1bL=J2gSJ%EaH;h z^Je(QyFeki3?f$D_*h8xrrHNgoHoAD!8!%GjLpE;p4usK)nv8K2out!f~mG}{a?6= zW|P@y^9$J)(a@SehKH^zeqErCa9R~QH$7OrYUe5RACfV~8?U+ig&dB|%BH!=6vWSY fh!#cdbb({*O0U3FKS$s1^x${fH?ZFa*^64=(6wyV literal 0 HcmV?d00001 diff --git a/po/lo.po b/po/lo.po new file mode 100644 index 0000000..b320eff --- /dev/null +++ b/po/lo.po @@ -0,0 +1,2390 @@ +# Lao message file for YaST2 (@memory@). +# Copyright (C) 2006 SUSE Linux Products GmbH. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-01-04 08:58+0100\n" +"Last-Translator: i18n@suse.de\n" +"Language-Team: Lao \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +msgid "Blur Saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +msgid "Blur saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +msgid "Shadow windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +msgid "Fade windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +msgid "Initiate rectangle screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +msgid "Auto Rotate" +msgstr "" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +msgid "Focus Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +msgid "Grab Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "" diff --git a/po/lt.gmo b/po/lt.gmo new file mode 100644 index 0000000000000000000000000000000000000000..7d01f2223ea625fb38b3ae7c171d2b8b4fcc4fa0 GIT binary patch literal 598 zcmYL`%}x|S5XW1^59a9ELwS%uOs(Au#ASA8-ME6m?BWIo6B94(OfxjjbdTLVCS z1fIp4H($eNu^Kd6$uIw^)W7=k&*PPAMzKOXAx6Y~;xiGWC1URz@qjoZ9uk+t&pV7= zkw$-Zm$65rQ_@w^87Z|H3A;zci0iPqG95dxu8}o6GGC4TZrH-vQ&j}qFY%*tUR#sG zC;1_V^+}@|>&_<|$)Rek3pn?cF7b6&dCYAJ$>M#EQ>SF0A$%i)N}EW#{lnIoKPGepD zD<{Xbb-I+j&dXk5n=#Fss*{z%T*)SdnGPqNG+G)MX)!Pp-+9$5)i{~&&v%#C6+NCz ztqHUV=I1S4Bd8zYMO#a4hESYH=T*p#@;w|ZeesmX%HgglY^hC^!r+Sz$)fI@tZ|PX z*{5LIo6={SL%2;d^Gxt86R@@hG38G)daGB!f!tJ&vwm!?-}FX;!^Op|j~aY~jDn2) VVG{pR|NqR+vjg?}mo~PM>@U{ho#6lg literal 0 HcmV?d00001 diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000..4236760 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,2929 @@ +# Lithuanian message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2002 SuSE Linux AG. +# Copyright (C) 2000, 2001 SuSE GmbH. +# Jonas Gocentas , 2001. +# Linas Spraunius , 2000. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-10-18 09:54+0200\n" +"Last-Translator: Jonas Gocentas \n" +"Language-Team: Lithuanian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%" +"100<10 || n%100>=20) ? 1 : 2;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Darbastaliai" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Window Manager" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Praleistas\n" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Visiškai &ištrinti Windows" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Visiškai &ištrinti Windows" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr " -- Inicializuoti" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Spalvos" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktyvus profailas" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "_Valyti" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +#, fuzzy +msgid "Fill color for annotations" +msgstr "Sužinokite daugiau pasinaudoję dokumentacija" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr " -- Inicializuoti" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr " -- Inicializuoti" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr " -- Inicializuoti" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr " -- Inicializuoti" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +#, fuzzy +msgid "Line width for annotations" +msgstr "Sužinokite daugiau pasinaudoję dokumentacija" + +#: ../metadata/annotate.xml.in.h:15 +#, fuzzy +msgid "Stroke color for annotations" +msgstr "Sužinokite daugiau pasinaudoję dokumentacija" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +#, fuzzy +msgid "Stroke width for annotations" +msgstr "Sužinokite daugiau pasinaudoję dokumentacija" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Ištrinti Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Nu&statyti filtrą" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Trukmė" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Trukmė" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Praleistas\n" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Trukmė" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Ištrinti Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Rusijos Federacija" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Rusų" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Rusijos Federacija" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Rusų" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows laisva (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Video režimo pasirinkimas" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Aktyvus profailas" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Bylų &sistema" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Automatinė" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Ištrinti Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "Visiškai &ištrinti Windows" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Įprastas skyrius" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Įprasta galiojimo pabaigos data" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Pasirinkite atnaujinimui" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Paleidžiamas demonas." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Virtualūs pseudonimai" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Registravimas" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Išvardinti tik detektuotus spausdintuvus" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Windows" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Suspausti Windows" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Suspausti Windows" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Suspausti Windows" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Nutolęs darbastalis" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Nutolęs darbastalis" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Paleisti terminale" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Uždelsimas" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "&Radijo laikrodis" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Nepavyko pakeisti dydį." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Atnaujinti sąrašą" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Komanda '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Komanda '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Komanda '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Komanda '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Komanda:" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Komandinės eilutės nagrinėjimo klaida." + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Rodyti visus skaidinius" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Komandinės eilutės nagrinėjimo klaida." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "Nu&statyti filtrą" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Nu&statyti filtrą" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Virtualūs pseudonimai" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Window Manager" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D spartinimas:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sidnėjus" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Spalvos" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Darbalaukis" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D spartinimas:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Praleistas\n" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "&Testas" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Nepavykusios bylos" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "&Ištrinti Windows" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Ištrinti Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Windows" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "vietinis laikas" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sidnėjus" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sidnėjus" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Praleistas\n" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "&Testas" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Komanda:" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "Visiškai &ištrinti Windows" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "Visiškai &ištrinti Windows" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "Visiškai &ištrinti Windows" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Suspausti Windows" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "Visiškai &ištrinti Windows" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Suspausti Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Nėra aprašo" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind parametrai" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Praleistas\n" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Bylų &sistema" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Suspausti Windows" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Lytimasis ekranas" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows laisva (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Pridėti kontaktą" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Pridėti kontaktą" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Suspausti Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Suspausti Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Suspausti Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Suspausti Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Mountain" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "Į &apačią" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Į &apačią" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Į &apačią" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Ištrinti Windows" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Paleidžiamas demonas." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Suspausti Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Virtualūs pseudonimai" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Nepavyko pakeisti dydį." + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Virtualūs pseudonimai" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Nepavyko pakeisti dydį." + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind parametrai" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Darbo grupė" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Nepavyko pakeisti dydį." + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Virtualūs pseudonimai" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Nepavyko pakeisti dydį." + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Virtualūs pseudonimai" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Darbalaukis" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Ištrinti Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page Down" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Į dešinę" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page Up" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Ištrinti Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Į dešinę" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Pasukti ekraną" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page Up" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr " -- Inicializuoti" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Nepavyko pakeisti dydį." + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Nepavyko pakeisti dydį." + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Realaus laiko" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "%1 rodyklė" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Spausdinimo įrenginys" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Į dešinę" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Į dešinę" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Į dešinę" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Į dešinę" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Pasukti ekraną" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Į &apačią" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D spartinimas:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "&Testas" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "&Testas" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Pradėti paiešką" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Fonas" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Į &apačią" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Skeneris" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "vietinis laikas" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "vietinis laikas" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Ispanija" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Katalogas\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Video režimo pasirinkimas" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Programos" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Ekranas" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Komandinės eilutės nagrinėjimo klaida." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Programos tvarka" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automatinė" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Tiltas" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Veiksmo" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Piktogramos" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Suspausti Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Ištrinti Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Trukmė" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Ištrinti Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Paleidžiamas demonas." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Suspausti Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "vietinis laikas" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "vietinis laikas" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "Pridėti plunksną" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Pridėti kontaktą" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Uždelsimas" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Pakeis&ti būseną" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Pakeis&ti būseną" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Pakeis&ti būseną" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Pakeis&ti būseną" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Veiksmo" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Ištrinti Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Raiška" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Ištrinti Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Mažiausias &GUID" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Mažiausias &GUID" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Į &apačią" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Tvarkyklė" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Suspausti Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Veiksmo" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Praleidžiamas %1" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Praleidžiamas %1" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Ištrinti Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Serverio rezoliucija" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filtras: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Darbalaukis" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Darbalaukis" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Praleistas\n" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "&Testas" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Darbalaukis" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Įrankiai" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Meniu" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Pagalbinis diskas..." + +#: ../src/main.c:59 +#, fuzzy +msgid "Splash" +msgstr "splash=0" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "Konfigūravimo dialogas" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normalus" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Window Manager" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Meniu" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Įrankiai" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Pranešimai" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +#, fuzzy +msgid "Dnd" +msgstr "End" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Lytimasis ekranas" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Nežinoma" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtras: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Rusų" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Trukmė" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Visiškai &ištrinti Windows" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Paleidžiamas demonas." + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D spartinimas:" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D spartinimas:" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "&Testas" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Rusijos Federacija" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Rusų" + +#, fuzzy +#~ msgid "Line width for annotations (0.0-100.0)" +#~ msgstr "Sužinokite daugiau pasinaudoję dokumentacija" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Suspausti Windows" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Suspausti Windows" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Mažiausias &GUID" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Nutolęs darbastalis" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Paleidžiamas demonas." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Paleidžiamas demonas." + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Spalvos" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D spartinimas:" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "&Testas" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "vietinis laikas" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "vietinis laikas" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Ištrinti Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Veiksmo" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Praleidžiamas %1" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Nu&statyti filtrą" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Serverio rezoliucija" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows laisva (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows laisva (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Praleistas\n" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "&Testas" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Darbalaukis" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Pasukti ekraną" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Pasukti ekraną" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Paleidžiamas demonas." + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Pasukti ekraną" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Pasukti ekraną" + +#~ msgid "None" +#~ msgstr "Nieko" + +#~ msgid "Big" +#~ msgstr "Didelis" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Komanda:" + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Komanda:" + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Teikėjo tipas" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Įjungti ZEN skaidinį" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Konverteriai" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Rodyti pak&eitimus" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Diskelis" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Paleidžiamas demonas." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminalai" diff --git a/po/mk.gmo b/po/mk.gmo new file mode 100644 index 0000000000000000000000000000000000000000..ff65397aeb075b5635969dc3f01ea4f068467ce9 GIT binary patch literal 440 zcmYL^&q@O^5Qh~#?a{M`96VTbYEu8SrnW3r3k8d%u7bz78`tP=vLtCy52Ej&_!{C# zM16+z1$-8>3ibydNys +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-07-17 16:12+0200\n" +"Last-Translator: Зоран Димовски \n" +"Language-Team: Macedonian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n>1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Постави филтер" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Постави филтер" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +msgid "Blur Saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Постави филтер" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +msgid "Blur saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Руски" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Руски" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Руски" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Руски" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "Постави филтер" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Постави филтер" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +msgid "Shadow windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +msgid "Fade windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +msgid "Initiate rectangle screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +msgid "Auto Rotate" +msgstr "" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +msgid "Focus Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +msgid "Grab Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Руски" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Постави филтер" diff --git a/po/mr.gmo b/po/mr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..4646e0d5e97ed6f9ef0409cb827b2b3aa6ac9687 GIT binary patch literal 506 zcmYL_F>ezw6vq!#gmhzPhDWDF;NZIuH8@EXT3V?R5l6Wqb$sN^_2ABqY^RVF2{Co- zhL~Ii1{m1+D99UMgLgq9fB7fBXZ_#Pd;Yz>brq3r5_gFE#4Tb>w91Iv#B<{EMiiaV zy-oa~n9f>l?SGxBw@SZLQD*cTId|;1U@xVyl~w}I@I?-tX(JnLR?}{LA{W{?HnU|_ zu>ECeS*``d*|VG-7>SOG*b{V8K+5?p;{%o?kn{yl8Gpz*8QF=vsM_Wm-++-deFVus z^mp&^L7&G@(K?nJRJKN^jewmF1phJk@8SAW@INT|7W}W^e+K^{_^lYy`~EpgXT%TqQ#_wM#2|h1`p0$FsxDA0#~< zA86&IqLEe$+Re%L?!ltQN{wKCj>bwiIn9sQaN}!7e=Q9=RC8TasuVDMRk=8;mj-Kg mq)lT5sKq+9lXL|C!bwNnoh02+9Idzg9Ih{e|FYiHM}GlfE}h5# literal 0 HcmV?d00001 diff --git a/po/mr.po b/po/mr.po new file mode 100644 index 0000000..fffd358 --- /dev/null +++ b/po/mr.po @@ -0,0 +1,2498 @@ +# Marathi message file for YaST2 (@memory@). +# Copyright (C) 2006 SUSE Linux Products GmbH. +# "( अमेय पाळंदे ) Ameya Palande" <2ameya@gmail.com> +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2005-07-29 15:37+0530\n" +"Last-Translator: \"( अमेय पाळंदे ) Ameya Palande\" <2ameya@gmail.com>\n" +"Language-Team: Marathi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "सुरु करणे" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "सुरु करणे" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +#, fuzzy +msgid "Draw using tool" +msgstr "सुरू होताना" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "सुरु करणे" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "सुरु करणे" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "सुरु करणे" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "सुरु करणे" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "संरचना संचित करा" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "संरचना संचित करा" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "संरचना संचित करा" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "निवडा काही नाही" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "निवडा काही नाही" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "रषॴॖनॴ" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "रषॴॖनॴ" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "रषॴॖनॴ" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "रषॴॖनॴ" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "नामावली निवड" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "निवडा काही नाही" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "पुन्हा सुरू करा" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "आज्ञा '%1'" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "स्थानिक वेळ" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "स्थानिक वेळ" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "स्थानिक वेळ" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "स्थानिक वेळ" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "आज्ञा:" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "निवडा काही नाही" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "निवडा काही नाही" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "निवडा काही नाही" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "निवडा काही नाही" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "स्थानिक वेळ" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "निवडा काही नाही" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "निवडा काही नाही" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "सुरु करणे" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "स्थानिक वेळ" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "सुरु करणे" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "निवडा काही नाही" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "निवडा काही नाही" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "स्थापना पूर्ण झाली" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "स्थापना पूर्ण झाली" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "स्थापना पूर्ण झाली" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "इन्स्टॉलेशन सुरु करत आहे..." + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +#, fuzzy +msgid "Hover Time" +msgstr "स्थानिक वेळ" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "सुरु करणे" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "स्थानिक वेळ" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "स्थानिक वेळ" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "निवडा काही नाही" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "निवडा काही नाही" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "स्थानिक संचिका..." + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "नामावली निवड" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "सुरु करणे" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "सुरू होताना" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "निवडा काही नाही" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "संरचना संचित करा" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "निवडा काही नाही" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "निवडा काही नाही" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "स्थानिक वेळ" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "निवडा काही नाही" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "निवडा काही नाही" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "निवडा काही नाही" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "सुरू होताना" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "स्थापना पूर्ण झाली" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "स्थानिक वेळ" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "तग॥लॲग" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "अज्ञात" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "संरचना संचित करा" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "स्थानिक वेळ" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "रषॴॖनॴ" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "स्थापना पूर्ण झाली" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "स्थानिक वेळ" diff --git a/po/nb.gmo b/po/nb.gmo new file mode 100644 index 0000000000000000000000000000000000000000..db8fb381394ae6cce58d65afd26db736a81a428a GIT binary patch literal 520 zcmYL`&2AGh5XW68AnlPe2XkwMCU}!VBPXdMN-I?&5S0xQ5*H^K7I!z}#rAf)2aY@f zug6nx;l>z{GSW{oirzA_J)Tjmk-jiCb}zOzsD zUmU0P-|Um_;2y)Cow&~=OFFSYYQpRDmfqdqCc@PgKA;cQk(M9L`$8Vg zcer!DpC4z}*f<|y5lXv-S8W-fa9U=|cLkh#G?AO&wTYO?6P z!ZqI7wE14gwU>~e%KSu+M$Z&?W^YW0P\n" +"Language-Team: Norwegian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Skrivebordsmiljøer" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Vindushåndterer" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Valgte" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&Slett Windows fullstendig" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&Slett Windows fullstendig" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Hittitisk" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Farger" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +# +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktiv profil" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "T_øm" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Hittitisk" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Hittitisk" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Hittitisk" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Hittitisk" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Slett Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Slett Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "&Bruk filter" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Varighet" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Varighet" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Valgte" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Slett Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Varighet" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Slett Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Slett Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Slett Windows" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Russland" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Russisk" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Russland" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Russisk" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mi'kmaq" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows ledig (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Resultatet var" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Valg av skjermmodus" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +# +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Aktiv profil" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Filsystem" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "AutoYast" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +#, fuzzy +msgid "Automatic detection of output devices" +msgstr "Automatisk søk" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Slett Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&Slett Windows fullstendig" + +# +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Standardseksjon" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Standarddomene" + +#: ../metadata/core.xml.in.h:53 +#, fuzzy +msgid "Detect Outputs" +msgstr "Kort informasjon" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Velg for oppgradering" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Aktiverer nisse." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Virtuell enhet" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Logging" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Vis bare skrivere som er funnet" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Sorbiansk, nedre" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Krymp Windows" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Krymp Windows" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Krymp Windows" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Eksternt skrivebord" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Eksternt skrivebord" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Oksitansk (etter 1500)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Slett Windows" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Kjør i terminal" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +#, fuzzy +msgid "Outputs" +msgstr "Resultatet var" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Forsinkelse" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "&Radioklokke" + +# +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Endring av størrelse mislyktes." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Oppdater" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "&Tonesignal" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Kommando '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Kommando '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Kommando '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Kommando '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Kommando: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Feil under analyse av kommandolinje." + +# +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "Vis oppstartsmeny" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +# +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "Vis oppstartsmeny" + +# +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Vis alle partisjoner" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Feil under analyse av kommandolinje." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "&Bruk filter" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "&Bruk filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Virtuell enhet" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Vindushåndterer" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D-akselerasjon:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "Avanserte valg" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Farger" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Skrivebord" + +# +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D-akselerasjon:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Valgte" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Test" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "&Forrige" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "ISO-diskbildefil" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Mi'kmaq" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "Ny størrelse" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Slett Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "&Forrige" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "lokal tid" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "ISO-diskbilde" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Valgte" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Test" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Kommando: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Slett Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Lavt nivå" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Lavt nivå" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Lavt nivå" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Krymp Windows" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Lavt nivå" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Lavt nivå" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Lavt nivå" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Krymp Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Ingen beskrivelse" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "Alternativer for ypbind" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Valgte" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Filsystem" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Slett Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Krymp Windows" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Berøringsskjerm" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows ledig (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Legg til kontakt" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Legg til kontakt" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Ikke logg noen" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Ikke logg noen" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Krymp Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Krymp Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Krymp Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Krymp Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Inneholder" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "XF86RotateWindows" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Flytt &ned" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Flytt &ned" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Lavt nivå" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Aktiverer nisse." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Krymp Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Aktiverer nisse." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Virtuell enhet" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Slett Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +# +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Endring av størrelse mislyktes." + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Virtuell enhet" + +# +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Endring av størrelse mislyktes." + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "Alternativer for ypbind" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Arbeidsgruppe" + +# +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Endring av størrelse mislyktes." + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Virtuell enhet" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +# +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Endring av størrelse mislyktes." + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Virtuell enhet" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Skrivebord" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Slett Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page Down" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Eksternt subnett" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Mot høyre" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page Up" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Slett Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Eksternt subnett" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Mot høyre" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Roter skjerm" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page Up" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Første RAM-disk" + +# +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Endring av størrelse mislyktes." + +# +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Endring av størrelse mislyktes." + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Sanntid" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Peker til %1" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Beskrivelse av skriver" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Eksternt subnett" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Mot høyre" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Mot høyre" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Eksternt subnett" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Mot høyre" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Eksternt subnett" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Eksternt subnett" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Mot høyre" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Aktiverer nisse." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Roter skjerm" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Aktiverer nisse." + +# +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D-akselerasjon:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Test" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Test" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Start søk" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Bakgrunn" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Første RAM-disk" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "Første RAM-disk" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "Første RAM-disk" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Første RAM-disk" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Lagre" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Slett Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "lokal tid" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "lokal tid" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Slett Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Slett Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Spania" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Start panelprogrammet automatisk ved pålogging" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Katalog\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Valg av skjermmodus" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Start et program" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Rekursivt i katalogen" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Skjerm" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Feil under analyse av kommandolinje." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Regelrekkefølge" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "AutoYast" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Bro" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Ved oppstart" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Ikoner" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Krymp Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Slett Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Varighet" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Slett Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Aktiverer nisse." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Krymp Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Bytteskript" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "lokal tid" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Slett Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Logg ut" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "&Legg til forbindelse" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Legg til kontakt" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Forsinkelse" + +#: ../metadata/water.xml.in.h:11 +#, fuzzy +msgid "Title wave" +msgstr "Tittel: %1" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Tokenring" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Tokenring" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Tokenring" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Tokenring" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +#, fuzzy +msgid "Wave effect from window title" +msgstr "avstand fra tittel" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Slett Windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Handling" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Slett Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Oppløsning" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Slett Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Maksimal størrelse" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Maksimal størrelse" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Flytt &ned" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Driver" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Krymp Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Handling" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Deling" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Deling" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Slett Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Serverdefinisjon" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filter: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Skrivebord" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Logg ut" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Logg ut" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Valgte" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Test" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Logg ut" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Verktøy" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Meny" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Drivere fra produsent..." + +#: ../src/main.c:59 +#, fuzzy +msgid "Splash" +msgstr "splash" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "&Tonesignal" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normale" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Vindushåndterer" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Meny" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Verktøy" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Varsling" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +#, fuzzy +msgid "Dnd" +msgstr "End" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Berøringsskjerm" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Ukjent" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filter: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Russisk" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Varighet" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "Ikke logg noen" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Lavt nivå" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Aktiverer nisse." + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D-akselerasjon: " + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D-akselerasjon: " + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Test" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Russland" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Russisk" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Krymp Windows" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Krymp Windows" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Maksimal størrelse" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Eksternt skrivebord" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Oksitansk (etter 1500)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Aktiverer nisse." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Aktiverer nisse." + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Farger" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D-akselerasjon: " + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Test" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "lokal tid" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "lokal tid" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Slett Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Handling" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Deling" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Bytteskript" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "&Bruk filter" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Serverdefinisjon" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows ledig (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows ledig (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Valgte" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Test" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Logg ut" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Roter skjerm" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Roter skjerm" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Aktiverer nisse." + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Roter skjerm" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Roter skjerm" + +#~ msgid "None" +#~ msgstr "Ingen" + +#~ msgid "Big" +#~ msgstr "Store" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Kommando: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Kommando: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Tjenesteleverandørtype" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Aktiver automatisk dvale" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Kornisk" + +# +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Vis e&ndringer" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Diskett" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Aktiverer nisse." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminaler" diff --git a/po/nl.gmo b/po/nl.gmo new file mode 100644 index 0000000000000000000000000000000000000000..a1cab6a702f97e9b193ca83dc2d5ab68891d42f2 GIT binary patch literal 524 zcmYk3!A=`75Qa^GQtgp52XiArUc4a{k&~c60upLdB3O_rRYK10uvxM@UTiOI4n6V+ zydICy3m0bFLpsu@8GHV*$DY^ijTc6?LF^EHVw3nmG*%H!?veONJP}*OZ=zab?3sL% z|3h)J|3>~3`SlNsQOL-#b)vCG$0mR^`(|vZ3wDDGG(V9|t$BdNi;Gm;f_1q;#lP$8 znC}fsD2-hXTfr4n#(FVvS)Pj1I&&g6iU-rnSd1)aPeo#^Jt*Fm@<_aepfsWSMgofomy=nCzPRs1Bp4*3_bixR+ju)MF`;;yW1 zHD3;Ad3JA%4--=!Qz>S(&OpSVOU1{vPv*RzM_nAc+CiAYaWJ`yo, 1999, 2000, 2001. +# FAX-Translations , 2000. +# Karl Eichwalder , 1999, 2000. +# Martin Lohner , 2000. +# peter@sybex.nl, 2000. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2002-07-01 14:34+0200\n" +"Last-Translator: A.S. Kerkmeester \n" +"Language-Team: Dutch \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Desktops" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Window manager" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Geselecteerd" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Windows geheel verwij&deren" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Windows geheel verwij&deren" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Hittitisch" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Kleuren" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Actief profiel" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "Begin_waarde" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Hittitisch" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Hittitisch" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Hittitisch" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Hittitisch" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Windows &verwijderen" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Windows &verwijderen" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Filter in&stellen" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Tijdsduur" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Tijdsduur" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Geselecteerd" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Windows &verwijderen" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Tijdsduur" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Windows &verwijderen" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Windows &verwijderen" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Windows &verwijderen" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Russische Federatie" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Russisch" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Russische Federatie" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Russisch" + +# ../../db/printers.ycp.noloc:1400 +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows vrij (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Uitvoer was" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Videomodus selecteren" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Actief profiel" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Bestands&systeem" + +# /usr/lib/YaST2/clients/dialup_dev_cfg.ycp:80 +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "AutoYast" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +#, fuzzy +msgid "Automatic detection of output devices" +msgstr "Automatische detectie" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "Windows &verwijderen" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "Windows geheel verwij&deren" + +# /usr/lib/YaST2/clients/lan_address.ycp:88 +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Standaard sectie" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Standaard domein" + +#: ../metadata/core.xml.in.h:53 +#, fuzzy +msgid "Detect Outputs" +msgstr "Beknopte uitvoer" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Update-selectie" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "De daemon wordt gestart." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Virtueel apparaat" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Loggen" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Alleen gedetecteerde printers weergeven" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Laag-Sorbiaans" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Windows verkleinen" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Windows verkleinen" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Windows verkleinen" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Desktop op afstand" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Desktop op afstand" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Occitaans (na 1500)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Windows &verwijderen" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "In een terminal uitvoeren" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +#, fuzzy +msgid "Outputs" +msgstr "Uitvoer was" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Wachttijd" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "&Radioklok" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "De grootte-aanpassing is mislukt." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Verversen" + +# /usr/lib/YaST2/clients/dialup_dev_cfg.ycp:336 +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "&Toon bellen" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Commando '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Commando '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Commando '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Commando '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Commando: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Fout opgetreden tijdens het ontleden van de commandoregel." + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "Boot-menu tonen" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "Boot-menu tonen" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Alle partities tonen" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Fout opgetreden tijdens het ontleden van de commandoregel." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "Filter in&stellen" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Filter in&stellen" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Virtueel apparaat" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Window manager" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# /usr/lib/YaST2/clients/inst_config_x11.ycp:812 +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D versnelling:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "Geavanceerde opties" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Kleuren" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Desktop" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# /usr/lib/YaST2/clients/inst_config_x11.ycp:812 +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D versnelling:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Geselecteerd" + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:821 +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Testen" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "&Vorige" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Mislukte bestanden" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +# ../../db/printers.ycp.noloc:1400 +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "Nieuwe afmeting:" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "Windows &verwijderen" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "&Vorige" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "lokale tijd" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Schijfimage" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Geselecteerd" + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:821 +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Testen" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Commando: " + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Windows &verwijderen" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Lage capaciteit" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Lage capaciteit" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Lage capaciteit" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Windows verkleinen" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Lage capaciteit" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Lage capaciteit" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Lage capaciteit" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Windows verkleinen" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Geen beschrijving" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind-opties" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Geselecteerd" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Bestands&systeem" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Windows &verwijderen" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Windows verkleinen" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Aanraakbeeldscherm" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows vrij (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Contact toevoegen" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Contact toevoegen" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Niets loggen" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Niets loggen" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Windows verkleinen" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Windows verkleinen" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Windows verkleinen" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Windows verkleinen" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Bevat" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "XF86RotateWindows" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Om&laag" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Om&laag" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Lage capaciteit" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "De daemon wordt gestart." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Windows verkleinen" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "De daemon wordt gestart." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Virtueel apparaat" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Windows &verwijderen" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "De grootte-aanpassing is mislukt." + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Virtueel apparaat" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "De grootte-aanpassing is mislukt." + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind-opties" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Werkgroep" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "De grootte-aanpassing is mislukt." + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Virtueel apparaat" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "De grootte-aanpassing is mislukt." + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Virtueel apparaat" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Desktop" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Windows &verwijderen" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page Down" + +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Remote subnet" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Naar rechts" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page Up" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Windows &verwijderen" + +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Remote subnet" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Naar rechts" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Scherm draaien" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page Up" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Eerste RAM-disk" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "De grootte-aanpassing is mislukt." + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "De grootte-aanpassing is mislukt." + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Real Time" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Wijzer naar %1" + +# /usr/lib/YaST2/clients/printconf_filter.ycp:200 +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Printer&beschrijving" + +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Remote subnet" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Naar rechts" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Naar rechts" + +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Remote subnet" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Naar rechts" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "De daemon wordt gestart." + +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Remote subnet" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Scherm draaien" + +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +# /usr/lib/YaST2/clients/lan_dns.ycp:85 +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Remote subnet" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Naar rechts" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "De daemon wordt gestart." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Scherm draaien" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "De daemon wordt gestart." + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# /usr/lib/YaST2/clients/inst_config_x11.ycp:812 +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D versnelling:" + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:821 +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Testen" + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:821 +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Testen" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Begin met detecteren" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Achtergrond" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Eerste RAM-disk" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "Eerste RAM-disk" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "Eerste RAM-disk" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Eerste RAM-disk" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Opslaan" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Windows &verwijderen" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "lokale tijd" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "lokale tijd" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Windows &verwijderen" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Windows &verwijderen" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Spanje" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Applet bij aanmelden automatisch starten" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Directory\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Videomodus selecteren" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Lanceer een toepassing" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Ook submappen doorlopen" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Scherm" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Fout opgetreden tijdens het ontleden van de commandoregel." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Applicatievolgorde" + +# /usr/lib/YaST2/clients/dialup_dev_cfg.ycp:80 +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "AutoYast" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Bridge" + +# /usr/lib/YaST2/clients/inst_ask_config.ycp:100 +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Tijdens opstarten" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Pictogrammen" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Windows verkleinen" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Windows &verwijderen" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Tijdsduur" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Windows &verwijderen" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "De daemon wordt gestart." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Windows verkleinen" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Wisselscripts" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "lokale tijd" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Windows &verwijderen" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Afmelden" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "Link &toevoegen" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Contact toevoegen" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Wachttijd" + +#: ../metadata/water.xml.in.h:11 +#, fuzzy +msgid "Title wave" +msgstr "Titel: %1" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +#, fuzzy +msgid "Wave effect from window title" +msgstr "afstand vanaf titel" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Windows &verwijderen" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Actie" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Windows &verwijderen" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Resolutie" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Windows &verwijderen" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Maximale grootte" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Maximale grootte" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Om&laag" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Stuurprogramma" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Windows verkleinen" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Actie" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Stepping" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Stepping" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "Windows &verwijderen" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Server resolutie" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filter: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Desktop" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Afmelden" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Afmelden" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Geselecteerd" + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:821 +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Testen" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Afmelden" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Gereedschappen" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menu" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Monitordiskette..." + +#: ../src/main.c:59 +#, fuzzy +msgid "Splash" +msgstr "opstartscherm" + +# /usr/lib/YaST2/clients/dialup_dev_cfg.ycp:336 +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "&Toon bellen" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normaal" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Window manager" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Menu" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Gereedschappen" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Notificaties" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +#, fuzzy +msgid "Dnd" +msgstr "End" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Aanraakbeeldscherm" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Onbekend" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filter: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Russisch" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Tijdsduur" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "Niets loggen" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Lage capaciteit" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "De daemon wordt gestart." + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# /usr/lib/YaST2/clients/inst_config_x11.ycp:812 +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D-versnelling: " + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# /usr/lib/YaST2/clients/inst_config_x11.ycp:812 +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D-versnelling: " + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:821 +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Testen" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Russische Federatie" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Russisch" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Windows verkleinen" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Windows verkleinen" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Maximale grootte" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Desktop op afstand" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Occitaans (na 1500)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "De daemon wordt gestart." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "De daemon wordt gestart." + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Kleuren" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# /usr/lib/YaST2/clients/inst_config_x11.ycp:812 +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D-versnelling: " + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:821 +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Testen" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "lokale tijd" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "lokale tijd" + +# /usr/lib/YaST2/clients/lan_inetd_custom.ycp:770 +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Windows &verwijderen" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Actie" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Stepping" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Wisselscripts" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Filter in&stellen" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Server resolutie" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows vrij (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows vrij (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Geselecteerd" + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:821 +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Testen" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Afmelden" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Scherm draaien" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Scherm draaien" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "De daemon wordt gestart." + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Scherm draaien" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Scherm draaien" + +#~ msgid "None" +#~ msgstr "Geen" + +#~ msgid "Big" +#~ msgstr "Groot" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Commando: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Commando: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Providertype" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "ZEN-partitie inschakelen" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Cornish" + +# /usr/lib/YaST2/clients/inst_config_x11.ycp:1061 +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "&Wijzigingen weergeven" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Diskette" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "De daemon wordt gestart." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminals" diff --git a/po/pa.gmo b/po/pa.gmo new file mode 100644 index 0000000000000000000000000000000000000000..2d5022e4cdb5258eec8307b77b25f837323b695f GIT binary patch literal 586 zcmaKo&ubJh6vv}hg`psLR!DEHk~LYaF4^6(w6;)mb!n%9;3d2JoXvJN8Iw%w9=sGv z|AOMhTMtez;?a|TisVo6O%?a%gAd=lA9?R3zwR!b6SO7d9@0T>BJYse3Z%|`KyD#N z$Zg~k^7$Ger>M)w{p*C>L4EL7B`T%~3b}#QR`(%&FeQ0q-Av`=z#JNTY{bbO$M)1w&g$tyu_ZX0FpL2 zf5!Ma6M~Azk~bND!Z{YQJvh>J^F`e{!?bux1(!|nkPEDPseE9mQ^w~iSSRTVWsX%o z1qgIsn`}ZiopQ8u_%A#}zc*JCYa1im&}IXBn5`Xz*mqng9mJ&kKAPqXFK@I9>@R3GsRWXcbjec=h$5}bfrthT00@J`W7$GVpYY<6LfyW>T9fi T#_BtU&_9jUMXbJDg)Yc%c*d{3 literal 0 HcmV?d00001 diff --git a/po/pa.po b/po/pa.po new file mode 100644 index 0000000..9371a86 --- /dev/null +++ b/po/pa.po @@ -0,0 +1,2932 @@ +# Punjabi message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Jaswinder Singh Phulewala +# Kanwaljeet Singh Brar +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2005-02-16 10:21+0100\n" +"Last-Translator: Kanwaljeet Singh Brar \n" +"Language-Team: Punjabi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "ਵੇਹੜਾ" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "ਝਰੋਖਾ ਪਰਬੰਧਕ" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "ਚੁਣੇ" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Win&dows ਭਾਗ ਹਟਾਓ" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Win&dows ਭਾਗ ਹਟਾਓ" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "ਰੰਗ" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "ਸਰਗਰਮ ਪਰੋਫਾਇਲ" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "XF86Clear" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "ਫਿਲਟਰ ਸੈਟ(&S)" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "ਅੰਤਰਾਲ" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "ਅੰਤਰਾਲ" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "ਚੁਣੇ" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "ਅੰਤਰਾਲ" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "ਰੂਸੀ ਸੰਘ" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "ਰੂਸੀ" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "ਰੂਸੀ ਸੰਘ" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "ਰੂਸੀ" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "ਲੀਮਾ" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Init" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "ਸਰਗਰਮ ਪਰੋਫਾਇਲ" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "ਫਾਇਲ ਸਿਸਟਮ" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "ਸਵੈ-ਚਾਲਤ" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "Win&dows ਭਾਗ ਹਟਾਓ" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "ਮੂਲ ਹਿੱਸਾ" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "ਮੂਲ ਡੋਮੇਨ" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "ਅੱਪਡੇਟ ਲਈ ਚੁਣੋ" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "ਫ਼ਰਜ਼ੀ ਜੰਤਰ" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "ਲਾਗਿੰਗ" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "ਖੋਜੇ ਪਰਿੰਟਰ ਹੀ ਵੇਖਾਓ" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Windows" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "ਵੇਹੜਾ" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "ਵੇਹੜਾ" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "ਉਸਟਾਨ (ਪੋਸਟ 1500)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "ਵਕਫਾ" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "ਰੇਡੀਓ ਘੜੀ(&R)" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "ਤਾਜ਼ਾ" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "ਟੋਨ ਡਾਇਲ(&T)" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "ਕਮਾਂਡ '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "ਕਮਾਂਡ '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "ਕਮਾਂਡ '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "ਕਮਾਂਡ '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "ਕਮਾਂਡ ਲਾਇਨ ਨੂੰ ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ।" + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "ਬੂਟ ਸੂਚੀ ਵੇਖਾਓ(&S)" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "ਬੂਟ ਸੂਚੀ ਵੇਖਾਓ(&S)" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "ਸਾਰੇ ਭਾਗ ਵਿਖਾਓ" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "ਕਮਾਂਡ ਲਾਇਨ ਨੂੰ ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ।" + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "ਫਿਲਟਰ ਸੈਟ(&S)" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "ਫਿਲਟਰ ਸੈਟ(&S)" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "ਫ਼ਰਜ਼ੀ ਜੰਤਰ" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "ਝਰੋਖਾ ਪਰਬੰਧਕ" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D ਪ੍ਰਵੇਸ਼ਕ:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "ਤਕਨੀਕੀ ਚੋਣ" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "ਰੰਗ" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "ਵੇਹੜਾ" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D ਪ੍ਰਵੇਸ਼ਕ:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "ਚੁਣੇ" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "ਜਾਂਚ" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "ਪਿਛਲਾ ਕਰਨਲ" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "ਅਸਫਲ ਫਾਇਲਾਂ" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "ਲੀਮਾ" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "ਨਵਾਂ ਅਕਾਰ" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "ਪਿਛਲਾ ਕਰਨਲ" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "ਸਥਾਨਕ ਸਮਾਂ" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "ਚੁਣੇ" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "ਜਾਂਚ" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "ਕਮਾਂਡ: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "ਘੱਟ ਸਮਰੱਥਾ(&L)" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "ਘੱਟ ਸਮਰੱਥਾ(&L)" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "ਅਰਧ-ਵਿਆਸ" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "ਘੱਟ ਸਮਰੱਥਾ(&L)" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "ਅਰਧ-ਵਿਆਸ" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "ਘੱਟ ਸਮਰੱਥਾ(&L)" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "ਘੱਟ ਸਮਰੱਥਾ(&L)" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "ਘੱਟ ਸਮਰੱਥਾ(&L)" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "ਅਰਧ-ਵਿਆਸ" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "ਕੋਈ ਵੇਰਵਾ ਨਹੀਂ" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind ਚੋਣ" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "ਚੁਣੇ" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "ਫਾਇਲ ਸਿਸਟਮ" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "ਟੱਚ-ਸਕਰੀਨ" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "ਸੰਪਰਕ ਸ਼ਾਮਿਲ" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "ਸੰਪਰਕ ਸ਼ਾਮਿਲ" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "ਕੋਈ ਲਾਗ ਨਾ ਕਰੋ" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "ਕੋਈ ਲਾਗ ਨਾ ਕਰੋ" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "ਸ਼ਾਮਲ" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "XF86RotateWindows" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "ਹੇਠਾਂ ਜਾਓ(&D)" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "ਹੇਠਾਂ ਜਾਓ(&D)" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "ਘੱਟ ਸਮਰੱਥਾ(&L)" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "ਫ਼ਰਜ਼ੀ ਜੰਤਰ" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "ਮੁੜ-ਆਕਾਰ(&s)" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "ਫ਼ਰਜ਼ੀ ਜੰਤਰ" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "ਮੁੜ-ਆਕਾਰ(&s)" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind ਚੋਣ" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "ਵਰਕਸਮੂਹ(&W)" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "ਮੁੜ-ਆਕਾਰ(&s)" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "ਫ਼ਰਜ਼ੀ ਜੰਤਰ" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "ਮੁੜ-ਆਕਾਰ(&s)" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "ਫ਼ਰਜ਼ੀ ਜੰਤਰ" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "ਵੇਹੜਾ" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "ਰਿਮੋਟ ਸਬਨੈੱਟ" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "ਸੱਜੇ" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "ਰਿਮੋਟ ਸਬਨੈੱਟ" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "ਸੱਜੇ" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "ਸ਼ੁਰੂਆਤੀ RAM ਡਿਸਕ" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "ਮੁੜ-ਆਕਾਰ(&s)" + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "ਮੌਕੇ ਤੇ" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "%1 ਲਈ ਸੂਚਕ" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "ਪਰਿੰਟਰ ਵੇਰਵਾ(&D)" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "ਰਿਮੋਟ ਸਬਨੈੱਟ" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "ਸੱਜੇ" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "ਸੱਜੇ" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "ਰਿਮੋਟ ਸਬਨੈੱਟ" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "ਸੱਜੇ" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "ਰਿਮੋਟ ਸਬਨੈੱਟ" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "ਰਿਮੋਟ ਸਬਨੈੱਟ" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "ਸੱਜੇ" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D ਪ੍ਰਵੇਸ਼ਕ:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "ਜਾਂਚ" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "ਜਾਂਚ" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "ਖੋਜ ਸ਼ੁਰੂ" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "ਪਿੱਠਭੂਮੀ" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "ਸ਼ੁਰੂਆਤੀ RAM ਡਿਸਕ" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "ਸ਼ੁਰੂਆਤੀ RAM ਡਿਸਕ" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "ਸ਼ੁਰੂਆਤੀ RAM ਡਿਸਕ" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "ਸ਼ੁਰੂਆਤੀ RAM ਡਿਸਕ" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "ਸੰਭਾਲੋ" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "ਸਥਾਨਕ ਸਮਾਂ" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "ਸਥਾਨਕ ਸਮਾਂ" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "ਸਪੇਨ" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "ਡਾਇਰੈਕਟਰੀ\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Init" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "ਇੱਕ ਕਾਰਜ ਚਲਾਓ" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "ਸਕਰੀਨ" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "ਕਮਾਂਡ ਲਾਇਨ ਨੂੰ ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ।" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "ਕਾਰਜ ਕਰਮ" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "ਸਵੈ-ਚਾਲਤ" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "ਬਰਿੱਜ" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "ਬੂਟ ਦੌਰਾਨ" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "ਆਈਕਾਨ" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "ਅੰਤਰਾਲ" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "ਸਥਾਨਕ ਸਮਾਂ" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "ਸਥਾਨਕ ਸਮਾਂ" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "ਲਾਗਆਉਟ" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "ਸਬੰਧ ਸ਼ਾਮਲ(&A)" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "ਸੰਪਰਕ ਸ਼ਾਮਿਲ" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "ਵਕਫਾ" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "ਟੋਕਨ ਰਿੰਗ" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "ਟੋਕਨ ਰਿੰਗ" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "ਟੋਕਨ ਰਿੰਗ" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "ਟੋਕਨ ਰਿੰਗ" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "ਕਾਰਵਾਈ" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "ਰੈਜ਼ੋਲੇਸ਼ਨ" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "ਵੱਧ-ਤੋਂ-ਵੱਧ ਅਕਰ" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "ਵੱਧ-ਤੋਂ-ਵੱਧ ਅਕਰ" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "ਹੇਠਾਂ ਜਾਓ(&D)" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "ਡਰਾਇਵਰ" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Window&s ਸਮੇਟੋ" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "ਕਾਰਵਾਈ" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "ਸਟੀਪਿੰਗ" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "ਸਟੀਪਿੰਗ" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "Win&dows ਹਟਾਓ" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "ਸਰਵਰ ਰੈਜ਼ੋਲੂਸ਼ਨ" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "ਫਿਲਟਰ:" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "ਵੇਹੜਾ" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "ਲਾਗਆਉਟ" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "ਲਾਗਆਉਟ" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "ਚੁਣੇ" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "ਜਾਂਚ" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "ਲਾਗਆਉਟ" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "ਸੰਦ" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "ਮੇਨੂ" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "ਸਹੂਲਤ ਡਿਸਕ..." + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "ਟੋਨ ਡਾਇਲ(&T)" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "ਸਧਾਰਨ" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "ਝਰੋਖਾ ਪਰਬੰਧਕ" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "ਮੇਨੂ" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "ਸੰਦ" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "ਕਾਰਵਾਈ" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "ਟੱਚ-ਸਕਰੀਨ" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "ਫਿਲਟਰ:" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "ਰੂਸੀ" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "ਅੰਤਰਾਲ" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "ਕੋਈ ਲਾਗ ਨਾ ਕਰੋ" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "ਘੱਟ ਸਮਰੱਥਾ(&L)" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "ਅਰਧ-ਵਿਆਸ" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D ਪਰਵੇਸ਼ਕ:" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D ਪਰਵੇਸ਼ਕ:" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "ਜਾਂਚ" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "ਰੂਸੀ ਸੰਘ" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "ਰੂਸੀ" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Window&s ਸਮੇਟੋ" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Window&s ਸਮੇਟੋ" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "ਵੱਧ-ਤੋਂ-ਵੱਧ ਅਕਰ" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "ਵੇਹੜਾ" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "ਉਸਟਾਨ (ਪੋਸਟ 1500)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "ਰੰਗ" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D ਪਰਵੇਸ਼ਕ:" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "ਜਾਂਚ" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "ਸਥਾਨਕ ਸਮਾਂ" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "ਸਥਾਨਕ ਸਮਾਂ" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Win&dows ਹਟਾਓ" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "ਕਾਰਵਾਈ" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "ਸਟੀਪਿੰਗ" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "ਫਿਲਟਰ ਸੈਟ(&S)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "ਸਰਵਰ ਰੈਜ਼ੋਲੂਸ਼ਨ" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "ਚੁਣੇ" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "ਜਾਂਚ" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "ਲਾਗਆਉਟ" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "ਸਕਰੀਨ ਘੁੰਮਾਓ" + +#~ msgid "None" +#~ msgstr "ਕੋਈ ਨਹੀਂ" + +#~ msgid "Big" +#~ msgstr "ਵੱਡਾ" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "ਕਮਾਂਡ: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "ਕਮਾਂਡ: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "ਉਪਲੱਬਧਕਰਤਾ ਕਿਸਮ" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "ਸਵੈ-ਮੁਅੱਤਲ ਯੋਗ" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "ਕੋਰਨਿਸ਼" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "ਫਲਾਪੀ ਡਿਸਕ" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "ਡੈਮਨ ਚਲਾ ਰਿਹਾ ਹੈ।" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "ਟਰਮੀਨਲ" diff --git a/po/pl.gmo b/po/pl.gmo new file mode 100644 index 0000000000000000000000000000000000000000..91a43da96d4016bcdad096ae10872096f7555b71 GIT binary patch literal 25791 zcmb`P37j2Oo$res!oDwIDOm%gLlOx~NPr}rgpj41bSF)Miq-d4cURw~uD9;xa<7a$ zGax$ZngaQ05fMk7q@8i!-YD)MzMst>+!pBAJ01#9(SnceVgaQPEe@lz4SDm;mhC=@Gf{Td@DQzz8hWy zABM-n@4=1m4{#3LaJuK60Y{+9Z#n;K;F0(rfM>$pP~|=akA**hDsO)>E8QvZICue6 zd#-{?w*ji2=fk6537!LQfoH+Dz(w%mkgj>Zf=a)?Z_7Cn&clDI^RI?ycYPVRnC4)GE?at4b|R7P~&q2yc~|g%itT}rSM;& z=IL+}sh%ZJ?YbJOy&Iw06S(*Us-71?$>l3t_-mn-#+xBUdLMuqhi^Lm5UT#)L(Rjb zRI2#vp!@-3O1u|Bjqe+w=I?7z?fMzqAO0TBh5I55SHaVv<8eWF~rEop`7}Pi)zR1>hB2+nNLG|N&D7n4_s(sIcN5II%-wY*xw?iMk6G{#~ z?c$$;O8;}H{_jWU#iOD6cLqEPUI>qd%Ut*-sCBm;svUKx@wyeNy|07n-&>%{c?c@q zKfz<*=N!KSHNL-qYR93^w)LC>)t~u}mqPV>B~*FWK&|Ux=YJto{yU)Be-~8#`=HwS z9;o*JGgSRwg_6r3K*`O1OoIA(mgB|nNc^iEw?LI2LY3culG7b7{AE!3>UE9}K$ZV_ zsQR9QlE2?TjsLz&?7BP+s=TF8^<4wC&tC7sTTtz~9cujUg3I8&P%>Rqi=Za=OI%uY~H)CU`7-E>t-$fYKLtK-G7j^S=)&{b!-Z@te;7W9R<^ zl%6~aC8u&0K&9`8*T5m@!#6;+!9l01~m>fsPbL{HJ*1uwew9-<-8xN{Le$B`;PPf z2r8YFo#Ky$nwN8+#$zR9$h`n+oL>i(|7}ou{C=qV9){}26x6tX25Q{D3?+9@z?0#R zq4FPsaJ^$6+79La$a33`PeGOUEvWGSfQX#;G&~LVVXTb9^-$&B54Em71}}h5IR9a6 z<{HQOZ~d16NwP zJr+vu&Vz`wx5@D(Q0ws@q3Zc8)O}(m2>PW+b$nUz7|2Eyc?j#`;G8S_$X9) z--dJHkD=z}(0(h=E1=}#8mRR&0+qfD)xKL?{9B;<_dck8eGu*kzXvsbKY-G|zlW0R z{Z`xYKiTmTsQQPX%8%jx@K*RNcpH=){5{mTe*vBW{|L{9XRNXD{qRQoF+2}`4*KwE zsB%wQYxB*68ux1;QQmXlFuWHI!C%2ma0AMRNAGT^d3zG7Kfi?P$3g3?e4PeW-V&(r zb?`uVBh-A1!Si7PSt{N=Q0@OJJPZCBYJN_;)~?UzL+OEAq2}u@cpiKJD*rd2*4;_# zZF?5O1Mshc3*kC=J?udB`%91|tf7_|A$f=A+C0wve09k;vq z7-~FT47HBm2sPdxgew0_P~-3`xIdhGo$a>|)vk-7^uZd(8==a%8LHk_L+Pb^p~me) zQ1kFjsP=vrs{WtC!{8Bg?g%*7@d9`h{>z>JT6i%2ZSZh73Xg_0sQK6dB{z3L_4kWV z{do#5fcqfyDsLfFz7d%Lv%Kr>he-2?Wsr(D!F>tlx z^^PTYEa5ML$H6<{T=+Jqe(!SOk3-4zFQ5;93$?yZ-D2fpF{BG#4NAUuL7L$0yVdq* zD^&Z&q1xYa;XB~D_+Jf=gO5P9_j6F=_kE~-J`E)|b4P5uE{Bratx)Z4LiOWSj&Fsk z?}IM>6Hxv6F4X+(%c4919u1Xl9y}3V2Gzbn=f43eeFBwk2h{xB>B8@Y$K!uL)I9tP zR6D-r;(r7W!T)uwUN z{J(YaAAlN{&%r+UI8-~2c#f_29H{wR0a4lB0MvZG4l3P4Q1bm5sPX?Y)ObAsH9p^i zO8*C_c|Y~Jwx3tPQ}J(foOHYcY98)`(hm>Ali}ClT=)y9a*uwV9k=tK*2glad;?JP zUVsd(SBF|ppN5*3A36ROYJDEeW;YMcbG#0oj=uvnt~=pkxZCk*C_Q_@^KCzd;Ys+% zpxSvWRKIpYjsHXNH27JldH4a8ocs>1fCmS5{H}$Xhau-LLiM)-rH5Yz=fn5FE8#cb zQaE?i_G>FV1AhUk9e)i^f%ibw_b^mDcf0U!LXFd}pyd3Zg01gpsPH~`FQt_gP#Gr{8;Uk{8W^et&D>9Y&ttyJz8xxCe1pJ7dq3_)xb3(Nxb(Ll zX`aOMzi@}U^jddwaG%6&C+tGp1kbO>Y0ad+&+xDm_bc2&+{bWdxiVhPa|QQR+$n@D z#eJ0L0o*2@&%<5Cvwo{_z8?5>EWGc*(@67NoPKY$Fn=#1>|UM@fM3alU+bQ4cU)7{~WG!;UDCA5_cv}zhT^g#0|ogF3p`hYmfUW z?krpZ7vZ+z7P&Ov;&}njE8z~@4{=r8Ww7u>Nf{2M&4$K8j!0H@!xaL3|?aQ_o`8}5&| z^!MKM0iKHczqq4tgRacEjs$rx!<~cw7I|{NSMuD%EhO$ycoh6s_)c6OF8{ka=lTCU z&&idaMr|SNAUqr3JlrunFL05+hG)Cyjl`YA^Ov3fZ2U*!=HtH`_m8-pE^gE@hL@3M zGj0I)Qv5%|ozAm`3G@s}BQl3x5{ekDV;7Yh_@b|+dxFd1j z$6ZX=jZnWeJnQ#n+;?!V!d-~d@52_}1*G{l&sV|UxG>>lmv@T``w`q9cL(li7q$^T zg}Z^Yt6h3U&D9@%hZ1%ve3$WIH^Kjd`zzcc+}m*aosi~TQ7DAvupTs`xazGaG@_eA zf3VyfkE)5cqFD6HQ8hFVwK%Fa^pyCmpb^&naBM6rG!nlN`^AXodRT4v#V{!~;+h{& zQf!L2DX11gC8~xuH~gd=6)CS=j$3}Q9<-wBxF3)CW6g3oDb&NT>JwCqTc+4*-0(+3 zzaAE&I#q>56%&t*xs)wh=+@uwhI9iX!CmPi-N&Kkl*TQ;% z=H=q!T2P1@?b#!fpwYBL(i2~eD)ihRDz%Gog?x$Lis%Q200k^WGl9+$%Dp*1rL-ilhS92Ly`_(QFzQJ4tH+AKz+<osTsT}Duj$G*=9*q z569|ZGT}2kwrG3)Gq}qxY1H4A~xY{9_kI~NgO8C^BVp{fJ~3Yg=XTd%%nn(%+he| zuc^mKhV>?_1tVy-RLR?ziC$F>gSxkhnJAe&rZnqi^jzvnd{ZcK(=eL)ls{^aEv|5)>`OFHbjK&mIsRY#`tR~DIBCsw0Oo?&5 z7*(~5Xm=~Fml76Y=m+&M@K&*8eA5`OKd6_Grj@jFyv~{~rXgy%4YBJjDFmpf@k}QA z!$OQ~G8hHh6r;hcKp>0Z&0(P_O%jdyRTNj2T5?*Z5yiG&Z&s@m=}{B`4DEo`72NY?EJCWNvpHZ)DRjZ+aFUYX1Lr&WfC;2Hi;_H(2O`;X4Jh| zMrMHqR^^+m(P}||0~;)=#rY~>V5eU4+&K%_NC}s=wJvbmn&wzBa7N;tKsrRFef`WvmvHNz$u%pTK%S zfL}n(vQnIu^VY_`QQZt+tbUk7W9G|1B(ZE7yT!R@ zV>PdkV#NYx+90b*)_j*7)ge_{c<&(^^sW%E}v)0Y*kM_Gu}uL74TuRQQdq(6|#ED}T=a_C(uU(!M*AwhdWcqH8S$)ZB zTDYv5jS)vjDL1!SW&X6~X?#yr-E1g9v}Bg6k?v$^h>L4he6uYW{cGX~QAfj@dm^+6 zQJUay80b$Q%i&F7xi22;3l&(vs);zcDfo78q`9tQAZywWN7F$sE zHpPu-%pGREP0h+Evyb5Q+x;W)28{LS4>1p+H&8|RIJj$}ruIp*Rz&k6bWOASq~nU2 z6jVzRLDENY(Mv6MM^4!6^Qp)5OZB2nl*hJ_+I4;n*dU}BXsz+vNFSxs^sFBBt-wa8>wDz7HSUsnmISjh%gJDP_#=w2DftZxBdz1<49*ynho>7m+Ah&;+<5Zz%0Yf3GpF=OU4Pmt=CkS`7VGm|9Y^^b5w6-~w z+Y2N+6#u16#%gEU^BVupt~@iho@oQ7W!z&U%yDNBqs~c+H`pw*gPOnYt_=@2XxaX0 zkCo3y6 zs1|;&-p(g*qF7L6$aT-5bhFua(t8NvjD0s^6^HY=(cNrr&8%hMp3Skx$YwskN~jCT z$Lg7pWRpoNutoM{FrL{`4ac485WnKwJ1Y;H1{_CPt&&TEj?tyDH#Bptx}a$bfs~mJkTRZO;tg@95b8+dt}Z+qQ11=k_~CYq z>rH~Le_Q5v*Eh;fv^$gySqo!G2bhgoFJ=K6uLeA4KytlpZc|L0QRn7N&15$w*u$#Y z8%-SBhCRTf%H9U+@~xs8%qEiF9y_uTb4b+jW;OPyz5JRHHDt`z-biz<@rHDfZZD#> z5qLw`!DiX`nHa3{3xSu5?T-Gb7a z1yi&#cXMRLn)|-=_A4LC9_ZOMFvNzHOyDuQe0Dx}{`G0ZdR;OGoCfUpq&;@tp55Jr zNq9QlJ)cl>^FI3pjf=E~ciuC@^iJ>PeYdL8y{x;i+SP*Yjkm6pq2dk8(hYK|d}fH2 zMBoP38+Im1@8TPFCs})SY|?>yLJC5oVH8ETHVV># zX*4utjB)#>qg7Y6WtwR?YH*@!alh^j$KyKPjTmjtf=Z9_dkFV?jPX4s+S;|7dy^Pd zP)sZBv68zY_a~xzEq7P`9*W9a@Ux~&q^z_nRdW80>Mwjw;;Qe!Uk6&IHqQOz6HI}>9yyVYgaW@dAC)s&1YR&}bjye-u+ zZpIw!d2ma$RF%QEC0qRIhMEiM88wooZ|wZseVLVv#M?sW^}bMpP?mjZTW8H0Bc*Bc z8BZlntQL?Em(9v+#iOGf4cs`{D>!dUBhpQoCy_~yH|!nhbyzA%y?0XitGy8{>Uw%0 zvmO)}m)X`v_eS&<$=&zyPNjf7r%G#_hDbRHYVdyv2SH_Jn0*bm-=%C2ZsArac!qlP+vbYxYS>~aN(tW z3zzgQTI4T!_R@um`xaija3Kl%HgjL9GJDc3?pwUjU%Y7P#g|;Ta1rS?1WBXMETD2g zla`{~ic!TccA^kh@RwDiQZc?dxG4(i?FF^+mE@?7H@R-?8xDiYQr}-zD_>oX7R2@O zE9Y!nw{dm1D~lE^oWpyu2Ah4~aJxoZbr*RN(;HQ<@Cy?`9cf#>Wq3{BW!-dUF@*KL z)zw0*Hw#Ps%SNNd9A44agL2;*&c?}7zl!mNH(CDdD`bc9xV*Z2`6B-+f1yw8Ig1uv zxqPvI?z!f1+476^I8VU~mn~Z8-*SrySDJ z(SnQTcq>ZwtAWB~;Ehb}*nN9}D_?ekM!V1{MZ7I429tX67VX~YJhf)E#Cst{NGih; zx7w|^NTy=!*LU4N^=P%ty&dn6>p@{M@~fO$o8?+mh&Th)JKJcTaGC{j{)~ey8 zUt)@=YAn|BD=rplOJArTVg%u3?PNhwAI6saBSPpS53a4)KCxfIKPu*RJ{1&Cf zdQ;6Cy>2{psge#+9bVAyHEEEv$se&3=ZiAt9V6{Grgj8=u^jlNI8o2{6hXU-g${S! zlZ=wOQeZFwZ*w{<-g>ocJE{=8s(^E=OZpo-Q8k3A2kD&Yp-OeK}J3%65y%y5WV>4!;}Ec@S`4u%_gX8LyYDblN9@$yW>L|XR?^{S4NKHU z(JqD!F|k>-#@O7#dIvFH)oD-NO&RN%?`kxu)n$^}Anx3D?^N4WqaTk~qomYiedEEb z@mq`!`m>`sqJ)^$XQs=|QQ&P4DyCGj$C)SBi`a?f_^$iwTJaGYpsWWoDAjhl5c&y~ zM^ddZG$J5%z%^bqlpy&sRPC~{dZn@J{+73P*Zu#ceA?7C*{x_&6>uBHXCo{lE-jIV zYEh9ZluYn$mN0UxaS1F??2HNPl>X!Cky(3*y(U`OBW6e}g zK(@w{5{FYGb52CE#<0Cz!+fdDU=$kV$v)=RJnEKH!aJJnjt?xdhi#r^ROzp@Fg*QVPILMt_ydXfxIHzGUY~inux1 zRmWyo=J&d!sf|opGDWr-QB7FXf|Q`bUNrRhtV&EPD6)Ewx>4|Uq3 z(wEFiEuIWoyi8{p5=P}BX_Jz?-fCG9RAASM87P{BaBE8{HM?6<#bYv&hqx70kvdl* zWvf8HHnpS82S2(_x4R|=fLl;eH_}#X+GA72#Vp+d$sJ{=2-jGSE&0YeOT?}5{Kjkc z^VDDo>^{=8wo}}SnWzRPliuTTQ(;%R3;?syurHvW+2%D7+1Tf|YAG5s6HPXua@aB| z)J&V%4zdZ61iI8Dmf@dnVm5p=md7(1KeJV95u>8&X76_r%LXcgqASAP0ILxh`F4VJX_uC7 zwi%_)t%@wHM|)Lo{w2EAiB$*l6K=e_Wr;ur4Z5gJnmfSp?;< z#t2Pffm_pxHw)=jXoNRCGSqlq##bdQ@$AgN+~`PG=GbDC3}5TWpx$CO3S-P9#`drA z(F>MePzvHM1DmB6Ve8{gi@^H5b#( z1WTe5u}hi-&JmMYGM~_}C!3W{O)*A;iuTr-oz;9Q!@#f@rQdW)HG|Ws1f`_SOIJR| zL2sC|l@3Gp+Zv-vjK<3{Av?QwmW;?*{X+FkEG}#~j@~+w$#9_Nm}3R@!n6tyHcUj! zRPFTA{C3X|OY?ncgL<2LIjlz%XmjdOb-HcljU#X=(Z|*^4maCfd-h<1>@C)f4|dq3 z_Sv{o!^Dy$B{@iUESqRrpe!NGN2=?8P+|f9IrQ#SDR>^ZIT3rA+dpG zwyZYl_=v^SqnxIV&1z3F=7f-Tpi^NdWY4N|x?p~!WsNN4YESo)Fzt97F>I!1E@C-| zYkG27N?p^u6JR-Ek4oKSDN0%Xd>Dek8LG7V_6BpAI~-wfg)QvdM!l2T=Q9EZiY*$C zFtGe&4{J-q{A}h_J(iZz@cArqYIKj?VbZDDV(nGQr_Nw%nM@p+43Uh2Y{HT0MliLb z5U4sWoIfk2rj3ElCigE{wpxK2NGF?vq}^q_m6#DIoED!*=u01?^0}LEmXPjKA~u0( zA!c;4lX}y9po6i)YLs~BYoN&ITOhX%^(tx-W6UhY7DhTcqha3r)28&CWsg^^0(TnG zH$Q>T!Av^_!7XcTV8SE+=F%rDxq7)3NmTEij^qQQ)oAKbO@ukq$aX{oz8_ zb_WK*7S7^saTmc}O77FZ@!mY%3Mre@bblh$bBmZw}Yl4XW76CQ92&9O-<;%9kh+=*|i7UC6s%G$Hz$xEAj#c-&p1ps8%L@nSO9;GVGda zw{{T?>5M>n#azG=J((1APr7AVO6uo8#-MVDH`ju*rI1?UZFbLTUpGUDT!`hB6`-L& zfP!gZy%~+tqZ4VZ%GBh@!vOXMrbj55^B8138Fa^I&IhwaHjQE>hq(iH`Z&; z(&)NJ8HlL{({@EylLk>4^OddYx!0DxlPNSA6C>GnZ!Z;%-Q~7;w7>3$Qk8C|XtpqJ z@{HkTvhj8&_3NOJ$|gg`WkbBDIIWa!5AQgT?@0L zRkx^~#^p-pJxTY*#GGFUNLw=4dnk`b>oIqWxg)s?>5&f?X20I@oyn>#%e?2|dmJ_) zjwlxP?1Uwi_j06?OqnAkc3UB|Mj95JHPWzA-3;cMf^fMz;a+jgg{O5$e{b);*^t1x zyKK7*n(1{=`bx-H`r5qRHPMJW{AMc0uCz3`yK-%KPPxsr_*q)!0^eOUn0-~_$v@`P zHf~O>_I@kfv$HGGK2%fgnmyRlZRw13+q_NdrtiV598;m{>b*GaubW%0?ozTF@VK#O zusX6OW|y!1atux6pE>Qka%L{6c3zz|Mllv-lj$QrZX>#7buvp$L!hE_i+NfLhV@!g z2P!8P>*J~03cL=(uh%1-mCWa6O?%*Wi3Zs}II(d-z4vsip@0{rGY;#6+*M+9*{@j& zlg5Z+5;?Ky*v%@~b$`P(NGq)OoPqt99tS1r=~bdFq^1I9$)e?G;>=(S6hq^Q@^28? zUkmY=@>eqRA0s$D)uBAQ_m}Rfk(Stkrr&PZF&`+Jm(NU+eL11JIhVNLc1|1ciJJL@ zZNv&C#tc`?jGOM|n7eK$fqdY?YraR*m&5s3<(VFh^_5-+*n#aH%KwZTj^68!p0~b6 z(c})2`IBb)VtAIYnc2E`_t}(xv zUg!-p^WRlkse$aS($o7TcYo$yFLeUUWG=^8YJRC%Pk2kl%`*QWMtjbDv#Xjrs|pth z9KLVU*9~od)Vv+xVv_5-%t&T7vpaY;>a0^T@3M1!zT^B0Q5I*T-N4A}xn!Ryq%y6u z0%r)ZJ*~14*b&%ELe7Y0kmiKUTi&O5p5z+8_x#^@5C&s{Kry5W2-VovVeXpVaP zOE^w}fq4Pk(b3Oc)lNNPa%LA)_M#)xOPSKw$sOAsWo9I{CtS)$r-j?H2digk)ut%q zEW@U>YEN1a0oy~|w4rsWY6uy(o%T(X1cqIC#@9987IVQnDO*x^g!(cFk)o{PvOP0{g16SXVdwB@Klo?nfuwzG>FkG7wAgP<3hZFjWb|FeJ*&sVp0soQ1RZ(hmkV;-|=&4I-{<*YZ^ z;O@16y?#tHxh0xQ%1Kx69U0#2&Exdfq;{6DX49`Cm=nGXtjL7xSbN_b)vdy^6?WCB zQM~Sg!S-FFF1?w~VvpLAm=?onL9P>Swp=G>YY!`<`w~J2q4bh}G{PX#>B$A~j+VJyRQq}jUj(<^jmpZQwG!#1iS$iBF68!T?ZUk!{3r0=T3G-9 literal 0 HcmV?d00001 diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..ecb5e48 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,3103 @@ +# translation of compiz.po to +# Polish message file for compiz. +# Copyright (C) 2005 SUSE Linux Products GmbH. +# +msgid "" +msgstr "" +"Project-Id-Version: compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2007-02-20 21:46+0100\n" +"Last-Translator: wadim dziedzic \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2;\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Pulpit" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Menu okna" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Rozmywanie z prędkością" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Zmniejsz nieprzezroczystość okna" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Maksymalizuj aktywne okno w poziomie" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "Rysowanie" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "Kolor wypełnienia" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "Kolor pędzla" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "Wtyczka rysowania" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "Czyść" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "Rysuj" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "Rysowanie na pulpicie" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "Kolor wypełnienia dla rysowania" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Inicjuj" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "Rozpocznij rysowanie" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "Rozpoczyna usuwanie rysunków" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "Rozpocznik usuwanie" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "Szerokość linii" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "Szerokość linii przy rysowaniu" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "Kolor pędzla przy rysowaniu" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "Szerokość pędzla" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "Szerokość pędzla przy rysowaniu" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "Rozmycie alfa" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Rozmywanie okien" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "Filtr rozmywania" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Nasycenie" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Nasycenie" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "Rozmywanie z prędkością" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "Rozmywaj okna" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "Rozmycie za przezroczystymi częściami okien" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Nasycenie" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "Rozmywanie okien" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "Rozmywaj nieaktywne okna" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "Metoda filtrowania dla rozmycia" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "Rozmycie ostrości" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Rozmywanie okien" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "Promień rozmycia gaussowskiego" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Rozmywanie gaussowskie" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "Promień dla rozmycia gaussowskiego" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Rozmywanie gaussowskie" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "LOD mipmapy" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "Poziom szczegółów mipmapy" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "Pulsowanie" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "Efekt pulsowania" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "Szybkość rozmywania okien" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Typy okien, które mają być rozmywane" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Typy okien, które mają być rozmywane" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "Klonowanie wyjścia" + +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "Rozpocznij klonowanie zaznaczenia" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "Zewnętrzna obsługa klonowania" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:2 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:3 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:4 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:5 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:6 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:7 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:8 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:9 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:10 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:11 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:12 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Włączone wtyczki" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Zezwól na to, by rysowanie okien pełnoekranowych nie było przekierowywane do " +"map obrazu poza ekranem" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Dzwonek systemowy" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Dzwonek systemowy" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Automatyczne wysuwanie okien" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Opóźnienie automatycznego wysuwania okien" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Automatyczne wykrywanie urządzeń wyjściowych" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Automatyczne wykrywanie częstotliwości odświeżania" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Kliknij by wybrać" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Klinkięcie okna ogniskuje na nim wprowadzanie" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Zamknij okno" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Zamknij aktywne okno" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Linia poleceń %d" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:38 +#, fuzzy +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:39 +#, fuzzy +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:40 +#, fuzzy +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:41 +#, fuzzy +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:42 +#, fuzzy +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:43 +#, fuzzy +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:44 +#, fuzzy +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:45 +#, fuzzy +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:46 +#, fuzzy +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:47 +#, fuzzy +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:48 +#, fuzzy +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "Polecenie do wykonania w powłoce po wywołaniu run_command%d" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Zmniejsz nieprzezroczystość" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Zmniejsz nieprzezroczystość okna" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Domyślna ikona" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Obraz domyślnej ikony okna" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Wykryj wyjścia" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Wykryj częstotliwość odświeżania" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Zapobieganie uaktywnianiu" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Zapobieganie uaktywnianiu" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Ukryj okna spoza paska zadań" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Schowaj wszystkie okna i wybierz pulpit" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "Ukrywa okna spoza paska zadań w trybie pokazywania pulpitu" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Poziomy rozmiar wirtualny" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Ignoruj podpowiedzi dla zmaksymalizowanych okien" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Ignorowanie podpowiedzi zwiększenia rozmiaru i proporcji gdy okno jest " +"zmaksymalizowane" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Zwiększ nieprzezroczystość" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Zwiększ nieprzezroczystość okna" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Interwał przed podnoszeniem wskazanych okien" + +#: ../metadata/core.xml.in.h:68 +#, fuzzy +msgid "Interval between ping messages" +msgstr "Czas pomiędzy wiadomościami ping" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Błyskawica" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Lista aktualnie włączonych wtyczek" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Lista opisów urządzeń wyjściowych" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Obniż okno" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Przenieś okno pod pozostałe" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Maksymalizuj okno" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Maksymalizuj okno w poziomie" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Maksymalizuj okno w pionie" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Maksymalizuj aktywne okno" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Maksymalizuj aktywne okno w poziomie" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Maksymalizuj aktywne okno w pionie" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Zminimalizuj okno" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimalizuj aktywne okno" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Ilość pulpitów" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Ilość wirtualnych pulpitów" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "Odświeżaj ekran tylko podczas okresu poziomego wygaszania" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Krok nieprzezroczystości" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Krok zmiany nieprzezroczystości" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Odstęp między oknami" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "Otwiera terminal" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Otwórz menu okna" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Wyjścia" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "Opóźnienie ping" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Podnieś przy kliknięciu" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Podnieś okno" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Podnieś wskazane okno po interwale" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Podnosi okno ponad pozostałe" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Podnieś okna po kliknięciu" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Częstotliwość odświeżania" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Dialog Uruchom" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Wykonaj polecenie %d" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Mnożnik poziomego rozmiaru ekranu dla rozmiaru wirtualnego" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Mnożnik pionowego rozmiaru ekranu dla rozmiaru wirtualnego" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Polecenie zrzutu ekranu" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Wyświetl menu główne" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Wyświetl okno dialogowe \"Uruchom program\"" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Wyświetl menu główne" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Powolne animacje" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Synchronizuj z VBlank" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Pobierz zrzut ekranu" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Pobierz zrzut okna" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "Polecenie terminala" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Filtr tekstury" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Filtr tekstury" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Częstotliwość przerysowywania ekranu (razy na sekundę)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Przełącz maksymalizację okna" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Przełącz maksymalizację poziomą okna" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Przełącz maksymalizację pionową okna" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Przełącz przyciemnianie okna" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Przełącza maksymalizację aktywnego okna" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Przełącz maksymalizację poziomą aktywnego okna" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Przełącz maksymalizację poziomą aktywnego okna" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Przełącza przyciemnianie aktywnego okna" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Wyłącz powolne animacje" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Cofnij maksymalizację okna" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Cofnij maksymalizację aktywnego okna" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Cofnij przekierowanie okien pełnoekranowych" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Używaj rozproszonego światła podczas przekształceń ekranu" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Pionowy rozmiar wirtualny" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Menu okna" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Polecenie zrzutu okna" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Typy okien, które mają być rozmywane" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Akceleracja" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Przejdź do następnej klatki" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Animacja tła dla kostki" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Animacja tła dla kostki podczas jej obracania" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Kolor górnej i dolnej ściany kostki" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "Dolny kolor przejścia tonalnego w tle kostki pulpitów" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "Góny kolor przejścia tonalnego w tle kostki pulpitów" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Kolor kostki" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Kostka pulpitu" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Przyspieszenie zwijania" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Szybkość zwijania" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Opóźnienie zwijania" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "O ile to możliwe, generuj mitmapy dla lepszej jakości skalowania" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Przejdź do poprzedniej klatki" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Pliki obrazków" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Obrazek, który ma być używany jako tekstura tła dla kostki" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Wewnątrz kostki" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Wewnątrz kostki" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Lista plików PNG i SVG, które mają być wyświetlane na górnej ścianie kostki" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmapa" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Następna klatka" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Umieszczaj okna na kostce" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Poprzednia klatka" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Wyświetlaj tło dla kostki" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Skaluj obrazek" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Skaluj obrazki przykrywające górną ścianę kostki" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Tło dla kostki" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Końcowy kolor gradientu tła kostki" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Początkowy kolor gradientu tła kostki" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Obrazek tła dla kostki" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Szybkość" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Opóźnienie" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Odsłoń" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Odsłoń kostkę" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Polecenie" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Skaluj okna" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "Polecenie dekoratora wykonywane gdy dekorator nie jest uruchomiony" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Przesunięcie cienia w osi X" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Przesunięcie cienia w osi Y" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Promień cienia" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Nieprzezroczystość cienia" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Promień cienia" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Przypnij okna" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Przesunięcie cienia - współrzędna X" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Przesunięcie cienia - współrzędna Y" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "NIeprzezroczystość cienia" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Promień cienia" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Przypnij okna" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Dekoracja okna" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Dekoracje okna" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Typy okien, które mają być rozmywane" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Typy okien, które mają zanikać" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Szybkość pojawiania się/zanikania" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Efekt zaciemnienia przy dzwonku systemowym" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Okna powinny pojawiać się płynnie podczas mapowania i płynnie zanikać " +"podczas odmapowania." + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Skaluj okna" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Płynne pojawianie się/zanikanie okien" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Pełnoekranowy wizualny dzwonek systemowy" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Pełnoekranowy efekt przyciemnienia przy dzwonku systemowym" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Wizualny dzwonek systemowy" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Szybkość płynnego pojawiania się/zanikania okien" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Typy okien, które mają zanikać" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Punkt" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Dodaj punkt" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Bez zmian" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Bez zmian" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Efekt minimalizacji" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Zminimalizuj okno" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Szybkość minimalizacji" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Opóźnienie minimalizacji" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Opór przyciemniania" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Opór cieniowania" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Przekształcaj okna podczas minimalizacji i cofania minimalizacji" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Typy okien, które mają być transformowane podczas minimalizacji" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Ogranicz Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Ogranicz współrzędną Y do obszaru roboczego" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Rozpocznij przenoszenie okna" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Przenieś okno" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Przenieś okno" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Nieprzezroczystość" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Poziom nieprzezroczystości przesuwanych okien" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" +"Odepnij i automatycznie cofnij maksymalizację okien podczas przesuwania" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Odepnij zmaksymalizowane okna" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Rozpocznij przenoszenie okna" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Poziomy rozmiar wirtualny" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Rozmieść okna" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Podczas mapowania umieszczaj okna we właściwych miejscach" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Wyświetl zminimalizowan okna" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Poziomy rozmiar wirtualny" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Wyświetl zminimalizowan okna" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Obejścia problemów z rozmieszczeniem okien" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Typy okien, które mają zanikać" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Typy okien, które mają być skalowane w trybie skalowania" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Obejścia problemów" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Wyświetl zminimalizowan okna" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Poziomy rozmiar wirtualny" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Wyświetl zminimalizowan okna" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Poziomy rozmiar wirtualny" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "Płaszczyzna pulpitu" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "Umieszczaj okna na płaszczyźnie" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "Płaszczyzna dolna" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "Lewa płaszczyzna " + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "Prawa płaszczyzna" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "Płaszczyzna górna" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "Płaszczyzna u dołu" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "Płaszczyzna z lewej strony" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "Płaszczyzna z prawej strony" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Płaszczyzna do ściany %d" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "Płaszczyzna u góry" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Przełącz przypinanie okien" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Przełącz przypinanie okien" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Rozpocznij zmianę rozmiarów okna" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Zmień rozmiar okna" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Zmień rozmiar okna" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Rozpocznij przenoszenie okna" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "Przełączanie krawędziami - DnD" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Przełączanie krawędziami - przenoszenie" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Przełączanie widoków za pomocą wskaźnika" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Czas przełączania" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Przełącz do widoku z lewej i przenieś wskaźnik na krawędź ekranu" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Przełącz do następnego widoku podczas przeciągania obiektów na krawędź ekranu" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Przełącz do następnego widoku podczas przesuwania wskaźnika na krawędź ekranu" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Przełącz do następnego widoku podczas przesuwania okien na krawędź ekranu" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Przełącz do widoku z prawej i przenieś wskaźnik na krawędź ekranu" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Odwróć oś Y dla ruchu wskaźnika" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Odwrócenie osi Y dla wskaźnika" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Czułość wskaźnika" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Obróć kostkę" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Obróć i przełącz w lewo" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Obróć i przełącz w prawo" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Obróć w lewo" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Obróć w lewo z oknem" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Obróć w prawo" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Obróć w prawo z oknem" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Obróć do" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Obróć do ściany %d" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Obróć do ściany %d z oknem" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Obróć kostkę pulpitu" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Obróć w lewo" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Obróć w lewo i przenieś aktywne okno" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Obróć w prawo" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Obróć w prawo i przenieś aktywne okno" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Obrót do ściany %d" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Obraca do widoku" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Obróć z oknem" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Obraca z oknem" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Przyspieszenie obrotu" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Szybkość obrotu" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Opóźnienie obrotu" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Czułość ruchu wskaźnika" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Przyciągnij obrót kostki do górnej ściany" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Przypnij do górnej ściany" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Rozpocznij obrót" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Czas przed przełączeniem widoku" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Stopień nieprzezroczystości w procentach" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Przyciemnij tło" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Przyciemnij tło podczas skalowania okien" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Czas wyboru okna" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Rozpocznij przeglądanie okien" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Rozpocznij przeglądanie wszystkich okien" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Rozpocznij przeglądanie grupy okien" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Inicjuj wybór okien dla okien z bieżącego wyjścia" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Rozmieść i zacznij przekształcać okna" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Rozmieść i zacznij przekształcać grupę okien" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Rozmieść i zacznij przekształcać okna" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Rozmieść i zacznij przekształcać okna w bieżącym widoku" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Ikona okna" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Nakładanie ikony na skalowane okna" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Skaluj" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Skaluj okna" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Szybkość skalowania" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Opóźnienie skalowania" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Skaluj okna" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Odstęp między oknami" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Odstępy" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Czas (w ms) zatrzymania kursora nad oknem, po którym zakończony będzie tryb " +"skalowania" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Typy okien, które mają być skalowane w trybie skalowania" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "Automatycznie otwiera zrzut ekrany w tym programie" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "Katalog" + +#: ../metadata/screenshot.xml.in.h:4 +msgid "Initiate rectangle screenshot" +msgstr "Rozpocznik prostokątny zrzut ekranu" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "Uruchom program" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "Umieszcza zrzuty ekranu w tym katalogu" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "Zrzut ekranu" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "Wtyczka zrzutów ekranu" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Stopień jasności w procentach" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Stopień nasycenia w procentach" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Przełącznik aplikacji" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automatyczne wysuwanie okien" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Jasność" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Przenieś na pierwszy plan" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Przenoś wybrane okno na wierzch" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "Oddalenie pulpitu podczas przełączania okien" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Ikona" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Zminimalizowane" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Następne okno" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "Okno przełączania gdy niewidoczne i wybór następnego okna" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Okno przełączania gdy niewidoczne i wybór następnego okna spośród wszystkich" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "Okno przełączania gdy niewidoczne i wybór poprzedniego okna" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Okno przełączania gdy niewidoczne i wybór poprzedniego okna spośród " +"wszystkich" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Poprzednie okno" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Nasycenie" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Wybierz następne okno" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Wybierz poprzednie okno" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Wyświetl ikonę obok miniaturki" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Wyświetl zminimalizowan okna" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Szybkość przełącznika" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Opóźnienie przełącznika" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Skaluj okna" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Typy okien, które mają być pokazywane do zmieniania" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Powiększenie" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Dodaj linię" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Dodaj punkt" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Dodaje efekty wodne do różnych operacji na pulpicie" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Opóźnienie (w ms) pomiędzy każdą kroplą deszczu" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Włącz wodne efekty wskaźnika" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Linia" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Skala przesunięcia" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Punkt" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Opóźnienie deszczu" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Fala tytułu" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Przełącz deszcz" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Przełącz efekt deszczu" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Przełącz wycieraczkę" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Przełącza efekt wycieraczki" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Efekt wodny" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Skala przesunięcia wody" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Efekt fali os tytułu okna" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Efekt wybierania" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Efekt wybierania okna" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Rodzaje wybieranych okien" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Tarcie" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Rodzaje chwytanych okien" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Rozdzielczość siatki" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Odwrócone przyciąganie okien" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Potrząsaj oknami" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Efekt mapowania" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Efekt mapowania okna" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Rodzaje mapowanych okien" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Efekt maksymalizacji" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Minimalny wymiar siatki" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Minimalny rozmiar siatki werteksu" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Przenieś okno" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Drgania" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Odwróć przyciąganie" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Przypnij okna" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Współczynnik tarcia" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Współczynik sprężystości" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Współczynnik sprężystości" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Przełącz przypinanie okien" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Wykorzystaj model sprężysty dla efektu drgających okien" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Rozdzielczość siatki werteksu" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Typy okien, które mają drgać po aktywacji" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Typy okien, które mają drgać po chwyceniu" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Typy okien, które mają drgać po mapowaniu" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Typy okien, które mają drgać podczas przesuwania" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Efekt drgania podczas maksymalizacji i demaksymalizacji okien" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Drgające okna" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Filtruj liniowo" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Używaj filtru liniowego podczas powiększania" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Powiększ biurko" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Powiększ" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Pomniejsz" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Szybkość przybliżania" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Opóźnienie przybliżania" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Powiększ i przesuń kostkę pulpitu" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Współczynnik przybliżania" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Obszar dokowania" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Pasek narzędzi" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menu" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Narzędziowe" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Splash" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Okno dialogowe" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normalne" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Menu" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Menu kontekstowe" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Podpowiedź" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Powiadomienie" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Menu rozwijalne" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Okno modalne" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Pełny ekran" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Nieznane" + +#~ msgid "4xBilinear" +#~ msgstr "4xBilinear" + +#~ msgid "Gaussian" +#~ msgstr "Rozmywanie gaussowskie" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Skrót klawiaturowy, który spowoduje uruchomienie polecenia command%d" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Stopień jasności w procentach" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Stopień nieprzezroczystości w procentach" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Stopień nasycenia w procentach" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Nasycenie" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Opóźnienie (w ms) pomiędzy każdą kroplą deszczu" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "Oddalenie pulpitu podczas przełączania okien" + +#~ msgid "Do not modify" +#~ msgstr "Bez zmian" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Przesunięcie cienia w osi X" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Przesunięcie cienia w osi Y" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Nieprzezroczystość cienia" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Promień cienia" + +#, fuzzy +#~ msgid "Fill Color" +#~ msgstr "Kolor wypełnienia" + +#, fuzzy +#~ msgid "Fill color for filled outline mode" +#~ msgstr "Kolor wypełnienia dla rysowania" + +#, fuzzy +#~ msgid "Filter method used for blurring (4xBilinear, Gaussian, Mipmap)" +#~ msgstr "Metoda filtrowania dla rozmycia" + +#, fuzzy +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Efekt wybierania okna" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Zapobieganie uaktywnianiu" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Przyspieszenie zwijania" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Szybkość zwijania" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Opóźnienie zwijania" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Promień dla rozmycia gaussowskiego" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Rozmywanie gaussowskie" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Interwał przed podnoszeniem wskazanych okien" + +#, fuzzy +#~ msgid "Interval between ping messages (1000-30000)" +#~ msgstr "Czas pomiędzy wiadomościami ping" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "Rozmieść i zacznij przekształcać okna w bieżącym widoku" + +#, fuzzy +#~ msgid "Line width for annotations (0.0-100.0)" +#~ msgstr "Szerokość linii przy rysowaniu" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Efekt mapowania okna" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Szybkość minimalizacji" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Opóźnienie minimalizacji" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Minimalny rozmiar siatki werteksu" + +#, fuzzy +#~ msgid "Mipmap level-of-detail (0.0-5.0)" +#~ msgstr "Poziom szczegółów mipmapy" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Ilość wirtualnych pulpitów" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Krok zmiany nieprzezroczystości" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Poziom nieprzezroczystości przesuwanych okien" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Poziom nieprzezroczystości przesuwanych okien" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Kolor kostki" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Nakładanie ikony na skalowane okna" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Wtyczki, które muszą zostać załadowane przed" + +#~ msgid "Plugins that this requires" +#~ msgstr "Wtyczki wymagane przez ten element" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Okno przełączania gdy niewidoczne i wybór następnego okna spośród " +#~ "wszystkich" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Okno przełączania gdy niewidoczne i wybór następnego okna spośród " +#~ "wszystkich" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Okno przełączania gdy niewidoczne i wybór poprzedniego okna spośród " +#~ "wszystkich" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Okno przełączania gdy niewidoczne i wybór poprzedniego okna spośród " +#~ "wszystkich" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Przyspieszenie obrotu" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Szybkość obrotu" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Opóźnienie obrotu" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Szybkość skalowania" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Opóźnienie skalowania" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Mnożnik poziomego rozmiaru ekranu dla rozmiaru wirtualnego" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Mnożnik pionowego rozmiaru ekranu dla rozmiaru wirtualnego" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Czułość ruchu wskaźnika" + +#, fuzzy +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Opór cieniowania" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Odstęp między oknami" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Współczynnik tarcia" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Współczynnik sprężystości" + +#, fuzzy +#~ msgid "Stroke width for annotations (0.0-20.0)" +#~ msgstr "Szerokość pędzla przy rysowaniu" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Szybkość przełącznika" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Opóźnienie przełącznika" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Filtrowanie tekstur" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Częstotliwość przerysowywania ekranu (razy na sekundę)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Czas (w ms) zatrzymania kursora nad oknem, po którym zakończony będzie " +#~ "tryb skalowania" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Czas przed przełączeniem widoku" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Używaj filtru liniowego podczas powiększania" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Rozdzielczość siatki werteksu" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Skala przesunięcia wody" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Szybkość rozmywania okien" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Szybkość płynnego pojawiania się/zanikania okien" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Typy okien, które mają być rozmywane" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Typy okien, które mają być rozmywane" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Typy okien, które mają zanikać" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Typy okien, które mają zanikać" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Typy okien, które mają być skalowane w trybie skalowania" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Typy okien, które mają być pokazywane do zmieniania" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Typy okien, które mają być transformowane podczas minimalizacji" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Typy okien, które mają być rozmywane" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Typy okien, które mają drgać po aktywacji" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Typy okien, które mają drgać po chwyceniu" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Typy okien, które mają drgać po mapowaniu" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Typy okien, które mają drgać podczas przesuwania" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Szybkość przybliżania" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Opóźnienie przybliżania" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Współczynnik przybliżania" + +#~ msgid "." +#~ msgstr "," + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Zminimalizowane" + +#~ msgid "Plane To Face %d" +#~ msgstr "Płaszczyzna do ściany %d" + +#~ msgid "Plane to face %d" +#~ msgstr "Płaszczyzna do ściany %d" + +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Płaszczyzna do ściany %d z oknem" + +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Płaszczyzna do ściany %d i przeniesienie tam aktywnego okna" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Obróć do ściany %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Obrót do ściany %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Obróć do ściany %d z oknem" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Obrót do ściany %d i przeniesienie tam aktywnego okna" + +#~ msgid "None" +#~ msgstr "Brak" + +#~ msgid "Emblem" +#~ msgstr "Emblemat" + +#~ msgid "Big" +#~ msgstr "Duży" + +#~ msgid "Fast" +#~ msgstr "Szybko" + +#~ msgid "Good" +#~ msgstr "Dobrze" + +#~ msgid "Best" +#~ msgstr "Najlepiej" + +#~ msgid "Window Types" +#~ msgstr "Rodzaje okien" + +#~ msgid "Move Window Types" +#~ msgstr "Rodzaje przenoszonych okien" + +#~ msgid "Enable focus prevention" +#~ msgstr "Włącza zapobieganie uaktywnianiu" diff --git a/po/pt.gmo b/po/pt.gmo new file mode 100644 index 0000000000000000000000000000000000000000..53d284fbb2dd63e366a39b73b697274f41e3ed98 GIT binary patch literal 22817 zcmcJW3!EiIeeWAY9xE)5l@$cF5f&Agb>1_(DmwdQV253HhFyrDw`WezOz)mKeK?PO zDUletYI5;GB+(?I3sDo4s368@Vl-n6F?t1w7_Qfi1~tU^2;RgHFX;XLs{Y+`9%uBxuC`d8Jzs%sCOaolYIzm>-X!MX6uCk8>C>(`&I&>-0MoFKRgUIn+q zJB>fH@Zq!k{ogbG$oR^$efT?#j~e@)>%-p+PbR-d;BxqV_)_@q@JzVsoFEv1FN3GT zx55{~_rPbvKZ8pDAY1_t!DaBL@HF@oJRdISr4-%`^_*A0=ff?g?}jfzKLC~A9Z>mw z6utz`LZ$l=R5_kBp8Px?ey;Ii<67ge@fzclagXt4I7EK$g6rVJ#aAfXc55sgmGksOQ`PX~N)ccqzOeD*g#Hp3<*`C&3Hg8n_w`!f7}F z4?;cn5r`=U--j#VPv9zeJdLV!mq3+s5~^KpGW{KpsKH(EW$-KTIC#h({Ivry0ZDpa|C3YGpWl#TE_7{V#2_jwCc{M(@F z=~GbUo;5xMRgaHC)t?$k&p!w93PCrdDuW&HIJgfg{f)+3pyIz5s(wEK)jpqv$HNDp z%Kr`Hqfq7e2|OPD9IBkhP&p^S!8ZJ&3GMDJ558Sy9qMX1h+uF=LaEODEO4= z51am&>BrNVb^k1=a`r>j_h!=zrq@ls)$}_}|D5R$n*L+ce`)%;7y0};pz^=m^jDj{ z&-AxK)z1f^-tW^;@AE~d_jm}t6n@Y2GcWe~i=giBG(CZO&U@f$c$evqnEnIP&%VUp zzX&S+wWjYf{XM4NW%?tg|G@OKJ1jkP=}q4Sm+ATN6!-^F?Rbyz^A`Sq@sRO{#-AHc zr0}PZZl&=8V>eX(uY%8nSHNe%t01NtTo0A*O;C1mD^&UJg6bEaG5#%Fj{Z%k_&+fH z3CI)?oIquZ=R@_MSHd&k4tN4gpwis{Pla!Q48_6Qp`Q20@MQQG@a6E!P~*}`oj(2f zQ02cEo(Q|3%Ci>A4u+xn&-GC4TZOXIo1x;}36<_1sQ3H~WT*)qf*MbrfEusP>GI|3 zgfxAy6=Isf>!9B615ow%d8qgM3eUrOWO1G@X*UL(%bmv2b_rWvZ5LEvggR0LPU_X2Z)O-ImRQ!jb#=C!n zs^@=#D$l<`)ytDm_5IA=AlPtB5WE0hk6!2tg4e*mG@eK13ctyC$oTRBAO5?>CyYCo zlobCH#xtlKJ--Z3g*U>D@D`}@KLiW#r%>hJxz>kI!n4tDhI;S!LAB#Oa3%Z_4B>Ym zrV|{?q^0`rhDx^vu7;yf_5DVu`hGu@U48}1e!dA+|BpjG=Nyc21zc@h2Nk}6Gg ze7o@u<9){ajo*Zqlm5r>3b^JKo;O2MI=b^}ZH97yVio!Ww)5ybUrX1ouJR zKV> z>gTjgo-cs1o7E804_*yb@3+FO@O|)n_!FplUa{HxNvojp8G)z4>x?rnME_OzeE2>n zd;ToE5Plu198bdI;CWP*(qCvCfQo+^)HwfIsBvW%RQz9uD&Jd-w?UQT4tPBLI8^#i z!IR)uq3Y`qsQ&Oncpf}<*!R~9AWaeULfO?mD0_K_@h+%-{ROD@`8#+q{AZ~5JCjCN zzP(V-xg09q^~MTZhW=)#c(=k3{vlMnzk#y9L#F@2^c5JD?)O05zs&S$({F_8$M1zI z$Hz^7!1V8${){dD{&S$>_nUsX>51t#n*RHyf6Vl+n*ONi$By{?Rzj7l59+uY*dz1FC<#1*-k-wELele#ycQ86P(uca@L-9OFgCR~WY$C*ZTlcaQOn z7XCKKkQ^L@D*v~j?DBCa`(3f!+x`u;k+2>vU4F+AsL-|sfS5dAf<6TShih985nw|{^t=P#k& zZ}|>C&c6t%A6yO@f`bH}1U~{5|C3Pf@mFvK{2Ek0|32)7!A}329;kL1ho`~YjUR<) zqJIu5zlWio|2?R2?H5qxU3HC5zXPhCZ-vX?2cX8Uk3rSfeehKHpz%BKrRa~tW1xP= zBF{uLuBpyde|jh7C!5myH2!XEP@ciHp7&?SKOnz~oS0?I^)tBs9jMh&NE*>*=7OF1wdo^;uyPEs+W-gyVo=v*F z7K}LrzeN7YbV2p~ugHLumfxAAJsr8NA^Ze%{j_(b-zSm3M?Nft-%pS-au6vZ`Yj`_ z+V5+K=G#5U2aqo!Rpd*^-y&1USCIdSd=+^Bp^F5Vqx_au_ID{rGrIc|*j4pd)QiM$-S1Nj5wgUBBucOfV7K0k$j ziF_3KIC3wd-*)67^Nt{eFb(KI>VL06dXYaz_9LH1 zUWNP-ay_D-##{Yfh^#^`L|%lv7`rcerTM5Z$KuIzd+uJycYRKWD_!kyb1Zg$gd#_{ch&w*O416 z(xdQm$ZFI3jDyBIjTyFaaT@YB$lqDue;S1zyFLJ)MIF4|^heTqYPo#)`r+Nhc z0aqYrARj|Mf@HsMaPed0{~$LZHDm($ZRFj^?;@W@ehc{olKt+si}%1=kl#eMA{FF+ zA^Kg0{0Z`J$fuAGA@4#?NA!Cp@9-<|yG~<$0sE2vVR|qW?vD45C#6DCnhI;vQ7zm% z9hbtSv?tvi7cL3+CdFb{sh7AHht=sAZ6ckSiAseqDa55(GMU7MaD0Cj+O_mKb}oIE zOJB^&d5--{p5wrh=Qz0JIj#wYCMM!yT#0H)T0*HMd*X0gu|AcQ zs=-j9P!0D+wYU<-lauj8ts2(Su#j+Fp$mqExVpQRmcxi-sf)iSDowE5tViT0|ir<37iy;!VHRARb2L4|a$%eIu(!tpq)#D%27qv+gZlTJ=r%yP1C zCMr{=QZhq{!qMIP3+W8Gn_l(0A4Mu@jTho+6ZLVTl*`3r!o6WQx;Lp!OvjaAs9s3M zi*dM)ktJ8E`>VBhhGN8J!fI*9_9&^6L4Fx-h>OvF7eFbJ396t*VR?JKSS6mU#MSAL z+KhvBm1JtVR*I`tT~d~@G~854OEpugRJ(gkUk7^INq2iah28C9rxW#R;8h-A@n+IJ zag}khT(5)s@yw+xqt}s#Uxmo7_Gl$M2&*I2S(S5{)=sDsXdXG4Vz9Y_||A=!KIN}@z zk2r@l%{i2+wMv8uUyFt2*LXT<1$RlKAJ)D%t?aIrBZk|k5=X&$M!L{-@nAz#+0EFx zE}GaqRY~imLKZTfhxlQ#IuX&Qr?OEv*bp-+M~os{$v3I(p9`?DC(Xkrqk6Fx4o@&? zY>2&LaT3Bp#^|Y-JAQsp*-$i6hTCn7+^#WlV__-|Hx-j|xS_P6K^tL=Yf!hPNr_1) z*jS1*WS70#JTnEGq5`u*IgShd($82Sg=rksT`X$W7na#gPA3yfnK47Y<)m^+8Cshn z)Jr~!a#n@y^wU2+RRZ@SV+oUzyP}QUEVw6$_mlblKZ4I-#{sYdSZDY;@Cmu&I)`$t>73H%0GAs`aSo=gEd(S5foV z@#eTBhawJVlCtJ(U&-aPT6Ht-B(u;ob0ZaZ136=7)POU@U^9a_HmXV~SK>WM%IxNy zh|QIxfbCS%V%>QvmoaJK17JC0QFZrtRLR@K-HBK(WG(2L)xD+pD}jrW-Im{hLDVc8 zXAn3yv7582({f$RjAv538E5jtGVgFQDaO^nUsK{b9VcQo#`CFHxXWw0wTn3_!=;wa zl?PbEWSwicl++USj_kr-Ep)x2HE{tsZ=HEOyiKTMNSR@!Iq?2lM}J+%FQm#=#I_4 zg8br+imVrLIppA#3b>C2^-OsplN!QE=*pGlGEuL{!z}K1z9l|P*<8{s>0az+r}uKa zV%0Z})kU@GFs0HfS>p#IQ8_f@9^qYQsFXI{a?9^~J-jTfBnR-+9u09F4cpP1Shw#7kuD8UKwV>e|8^)Y{jb-86)!mwu`C^T+(ok)4h{E!l3t2FJ zS6lq91><+O#qVAyep~bfWB0UX-m_5Ny{)l(7mD528oO_y*!``s`xlBm&>DMSq1c11 zu?H85y{0wxn)za96PD{CW&y

vAj8EGK3zHw4ca%Up;X$;aJH*fg|+Q88uAx2*H{ zx%te6EHa1OLh>BC7neg@28&Fe8(mg_p2a;sH^VG_@8Z(uhMA@BTU`3wRI~K`i%Xvy zZA!RyyoHjmiNY(fm20Dcz}h zv&KEOg0Fse&#nI4vWEt&P1k3}OHoqv>2MsK8&hD+a@&4BSWfbcp5UB@Y+uh9I`=vl z)fS@P>T^4dqb2;h^;+_}F-ZGwJa3E|)5I6J+heT(`BO>E#-cN=7d8jd=x%G@Hiv+T^x zGWHe`RNun z{T0;mK6FR^|8 zC`@G)?wf4Y4pqndmFQO$ke zsOCO+RCCv7Y4=rn_CvFGrfmJxr#ko`9S*Uflj^&4;zk07|2V0o?AP2-pFPNynJzWw zxzE#l)Qm`fA1p-S>_G-wH?UNqaSbxT5Fe{&Kg7;)IjU$RaU0F-1x?kp@e^!|+3Bn$ z+N8!O&~P7@G&HfryDKX38Mqqqskp|4+bBxNqeNlJU{{oV#rDIMe}H|!*2GFVBA3#C zy{Gx`VX*c)dM z)G{ERiNYug-&lY$m23tdRXGK9n;bsGVuAU{kD_DZJb@W2WWln3DJKJx!I2 zJ!ul+BSgK-2LXa&8XNP{C6()1g|9!m?LmX>L2KHBScc%}`LF8{##_R$+?gz!nJbMS*!4Lfo2rj2t4`;JE=^utOP5#o z(q+}NbXoN-T~>WdmsS7LWi_yLSq&~-R%@EGV&kQzl|K{5wfX{(DG|d1pYLOa?}+bi zd?eSWG%fJkXC^=PXn!LOHdgr-7EjRoMwyx91^dx+E?hH~!rd^bIitY1$;S^|cA-a`2}2No47nt$CM%!~%S*}L71vcJ)gLS>aY z`)fAMvK;Z#tpDy$QO0bV7;2g(`0%f>(|y0GYEnX3M@2jn2i;6XJ$o4S?fK6D;lo(?(w5 z*^-6Np4!XfGdOE3_bypRvv+mKhp++ExejfS13yJovm&Whw7tVC+nIy0c&6O^{(=7# z#zW1o$M%}wvT{Go>DK9p&cp5omm3*XGWp+4! zndVxAg?bIwj{|!2vKlTz?giN<1+6wF2W{BdNp!fzBwCXnNBvaU2OzkmjW=_y!8PVw z!|7OqbGUqA=lWi5xic|-kezjKJ#R-^RL$!t`ohX?g-#o!6%7}hZ}2`A;hQV!r&}jD zX+!kP6o#itc#sv2_t1nY<5F1^tflf%`R6+`ZfY1a*vJWMA8NAP8=^ZeN5tAV&G!gDm;^(W8|w1jRpdnHCuXv7CF1A=DRH0J zGIpDo-oeODc-B>wM3@`9hO(gf2Cv}~zG38!M2I>zF*l4@En?U%5`$_H<9Gga>n(=N zd?3vmGmErAuTRHI{U|-BI+rl-HdIrxFJ-)UT|&FQmeX8s3D)z~yMmwTj$1S>FYq;e zDLH{Nw_9ia^>DGyexfNlH{pHotd?~SgA+2G!ccn_Vor59AI=}Yz)P1~OVhe_|2w}VYx~ZWX zay%o-&Q?$fzH2uG_-C{QH0)8kBDF_g7tS4_Xua)=;9jBe!HvNUyUz=y&NrSdQo})w zhBxs$z64}%k_R+CGCQh4qp-=(h87FWk=eW1fX2ik8wh+|xv@6O%qc#jU|VJOUN%6} z=3^VU2@wMzeU8CWD>0Rp<&wTtxWQ;+jV93jxu7Aw_%h1zLJIfUS2Lf05DpTtO=oM! z(R94R4ksb`QqPx;MX4?QEC;Nu>dto9qCBz_A2NBH1=}aUwmi&0^ByKwYKF-t^92HT z@I&*ypUxZZ*b}W|-0W9!o5_L5{$tUW1nnd06CF)){(R^v1CP~jc zkLg+XDZTR~>0LNU-#khB7EaPXPm=zHlMKw0WMJVWgYzUATsX;^d6KMYPofFMEe#H~ z?!Yx!P&}^*>pz3ES*V+{IIq%_-U6BQ@IwyZkmg>b+t3Mj)iv zbQYJ(;G%PB=|3))HBXbvdgoSYI!|T~a_A)uH@g4wg1?(xs0X@FVqNnDbM;Tw%X zu8!Nh-Nv*w@w1jJD-p+Vw16ZjhijU)d9_-@>z=)<#41CM(r7v}UWtN6KP$XODd)R! zZNrV+^J)m=$f+ANE$xV{u14gPv5(F(%N$J2f+sSoD70Ed!&iblwr%3DhI3z7DWMJ~ z;NVmGEXU0M(H)K+JAWp-$6`;#&}ji*jO@(L+&)nj;*RW?zqduJIQB36=6mE$?$}z_ zucEXZ*`#x;qqf_g#XVej)>huNsb*(#R9LNgXboMlVA1yqW&!X0YBj`Gjyo*iB2W?8 zc1XVA(s)15ip{t(Zm;>!bDKt-?kci_az(zX)M+1YwZpc8Ygqba^HLsLhd8KFw_^vj z-<8Kuubphah(LcpC<^kELH0cC4HYAv;q>$nyW_YQf>sF zt7N_b*W8}2TiY=#_%gO_{AD`~L)mv>-b|;GY`BT?)wo;Z=4u|ve>0xjuo(5*atgLN zMN4VREw6$0Z(TlebGKDJWsOY_X5UgF&2PqtG}ksw<5g}H`ADVJ`0T+wal&EEyqNB& v694hJk}}NE4DH+Ub6aTP0iAqe4opgQ*8Qp1{nzD+Q!p`|c%oE?_vQZ|*gf2X literal 0 HcmV?d00001 diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..520fa6d --- /dev/null +++ b/po/pt.po @@ -0,0 +1,3986 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-22 10:34\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Áreas de Trabalho" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Menu da Janela" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Velocidade de Esmaecimento" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Reduzir opacidade da janela" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Maximizar janela ativa horizontalmente" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Cor do Cubo" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Plug-ins Ativos" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "_Limpar" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Iniciar Redimensionamento de Janelas" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Iniciar Redimensionamento de Janelas" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Filtro de Textura" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Saturação" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Saturação" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Velocidade de Esmaecimento" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Colocar Janelas" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Saturação" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Dimensionar janelas" + +# name for RUS +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Federação da Rússia" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Russo" + +# name for RUS +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Federação da Rússia" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Russo" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mapa" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Efeito de Destaque" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Velocidade de esmaecimento das janelas (0.1-10.0)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Saída foi" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Efetuar uma captura de tela" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando10" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando1" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando10" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando11" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando2" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando3" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando4" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando5" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando6" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando7" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando8" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando9" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Plug-ins Ativos" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Permitir que o desenho das janelas em tela inteira não seja redirecionado " +"para pixmaps fora da tela" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Campainha Audível" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Bip do sistema audível" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Elevação Automática" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Atraso na Elevação Automática" + +#: ../metadata/core.xml.in.h:19 +#, fuzzy +msgid "Automatic detection of output devices" +msgstr "Detecção automática da taxa de atualização" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Detecção automática da taxa de atualização" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Clique para Posicionar o Foco" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "O clique na janela transfere o foco para ela" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Fechar Janela" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Fechar a janela ativa" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Linha de comando 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Linha de comando 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Linha de comando 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Linha de comando 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Linha de comando 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Linha de comando 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Linha de comando 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Linha de comando 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Linha de comando 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Linha de comando 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Linha de comando 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Linha de comando 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command10 for acionado" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command1 for acionado" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command10 for acionado" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command11 for acionado" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command2 for acionado" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command3 for acionado" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command4 for acionado" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command5 for acionado" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command6 for acionado" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command7 for acionado" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command8 for acionado" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command9 for acionado" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Reduzir Opacidade" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Reduzir opacidade da janela" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Ícone Padrão" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Imagem do ícone padrão da janela" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Detectar Taxa de Atualização" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Tipos de Destaque de Janelas" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Tipos de Destaque de Janelas" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Ocultar Janelas Ignorar Barra de Tarefas" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Ocultar todas as janelas e enfocar área de trabalho" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Ocultar as janelas que não estão na barra de tarefas ao entrar no modo " +"mostrar área de trabalho" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Tamanho Virtual" + +#: ../metadata/core.xml.in.h:63 +#, fuzzy +msgid "Ignore Hints When Maximized" +msgstr "Alternar Janela Maximizada" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Aumentar Opacidade" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Aumentar opacidade da janela" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Intervalo que precede a elevação das janelas selecionadas (0-10000)" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Iluminação" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Lista de plug-ins atualmente ativos" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Janela Mais Baixa" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Janela mais baixa sob as demais janelas" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Maximizar Janela" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Maximizar Janela Horizontalmente" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Maximizar Janela Verticalmente" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Maximizar janela ativa" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Maximizar janela ativa horizontalmente" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Maximizar janela ativa verticalmente" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Minimizar Janela" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimizar janela ativa" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Áreas de Trabalho" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Áreas de Trabalho" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Etapa de Opacidade" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Etapa de mudança de opacidade (1-50)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Espaço entre janelas (0-250)" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Executar no terminal" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Abrir menu de janelas" + +#: ../metadata/core.xml.in.h:92 +#, fuzzy +msgid "Outputs" +msgstr "Saída foi" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Atraso da Chuva" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Elevar com um Clique" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Redimensionar Janela" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Elevar janelas selecionadas após intervalo" + +#: ../metadata/core.xml.in.h:97 +#, fuzzy +msgid "Raise window above other windows" +msgstr "Janela mais baixa sob as demais janelas" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Elevar janelas quando clicadas" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Taxa de Atualização" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Caixa de Diálogo Executar" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Executar comando 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Executar comando 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Executar comando 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Executar comando 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Executar comando 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Executar comando 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Executar comando 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Executar comando 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Executar comando 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Executar comando 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Executar comando 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Executar comando 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Multiplicador de tamanho de tela para tamanho virtual (4-32)" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Multiplicador de tamanho de tela para tamanho virtual (4-32)" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Capturar tela da linha de comando" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Mostrar Menu Principal" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Mostrar caixa de diálogo Executar Aplicativo" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Mostrar o menu principal" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Animações Lentas" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Efetuar uma captura de tela" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Efetuar captura de tela de uma janela" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Capturar tela da linha de comando" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Filtro de Textura" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Filtro de Textura" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Taxa em que a tela é redesenhada (vezes/segundo) (1-200)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Alternar Janela Maximizada" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Alternar Janela Maximizada Horizontalmente" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Alternar Janela Maximizada Verticalmente" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Alternar Janela Sombreada" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Alternar janela ativa maximizada" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Alternar janela ativa maximizada horizontalmente" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Alternar janela ativa maximizada verticalmente" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Alternar janela ativa sombreada" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Alternar uso de animações lentas" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Desmaximizar Janela" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Desmaximizar janela ativa" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Anular redirecionamento de janelas de tela inteira" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Usar luz difusa quando a tela for transformada" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Tamanho Virtual" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Menu da Janela" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Linha de comando para captura de tela de janelas" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Aceleração" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Avançar para o slide seguinte" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Animar Skydome" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Animar Skydome ao girar o cubo" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Cor dos lados superior e inferior do cubo" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Cor do Cubo" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Cubo da Área de Trabalho" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "Aceleração" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Velocidade de Esmaecimento" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Timestep" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "Gerar mapas quando possível para dimensionamento de melhor qualidade" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Voltar ao slide anterior" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Arquivos de imagem" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Imagem a usar como textura no skydome" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Dentro do Cubo" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Dentro do cubo" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Lista de arquivos PNG e SVG que devem ser renderizados na face superior do " +"cubo" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mapa" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Próximo Slide" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Colocar janelas no cubo" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Slide Anterior" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Renderizar skydome" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Dimensionar imagem" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Dimensionar imagens para cobertura da face superior do cubo" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Skydome" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Imagem do Skydome" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Velocidade" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Timestep" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Desdobrar" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Desdobrar cubo" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Linha de comando 0" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Dimensionar janelas" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "Diminuir deslocamento X da sombra (-16-16)" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "Diminuir deslocamento Y da sombra (-16-16)" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Diminuir raio da sombra (0.0-48.0)" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "Diminuir opacidade da sombra (0.01-6.00)" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Diminuir raio da sombra (0.0-48.0)" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Fechar janelas" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Deslocamento X da Sombra" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Deslocamento Y da Sombra" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Opacidade da Sombra" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Raio da Sombra" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Fechar janelas" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Decoração da Janela" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Decorações das janelas" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Velocidade de Esmaecimento" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Efeito de esmaecimento no bip do sistema" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Avivar janelas quando houver mapeamento e esmaecê-las quando não houver " +"mapeamento" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Dimensionar janelas" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Janelas Esmaecidas" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Campainha Visual de Tela Inteira" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Efeito de esmaecimento de tela inteira ao som de bip do sistema" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Campainha Visual" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Velocidade de esmaecimento das janelas (0.1-10.0)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Adicionar Contato" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Adicionar Contato" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Não modificar" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Não modificar" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Minimizar Efeito" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Minimizar Janela" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "Minimizado" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "Minimizar timestep (0.1-50.0)" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Resistência de Sombra" + +#: ../metadata/minimize.xml.in.h:6 +#, fuzzy +msgid "Shade resistance" +msgstr "Resistência de Sombra" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Transformar janelas quando elas forem minimizadas e desminimizadas" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Restringir Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Restringir a coordenada Y conforme a área de trabalho" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Iniciar Movimento de Janelas" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Mover Janela" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Mover janela" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Opacidade" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Nível de opacidade das janelas em movimento (1-100)" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" +"Janelas maximizadas quebradas e automaticamente desmaximizadas ao arrastar" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Janelas maximizadas quebradas" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Iniciar movimento da janela" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Tamanho Virtual" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Colocar Janelas" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Colocar janelas nas posições apropriadas quando houver mapeamento" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Tamanho Virtual" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Soluções para colocação de janelas" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Soluções" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Tamanho Virtual" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Tamanho Virtual" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Cubo da Área de Trabalho" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Colocar janelas no cubo" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Colocar Janelas" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Girar para a Esquerda" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Girar para a Direita" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Girar para a Face 1" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Colocar Janelas" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Colocar Janelas" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Girar para a esquerda" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Girar para a direita" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Girar para a face 1" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Colocar Janelas" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Alternar fechamento de janelas" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Alternar fechamento de janelas" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Iniciar Redimensionamento de Janelas" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Redimensionar Janela" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Redimensionar janela" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Iniciar redimensionamento da janela" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "DnD de Inversão de Bordas" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Movimento de Inversão de Bordas" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Ponteiro de Inversão de Bordas" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Tempo de Inversão" + +#: ../metadata/rotate.xml.in.h:6 +#, fuzzy +msgid "Flip to left viewport and warp pointer" +msgstr "" +"Inverter para o viewport seguinte ao mover o ponteiro para a borda da tela" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Inverter para o viewport seguinte ao arrastar o objeto para a borda da tela" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Inverter para o viewport seguinte ao mover o ponteiro para a borda da tela" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Inverter para o viewport seguinte ao mover a janela para a borda da tela" + +#: ../metadata/rotate.xml.in.h:10 +#, fuzzy +msgid "Flip to right viewport and warp pointer" +msgstr "" +"Inverter para o viewport seguinte ao mover o ponteiro para a borda da tela" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Inverter o eixo Y para movimento do ponteiro" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Inverter Y com o Ponteiro" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Sensibilidade do Ponteiro" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Girar Cubo" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Girar para a Esquerda" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Girar para a Direita" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Girar para a Esquerda" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Girar para a Esquerda com Janela" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Girar para a Direita" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Girar para a Direita com Janela" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Girar para a Face 1" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Girar para a Face 10" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Girar para a Face 10 com Janela" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Girar para a Face 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Girar para a Face 10 com Janela" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Girar para a Face 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Girar para a Face 11 com Janela" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Girar para a Face 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Girar para a Face 12 com Janela" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Girar para a Face 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Girar para a Face 2 com Janela" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Girar para a Face 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Girar para a Face 3 com Janela" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Girar para a Face 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Girar para a Face 4 com Janela" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Girar para a Face 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Girar para a Face 5 com Janela" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Girar para a Face 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Girar para a Face 6 com Janela" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Girar para a Face 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Girar para a Face 7 com Janela" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Girar para a Face 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Girar para a Face 8 com Janela" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Girar para a Face 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Girar para a Face 9 com Janela" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Girar cubo da área de trabalho" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Girar para a esquerda" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Girar para a esquerda e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Girar para a direita" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Girar para a direita e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Girar para a face 10" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Girar para a face 10 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Girar para a face 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Girar para a face 10 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Girar para a face 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Girar para a face 11 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Girar para a face 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Girar para a face 12 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Girar para a face 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Girar para a face 2 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Girar para a face 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Girar para a face 3 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Girar para a face 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Girar para a face 4 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Girar para a face 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Girar para a face 5 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Girar para a face 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Girar para a face 6 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Girar para a face 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Girar para a face 7 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Girar para a face 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Girar para a face 8 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Girar para a face 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Girar para a face 9 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Girar para a face 1" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Girar para a Esquerda com Janela" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Aceleração da Rotação (1.0-20.0)" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Velocidade da Rotação (0.1-50.0)" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Timestep da Rotação (0.1-50.0)" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +#, fuzzy +msgid "Sensitivity of pointer movement" +msgstr "Sensibilidade do movimento do ponteiro (0.01-100.00)" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Fechar a Rotação do Cubo na Face Superior" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Fechar na Face Superior" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Iniciar Rotação" + +#: ../metadata/rotate.xml.in.h:87 +#, fuzzy +msgid "Timeout before flipping viewport" +msgstr "Tempo de espera até a inversão do viewport (0-1000)" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +#, fuzzy +msgid "Amount of opacity in percent" +msgstr "Volume de opacidade em percentual (0-100)" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Escurecer Segundo Plano" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Escurecer segundo plano ao dimensionar janelas" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Iniciar Seletor de Janelas" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "Iniciar Seletor de Janelas" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "Iniciar Seletor de Janelas" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Iniciar Seletor de Janelas" + +#: ../metadata/scale.xml.in.h:9 +#, fuzzy +msgid "Layout and start transforming all windows" +msgstr "Criar layout das janelas e iniciar sua transformação" + +#: ../metadata/scale.xml.in.h:10 +#, fuzzy +msgid "Layout and start transforming window group" +msgstr "Criar layout das janelas e iniciar sua transformação" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Criar layout das janelas e iniciar sua transformação" + +#: ../metadata/scale.xml.in.h:12 +#, fuzzy +msgid "Layout and start transforming windows on current output" +msgstr "Criar layout das janelas e iniciar sua transformação" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Ícone de Instalação Sobreposta" + +#: ../metadata/scale.xml.in.h:15 +#, fuzzy +msgid "Overlay an icon on windows once they are scaled" +msgstr "" +"Instalação sobreposta de um ícone nas janelas quando elas são dimensionadas " +"(Nenhuma, Emblema, Grande)" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Dimensionar" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Dimensionar janelas" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "Velocidade de Esmaecimento" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "Dimensionar imagem" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Dimensionar janelas" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Espaço entre janelas (0-250)" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Espaçamento" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Diretório\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Efetuar uma captura de tela" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Iniciar Aplicativo" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Ecrã" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Capturar tela da linha de comando" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +#, fuzzy +msgid "Amount of brightness in percent" +msgstr "Volume de brilho em percentual (0-100)" + +#: ../metadata/switcher.xml.in.h:3 +#, fuzzy +msgid "Amount of saturation in percent" +msgstr "Volume de saturação em percentual (0-100)" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Alternador de Aplicativos" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Elevação Automática" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Brilho" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Colocar em Primeiro Plano" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Colocar a janela selecionada em primeiro plano" + +#: ../metadata/switcher.xml.in.h:9 +#, fuzzy +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"Durante a troca de janelas, deve-se reduzir a área de trabalho remota (0.0-" +"5.0)" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Ícone" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimizado" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Próxima Janela" + +#: ../metadata/switcher.xml.in.h:16 +#, fuzzy +msgid "Popup switcher if not visible and select next window" +msgstr "Tecla modificadora para seleção da janela anterior" + +#: ../metadata/switcher.xml.in.h:17 +#, fuzzy +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "Tecla modificadora para seleção da janela anterior" + +#: ../metadata/switcher.xml.in.h:18 +#, fuzzy +msgid "Popup switcher if not visible and select previous window" +msgstr "Tecla modificadora para seleção da janela anterior" + +#: ../metadata/switcher.xml.in.h:19 +#, fuzzy +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "Tecla modificadora para seleção da janela anterior" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Janela de Visualização" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Saturação" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Destacar janela seguinte" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Tecla modificadora para seleção da janela anterior" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Mostrar ícone ao lado da miniatura" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Velocidade do alternador (0.1-50.0)" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "Timestep do alternador (0.1-50.0)" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Dimensionar janelas" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "&Adicionar Link" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Adicionar Contato" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Adiciona efeitos aquáticos a diferentes ações da área de trabalho" + +#: ../metadata/water.xml.in.h:4 +#, fuzzy +msgid "Delay (in ms) between each rain-drop" +msgstr "Intervalo (in ms) entre cada gota de chuva (0-3600000)" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Habilitar ponteiro de efeitos aquáticos" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Escala de Deslocamento" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Atraso da Chuva" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Alternar chuva" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Alternar efeito de chuva" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Alternar chuva" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Alternar efeito de chuva" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Efeito Aquático" + +#: ../metadata/water.xml.in.h:17 +#, fuzzy +msgid "Water offset scale" +msgstr "Escala de deslocamento da água (0.0-10.0)" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Efeito de Destaque" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Efeito de Destaque" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Tipos de Destaque de Janelas" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Atrito" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Capturar Tipos de Janelas" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Resolução de Grade" + +#: ../metadata/wobbly.xml.in.h:7 +#, fuzzy +msgid "Inverted window snapping" +msgstr "Alternar fechamento de janelas" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Dimensionar janelas" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Efeito de Mapa" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Efeito de Mapa" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Tipos de Mapa de Janelas" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Maximizar Efeito" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Tamanho Mínimo da Grade" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Tamanho Mínimo do Vértice da Grade (4-128)" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Mover Janela" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Driver" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Fechar janelas" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Atrito do Salto (0.1-10.0)" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Salto K" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Salto Konstant (0.1-10.0)" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Alternar fechamento de janelas" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Usar modelo de salto para efeito de instabilidade na janela" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Resolução da Grade de Vértices (1-64)" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Efeito de instabilidade ao maximizar e desmaximizar janelas" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Janelas Instáveis" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Filtro Linear" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Usar filtro linear ao aumentar zoom" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Aproximar Área de Trabalho" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Aumentar o zoom" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Diminuir o zoom" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Velocidade" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Timestep" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Aplicar zoom e pan ao cubo da área de trabalho" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Diminuir o zoom" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Ferramentas" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menu" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Disco de Utilitários..." + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "Caixa de Diálogo Executar" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normal" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Menu da Janela" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Menu" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Ferramentas" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Notificações" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Ecrã sensitivo" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Desconhecido" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtro Linear" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Russo" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando1" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando11" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando2" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando3" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando4" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando5" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando6" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando7" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando8" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando9" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Volume de brilho em percentual (0-100)" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Volume de opacidade em percentual (0-100)" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Volume de saturação em percentual (0-100)" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Saturação" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Intervalo (in ms) entre cada gota de chuva (0-3600000)" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "" +#~ "Durante a troca de janelas, deve-se reduzir a área de trabalho remota " +#~ "(0.0-5.0)" + +#~ msgid "Do not modify" +#~ msgstr "Não modificar" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Diminuir deslocamento X da sombra (-16-16)" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Diminuir deslocamento Y da sombra (-16-16)" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Diminuir opacidade da sombra (0.01-6.00)" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Diminuir raio da sombra (0.0-48.0)" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Efeito de Destaque da Janela (Nenhum, Tremor)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Tecla modificadora para seleção da janela anterior" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Aceleração Dobrada (1.0-20.0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Velocidade Dobrada (0.1-50.0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Timestep Dobrado (0.1-50.0)" + +# name for RUS +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Federação da Rússia" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Russo" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Intervalo que precede a elevação das janelas selecionadas (0-10000)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "Criar layout das janelas e iniciar sua transformação" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Efeito de Mapa da Janela (Nenhum, Tremor)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Minimizar velocidade (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Minimizar velocidade (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Tamanho Mínimo do Vértice da Grade (4-128)" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Áreas de Trabalho" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Etapa de mudança de opacidade (1-50)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Nível de opacidade das janelas em movimento (1-100)" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Nível de opacidade das janelas em movimento (1-100)" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Cor do Cubo" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "" +#~ "Instalação sobreposta de um ícone nas janelas quando elas são " +#~ "dimensionadas (Nenhuma, Emblema, Grande)" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Plug-ins que devem ser carregados antes de" + +#~ msgid "Plugins that this requires" +#~ msgstr "Plug-ins necessários" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "Tecla modificadora para seleção da janela anterior" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Aceleração Dobrada (1.0-20.0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Velocidade do Zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Timestep do Zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Dimensionar velocidade (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Dimensionar timestep (0.1-50.0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Multiplicador de tamanho de tela para tamanho virtual (4-32)" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Multiplicador de tamanho de tela para tamanho virtual (4-32)" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Sensibilidade do movimento do ponteiro (0.01-100.00)" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Resistência de sombra (0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Espaço entre janelas (0-250)" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Atrito do Salto (0.1-10.0)" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Salto Konstant (0.1-10.0)" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Dimensionar velocidade (0.1-50.0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Dimensionar timestep (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Filtragem de textura (Rápida, Boa, Melhor)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Taxa em que a tela é redesenhada (vezes/segundo) (1-200)" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Tempo de espera até a inversão do viewport (0-1000)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Usar filtro linear ao aumentar zoom" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Resolução da Grade de Vértices (1-64)" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Escala de deslocamento da água (0.0-10.0)" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Velocidade de esmaecimento das janelas (0.1-10.0)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Velocidade de esmaecimento das janelas (0.1-10.0)" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Velocidade do Zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Timestep do Zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Diminuir o zoom" + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimizado" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Girar para a Face 1" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Girar para a face 1" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Girar para a Face 1 com Janela" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Girar para a face 1 e trazer a janela ativa junto" + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Girar para a Face 1" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Girar para a face 1" + +#, fuzzy +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Girar para a Face 1 com Janela" + +#, fuzzy +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Girar para a face 1 e trazer a janela ativa junto" + +#~ msgid "None" +#~ msgstr "Nenhum" + +#~ msgid "Big" +#~ msgstr "Grande" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Linha de comando 0" + +#, fuzzy +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "" +#~ "Linha de comando a ser executada no shell quando run_command0 for acionado" + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Executar comando 0" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando0" + +#~ msgid "Window Types" +#~ msgstr "Tipos de Janelas" + +#~ msgid "Move Window Types" +#~ msgstr "Tipos de Movimentação de Janelas" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Habilitar partição ZEN" + +#~ msgid "Corners" +#~ msgstr "Cantos" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "Destacar janela quando o mouse estiver sobre ela" + +#~ msgid "Initiate All Windows" +#~ msgstr "Iniciar Todas as Janelas" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "Iniciar Movimentação de Janela pelo Teclado" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Iniciar Redimensionamento de Janela pelo Teclado" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "Iniciar Alternador de Janelas" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "Modificador para exibição do alternador para todas as janelas" + +#~ msgid "Return from scale view" +#~ msgstr "Retornar da tela de dimensionamento" + +#~ msgid "Show switcher" +#~ msgstr "Mostrar alternador" + +#~ msgid "Sloppy Focus" +#~ msgstr "Foco Fraco" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "Iniciar movimentação da janela usando o teclado" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "Iniciar redimensionamento da janela usando o teclado" + +#~ msgid "Terminate" +#~ msgstr "Concluir" + +#~ msgid "Water effect on system beep" +#~ msgstr "Efeito aquático no bip do sistema" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam esmaecer-se (Área de Trabalho, Âncora, " +#~ "Barra de Ferramentas, Menu, Utilitário, Tela de Apresentação, Caixa de " +#~ "Diálogo, Caixa de Diálogo Modal, Normal, Tela Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam transformar-se quando minimizados (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ser dimensionados no modo de escala (Área " +#~ "de Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ser mostrados no alternador (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ficar instáveis quando destacados (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ficar instáveis quando capturados (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ficar instáveis quando mapeados (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ficar instáveis quando movidos (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "Efeito de instabilidade ao som do bip do sistema" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo new file mode 100644 index 0000000000000000000000000000000000000000..0b46339e2fac7bd7bab846736eb968b75de5261f GIT binary patch literal 31139 zcmcJX37lM2nYS-H30v3^2wY@`G<0{8PKP~7XC)nybSEKz;O(yJbdl=1MJ?G}ao_k{ z5SLLIQIrpr(Q(63oDq9a&=1806c=Vh(Q(&LK?Y}Zp8q-TxmDHGiOD4NkHd4{v)yyg z`kwck%40|DdrQRMjeAAWiSV?8qiD+BQ8eQ?`9{&oIEq%mRd6+Yzws$3|D~sRzRUP) zq_0{;TfhX7oAK0M$o&t*{lHyOWfJef)op37r zCOjPe5b}x9Z{ad{%(=c^6L>6g1*)E22cHAq4r!w3AK?M;5et6|s$PBxRiDqm{o$cA zqUb_+G~5TSg8RZXQ0;q_F@;L^3U~y32Rs;l7#;#Y1C{@mpvwI)RR8%IoC^2th@#`+ zVek@o4pjUCJOplmQ{bzhzV}UVF1#D|!r#L=@SO8}{}_S?Bfk!+TyKYZ?}wq@_jz~- zydNG2A2I)bgU2BM0@CH8y%+>~&zVs5mq7KK7nuBdsQ&%|sCv2|s^0hQ^zS(ls=m&I zC%_r-Qn&;j1YZN`GSOS%GudJ4hFcrgT$Ra3<7uUJF%!uYh{*Jy7Mo4=#jXfiavm)2Hu(s^6=j@*jmq zz}G|7@2&7~cqcpze$Mz+sCNH8RC_-SRqiAC2#x=9;3;qg)cea&>FdT*bs%M|0$##5lm+hKAqRQx`u@4Fo8yRI~OBUC$Yff_%b zH2-^`=EVo#H28B1f5yW1?(y^KVNm_7n@zsmwxnn@qmVU*w+>MvtZ?Y_mrUuC?-{BJjY-1r6K*Ni_f z{=)dQaepQ|<$n}Z|2`S2UQdUb$Gc3v5~^G|sB%=H`qhn4<$otU27Uyd49B7BH;TPeF@P|G;3a{O>UTPs1hn-w$JW_yYgFZm9OU5UTzc!PDTi z@VW5i@F@5}sPFz9JQscsYF*jC&(~`wR68$+s?RH-%CQluo?i=9KktQZo`b57dyNl3 zhI;f3sCqeQq0jFKsCXwqeeW4i^Gz>Q{;S{&m_n83-B9tr1ohspLDkz6Q04nGR5=b< z#an3R?-(viOanUWPAe`6cS7~QdyEg6|4)p6GEQCP<4-qs8W$MX8Visrk6s9=>gdbH zBUgL>>x>^VK54vcz=yxy_=xe8LGNFL2b163(DgH@{_$t1`aEEbub-3QI^-4baQH!} zdG0gtQ21@Aar|R=7TkZWuaEPg+G!4)23JA#>mjIoZiE-Zo8dn28&LK5Fgy+Z(6~1* zKNbd(kuQa6_cc)8SAgnoFMulV%U}%O2w7U9k3sdP z-@)Tx&((e&yaKBHIXDa61c%@k;qmbFYkavcgUWve)OW9eG<{TuD&PI^bohOf_hL|= zhf!BBh{> zli;z5pAUNA8OZ%m-%*46!goTYzt#9rcntCv;8E~9Q1$pLI2HaCs-33N7|Q2VsCUZyi)8QRZ@4XMMfIom!;JL&8{j;I!c?ncMt3$Ql z>)|QzW;h3a3hF(-h6~_-!(-vRoUiZoQ1y77aVu2+z8TU~(PJiGocHo;pvv(xsC<8K z+-thY6M_4;Mw51{Jx_fYZv%lwbn;N>%6jQ_<@ z>8^z*!zxs|o6Y}L^Z$g&-!l0>Og?bbr<)EnJ}-tU=PHxSCcnbu_nUmT$&Z-)3zMf5 zeER87`CVl4N|RHQUvBdIO#U=f`5%V*-Y22H>!9mBW2o^r+vHJ`Uu5#fOui55y-&j~ zc<@FqUjiksHu)7Mzr*COnEaT@(~3U+X;AsCHTimz-)-{8On%(tr=ZGz)|hYCOQ8DI zDyaUp5i0!UQ1i+=p=*Dr_k7v-ee?gVaqp6kceL>=7~I2a(^ajW?VB-@^;> z|2S0r{>J?GN&Wkeff_gGK$UN~aRWR9`DIY!@lN9xpvL`ojK72Wjwxk7zNf>f$TOhQ z&4C?o1w0kL5S{?v3zg43@BsKQR5^YK74NT5>&B@!_GXg-cN<+z)Rp+umIJM-U4Iz5!eYI zgv#eHP~)egZr=e_zH8ufVI68*zXPf~cU$-a@F?WR;Sumpa6X*6$#+ecpFqXz75sC_Sx+F-=#1{z8tDNMX2_ArSWZ0<-P-|UcU^FhQEY*?_OJc zx@qt<kluS31>gHYvv9I9QPg!{s1t8b6};9-cT7`ve2&x0z@AUq%D;UVxA zxEBn63~Tpyl6kHP0q|4yJe9C%xYr_I1D}U`HP5fXF+E0mBkQjpHxKtV+nas--6mt{k195T;%z<@b^6) zeumqIy974_r?yc0cHz{&j={~s&BpcM^!H<22l>1l{u8dhDbGuJegMD!!p$>(ruLS< z|A$n@ebRh?4HptO#(mxVzH1D~5%ybzH{kw=yAt`45D0I?EyrDt|3=*NdHy+WHP3aN z{(gzO9d|mejGxB2{_gT{`o8+^&A2Uu-wXc^ccG>4<5_>t!`+0t0jEBEnT3Cc=b1cf zT)Y+c6I_plt>^haaGQ|V;;!cTTHK2)`~y7SfjbfRIUK_vI@H2e8PA80DlGW(Jcv6J z`7GQ!c-G%XaPPq#FM+>Pa39BAF2VjTwmhB-FT?NqxDVs@#_fmG+^qTdK-?6Z#`ZzD zgK@Xu^mi_4yDXm%BA0OQ#T|h8M$IjU;VLGdZM=efay&1y{N(*A-1~5KTrX}P z!uGQ83*aI6r8xb)6t@X?IsOOW&g6O2;@$u&xNqY(-TXe!^DA%*kk2;1>Bv98J%;-! z?jhVSaKFO+1~+2y))?_}b6JG^|9M`5yBPOH+?#Ov+k!is@KbSB=hOJ#3wc~%VwLct zc)rr)Ps4@wJZ{_oSL2wX-QOT-{*|YT;1lL2oQ69CcRKzFF8uw$9!|sW&G!5|_RzxRY_4@w?9A$p2lq&)^1dFERgp;fIiy zHpN3^afvtPw+8ToTPHOo|oF5s< z57(-3Esb*po-2&XIG3+(tfl2RA*a-3u_-AH=M|}x-%^XKMMiHluUJes$GJ+fS))H4 ziAUlybRP7fhDY<2XkI;67%JxD`OIXQP~BRs<;VEOd>Ox5+Oaw* zRLLNFjQjG%WUKR_6op~xw?<7+wffw&UMtsC=bH+{dFp{=lf5&o-rtzXmN-cS@N@s92?VCXrKH`EG@JSn8>~y$Zjl4)PEZ$hUDX&Ubc}5gNDcO84 zD5lkXyw0_$3F;bjGM_M7kQUR5KF0MLX7{1A#%IJ;`bpLKGyl74^)bn|PL3la(#l}5 zhm}i5Re2~YEg8OjI!2OWaVVka8!AbzpzbhfK1#W3nT!pkWaU<*KsQ+8t_fo21bISu zcWdy>R&iFVIJ;HsX%*+RioLDk+*Xl_WNhWPja=P+xxbC|u`IrQvy4s&)phu+=JVQy;N z*24{9jf(p6!zt4$b5YPuwOo32mQm9fTqALbRWgfBSW=`Axvf%hOJu36@L*=U!mm*c z51V0a?ZST~sTXVU(qR_tAXuCNelhFShCCrG9PwGy$yoJlMtW_t7T0_-tc9RZ>c~~n zGLhVB9T=-l5VXX^SGdKc8pPGMimcWu(pN}|DP=BHYi@N9tA2GftrwZX^YONnIh^&0 zdMmK%Royb!Qgy23ba-RbM?si+5*GdVN@nkoYQEOuxqdRwtTvibYl3HKQifz!>d%+z z(Zbw@e7vYwD93%Jz9y-k^{Po+DdmP$dSNNiBJFe?RGbz?Ct8%`&;!c(e9k|51t_M< zo7Zs{i)!~xg0iG-4SGtMNmjd;5#{1)#uObFpCZR#0R-<=_aM68%k*?>byAUhNc2WOZA@SsWtPkH-yP# zX{k^vXnqS1R`A}A!d`LHX5gFXo6>zD<>Pn?um7ityBfC za+v+}=<{m$_`%mE+bhH149Ob9yttK|EwSafmR`Z$w%8ohx}nQbw0Os(+2pa^q_MhO z$Xttee}T=mW(u3xGdYwzgtxq^k&GFIDJM%+3)6n^v9S7B?B-ZEnYl20^r87JEdiR* zqy99P6ixrpv=AE3J#Y5=+!eBP3^+@Ndko$TlB5`|NM*eA_JL?ceQb!frCas+skRzj z;Z&e_fLhK+SCr^l7&0`#!unh<=a{7EQgt^`hgyq=ib-jsIvDW_X)X$yq%j`Qk{5(x zep9}v_cG*_#+Q+|mzl4<5Hl0hBR|Cuz}p9@T@bX#!DdqreEe3l(vfIUet;zvoKnGv*u(Ogd}c^qpCW!&HtZD4AWZXF_32h z#Mr<(i(k2po@wToxFC&Onv-9c-E`(mAKpymU-Z996d3q|E?BbLc;A9 z!YRcoQ828%A}mfN`W`K-N9{jYU1aMqah>ndK5T+@h+WKxv{R=$Z=!4aSibCWGNj?r zI(Ickum&F1%jhC48;sR%?hQs9!koeo%Hk!fqSdm!*&=7pPB~tVW*jwptkyCRe40b` zOm#5Ph8OrOTM{^7vRH#@$a4@=n!0&cXS>hjDJ_0iTl}sa#_w*6-@T*wZP9lad*;N< zXYMHPSrcQ=+EMJ;6JyWbQS6?Hv3qtDd(Onzb9NNFcVg_`9mSqIG4|ZaVh3f}DG1i{ zv_A`p-OeTmsI5++Xmpl_kJC%AWlN!IHkLA{q^Mw)brwJCJ`JB;%pvO`Sq|O1mP1GZ*>5W1zCNSo(o9agk#$6f!GuiuhqVzw<`&9SekSb7Y$HTrq8#4Ot^wuaIn zn*!-xO%k1@NuueSBpR|wqFI_GD!ECT8x3R!Mv+(6-2ct~*7WSoLWWrkIkK3zkMPmF zqUxVBE!B&@Cab(br(^6+YFT}_qq%{0t;M`1s02}yHYB~TZOb=+4K6Q3gIV<=?@?*> zz$jn}>Xj}+LtdZBX2Dc?f>(R9+<@Pz49Kj|FQvn&B2HAbHXoYhym`@uIrY++ujrb! zQPky9QYi8&vKce|KkQPeC3)-kXH0K!`fE72GosN`9vK}LvW4~b-?pFux3g^xbk>Gw zKnIup3{X01G{C;tZLs648&l3fnpvuV4-R{2FAYu%&RUqPFn_v%mvEF9%O+@clZFL^ zg~y+dwixkT)=Jz+k!9;l-oXIe?92KR`5`z^E+*Ac1h?j7Rxy(=4*{3Uww_=e@bweE z*u<8Ng!!rSY-?;UqHr7Kjsi3(yve{=~c2_jcVZP6Wjo9yorot2pP(| zJVr1v%RZ7BF5R1)k#Vq4!=$`9!QecYZrH%{I@g4Zf?yTfj(^;;72jT@wT)eKYZNzr zbK#|}nnc!5{zh=?zTNWQPFBtP_eo<`HN#{DsxU;u+x2W03WAr6dNgfS11@og?ry+Y z#=alNnOQ3HX73wv*jzwpMdYjXsAxsBWPu^M`t*I4cbdJ9ODIM z9ZqcgMn76dFSi=ky@9dt{+h->Wc}Vw&1lZxx~zd zmOL??_y<4Bx`>&Q<0QSbj1i?}>)=Az9B{4}t*oRvo#|Mb>!5Y2)XD`cT4UwHwyCT0 zI`ir1uWl&hI_B3mR67RK3*xCOuNdrDfW2Ebl#V{y>w>tuvvW>I=j@KIuDEOF1)bd; zowGVSiP*84g9hcx=J2Dg^^2wC^fr`-#s z3*+I@q(Y~=c+KFVj^0K*Hzx9xj)kS+RHtYc#Jxj>+SF*xSe$TbF{&e2@)<6omv8`+ zpP^G2R#SFaR05te?8r8WQ*|8|=5Iw{M|XD)hn2LPFJ|Fg&u;FW&u;e5Zt1(9)xytw zR&$^AtmZ!ZSf^U@W}!zd*zOV}rul^YKP3}=5|7`;Wb7uMN;0HL zD4NHW$niTkw=E|X%{1;(OU9VS ziitD47RaN-$B@DGNw_QNr!)ToyCx~EfN~@*C6;Y>H@eWb?2fvbhe2B z{;H&}L$?{KwBC=*#5hUg4U~`*4rxk!yA*LvwH3W~o?Vnw-7iSS%1rK~Nz7Hr@w-@O zqWPS0Gu>)KnjcHzB=|4n@Ip1rN4q!saj>CL2b-S{{KA})aW6nHEjgZ8e zl1AgcrE9H3(b3|3bQU^AFBa4ZTt8XKxrlX6?9AzK8eI`%J6AYg?0bf(h4ez|n`@XX zRqA4Nm1t33i)Osc^`IbS>ChH7aV1KvLIr4jif(>r&2aO8UyE1g zbM;xTAT>%5kw zbwN__D{ihZejArhId!#(wnS-n1DO*eg}`YC1Mlai27Kr1g_VLa~z>T#Ybkc&cl-u5Lp9&DU1Btg1E4S&pmH za}eg!VH2+Za9_ihZaWcHYTGQ8V>{tXk|9}v_*yBoA!fTqiyq|lPZ-1_~I8R0XfI~-f_0jN+Fdj0kMh{$d0=>?%?wx2Ah>#lQE zP&|G2(Pdh4acWn>uTy9;HNUj=oy!X=IyKWM!ER?2hWjpNq@P@|#hJWT8qLqpsj&&- zF17WDG!9nD2X-tMj}^8AGUr7{jC{FW=>Dwaj8 zaTkrfX4AfqDH*k&G;Nb$mZ&MZ+dF7>p`rz}cueH}T@*y`QrR`llO=;2^RoV@A6rcJ ziopbv8C%tGJGgOt(HN0#=i*l$e;JsZ`nU~OjaPYFT)(%#vIWV)*_9Kn`ojo}S(F_K zLUw)Fjr5wmJ6QC>j!5dSS$SEfqIs1Y>e}kN40L~ZEUbHpwleOA9Go+{VVV8Xta8O?oU%u=k6b6QR|8p0d;)PHEB)T>Yp(HR7?d6`x% zY)MhZ+}x?dM9Zl$7y4~$_JZrp8d7j~m074TB5;Qgqcq*jMkfYziMlA&ac67WNU#+i*-3wE}!O&QVv-ZX(h+ciM3uER>N{keTEx+OER z8!Vx#>!vfm7~r0>20XtOMSauO-CuCVc%j`sIlKEv&0BBRKv{me+3bvE?$v4q2Bf!} zWpTo7Xa6D{#OP%jZj&2Wd>_$$fGX1*8lJ7~3|V}JoX%HGhcw6KFahBg>U>eMjZerH zH)b&XmH^E>TZ!^yTTU`Db)qW9zf>2g-T5mW#;+Dl9zIH&N7I3<`~LO_9MZTe%oBrs zv0Z&7O{to_n~qv{lsY?QwMb1DrJKHlp3lu`Ji?b`9?h=|ccY1iz0H)pCeQ3xzTc8F zDThhEfBY`q!MILr`DzQWbxk9G?f9Llmpq?NlT5rr-6*9~etZcz`WpWP4a5ZKZc>{V zTAXXtEw`!t5Lhw(*|EG=echJB&GXrwgI!vJ5}KmWLUHwOe7O z_dhpbmoB>4$xy?3LL26^|=6?5$dZvtFjF<0y4i<|J<$a9T-b zjrW(x-7FX^&drKSHtV!{`r<~5-Km8$`uIoN(k=Ac#l#|*Z=c&OP4JvNYVdU(-D;}k z4U^_&o|7kPEsHLm=?;2Jrsg?$dX`Zi-ZfdGuD_9}d$L5`J5DrNn!k}`<|MC~x#PFY znk31r9VeMRNs`$+PSP_;lAawWnKMa}IXh0$J4uq>9VeMPNs_tkNu=dz6>r}%w)7yg zlT7I2-b^sT(55Gjo^AGNFUJTxRWZE))8^%VqX1=Q3d!xLkU6IhP3|!{st(mvfmgSX?f>yPV5} z@#AutyYsoEjk}^J^$z?)rX15$1~fq$Uz9i#iSYkUtG!+wV^=CVGcMho*gyKkcyi%^M_? zaz4WXvaL*$AHV8zD~Lr|*w~8)byX^*?m|$iGIpcjJv{MHC(in8<7!A2+m5BMNV*Gr zlnL7hzZs>rvpCiY;imykI}C5bbg5$KrmQc9-TQa<9u{FnDQc@4ejk9Pgso@OO@*b- zn6&*kjq|gR%3Y1IP115%4>_ms*D#vKdoYa20<%b}+koA>2yy-1i2YCS*j~iY1DBay ztYP+)#+=6jFO3?bP55`h+}VpPLY(1vQ;1W|IW4mT4ci4|{{Vx_Aj^u=&@ywDHxSD> z8@84f;E#5ij*<8sf%~0-x9F<_^`{K10d{a{d^yeFe_lX|EW}rNrD<{uK24oJn^Hqq zrQI5t#c3Yd*{L8~$EMNU;yoZMb6N^}3O|EnKTp7JgsDLLYYvqCxOdwso%V#V3H}OK zbl+Iv+zLs!lVp2{e}=J1fg$TxU|W%yqeplPG`q*tC>|S&(0*tF!R#+W1|ydNI4&6}DAz zFt5q#9!_6<*K7)Ev#9MLYO8H+VnjFj@J}i=z0KFLH@dYP0)*mhCqkPgE_>JZ5>Qi3 zX1~d!S2Yv27SJD-XVLT7sp^D)I@j80TK6*un@@^DoIl0gnzEoB! z?7aLtgu%yNmIY*|OkDMngZoy>Fw9=>y zJvJZy@w*8U6zkite(^(#Bn%mUTI=qSFc9rq=~gbf`+ zTE#@|%V@3GpN`+g zJ^he?nn)SGO`}&)tgQa$8BWKN?=pX5(5>JNF^l94q>ZV+d4kns)VMUz^ojw0_^Gs} zlBulr%0};PySV2gw@$Q8E!^~Ztqp<7(CA7n3trZTv!zbP)bZOk, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-22 10:34\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Desktop" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Menu da Janela" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Dobrar a Velocidade" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Reduzir opacidade da janela" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Maximizar janela ativa horizontalmente" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Cor do Cubo" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Plug-ins Ativos" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "L_impar" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Iniciar Redimensionamento de Janelas" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Iniciar Redimensionamento de Janelas" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Iniciar" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Filtro de Textura" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Saturação" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Saturação" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Dobrar a Velocidade" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Colocar Janelas" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Saturação" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Tipos de janelas que devem ficar instáveis quando destacadas" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Dimensionar janelas" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Rússia" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Russo" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Rússia" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Russo" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mapa" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Efeito de Destaque" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Velocidade de esmaecimento da janela" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Tipos de janelas que devem esmaecer" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Tipos de janelas que devem esmaecer" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Saídas" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Seleção de Modo de Vídeo" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando10" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando1" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando10" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando11" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando2" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando3" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando4" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando5" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando6" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando7" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando8" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"Um atalho de teclado que, quando acionado, executa o comando shell " +"identificado pelo comando9" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Plug-ins Ativos" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Permitir que o desenho das janelas em tela inteira não seja redirecionado " +"para pixmaps fora da tela" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Campainha Audível" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Bip do sistema audível" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Elevação Automática" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Atraso na Elevação Automática" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Detecção automática de dispositivos de saída" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Detecção automática da taxa de atualização" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Clique para Posicionar o Foco" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "O clique na janela transfere o foco para ela" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Fechar Janela" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Fechar a janela ativa" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Linha de comando 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Linha de comando 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Linha de comando 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Linha de comando 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Linha de comando 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Linha de comando 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Linha de comando 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Linha de comando 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Linha de comando 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Linha de comando 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Linha de comando 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Linha de comando 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command10 for acionado" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command1 for acionado" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command10 for acionado" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command11 for acionado" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command2 for acionado" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command3 for acionado" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command4 for acionado" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command5 for acionado" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command6 for acionado" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command7 for acionado" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command8 for acionado" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" +"Linha de comando a ser executada no shell quando run_command9 for acionado" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Reduzir Opacidade" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Reduzir opacidade da janela" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Ícone Padrão" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Imagem do ícone padrão da janela" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Detectar Saídas" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Detectar Taxa de Atualização" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Tipos de Destaque de Janelas" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Tipos de Destaque de Janelas" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Ocultar Janelas Ignorar Barra de Tarefas" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Ocultar todas as janelas e enfocar área de trabalho" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"Ocultar as janelas que não estão na barra de tarefas ao entrar no modo " +"mostrar área de trabalho" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Tamanho Virtual Horizontal" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Ignorar Dicas Quando Maximizado" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Ignorar dicas de aspecto e de incremento de tamanho quando a janela for " +"maximizada" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Aumentar Opacidade" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Aumentar opacidade da janela" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Intervalo antes da elevação das janelas selecionadas" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Iluminação" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Lista de plug-ins atualmente ativos" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Lista de strings que descrevem os dispositivos de saída" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Janela Mais Baixa" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Janela mais baixa sob as demais janelas" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Maximizar Janela" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Maximizar Janela Horizontalmente" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Maximizar Janela Verticalmente" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Maximizar janela ativa" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Maximizar janela ativa horizontalmente" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Maximizar janela ativa verticalmente" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Minimizar Janela" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimizar janela ativa" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Número de Áreas de Trabalho" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Número de áreas de trabalho virtuais" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"Somente executar atualizações da tela durante o período de limpeza vertical" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Etapa de Opacidade" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Etapa de mudança de opacidade" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Espaço entre as janelas" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Executar no terminal" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Abrir menu de janelas" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Saídas" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Atraso da Chuva" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Elevar com um Clique" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Elevar Janela" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Elevar janelas selecionadas após intervalo" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Elevar janela acima das outras" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Elevar janelas quando clicadas" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Taxa de Atualização" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Caixa de Diálogo Executar" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Executar comando 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Executar comando 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Executar comando 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Executar comando 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Executar comando 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Executar comando 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Executar comando 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Executar comando 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Executar comando 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Executar comando 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Executar comando 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Executar comando 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Multiplicador do tamanho da tela para o tamanho virtual horizontal" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Multiplicador do tamanho da tela para o tamanho virtual vertical" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Capturar tela da linha de comando" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Mostrar Menu Principal" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Mostrar caixa de diálogo Executar Aplicativo" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Mostrar o menu principal" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Animações Lentas" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Sincronização para o VBlank" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Efetuar uma captura de tela" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Efetuar captura de tela de uma janela" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Capturar tela da linha de comando" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Filtro de Textura" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "Filtragem da textura" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "A taxa em que a tela é redesenhada (tempo/segundo)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Alternar Janela Maximizada" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Alternar Janela Maximizada Horizontalmente" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Alternar Janela Maximizada Verticalmente" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Alternar Janela Sombreada" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Alternar janela ativa maximizada" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Alternar janela ativa maximizada horizontalmente" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Alternar janela ativa maximizada verticalmente" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Alternar janela ativa sombreada" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Alternar uso de animações lentas" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Desmaximizar Janela" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Desmaximizar janela ativa" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Anular redirecionamento de janelas de tela inteira" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Usar luz difusa quando a tela for transformada" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Tamanho Virtual Vertical" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Menu da Janela" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Linha de comando para captura de tela de janelas" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Tipos de janelas que devem esmaecer" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Aceleração" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Avançar para o slide seguinte" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Animar Skydome" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Animar Skydome ao girar o cubo" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Cor dos lados superior e inferior do cubo" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "Cor a ser usada na parte inferior do gradiente de fallback do skydome" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "Cor a ser usada na parte superior do gradiente de fallback do skydome" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Cor do Cubo" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Cubo da Área de Trabalho" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Dobrar a Aceleração" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Dobrar a Velocidade" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Dobrar o Timestep" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "Gerar mapas quando possível para dimensionamento de melhor qualidade" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Voltar ao slide anterior" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Arquivos de imagem" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Imagem a usar como textura no skydome" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Dentro do Cubo" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Dentro do cubo" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Lista de arquivos PNG e SVG que devem ser renderizados na face superior do " +"cubo" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mapa" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Próximo Slide" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Colocar janelas no cubo" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Slide Anterior" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Renderizar skydome" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Dimensionar imagem" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Dimensionar imagens para cobertura da face superior do cubo" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Skydome" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Cor Final do Gradiente do Skydome" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Cor Inicial do Gradiente do Skydome" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Imagem do Skydome" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Velocidade" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Timestep" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Desdobrar" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Desdobrar cubo" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Command" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Dimensionar janelas" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Linha de comando de decorador a ser executada se nenhum decorador estiver em " +"execução" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Descartar o deslocamento X da sombra" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Descartar o deslocamento Y da sombra" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Descartar o raio da sombra" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Descartar a opacidade da sombra" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Descartar o raio da sombra" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Fechar janelas" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Deslocamento X da Sombra" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Deslocamento Y da Sombra" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Opacidade da Sombra" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Raio da Sombra" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Fechar janelas" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Decoração da Janela" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Decorações das janelas" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Tipos de janelas que devem esmaecer" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Tipos de janelas que devem esmaecer" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Velocidade de Esmaecimento" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Efeito de esmaecimento no bip do sistema" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Avivar janelas quando houver mapeamento e esmaecê-las quando não houver " +"mapeamento" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Dimensionar janelas" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Janelas Esmaecidas" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Campainha Visual de Tela Inteira" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Efeito de esmaecimento de tela inteira ao som de bip do sistema" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Campainha Visual" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Velocidade de esmaecimento da janela" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Tipos de janelas que devem esmaecer" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Ponto" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Adicionar ponto" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Não modificar" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Não modificar" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Minimizar Efeito" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Minimizar Janela" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Minimizar velocidade" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Minimizar timestep" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Resistência de Sombra" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Resistência de sombra" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Transformar janelas quando elas forem minimizadas e desminimizadas" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Tipos de janelas que devem ser transformadas quando minimizadas" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Restringir Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Restringir a coordenada Y conforme a área de trabalho" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Iniciar Movimento de Janelas" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Mover Janela" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Mover janela" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Opacidade" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Nível de opacidade das janelas em movimento" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" +"Janelas maximizadas quebradas e automaticamente desmaximizadas ao arrastar" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Janelas maximizadas quebradas" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Iniciar movimento da janela" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Tamanho Virtual Horizontal" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Colocar Janelas" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Colocar janelas nas posições apropriadas quando houver mapeamento" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Tamanho Virtual Horizontal" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Soluções para colocação de janelas" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Tipos de janelas que devem esmaecer" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Tipos de janelas que devem ser dimensionadas no modo de escala" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Soluções" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Tamanho Virtual Horizontal" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Tamanho Virtual Horizontal" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Cubo da Área de Trabalho" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Colocar janelas no cubo" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page Down" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Girar para a Esquerda" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Girar para a Direita" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Girar para a Face %d" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page Up" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Colocar Janelas" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Girar para a esquerda" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Girar para a direita" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Girar para a face %d" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page Up" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Alternar fechamento de janelas" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Alternar fechamento de janelas" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Iniciar Redimensionamento de Janelas" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Redimensionar Janela" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Redimensionar janela" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Iniciar redimensionamento da janela" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "DnD de Inversão de Bordas" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Movimento de Inversão de Bordas" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Ponteiro de Inversão de Bordas" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Tempo de Inversão" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Inverter para o viewport esquerdo junto com o ponteiro" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Inverter para o viewport seguinte ao arrastar o objeto para a borda da tela" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Inverter para o viewport seguinte ao mover o ponteiro para a borda da tela" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Inverter para o viewport seguinte ao mover a janela para a borda da tela" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Inverter para o viewport direito junto com o ponteiro" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Inverter o eixo Y para movimento do ponteiro" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Inverter Y com o Ponteiro" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Sensibilidade do Ponteiro" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Girar Cubo" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Girar para a Esquerda" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Girar para a Direita" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Girar para a Esquerda" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Girar para a Esquerda com Janela" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Girar para a Direita" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Girar para a Direita com Janela" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Girar para" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Girar para a Face 10" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Girar para a Face 10 com Janela" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Girar para a Face 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Girar para a Face 10 com Janela" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Girar para a Face 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Girar para a Face 11 com Janela" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Girar para a Face 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Girar para a Face 12 com Janela" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Girar para a Face 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Girar para a Face 2 com Janela" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Girar para a Face 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Girar para a Face 3 com Janela" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Girar para a Face 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Girar para a Face 4 com Janela" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Girar para a Face 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Girar para a Face 5 com Janela" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Girar para a Face 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Girar para a Face 6 com Janela" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Girar para a Face 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Girar para a Face 7 com Janela" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Girar para a Face 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Girar para a Face 8 com Janela" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Girar para a Face 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Girar para a Face 9 com Janela" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Girar cubo da área de trabalho" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Girar para a esquerda" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Girar para a esquerda e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Girar para a direita" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Girar para a direita e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Girar para a face 10" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Girar para a face 10 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Girar para a face 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Girar para a face 10 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Girar para a face 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Girar para a face 11 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Girar para a face 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Girar para a face 12 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Girar para a face 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Girar para a face 2 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Girar para a face 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Girar para a face 3 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Girar para a face 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Girar para a face 4 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Girar para a face 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Girar para a face 5 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Girar para a face 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Girar para a face 6 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Girar para a face 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Girar para a face 7 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Girar para a face 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Girar para a face 8 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Girar para a face 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Girar para a face 9 e trazer a janela ativa junto" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Girar para o viewport" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Girar Janela" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Girar com a janela" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Aceleração da Rotação" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Velocidade da Rotação" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Timestep da Rotação" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Sensibilidade de movimento do ponteiro" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Fechar a Rotação do Cubo na Face Superior" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Fechar na Face Superior" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Iniciar Rotação" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Tempo de espera antes da inversão do viewport" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Porcentagem de opacidade" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Escurecer Segundo Plano" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Escurecer segundo plano ao dimensionar janelas" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Tempo de Foco" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Iniciar Seletor de Janelas" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Iniciar o Seletor de Janelas para Todas as Janelas" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Iniciar o Seletor de Janelas para o Grupo de Janelas" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Iniciar o Seletor de Janelas para as Janelas na Saída Atual" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Criar layout e iniciar transformação de todas as janelas" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Criar layout e iniciar transformação do grupo de janelas" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Criar layout das janelas e iniciar sua transformação" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Criar layout e iniciar transformação das janelas na saída atual" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Ícone de Instalação Sobreposta" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Sobrepor um ícone em janelas após serem dimensionadas" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Dimensionar" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Dimensionar janelas" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Velocidade de escala" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Timestep de escala" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Dimensionar janelas" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Espaço entre as janelas" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Espaçamento" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Tempo (em ms) antes do término do modo de escala quando o ponteiro passa " +"sobre uma janela" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Tipos de janelas que devem ser dimensionadas no modo de escala" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Iniciar o applet automaticamente no login" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Diretório\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Efetuar uma captura de tela" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Iniciar Aplicativo" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Repetir no diretório" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Tela" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Capturar tela da linha de comando" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Porcentagem de brilho" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Porcentagem de saturação" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Alternador de Aplicativos" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Elevação Automática" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Brilho" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Colocar em Primeiro Plano" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Colocar a janela selecionada em primeiro plano" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "Reduzir a distância da área de trabalho ao alternar janelas" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Ícone" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimizado" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Próxima janela" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" +"Mostrar alternador, se não estiver visível, e selecionar próxima janela" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Mostrar alternador, se não estiver visível, e selecionar próxima janela de " +"todas as janelas" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" +"Mostrar alternador, se não estiver visível, e selecionar janela anterior" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Mostrar alternador, se não estiver visível, e selecionar janela anterior de " +"todas as janelas" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Janela anterior" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Saturação" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Selecionar próxima janela" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Selecionar janela anterior" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Mostrar ícone ao lado da miniatura" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Mostrar janelas minimizadas" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Velocidade do alternador" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Timestep do alternador" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Dimensionar janelas" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Tipos de janelas que devem ser mostradas no alternador" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Adicionar linha" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Adicionar ponto" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Adiciona efeitos aquáticos a diferentes ações da área de trabalho" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Atraso (em ms) entre cada pingo de chuva" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Habilitar ponteiro de efeitos aquáticos" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Linha" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Escala de Deslocamento" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Ponto" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Atraso da Chuva" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Ondas no título" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Alternar chuva" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Alternar efeito de chuva" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Alternar limpador" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Alternar efeito limpador" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Efeito Aquático" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Escala de deslocamento da água" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Efeito de onda no título da janela" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Efeito de Destaque" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Efeito do Destaque de Janelas" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Tipos de Destaque de Janelas" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Atrito" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Capturar Tipos de Janelas" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Resolução de Grade" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Fechamento de janelas invertidas" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Fazer a janela estremecer" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Efeito de Mapa" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Efeito do Mapa de Janelas" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Tipos de Mapa de Janelas" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Maximizar Efeito" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Tamanho Mínimo da Grade" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Tamanho Mínimo de Grade do Vértice" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Mover Janela" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Estremecer" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Fechar Invertida" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Fechar janelas" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Atrito da Mola" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Salto K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Constante da Mola" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Alternar fechamento de janelas" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Usar modelo de salto para efeito de instabilidade na janela" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Resolução de Grade do Vértice" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Tipos de janelas que devem ficar instáveis quando destacadas" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Tipos de janelas que devem ficar instáveis quando capturadas" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Tipos de janelas que devem ficar instáveis quando mapeadas" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Tipos de janelas que devem ficar instáveis quando movidas" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Efeito de instabilidade ao maximizar e desmaximizar janelas" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Janelas Instáveis" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Filtro Linear" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Usar filtro linear ao aumentar zoom" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Aproximar Área de Trabalho" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Aumentar o zoom" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Diminuir o zoom" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Velocidade do Zoom" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Timestep do Zoom" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Aplicar zoom e pan ao cubo da área de trabalho" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Fator de zoom" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Ancorar" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Barra de ferramentas" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menu" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Utilitário" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Splash" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Caixa de diálogo" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normal" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "DropdownMenu" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "PopupMenu" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Dica de Ferramenta" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Notificação" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Combo" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "ModalDialog" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Tela Inteira" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Desconhecido" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtro Linear" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Russo" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando1" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando10" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando11" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando2" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando3" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando4" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando5" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando6" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando7" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando8" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Um atalho de teclado que, quando acionado, executa o comando shell " +#~ "identificado pelo comando9" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Porcentagem de brilho" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Porcentagem de opacidade" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Porcentagem de saturação" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Saturação" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Atraso (em ms) entre cada pingo de chuva" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "Reduzir a distância da área de trabalho ao alternar janelas" + +#~ msgid "Do not modify" +#~ msgstr "Não modificar" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Descartar o deslocamento X da sombra" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Descartar o deslocamento Y da sombra" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Descartar a opacidade da sombra" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Descartar o raio da sombra" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Efeito de Destaque da Janela (Nenhum, Tremor)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Selecionar janela anterior" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Aceleração Dobrada (1.0-20.0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Velocidade Dobrada (0.1-50.0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Timestep Dobrado (0.1-50.0)" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Rússia" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Russo" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Intervalo antes da elevação das janelas selecionadas" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "Criar layout e iniciar transformação das janelas na saída atual" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Efeito de Mapa da Janela (Nenhum, Tremor)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Minimizar velocidade (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Minimizar velocidade (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Tamanho Mínimo de Grade do Vértice" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Número de áreas de trabalho virtuais" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Etapa de mudança de opacidade" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Nível de opacidade das janelas em movimento" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Nível de opacidade das janelas em movimento" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Cor do Cubo" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Sobrepor um ícone em janelas após serem dimensionadas" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Plug-ins que devem ser carregados antes de" + +#~ msgid "Plugins that this requires" +#~ msgstr "Plug-ins necessários" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostrar alternador, se não estiver visível, e selecionar próxima janela " +#~ "de todas as janelas" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostrar alternador, se não estiver visível, e selecionar próxima janela " +#~ "de todas as janelas" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Mostrar alternador, se não estiver visível, e selecionar janela anterior " +#~ "de todas as janelas" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Mostrar alternador, se não estiver visível, e selecionar janela anterior " +#~ "de todas as janelas" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Aceleração Dobrada (1.0-20.0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Velocidade do Zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Timestep do Zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Dimensionar velocidade (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Dimensionar timestep (0.1-50.0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Multiplicador do tamanho da tela para o tamanho virtual horizontal" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Multiplicador do tamanho da tela para o tamanho virtual vertical" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Sensibilidade de movimento do ponteiro" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Resistência de sombra (0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Espaço entre as janelas" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Atrito da Mola" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Constante da Mola" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Dimensionar velocidade (0.1-50.0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Dimensionar timestep (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Filtragem de textura (Rápida, Boa, Melhor)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "A taxa em que a tela é redesenhada (tempo/segundo)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Tempo (em ms) antes do término do modo de escala quando o ponteiro passa " +#~ "sobre uma janela" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Tempo de espera antes da inversão do viewport" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Usar filtro linear ao aumentar zoom" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Resolução de Grade do Vértice" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Escala de deslocamento da água" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Velocidade de esmaecimento da janela" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Velocidade de esmaecimento da janela" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Tipos de janelas que devem esmaecer" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Tipos de janelas que devem esmaecer" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Tipos de janelas que devem esmaecer" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Tipos de janelas que devem esmaecer" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Tipos de janelas que devem ser dimensionadas no modo de escala" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Tipos de janelas que devem ser mostradas no alternador" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Tipos de janelas que devem ser transformadas quando minimizadas" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Tipos de janelas que devem esmaecer" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Tipos de janelas que devem ficar instáveis quando destacadas" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Tipos de janelas que devem ficar instáveis quando capturadas" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Tipos de janelas que devem ficar instáveis quando mapeadas" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Tipos de janelas que devem ficar instáveis quando movidas" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Cantos que devem iniciar o modo de dimensionamento (Superior Esquerdo, " +#~ "Superior Direito, Inferior Esquerdo, Inferior Direito)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Velocidade do Zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Timestep do Zoom (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Fator de zoom" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Minimizado" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Girar para a Face %d" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Girar para a face %d" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Girar para a Face %d com Janela" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Girar para a face %d junto com a janela ativa" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Girar para a Face %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Girar para a face %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Girar para a Face %d com Janela" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Girar para a face %d junto com a janela ativa" + +#~ msgid "None" +#~ msgstr "Nenhum" + +#~ msgid "Emblem" +#~ msgstr "Emblema" + +#~ msgid "Big" +#~ msgstr "Grande" + +#~ msgid "Fast" +#~ msgstr "Rápido" + +#~ msgid "Good" +#~ msgstr "Bom" + +#~ msgid "Best" +#~ msgstr "Melhor" + +#~ msgid "Command line %d" +#~ msgstr "Linha de comando %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "" +#~ "Linha de comando a ser executada no shell quando executar_comando%d for " +#~ "chamado" + +#~ msgid "Run command %d" +#~ msgstr "Executar comando %d" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "" +#~ "Um atalho de teclado que, quando chamado, executará o comando no shell " +#~ "identificado pelo comando%d" + +#~ msgid "Window Types" +#~ msgstr "Tipos de Janelas" + +#~ msgid "Move Window Types" +#~ msgstr "Tipos de Movimentação de Janelas" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Habilitar partição ZEN" + +#~ msgid "Corners" +#~ msgstr "Cantos" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "Destacar janela quando o mouse estiver sobre ela" + +#~ msgid "Initiate All Windows" +#~ msgstr "Iniciar Todas as Janelas" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "Iniciar Movimentação de Janela pelo Teclado" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Iniciar Redimensionamento de Janela pelo Teclado" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "Iniciar Alternador de Janelas" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "Modificador para exibição do alternador para todas as janelas" + +#~ msgid "Return from scale view" +#~ msgstr "Retornar da tela de dimensionamento" + +#~ msgid "Show switcher" +#~ msgstr "Mostrar alternador" + +#~ msgid "Sloppy Focus" +#~ msgstr "Foco Fraco" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "Iniciar movimentação da janela usando o teclado" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "Iniciar redimensionamento da janela usando o teclado" + +#~ msgid "Terminate" +#~ msgstr "Concluir" + +#~ msgid "Water effect on system beep" +#~ msgstr "Efeito aquático no bip do sistema" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam esmaecer-se (Área de Trabalho, Âncora, " +#~ "Barra de Ferramentas, Menu, Utilitário, Tela de Apresentação, Caixa de " +#~ "Diálogo, Caixa de Diálogo Modal, Normal, Tela Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam transformar-se quando minimizados (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ser dimensionados no modo de escala (Área " +#~ "de Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ser mostrados no alternador (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ficar instáveis quando destacados (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ficar instáveis quando capturados (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ficar instáveis quando mapeados (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "Tipos de janelas que deveriam ficar instáveis quando movidos (Área de " +#~ "Trabalho, Âncora, Barra de Ferramentas, Menu, Utilitário, Tela de " +#~ "Apresentação, Caixa de Diálogo, Caixa de Diálogo Modal, Normal, Tela " +#~ "Inteira, Desconhecido)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "Efeito de instabilidade ao som do bip do sistema" diff --git a/po/ro.gmo b/po/ro.gmo new file mode 100644 index 0000000000000000000000000000000000000000..d5da500ed06c23c4cafe2b362aa698da4032d3c5 GIT binary patch literal 445 zcmZ9H&q~8U5XPe@LXMt2thW}Oy6GP*TO-BVLcwaRso3M1tTEcmmfelo2k}LGAfLra z1q*)ckDXz@8D_rscRoGRHgP~46T8G2Q7Iz!h+E=e%k$>+`@|Q;^wz3+|1`r_)bHp; zM!%@U!8nC`Wo)idu(`a8S*>5FLYq~;?oZWH8wV4cmU}t&I z#l9`AYNYC%>X?->QxGdz2sYJ)#9ZQk+hjZ$ZjK2W+#hIk3TgIgNlQBQ;ZBwdnPZP7 z&(c`s!dX0m?#5T`@T3e3G0|y`nPA<=-1*U>G;#qWZ3-(GF4w6In?3d$hBah|Aq(m~ O-@8^xiP|Qm^L_wq33xgH literal 0 HcmV?d00001 diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..f803c37 --- /dev/null +++ b/po/ro.po @@ -0,0 +1,2743 @@ +# Romanian message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2003 SuSE Linux AG. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2003-02-25 15:04+0100\n" +"Last-Translator: \n" +"Language-Team: Romanian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Desktop:" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Window Manager" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "are nevoie de" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "India" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Profil activ" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "India" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "India" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "India" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "India" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Tipul providerului" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "are nevoie de" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Pregătire" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Pregătire" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "are nevoie de" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Tipul providerului" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Pregătire" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Tipul providerului" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Tipul providerului" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Rusă" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Rusă" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Rusă" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Rusă" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Window Manager" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "India" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Profil activ" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Sistem de fişiere" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Automatic" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Selecţia standard" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Iniţializez managerul de ferestre implicit" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Detectaţi dispozitivele" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Tipul providerului" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Utilizatori virtuali" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Desktop:" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Desktop:" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "&Mail Relay" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Actualizează lista" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Configuraţii" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Comanda '%1'" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Utilizatori virtuali" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Window Manager" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "Accelerare 3D:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sidnei" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Desktop:" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "Accelerare 3D:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "are nevoie de" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "&Testează" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Instalaţi imaginea" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "Tipul providerului" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "ora locală" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sidnei" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sidnei" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "are nevoie de" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "&Testează" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Comanda '%1'" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Tipul providerului" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Tipul providerului" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Fără descriere" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "Fără descriere" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "are nevoie de" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Sistem de fişiere" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Tipul providerului" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Tipul providerului" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Window Manager" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Tipul providerului" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "Tipul providerului" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "Tipul providerului" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Mountain" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "Tipul providerului" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Tipul providerului" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Tipul providerului" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "Tipul providerului" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Utilizatori virtuali" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Tipul providerului" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Tipul providerului" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Utilizatori virtuali" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Utilizatori virtuali" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Utilizatori virtuali" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Utilizatori virtuali" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Desktop:" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Tipul providerului" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "India" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Tipul providerului" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Tipul providerului" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Data compilării:" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Pointer către %1" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Pointer către %1" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Desktop:" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Tipul providerului" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Accelerare 3D:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "&Testează" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "&Testează" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Opţiuni căutare" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Tipul providerului" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Stare" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Tipul providerului" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "ora locală" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "ora locală" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Tipul providerului" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Tipul providerului" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Spania" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Director\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "India" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Profil activ" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Ordinea de aplicare" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automatic" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Acţiune" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Acţiune" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "Tipul providerului" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Tipul providerului" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Tipul providerului" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Pregătire" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Tipul providerului" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "Tipul providerului" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "ora locală" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "ora locală" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Tipul providerului" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "&Mail Relay" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "&Activează statusul" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "&Activează statusul" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "&Activează statusul" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "&Activează statusul" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Tipul providerului" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Tipul providerului" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Acţiune" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Tipul providerului" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Rezoluţie" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Tipul providerului" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Tipul providerului" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Tipul providerului" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Tipul providerului" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Tipul providerului" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Acţiune" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Spania" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Spania" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Activează statusul" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Rezoluţia serverului" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Tipul providerului" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filtru:" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Desktop:" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Desktop:" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "are nevoie de" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "&Testează" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Desktop:" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Window Manager" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Acţiune" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Necunoscut" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtru:" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Pregătire" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Accelerare 3D:" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "are nevoie de" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "&Testează" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Rusă" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Desktop:" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Accelerare 3D:" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "&Testează" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "ora locală" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "ora locală" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Acţiune" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Spania" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Rezoluţia serverului" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Window Manager" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Window Manager" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "are nevoie de" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "&Testează" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Desktop:" + +#~ msgid "None" +#~ msgstr "Nimic" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Comanda '%1'" + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Window Manager" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Imprimante" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Afişează &modificările" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Imprimantă" diff --git a/po/ru.gmo b/po/ru.gmo new file mode 100644 index 0000000000000000000000000000000000000000..d92d280fea50b1a8391f0c6b859f55b726875917 GIT binary patch literal 30512 zcmc(m37lM2o$oIawy^KJT#!|0=m3EbNZ7IvvJlcCAq+B9cULDxs;io+>VyC~fv^fB z7*P;ef{2LYl7w_NlExVred_3|QlHMii0e~vo(u0ej`~F2_xC^N-nzG{x|1Nzt4~gT z_uPBV|NPJY{I_%N?bi+%@sWVv$vXwXQQ)-?pw@LKlu!Kb4Qky+gX%vC6kpeYlJk5}eBBCa z{vQU_Z!>r{_#^-PP?S=1Pxm+$`cT zBAVdK;0W+_Q2l@9@z0>z?}HGeA18ns=WI~=G0E3wf|_q9xGQ)ID7oD3ak24zntf?D6P;AF4}O5ZntQ^DVWn)d}Pism;7)O==vlF$1< zjh_b*U9bcU!6!k<|BL?ltDxHd929^5>2Vj7M05`X#n&;Q6s@-}}a(&6;cRWQ~YQ0_oHLpK<-19W2Z%27N4HUf#K+&5D?h4NH_pb+K z*F}%_fujE`sPP8D-M|_sdH*XY{r@c}di%Gz@s0s;ZNV9!?#}?l*R|kYU@v$9crz$J zv;ma7YM|)<43u1c4T``20A)9S0(S@ZI^ER|1~s1(K&{K!py*uY?_UQ>?!CVLcfP(H z#I*;j{QW`jGU{IkL+}ukTjQJyjs!0PCHJWyt|90G{thU4>^I8MI}}vA_kfz` zsi5?A94Pv8K$a$`fa2#VQ0>14YTR#ulGiUl@h2k|AA5n~^KejfP6PJ`F9+4`TJQjH zfxmwXC_Q)plpH<-o&$ab+y@NKa{cxN)L52=~@1LJO*41wZ)qW#*D7Y8S zSL<^;D1NR4GvEra3w#6Acvmr)=)ND+y4??62R;oR2)>KXhl7WJ)4+D{!{GbDQ^Ebm zyY(0cN`EWh1n^^^;`eKy_<1)K>Ge6F)^8rjRD%b>qrtC$cYr?wj{@@-IezX1CAU=` ze+t1oqQ_JC>884HS^ z>%qSTKL9=mz6Ra_7AHFVEtsLcWRi==uY!{ITcGUWw8>7sb3m3p_y8!qTn}oTm%yvQ z*TH+i3vm*k2fqSpeQ%oL=zbo&i264{>A``Q2f-$AA&97g6Q;WMSy1#p4qgp@8hjeu ziA6gWd6D?su6V-S{u^RGmAz`H=%*@#)rE)NB7qkbHSY6hPKX%hSZM5Ti> zA;uB}z2JMnwcs(}_rR0EH^Gy@6KA{in*oZCJa{(v3@Ckg1r*)=5k6B4x+fr2Y3MWJ3u{u7-Y$UuY&TQ2Qt}q@CZ=+P4&1ClwREj9tl1N z9t8dqcnJ6kcp~@)sD6hb{Lg`7z{9|wg1Y|}DES{V&&880sP(-I6#Y+wGzq@s>&IN< z>f=DI`$xf%;6H-rfnNvZk9PYTa%S*c@NsY*_yKShi~l5812z7Q?{njP2-G~j;Ok!l z52gM(cs;n&b;M?{6Fd%F14_Q%2G#HPpw{i6zjbyq4m_Cp4d5tnDR>sR7CapMDX4W6 zarGY!o&#P99thq8js_nC_57RQ(crH@(c24S)%?eU;^PKTa$62cpH_pXfv4NkMUpuEP;~O55Y0u{#{N#E(ayg5-56~1x4?>;8bu#w;OM!#}X*LddTAzfBz?- z({UO+tqjt8FrPXxaQz6TsJ-{r?A zgPKR5$5o)@Tm`p)zW_0n;MoOk{6B%>=aihou^y*_lJ~Ws^!X<61n>b+@_!x_|20tZ z`7@|>7;}SL&u&oi`WPsEco{q%{3R&52P|Z72%Zi~uU`g_0FTZ)`eQ(?;~a1tcoV2` z)`ORUzX7Eu=k=n?U>_*Gd;$C;p9EzeKL%0V;P8G&?^aOjz7jkJ z{4A(({~0_0+t81N!aE^&XTpu4*yw!(4Yz-mSL$_Vll3N?n`-*f*J>yWbif0eU!T>`u&PBk@6AB-jr`sWDkcz`*~2me|2E%AlugOKPf+= zJWKfkML+48)==xF-_g+c1Ne2Tp%dVzDY#b4oo@8^mxI?+{zzF$(eJ-g_M|+civNAi zV>|d0$|IEhDKjZAQ1pA1aunr%QQn{&M$zv>lu35w@}R9;PxkfKz-5$^DCbfB4@JKt z;r{?H<9C5;xuS+O zo516F{zdSgC?hG+?-=g?p33fE2|Ud|_@2jp@NUZQd|mJ+Wff&F%I*~X`W%>#(&bdj zA(T&1&ZM+a^t+jIyIo=Hj5&(y-%zfj97O4*Tu8Z$vXSy@ihd6`u>aTd|GRwszkxrc z+)MdK%0(3YuBLpRaw+9KjI$2ZZx^mR-DU6{kNbg#bN~N>@Amh;41SDKrp%@Mobn1q zzx`-?66IE|e?Yl{asy>=?)@`(B;{qwEQ)>yQ!chE&H+6BPjEVAXUd-`r&C7Ie*vi9 z6O=DePN5u1xs6hxJVZH=QlRWg`{*~%Uwi^QnzDlO8OmnL2Pw}{^xMbx*_G>q6aDpU ziT>j^gK~ylxm-2N_1{qjC_DK+A=lre=-2JQ_7y+m`rjyzQTC$k7;p;Z-zoYX%f0^q zi7`4%O(xT`Ch&z3TkT(Ll< zl3SDwXXg9o=L+TE;_mJ+pDSeTqOX`MRCHAi7iTKjQkd=O$#zxBVWk*$=eRCq3ze`t zTV7Zx_JtWJ6^+EAOra~QMuqH6m9U)8bwe+oFD?$dOPR&F!u+t<6ZZ7y^X0BmHd_d} z)m>a{WDCVg*qIGW+3sA4p|af~Q|#&SE&Fme^=A5Dv$xpK(2(gY<>oJ_6td-Vm@9;R z*-{rgC7u`iGF`dKlGYE)nM%KtL+W`U*UNOnj)hCQi@mV!>t$CD7cYS4Qn7*nnMzlG zCr$eL^0_XPXxOnhSLs@iEd>|%cjr3u+3=EVJ|9=gOUjjOFLTWHaj#Nro0Z9xArN1N z6SDct61xExxh~{eK@x~o(=GN_`uZjFMY%2#6m@ISs+8?1Wy=df=9UdEi6x{v*BD@ zQ(uv4pk%INaA`4LENL>PHHGf5vshsoVHrIs+x-PuCsx-Ivi(r(p;Lt?zIB(Vw3S6e zq!TG&v#~EeSRs^os&AWq@$iYMx?j12&vxQOraYrlq;nSIyWzQ4aH)qJ6DkY z!1v-}X<-=+%!Zj#HWOTmu7t)+FdmxQJMLIIK@#SKJzg)@@+ z4ZpCacfDP4GssN&n?xEEqD^RqlbbHkI7NpJZSRJ^iS)}76CNfUF0w(e4~ zk4EM$A`B%HD$?=r3e)a#RGsD3c$U<7LN1dp!gH=%G4~R=o$`WWe;ysmhBp^cA`Aq% zYl+X2r6ABX&wdoj4qB>LF6*n=lkdc=#XN!+bdD>u7rW;4pm(6y&OXq<@M4ogc z)(Ww^CBa+EL*Xd<&;yh;>=6}{jQ6zGpuganh_b{q*F6j- z6-u4Y_Ef?}x$NS;VyR;E7iUU+(FEdV=KSMkHX`nSK4Av`-+6=98)DwEXOY=(J#jYb z7YS*HJ9=duqMv!l;ihEnZK6fLV3Jjwu)_ErDwv9^lZxE&3#Us-5YOKiOe*Efn+KEP z0GPN8=j6)$nY@b`^%iagTQC0PY(c?18}{b<6dc{^_Z7=!i#~Fj3y6`d=#5ZTEc7lV zm|P6aPa>7R5)q|{4|maeaw*px&dQdH`F_h1F2gkw4^ipanexKUOet0tdxFD_bDEBlvuxw@BJ>S+SJ6nOKEL=HyBhiKZiWv+gfq zLZ+7Hl%~ut6ieCgGEAx*&XxL4&)k&jrD=EIpOvXFG%l}KX^Z&Gl>4NH3#^y1;`Ib) z*<0@~=N9(hQ_8^2VQy6}<> z&093yoJmB+WwgE>PGYIav*NWGrkPjY$%LN1;mEmmMCAgGx@7sDbJ9(n&=xJsl!C&z z^XmTEGNdU57OWD^3lVGC#1+}H@(8U6UDX7a5IIdE*-7<9cO$^bw6Ze zoKd&Bndg^4*?0Cd=b#lN*ZJh5bVeEXNZk$>#Li>LuAx*eBCg;)Jx8`LPvJd#T#q=9 zo~MSYcf+ILa^hZ<$n8gW{ImYv(0r^pGkeAzO*DH`>VZ6ZFumBF$@~0AZXsGYyI$-P z?HSr?b=X$RE~DERNhTl6C{}VkeuEOs=}pX5a%FrA zNn1(2m$agc7bc@mW=@_!)WvL^RMpZp_di06+**92BZ~uMw?mxeUSB_Xrr!^`j9i(M z3(V%uZ13gv$!?&x)yZ-@oidNK?@BiC3*4o_P?6LIW0v{eXcx&d zOBfe+o(d?66NF3En^`$E1ff>5?LdvyDpiHt8qd*tDnVmo3oDiJSA|h#QyiY z!^E{66?Cyw?C2Y#oNMOXsJo7RsH-||%Z#AIBVuPIwG$3Hnr+J8YEW2O#e;&_ro5l_oNIR7DPM1lTp;%QiO`a)r zd-;g8+pDARMb*^Q6m6^0a>bC;@f z(iLjQ>a+TKejZ1G)E3i7t8=|aOx6x$qT`9=U4l~J)V!lFpD8b(V&N{{v-$ee=)qK- z0%gcuoqVDh`)Vr8`Fm2Ho9n?Zh)xSbuklf^s4M-FLYEHV=3Jss8_ZTFmhoY^jPf_% zkuGNUJ{ehby9PjD_VqmLx;4FS|BqO!)C5^x)4%Q-kCKT zJsfu^SFbym*gwq9RXE;QoZ;|ec5(iEuIHM6Pwdc!xF4p{!l4??sb_HMCT6YO(V(e( zt*#Z@c%055J^dj_C3DG^Ez9yJF+(K`G8$di{&YRMr41$vS(bTa>;&4(%M*558^&9t z_%?Z1L}77`N}XzvLs2~|<}10rV0N^HN}ErdMAbcs@)Qg&@+`qsg&qzxJh+|7RfUBG zPQSPpSz8p=5_eKkqiJ-;A101DoMx1RtC+mrFh~e_#Zae<{;)_|8nKT&)wt{oRZ5(< z-R0t9XD4Z_mycM4FU7YDk{Q%*8HB(bm9K@G+box}-Ch zikz#+8oweN2)y3=6I_-vx?_&tKlLZJw%Gob9p5?s;P2p_y4*2_PM9-xfLxBK zIVs6Eqyytzi6myvjN31l4A(ES^RIOW1yv_WH?per0k7f2HPC<2PQq2D6daPqy9?)2 ztzqmItfoQxNa#~(j6GrJ%NchtvsBbcVcV4MHdd#MRK|w$G99zSlP~Jc_7+P^E;?o8 ztgH?q+oqT2=epZ2>7QS2n_V0mj+}YL?6ylegi&JOHi3m38=l$Ter{X)=(bU#!ck|9 zZ9lWE{p|L38n(^i^h?C+?apayAI0OaeazU=V@_=!MZ0O4a;44eCZB<~vEd9{BF8P$ zGKKm5IwHCN4{cW$73|6BoY0S_o4eUIJDcg<-cHk}OrKbv@u<_=NAkj;bFKkQnNDWQVnu9`imZA`tLSxC0jHnGrE)cNk%a7<^eGLkoarA)qU5}Uj7 z*s#Fa0oC%jv(DEs0+-`XE}Sr`ecZTF;fW`Px@N=Z_4kPuFg%Zmtg2mR1LgL+*T&}Hd zt=(502&-GFgVlAlWz`p|8-waYRMu2i^K@hF_S*fS?y6^PdGj;K4A$<3+_L1e7owrU z+5@#aYIji8fP>YwAyhTgePMNT2urK08$=!w;$%x$T}RtZwcBW|;a70WTCK5R2CC0j z2Sa;0NVnBN^~vghCRV#sRE_3sJQ&bqYRhZ)a!T-K5*T1{xt1qf0wZYm0OhY_xRn4(BP+gC7wn&I;7;S@^8%ye5ebJh) zHI^j76-H3vg&&*8Mw_25X(|Q=ZH^2kd9AVj>mlrWZxBzS$`mP@)s`wW>YO2zr#&fp zv3#`^RHXnC>P9ysHK^SsvfNu;yECXh#l?Vlw>~xmQli~ztzzwugiX3YRQg{KaxEt;?*%zeS zlI2F^ILJD>j++n$&+e<;Bc{;GP12u@EQ?n3h1O4Pf+(A*@upDv#o$QYRa=>VVfgoSmD1vmdmIA~6qE+*V;;P)*;C49RFHuOMBN zv+;aHt}^)~Vx`GV%IVxzy9W{)IQF?BCOwd1ncq#$UsG6tgqVkv!hDh94^6eW(rF>< zraQi7(GF+kK+4o|hr*)x$%imQ$?I%f!S;7yTA zP9)hj62{PR&DoRLnI?O;W+@XzFP0%`5tm4z7aJ**twCRbI`*)IT zcK*^jg_PL+x9pbm@9^8wzdrjX52<7Nq&TI3I-DD4)lu9C?qC1)&E zfm5l9f&zviT1t&fh1N093&;#|Aq;)d~A9$73V=F|ZrA*Bef4yu1CiFr5Z<8CRL^vre z{&shed=!Z^L7!zSP7@ZTw_9r%$P?x%Ry(mHG?v>kt$3AN$QjvSa+YCl7m1Ycx4W}~ z^ipPE8zQed@t7+yHd^DC4ZST|** zmInCsGxwg}m`JPnhqG)&wLV>!_L&((!_iFyO>b;8DoxuSui{BLRtK8om|!-jejJ^% z+=l-xblt%X5`L$aY<<{^$*i@J+9J(`3o5a~>S+rd#zAX$sRc(ga?R`L)#%Yo8ZMKF z30nJv>Je#L(3c})vC=!(VMp2?tCB!J2;16&E0KtetYP2y4l=|flCDwKnVkH84HI!h zX<#Le%sV0p9R!$$yfcfRwD`p4Axg*C3#Pq7>o(3j(HhbnMDDy#WMJHISu)8dS1x%$ zuN%G8Q0*Rdoou_{48@!UYw5h=Q2jn(jg?Lgn5#jZb%0PmqR>$f5mB~hhbKd{GQ)+3 zjkd*5`oI-8&3GG~oI4nzh2N%2B)GYu#!ehd{TDf07bZ4f7E0hG5IJqRO$1>lNJP#R zE~iyyZwC_AMk#OXqw!NbYRWu)oEj##my^R`De`!#xB>~ZftvY6ZYqXYYHzkGCUvTI zpOR9`c$&}El#lAfXuzdZ5a&d}SK-=J8r`e!Vb`KT1KKmtN_(wTv@w0PTt72#9PZUFI6MD)>&C*A%^r-LQ zoFY2H^0waDFiko$;xhZ6<4vw~LTR~?C9p5HoH89PjZF`&yi3#+#E4}}sVt*A5e_Z# z)}^ymdA_BZ7H1xCrb*h8+qs`CDis7>3M~ofyeZO6OOoVDuzTlQ==CsM`E8Q6L$W%f zPG5yXCwz^I!pJd+86#-|Rn2@8+#(RIzT%#<38f&m8Er|}9L{jw^L7DG1OePkFl6ACsHWni%6BV(yZS};+|fl70x4@=V>~@mC#a~_@U-!+G}dzt=znK z>_p%nqy;SrGKd_SCczl&@^M1)SV@(8l<94;Nh&{Z8+fvsj5UZ9yTF-%Kb7woar&tcT zQJB>?-feR4eB<3l*f+1Nb;8qbHg}H;AvU7c@eT{R9EK-D>juc#0lS6dx-#1_IihxJ znb7GZ2i{4`95>3RB#z=acj89q_$h zip^=g6I+zw!9{v^qa`re`eBvVBzH*7&m|)tfRhc4h>zEhOznG^U^9PFo7$l|q`Aa>1l7l|99fUv4h@lU!-;K! zFhSe*>~I%vs!niv6RqfUCx6~xf0qCYB-YXJT%$L7)uc`G5NGVeItJ~PhjSc~Z}L#e z9lvwSKB{PZI#9QB?Bj7;mz1o6s(U%3qxmgHSmH#o&&um*4#_>0xjs2F?dI|4T7bkW zEG=~+;M>Vv^E>7+asJ?)rlsDNy7;}6;*-n9(ItYlOFqq=DtJH7sP)|fE!|1KZ6nN1 z{jL%6Y$?g!xscJ+POUih3)xf z!zbbJWN``d%qDi(PlyjiMhzMt;YXg)oh&6&6e; zO%%6XIJHk@h8xzKt;=`^g6bz2pUpvPFy~HZ8#$J*)3K9D`bwWlfH@4nw!^& z6s0M_)rv+5Xf$Q*@4SgeuQ=RWWPQ$XGEZc75|`eR>EvAdHo257ypH6)wh*=nler~b zf%_)Q)CtkqsrLV`!C_P%V8uzcovOJ*mfD@t`oA`Jws%M$lcnSLUw37;G5mIjXC;fP zm(BIO(|kE*f+Y~vWmD<-#antj{ljv0reyweCHZ&%vU(*nm6!QbIc4*DqmHB1w-)KA zUYVfi?&I^l0y4bzQr;@P3$w(O$(e-=K-8UR$cfMrbD@`xzll~NOn!*;*Jf$_M$Fm9B{9`!Ep}m`aAtn5#ph6{32eH3joW70F{atqBhGD! zeRCcr5`VxI9W^vGj81rxO*NNzZtf6pHLUt`JM&+Scl{e;qY}Fny>4`GHwl+J&_lay zePY_wXJ~5mCmJ$x-P+DY6Y;tP<@!|CnpF%nRLsVXkVLKPGmV5BopK~Im*($P^~O=m z#l2d{F7Yg8uf=$9(U@PPolT3eh7?-!+at4-m{s}C#uU4`#gNH$bJO9z2uYo&D5gAa zHq-DusWPNgB8WjOH4`-@9`>QRLfSUGN7?Z{%B14MCrsYuQEDw2oLJ9MHx*hqn3V>AeeUB zYnR3(AsHvqOg{cd<2yW4Dx+f8VIe|!tiGAT`KV6PYdMw0gKf8H z{9q^Q>!T1PNtdpcwIsMf#x2{;b0M`UyHD}7iuH&-(TS+=wY@2Oe6W&EZQ@g`=N0vs zsSYfWDlEA`K13qYyoXG>lm@$G#_*8(czT!=E1B|RB`cT`swU^n-w5apk$ZVUGSHeg z+L%GXzh0r)aaw8*(`3!svDIg96N%^lNe1VmFR44pF6!Xln%!lCa3<)iRq~L;EL8h9 zLh%b1c_n=lm^cF1k?soQEqHDmMM;&|=Dv^k+;B$dUWNO#EOlh zydBvOCVI;SS*A(aCp}?7-_uJpp z1oRQ-4i9XbTfCDtebM_+Z@>P#Q0YGFg4E!Ey(JCfM7JqcTW)T|J%wM`%AQgKOJ?%7#suo&!e8`P!^8o-HOCM6 z2i9Ki0eE3u|0IU#4%1Mrwb**u9Dl~v78Zyd+u2$c_L9A$Q!G|@y(AT4YhAmXVxy2e>l zV;6tGpcte-^^ghKUmLiH;0^vS6^aoXn!Jfhle0rl?c27hhlMVS2e5%<%YDkg?R~E4 z<51%B=~BZhdS_WlHxT6^Emcbk?$_K0rIyW<4!7_nwp0VdJc{!*ZG8urvvXHk2+LDj zr5sG(zOz&?Uy3?3csMs^^`I!#w!i<40u?fQq_tJ}S)&^IoJZe}sk2SSc?QeiEiYrXu+p&p-hK#Z_2Cgx zi_x5p*o*u~Cta$fPgyPG@P%9A^HO>0D3xt|o%=KkYVHGMG*cDv7QJS2vr4>3^ug6R z#`;^q?f(X_g-hl8!MFQ?ZSu`KOKX4F-Ef8?yHJXj*o(vso4TXGrVNci8xh7C&=Wce zMM#PFhKZ+-u_l~UC+-a2zByBbbn0&)YAc%l(m-}l=Z8}d_qC`@6Hb-ivaC+cS{^FP zbKp<03YS%H?}1CbS6XuZQzbjiXd2kBcp`N$-^H@Dd=dwPm7Z#BsmAUTL(EoNkSIa- z#-BJ%^iJ G@c#fYnOL>} literal 0 HcmV?d00001 diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..ff85d24 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,3269 @@ +# Russian message file for YaST2 (@memory@). +# Copyright (C) 2005, 2006 SUSE Linux Products GmbH. +# Copyright (C) 2002 SuSE Linux AG. +# Copyright (C) 1999, 2000, 2001 SuSE GmbH. +# Aleksey Osipov , 2005, 2006 +# Aleksey Novodvorksy , 2000. +# Eugene Osintsev , 1999, 2000. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-01-04 08:58+0100\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Рабочий стол" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Меню окна" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +# combo box item +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Скорость свертывания" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Увеличение прозрачности окна" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Развертывание активного окна горизонтально" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Инициировать" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Цвета куба" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Активные модули" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "О_чистить" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Инициировать" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Инициировать изменение размеров окна" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Инициировать изменение размеров окна" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Инициировать" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Масштабирование окон" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Масштабирование окон" + +# MenuButton label +# menubutton label +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Фильтр текстур" + +# Table header 4/5 +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Насыщенность" + +# Table header 4/5 +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Насыщенность" + +# combo box item +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Скорость свертывания" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Размещение окон" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +# Table header 4/5 +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Насыщенность" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Масштабирование окон" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "Типы окон, которые должны стать вязкими при получении фокуса" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Масштабирование окон" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Масштабирование окон" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Российская Федерация" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Русский" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Российская Федерация" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Русский" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "Эффект фокусировки" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Скорость проявления/исчезания окна" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Устройства вывода" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Выбор видео режима" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:2 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:3 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:4 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:5 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:6 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:7 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:8 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:9 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:10 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:11 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:12 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"Определенная комбинация клавиш, при нажатии которой запускается команда " +"оболочки %d" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Активные модули" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Позволяет рисовать окна в полноэкранном режиме без перенаправления в области " +"растрового отображения за пределами экрана" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Слышимый сигнал" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Слышимый системный звуковой сигнал" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Автоматический вызов" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Задержка автоматического вызова" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "Автоматическое определение устройств вывода" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Автоматическое определение частоты обновления" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Щелкните для передачи фокуса" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Щелкните окно, чтобы передать ему фокус ввода" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Закрыть окно" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Закрытие активного окна" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:38 +#, fuzzy +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:39 +#, fuzzy +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:40 +#, fuzzy +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:41 +#, fuzzy +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:42 +#, fuzzy +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:43 +#, fuzzy +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:44 +#, fuzzy +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:45 +#, fuzzy +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:46 +#, fuzzy +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:47 +#, fuzzy +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:48 +#, fuzzy +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" +"Командная строка, которая будет выполнена оболочкой при вызове run_command%d" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Увеличить прозрачность" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Увеличение прозрачности окна" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Значок по умолчанию" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Изображение значка окна по умолчанию" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "Определить устройства вывода" + +# headline for dialog "Select for update" +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Определить частоту обновления" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Типы окон с фокусом" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Типы окон с фокусом" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Скрыть все, кроме окон панели задач" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Скрыть все окна и передать фокус рабочему столу" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" +"При переходе в режим отображения рабочего стола окна, отсутствующие на " +"панели задач, не отображаются" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Виртуальный размер по горизонтали" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "Игнорировать подсказки в развернутом состоянии" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" +"Игнорирование подсказок увеличения размеров и соотношения сторон для " +"развернутого окна" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Уменьшить прозрачность" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Уменьшение прозрачности окна" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Интервал времени до вызова выбранных окон" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Освещение" + +# command line help text for the 'list detected only' option +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Список текущих активных модулей" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Список строк, описывающих устройства вывода" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Переместить окно на задний план" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Расположение окна позади других окон" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Развернуть окно" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Развернуть окно горизонтально" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Развернуть окно вертикально" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Развертывание активного окна" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Развертывание активного окна горизонтально" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Развертывание активного окна вертикально" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Свернуть окно" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Свертывание активного окна" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Число рабочих столов" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Число виртуальных рабочих столов" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" +"Обновления экрана выполняются только во время гашения обратного хода луча " +"кадровой развертки" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Шаг прозрачности" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Шаг, с которым меняется прозрачность" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Расстояние между окнами" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Запуск в терминале" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Открыть меню окна" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Устройства вывода" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Задержка дождя" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Вызвать щелчком" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Вызвать окно" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Вызов выбранных окон по истечении интервала времени" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "Вызов и размещение окна поверх других окон" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Вызов окон щелчком" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Частота обновления" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Диалоговое окно запуска" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Команда '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Команда '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Команда '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Команда '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Коэффициент размера экрана для виртуального размера по горизонтали" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Коэффициент размера экрана для виртуального размера по вертикали" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Командная строка снимка экрана" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Отобразить главное меню" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Отображение диалогового окна запуска приложения" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Отображение главного меню" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Замедлить анимацию" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Синхронизировать с VBlank" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Сделать снимок экрана" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Сделать снимок окна" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Командная строка снимка экрана" + +# MenuButton label +# menubutton label +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Фильтр текстур" + +# MenuButton label +# menubutton label +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Фильтр текстур" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Частота, с которой перерисовывается содержимое экрана (раз/сек)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Развертывать окно" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Развертывать окно по горизонтали" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Развертывать окно по вертикали" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Переключить свертывание окна в полоску" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Развертывание активного окна" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Развертывание активного окна по горизонтали" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Развертывание активного окна по вертикали" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Переключение свертывания активного окна в полоску" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Переключатель для использования медленной анимации" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Отменить полное развертывание окна" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Отмена полного развертывания активного окна" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Отменить перенаправление окон в полноэкранном режиме" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Использование рассеянного света при преобразовании экрана" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Виртуальный размер по вертикали" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Меню окна" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Командная строка снимка окна" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Ускорение" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +# this is a menu entry +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Переход к следующему слайду" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Анимировать фон" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Анимирование фона при вращении куба" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Цвет верхней и нижней сторон куба" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "Цвет, используемый для нижней границы градиента фона" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "Цвет, используемый для верхней границы градиента фона" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Цвета куба" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Куб рабочего стола" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Ускорение свертывания" + +# combo box item +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Скорость свертывания" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Квант времени для свертывания" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" +"По возможности применять множественное отображение для масштабирования " +"качества изображения" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Возврат к предыдущему слайду" + +# summary information text - header +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Файлы изображений" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Изображение, используемое в качестве текстуры для фона" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "Внутренняя поверхность куба" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "Внутренняя поверхность куба" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Список PNG- и SVG-файлов, которые следует отобразить на верхней грани куба" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Следующий слайд" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Размещение окон на кубе" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Предыдущий слайд" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Отрисовка фона" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Масштабировать изображение" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Масштабировать изображения для покрытия верхней грани куба" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Фон" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "Конечный цвет градиента для фона" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "Начальный цвет градиента для фона" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Изображение для фона" + +# combo box item +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Скорость" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Квант времени " + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Развертывание" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Развертывание куба" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Команда" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Масштабирование окон" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" +"Командная строка декоратора, которая выполняется, если декоратор еще не " +"запущен" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Смещение отбрасываемой тени по оси X" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Смещение отбрасываемой тени по оси Y" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Радиус отбрасываемой тени" + +# int field +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Прозрачность отбрасываемой тени" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Радиус отбрасываемой тени" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Привязка окон" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Смещение тени по оси X" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Смещение тени по оси Y" + +# int field +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Прозрачность тени" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Радиус тени" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Привязка окон" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Оформление окна" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Оформление окна" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Скорость проявления/исчезания" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Эффект проявления/исчезания при системном звуковом сигнале" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" +"Постепенное проявление окон при отображении и постепенное исчезновение при " +"отмене отображения" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Масштабирование окон" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Проявление/исчезание окон" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Полноэкранная визуализация звукового сигнала" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" +"Полноэкранный эффект проявления/исчезания при системном звуковом сигнале" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Визуализация звукового сигнала" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Скорость проявления/исчезания окна" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Точка" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Добавить точку" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Не изменять" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Не изменять" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Эффект свертывания" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Свернуть окно" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Скорость свертывания" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Квант времени свертывания" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Устойчивость тени" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Устойчивость тени" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Преобразовывать окна при свертывании и отмене свертывания" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "Типы окон, которые должны быть преобразованы при свертывании" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Ограничить Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Ограничение координаты Y пределами рабочей области" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Инициировать движение окна" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Переместить окно" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Переместить окно" + +# int field +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Прозрачность" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Степень прозрачности движущихся окон" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" +"Отмена привязки и автоматическая отмена развертывания полностью развернутых " +"окон при перетаскивании" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Отменить привязку полностью развернутых окон" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Запуск перемещения окна" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Виртуальный размер по горизонтали" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Размещение окон" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "При отображении разместите окна в нужных местах" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Отображение свернутых окон" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Виртуальный размер по горизонтали" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Отображение свернутых окон" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Обходные пути при размещении окна" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "Типы окон, для которых следует применять режим масштабирования" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Обходные пути" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Отображение свернутых окон" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Виртуальный размер по горизонтали" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Отображение свернутых окон" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Виртуальный размер по горизонтали" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Куб рабочего стола" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Размещение окон на кубе" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page Down" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Вращать влево" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Вращать вправо" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Вращать до грани %d" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page Up" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Размещение окон" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Вращение влево" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Вращение вправо" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Вращение до грани %d" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page Up" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "Переключение привязки окон" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Переключение привязки окон" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Инициировать изменение размеров окна" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Изменить размеры окна" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Изменение размеров окна" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Запуск изменения размеров окна" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "Отражение при перетаскивании к краю" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Отражение при перемещении к краю" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Отражение при курсоре на краю" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Время отражения" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "Отражение в левое кадровое окно и искажение курсора" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" +"Отражение на следующее кадровое окно при перетаскивании объекта к краю экрана" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" +"Отражение на следующее кадровое окно при смещении курсора к краю экрана" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" +"Отражение на следующее кадровое окно при перемещении окна к краю экрана" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "Отражение в правое кадровое окно и искажение курсора" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Инвертировать ось Y для перемещений курсора" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Инвертировать для курсора ось Y" + +# dialog caption +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Чувствительность курсора" + +# Translators: text entry label +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Вращать куб" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "Вращать с отражением влево" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "Вращать с отражением вправо" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Вращать влево" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Вращать влево вместе с окном" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Вращать вправо" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Вращать вправо вместе с окном" + +# Translators: text entry label +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Вращать до" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Вращать до грани %d" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Вращать до грани %d вместе с окном" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Вращение куба рабочего стола" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Вращение влево" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Вращение влево вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Вращение вправо" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Вращение вправо вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Вращение до грани %d" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Вращение до грани %d вместе с активным окном" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Вращение до кадрового окна" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Вращать окно" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Вращение вместе с окном" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Ускорение вращения" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Скорость вращения" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Квант времени вращения" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "Чувствительность к перемещениям курсора" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Привязка вращения куба к верхней грани" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Привязать к верхней грани" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Запуск вращения" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Задержка во времени до отражения кадрового окна" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Степень прозрачности в процентах" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Затемнить фон" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Затемнение фона при масштабировании окон" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Время задержки при наведении" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Инициировать средство выбора окна" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "Инициировать средство выбора окна для всех окон" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "Инициировать средство выбора окна для группы окон" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Инициировать средство выбора окна для окон текущего устройства вывода" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "Компоновка и запуск преобразования всех окон" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "Компоновка и запуск преобразования группы окон" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Компоновка и запуск преобразования окон" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "Компоновка и запуск преобразования окон текущего устройства вывода" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Наложить значок" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "Наложение значка на окна при их масштабировании" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Масштабировать" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Масштабирование окон" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Скорость масштабирования" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Квант времени масштабирования" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Масштабирование окон" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Расстояние между окнами" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Интервал" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" +"Время (в мс) до завершения режима масштабирования при наведении указателя на " +"окно" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "Типы окон, для которых следует применять режим масштабирования" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Автоматически запускать апплет при входе в систему" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Каталог\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Сделать снимок экрана" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Запустить приложение" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Рекурсия в каталог" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Экран" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Командная строка снимка экрана" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "Уровень яркости в процентах" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "Уровень насыщенности в процентах" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Переключатель приложений" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Автоматический вызов" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Яркость" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Переместить на передний план" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Перемещение выбранного окна на передний план" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"При переключении окон рабочий стол на заднем плане должен быть уменьшен" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Значок" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Свернутые" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Следующее окно" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "Отображение переключателя (если он невидим) и выбор следующего окна" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" +"Отображение переключателя (если он невидим) и выбор следующего окна из всех " +"имеющихся" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "Отображение переключателя (если он невидим) и выбор предыдущего окна" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" +"Отображение переключателя (если он невидим) и выбор предыдущего окна из всех " +"имеющихся" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Предыдущее окно" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +# Table header 4/5 +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Насыщенность" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Выбрать следующее окно" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Выбрать предыдущее окно" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Отображение значка рядом с эскизом" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Отображение свернутых окон" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "Скорость переключателя" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "Квант времени переключателя" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Масштабирование окон" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "Типы окон, которые должны быть отображены в переключателе" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Изменить масштаб" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Добавить линию" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Добавить точку" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Добавление эффектов воды к различным действиям рабочего стола" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "Задержка (в мс) между каплями дождя" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Включить для курсора эффекты воды" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Линия" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Масштаб смещения" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Точка" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Задержка дождя" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Волны заголовка" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Переключить дождь" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Включение или отключение эффекта дождя" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Переключить стеклоочиститель" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Включение или отключение эффекта стеклоочистителя" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Эффект воды" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "Масштаб смещения воды" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Эффект волн в заголовке окна" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Эффект фокусировки" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Эффект фокусировки окна" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Типы окон с фокусом" + +# Table header 5/5 +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Трение" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Типы окон при захвате" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Разрешение решетки" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "Инвертированная привязка окна" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Включить дрожание окна" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Эффект отражения" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Эффект отражения окна" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Типы отражения окна" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Эффект развертывания" + +# combo box item +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Минимальный размер решетки" + +# combo box item +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "Минимальный размер решетки на вершинах" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Переместить окно" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Дрожание" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "Инвертированная привязка" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Привязка окон" + +# Table header 5/5 +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Упругое трение" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "K упругости" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Константа упругости" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Переключение привязки окон" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Использовать модель пружины в эффекте вязкого окна" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "Разрешение решетки на вершинах" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "Типы окон, которые должны стать вязкими при получении фокуса" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "Типы окон, которые должны стать вязкими при захвате" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "Типы окон, которые должны отражаться как вязкие" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "Типы окон, которые должны стать вязкими при движении" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Эффект вязкости при развертывании и свертывании окон" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Вязкие окна" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Линейная фильтрация" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "Использовать линейный фильтр при уменьшении" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Изменить масштаб рабочего стола" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Уменьшить" + +# combo box item +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Увеличить" + +# combo box item +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Скорость изменения масштаба" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Квант времени изменения масштаба" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Изменение масштаба и сдвига куба рабочего стола" + +# combo box item +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Коэффициент масштабирования" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "Встраивание" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "Панель инструментов" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Меню" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "Утилита" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Заставка" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "Диалоговое окно" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Нормальный" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "Раскрывающееся меню" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "Всплывающее меню" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "Совет по использованию" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "Уведомление" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "Поле ввода со списком" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Перетаскивание" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "Модальное диалоговое окно" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "Полноэкранный режим" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Неизвестный" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Линейная фильтрация" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Русский" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Определенная комбинация клавиш, при нажатии которой запускается команда " +#~ "оболочки %d" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "Уровень яркости в процентах" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "Степень прозрачности в процентах" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "Уровень насыщенности в процентах" + +# Table header 4/5 +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Насыщенность" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "Задержка (в мс) между каплями дождя" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "" +#~ "При переключении окон рабочий стол на заднем плане должен быть уменьшен" + +#~ msgid "Do not modify" +#~ msgstr "Не изменять" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "Смещение отбрасываемой тени по оси X" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "Смещение отбрасываемой тени по оси Y" + +# int field +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "Прозрачность отбрасываемой тени" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Радиус отбрасываемой тени" + +#, fuzzy +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "Эффект фокусировки окна" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Выбрать предыдущее окно" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D ускорение:" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D ускорение:" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Квант времени для свертывания" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Российская Федерация" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Русский" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "Интервал времени до вызова выбранных окон" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "Компоновка и запуск преобразования окон текущего устройства вывода" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Эффект отражения окна" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Скорость свертывания" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Квант времени свертывания" + +# combo box item +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Минимальный размер решетки на вершинах" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Число виртуальных рабочих столов" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Шаг, с которым меняется прозрачность" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Степень прозрачности движущихся окон" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Степень прозрачности движущихся окон" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Цвета куба" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "Наложение значка на окна при их масштабировании" + +#~ msgid "Plugins that this must load before" +#~ msgstr "Предварительно должны быть загружены модули" + +#~ msgid "Plugins that this requires" +#~ msgstr "Необходимые модули" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Отображение переключателя (если он невидим) и выбор следующего окна из " +#~ "всех имеющихся" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Отображение переключателя (если он невидим) и выбор следующего окна из " +#~ "всех имеющихся" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "" +#~ "Отображение переключателя (если он невидим) и выбор предыдущего окна из " +#~ "всех имеющихся" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "" +#~ "Отображение переключателя (если он невидим) и выбор предыдущего окна из " +#~ "всех имеющихся" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D ускорение:" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Скорость вращения" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Квант времени вращения" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "Скорость масштабирования" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "Квант времени масштабирования" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "Коэффициент размера экрана для виртуального размера по горизонтали" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "Коэффициент размера экрана для виртуального размера по вертикали" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "Чувствительность к перемещениям курсора" + +#, fuzzy +#~ msgid "Shade resistance (0-100)" +#~ msgstr "Устойчивость тени" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Расстояние между окнами" + +# Table header 5/5 +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Упругое трение" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Константа упругости" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Скорость переключателя" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "Квант времени переключателя" + +# MenuButton label +# menubutton label +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Фильтрация текстур" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "Частота, с которой перерисовывается содержимое экрана (раз/сек)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "" +#~ "Время (в мс) до завершения режима масштабирования при наведении указателя " +#~ "на окно" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "Задержка во времени до отражения кадрового окна" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "Использовать линейный фильтр при уменьшении" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Разрешение решетки на вершинах" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "Масштаб смещения воды" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Скорость проявления/исчезания окна" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Скорость проявления/исчезания окна" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "Типы окон, для которых следует применять режим масштабирования" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "Типы окон, которые должны быть отображены в переключателе" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "Типы окон, которые должны быть преобразованы при свертывании" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "Типы окон, которым следует применять эффект проявления/исчезания" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "Типы окон, которые должны стать вязкими при получении фокуса" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "Типы окон, которые должны стать вязкими при захвате" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "Типы окон, которые должны отражаться как вязкие" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "Типы окон, которые должны стать вязкими при движении" + +# combo box item +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Скорость изменения масштаба" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Квант времени изменения масштаба" + +# combo box item +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Коэффициент масштабирования" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "Свернутые" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Вращать до грани %d" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Вращение до грани %d" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Вращать до грани %d вместе с окном" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "Вращение до грани %d вместе с активным окном" + +#~ msgid "Rotate To Face %d" +#~ msgstr "Вращать до грани %d" + +#~ msgid "Rotate to face %d" +#~ msgstr "Вращение до грани %d" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "Вращать до грани %d вместе с окном" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "Вращение до грани %d вместе с активным окном" + +#~ msgid "None" +#~ msgstr "Никакой" + +#~ msgid "Emblem" +#~ msgstr "Эмблема" + +#~ msgid "Big" +#~ msgstr "Большой" + +#~ msgid "Fast" +#~ msgstr "Быстрое" + +#~ msgid "Good" +#~ msgstr "Хорошее" + +#~ msgid "Best" +#~ msgstr "Наилучшее" + +#~ msgid "Command line %d" +#~ msgstr "Командная строка %d" + +#~ msgid "Run command %d" +#~ msgstr "Команда запуска %d" + +#~ msgid "Window Types" +#~ msgstr "Типы окон" + +#~ msgid "Move Window Types" +#~ msgstr "Типы движущихся окон" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Включить раздел ZEN" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Конвертеры" + +#, fuzzy +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "Начальный RAM диск" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Показать и&зменения" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Гибкий диск" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Запускается демон." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Терминалы" diff --git a/po/sk.gmo b/po/sk.gmo new file mode 100644 index 0000000000000000000000000000000000000000..b8323883ea4c03f299e81c91aab69551dde1f970 GIT binary patch literal 555 zcmYL`&2H2%5XTLauiW6ofy0PHwH5N>WLvuOZni5*D^+64s+(3q;$k*#2ua4N?F53v zkrQVgpwH6x;8~cohaKsszdc_b+y9<#{bgiZ#7kmIJS097z12h?yCNPDE%BK6Mf|zP z*l*I_|Li_vPf1^pJ|TTYN?}IA9uU3teb_={!%mH@RLRbJ zK?$GKDuKbg(v`8@d?z^5wXvQrT$ZQ&U6VPU7zx4hW5N%uR-TIZd*!u+NQiwd_IMaV zIFcgbVpj-CL-a z&g^O$-s>O!OBr*#sr zzTLWbG=aNiJis^(ci;d*kTAem9KrTB;56Rtoe??3Bw$N}O`&do=;pe_j-BeCcynEK F>^}>Rlac@c literal 0 HcmV?d00001 diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..4ccd8c2 --- /dev/null +++ b/po/sk.po @@ -0,0 +1,3016 @@ +# Slovak message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2002, 2003 SuSE Linux AG. +# Copyright (C) 2000, 2001 SuSE GmbH. +# Stanislav Visnovsky , 2003 +# Milan Hromada , 2000. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2003-05-27 16:53+0200\n" +"Last-Translator: Stanislav Visnovsky \n" +"Language-Team: Slovak \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Pracovné plochy" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Správca okien" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Preskočené\n" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&Odstrániť Windows úplne" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&Odstrániť Windows úplne" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Init" + +# KM +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Farby" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktívny profil" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Odstrániť Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Nastaviť &filter" + +# Table header 4/5 +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Trvanie" + +# Table header 4/5 +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Trvanie" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Preskočené\n" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +# Table header 4/5 +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Trvanie" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Odstrániť Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Odstrániť Windows" + +# RU +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Ruská Federácia" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Ruská" + +# RU +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Ruská Federácia" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Ruská" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows voľných (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Výstup bol" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Voľba zobrazovacieho režimu" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Aktívny profil" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Systém &súborov" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Automaticky" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Odstrániť Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&Odstrániť Windows úplne" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Štandardná sekcia" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Štandardný &dátum vypršania platnosti" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Výber aktualizovaného systému" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Spúšťam démona." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Virtuálne aliasy" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Záznam" + +# command line help text for the 'list detected only' option +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Vypísať len nájdené tlačiarne" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Windows" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Zmenšiť Windows" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Zmenšiť Windows" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Zmenšiť Windows" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Pracovné plochy" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Pracovné plochy" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Occitan (post 1500)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +#, fuzzy +msgid "Outputs" +msgstr "Výstup bol" + +# Table header 3/5 +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Čakanie" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "&Rádiové hodiny" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Zmena veľkosti zlyhala." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Aktualizovať zoznam" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "&Tónové" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Príkaz '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Príkaz '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Príkaz '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Príkaz '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Príkaz: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Chyba pri čítaní príkazového riadku." + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "Zobraziť ponuku štartu systému" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "Zobraziť ponuku štartu systému" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Zobraziť všetky oddiely" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Chyba pri čítaní príkazového riadku." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "Nastaviť &filter" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "Nastaviť &filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Virtuálne aliasy" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Správca okien" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D akcelerácia:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +# KM +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Farby" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Plocha" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D akcelerácia:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Preskočené\n" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Čas" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "Predošlý kernel" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Zlyhané súbory" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "Ďalšia aktualizácia" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Odstrániť Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Predošlý kernel" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "lokálny čas" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Preskočené\n" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Čas" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Príkaz: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Veľmi nízka kapacita" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Veľmi nízka kapacita" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Veľmi nízka kapacita" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Zmenšiť Windows" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Veľmi nízka kapacita" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Veľmi nízka kapacita" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Veľmi nízka kapacita" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Zmenšiť Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Bez popisu" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "možnosti ypbind" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Preskočené\n" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Systém &súborov" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Zmenšiť Windows" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Dotyková obrazovka" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows voľných (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "&Pridať odkaz" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "&Pridať odkaz" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Nezaznamenávať" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Nezaznamenávať" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Zmenšiť Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Zmenšiť Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Zmenšiť Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Zmenšiť Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Obsahuje" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "&Dolu" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "&Dolu" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "&Dolu" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Veľmi nízka kapacita" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Spúšťam démona." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Zmenšiť Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Spúšťam démona." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Virtuálne aliasy" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Zmena veľkosti zlyhala." + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Virtuálne aliasy" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Zmena veľkosti zlyhala." + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "možnosti ypbind" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +# text entry +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Skupina" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Zmena veľkosti zlyhala." + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Virtuálne aliasy" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Zmena veľkosti zlyhala." + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Virtuálne aliasy" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Plocha" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Odstrániť Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "&Odstrániť Windows" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Vzdialená podsieť" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Doprava" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "&Odstrániť Windows" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Odstrániť Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Vzdialená podsieť" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Doprava" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Otočiť obrazovku" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "&Odstrániť Windows" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Init" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Zmena veľkosti zlyhala." + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Zmena veľkosti zlyhala." + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "V reálnom čase" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Odkaz na %1" + +# dialog caption +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Zariadenie tlačiarne" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Vzdialená podsieť" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Doprava" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Doprava" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Vzdialená podsieť" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Doprava" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Vzdialená podsieť" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Vzdialená podsieť" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Doprava" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Spúšťam démona." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Otočiť obrazovku" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "&Dolu" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Spúšťam démona." + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D akcelerácia:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Čas" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Čas" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Spustiť hľadanie" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Pozadie" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "&Dolu" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Skener" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "lokálny čas" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "lokálny čas" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Španielsko" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Automaticky spustiť applet po prihlásení." + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Priečinok\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Voľba zobrazovacieho režimu" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Nové aplikácie" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Obrazovka" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Chyba pri čítaní príkazového riadku." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +# frame +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Poradie použitia" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automaticky" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Most" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Počas štartu" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Ikony" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Zmenšiť Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Odstrániť Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +# Table header 4/5 +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Trvanie" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Odstrániť Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Spúšťam démona." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Zmenšiť Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "lokálny čas" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "lokálny čas" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Odhlásiť" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "&Pridať odkaz" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "&Pridať odkaz" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +# Table header 3/5 +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Čakanie" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Odstrániť Windows" + +# Table header 5/5 +# Table header 4/6 +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Akcia" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Odstrániť Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Rozlíšenie" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Odstrániť Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +# IntField - max. log size +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Maximálna veľkosť" + +# IntField - max. log size +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Maximálna veľkosť" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "&Dolu" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Ovládač" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Zmenšiť Windows" + +# Table header 5/5 +# Table header 4/6 +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Akcia" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Preskakujem %1" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Preskakujem %1" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Odstrániť Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Určenie serveru" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filter: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Plocha" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Odhlásiť" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Odhlásiť" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Preskočené\n" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Čas" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Odhlásiť" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Nástroje" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Ponuka" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Disk s nástrojmi..." + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "&Tónové" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normálny" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Správca okien" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Ponuka" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Nástroje" + +# Table header 5/5 +# Table header 4/6 +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Akcia" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Dotyková obrazovka" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Neznámy" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filter: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Ruská" + +# Table header 4/5 +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Trvanie" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "Nezaznamenávať" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Veľmi nízka kapacita" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Spúšťam démona." + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D akcelerácia:" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D akcelerácia:" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Čas" + +# RU +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Ruská Federácia" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Ruská" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Zmenšiť Windows" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Zmenšiť Windows" + +# IntField - max. log size +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Maximálna veľkosť" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Pracovné plochy" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "Occitan (post 1500)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Spúšťam démona." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Spúšťam démona." + +# KM +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Farby" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D akcelerácia:" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Čas" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "lokálny čas" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "lokálny čas" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Odstrániť Windows" + +# Table header 5/5 +# Table header 4/6 +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Akcia" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Preskakujem %1" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "Nastaviť &filter" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Určenie serveru" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows voľných (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows voľných (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Preskočené\n" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Čas" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Odhlásiť" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Otočiť obrazovku" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Otočiť obrazovku" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Spúšťam démona." + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Otočiť obrazovku" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Otočiť obrazovku" + +#~ msgid "None" +#~ msgstr "Žiadna" + +#~ msgid "Big" +#~ msgstr "Veľký" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Príkaz: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Príkaz: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Typ poskytovateľa" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Povoliť ZEN diskový oddiel" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Cornish" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Zobraziť z&meny" + +# default is "/dev/fd0" floppy device (used when floppy detection is skipped as a fallback) +# tree node string +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Disketa" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Spúšťam démona." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminály X11" diff --git a/po/sl.gmo b/po/sl.gmo new file mode 100644 index 0000000000000000000000000000000000000000..b14785d54efe7a351712e3856e92c5dcd2fd500a GIT binary patch literal 505 zcmYL_K~GdM5XXz4Chy3ZL%l)BtnGqv^OhwW5E7Kd4LnRtjLEn=J|6pa`fU4FA>rsp z@au8%;?ZxwR7rNyUuN3*PdlCa^|fD0Y)#k@_JpUxCm~rQq}(^*nXnL^3wOfj6{UWP zPx;>xr}ICL{;zmh>WQ!_BuhFqB5u{0^K-1#CC}J>XEpZjnkErWrtpD$s2u0|BVH7G zb2z8D^Ebn-?3^0sBaA{>P2r#|0~9XT+4y|{hn_G>5xl`jx$YYC8q6!OR@MU3Twx_KX-L{d+>=Z+U!Xt+oqw~3bi%hrrou`@JyH0UuCh?G3?;>4w zLbWe7T((#e6om6!U({|vTp?$plhM)gOSWUOL&uR=Ubtzb)kr_$%cjPP`+9PPK2RK7 z7RS(A>QX0P$-@y(+_d5{*S#-Q%*J)=v4&$AWXLr)|F&V!?d$*HV3YNWfwo)y>~Z9{ Nz$vjhqgzIH>H#T, 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-10-18 11:02+0200\n" +"Last-Translator: Janez Krek \n" +"Language-Team: Slovenian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Namizje" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Upravljalnik oken" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Izbran(i)" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "V celoti &izbriši Windows" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "V celoti &izbriši Windows" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Init" + +# KM +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Barve" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktivni profil" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "počisti" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "I&zbriši Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "I&zbriši Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "&Nastavi filter" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Trajanje" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Trajanje" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Izbran(i)" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "I&zbriši Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Trajanje" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "I&zbriši Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "I&zbriši Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "I&zbriši Windows" + +# RU +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Ruska federacija" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Ruska" + +# RU +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Ruska federacija" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Ruska" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows prosto (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Init" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Aktivni profil" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Datotečni &sistem" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Samodejno" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "I&zbriši Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "V celoti &izbriši Windows" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Privzet odsek" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Privzeti Datum I&zteka Veljavnosti" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Izberi Posodobitev" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Navidezne naprave" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Pisanje dnevnika" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Seznam zaznanih tiskalnikov" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Windows uporabljeno:" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Skrčite Windows" + +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Skrčite Windows" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Skrčite Windows" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Namizje" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Namizje" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "I&zbriši Windows" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Zaženi v terminalu" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Zamik" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "&Radijska ura" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Sprememba velikosti je bila neuspešna." + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Osveži seznam" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Ukaz '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Ukaz '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Ukaz '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Ukaz '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Ukaz: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Napaka pri razčlenitvi ukazne vrstice." + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Prikaži vse razdelke" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Napaka pri razčlenitvi ukazne vrstice." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "&Nastavi filter" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "&Nastavi filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Navidezne naprave" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Upravljalnik oken" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D pospeševanje:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +# KM +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Barve" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Namizje" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D pospeševanje:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Izbran(i)" + +# TL +# fuzzy +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Trst" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "Prejsne jedro" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Neuspešne datoteke" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "Naslednja posodobitev" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "I&zbriši Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Prejsne jedro" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "lokalni čas" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sydney" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Izbran(i)" + +# TL +# fuzzy +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Trst" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Ukaz: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "I&zbriši Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Nizek nivo" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Nizek nivo" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Nizek nivo" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Skrčite Windows" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Nizek nivo" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Nizek nivo" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Nizek nivo" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Skrčite Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Ni opisa" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind opcije" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Izbran(i)" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Datotečni &sistem" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "I&zbriši Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Skrčite Windows" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Zaslon na dotik" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows prosto (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Dodaj stik" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Dodaj stik" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Ne beleži ničesar" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Ne beleži ničesar" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Skrčite Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Skrčite Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Skrčite Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Skrčite Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Vsebuje" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "Premakni &Dol" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Premakni &Dol" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Premakni &Dol" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Nizek nivo" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Skrčite Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Navidezne naprave" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "I&zbriši Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Sprememba velikosti je bila neuspešna." + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Navidezne naprave" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Sprememba velikosti je bila neuspešna." + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind opcije" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Delovna skupina" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Sprememba velikosti je bila neuspešna." + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Navidezne naprave" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Sprememba velikosti je bila neuspešna." + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Navidezne naprave" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Namizje" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "I&zbriši Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "I&zbriši Windows" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Oddaljeno podomrežje" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "V desno" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "I&zbriši Windows" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "I&zbriši Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Oddaljeno podomrežje" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "V desno" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Zasukaj zaslon" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "I&zbriši Windows" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Init" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Sprememba velikosti je bila neuspešna." + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Sprememba velikosti je bila neuspešna." + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Realni čas" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Kazalec na %1" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Tiskalniška naprava" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Oddaljeno podomrežje" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "V desno" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "V desno" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Oddaljeno podomrežje" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "V desno" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Oddaljeno podomrežje" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Oddaljeno podomrežje" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "V desno" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Zasukaj zaslon" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Premakni &Dol" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Zaganjam prikriti proces (daemon)." + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D pospeševanje:" + +# TL +# fuzzy +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Trst" + +# TL +# fuzzy +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Trst" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Poženi zaznavanje" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Ozadja" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Premakni &Dol" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Optični bralnik (scanner)" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "I&zbriši Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "lokalni čas" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "lokalni čas" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "I&zbriši Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "I&zbriši Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Španija" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Imenik\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Init" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Pisarniške aplikacije" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Zaslon" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Napaka pri razčlenitvi ukazne vrstice." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Vrstni red uporabe" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Samodejno" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Most" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Med zagonom" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Ikonce" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Skrčite Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "I&zbriši Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows uporabljeno:" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Trajanje" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "I&zbriši Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Zaganjam prikriti proces (daemon)." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Skrčite Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Skripta za zamenjavo" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "lokalni čas" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "I&zbriši Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Odjava" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "Dod&aj povezavo" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Dodaj stik" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Zamik" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "&Zamenjaj status" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "&Zamenjaj status" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "&Zamenjaj status" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "&Zamenjaj status" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows uporabljeno:" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "I&zbriši Windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Akcija" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "I&zbriši Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Ločljivost" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "I&zbriši Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows uporabljeno:" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows uporabljeno:" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows uporabljeno:" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows uporabljeno:" + +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Največja velikost" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Največja velikost" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Premakni &Dol" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Gonilnik" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Skrčite Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Akcija" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Stepping" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Stepping" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "I&zbriši Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Prepoznavanje strežnika" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows uporabljeno:" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filter: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Namizje" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Odjava" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Odjava" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Izbran(i)" + +# TL +# fuzzy +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Trst" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Odjava" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Orodja" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menu" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Disketa s priročnimi orodji..." + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Navaden" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Upravljalnik oken" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Menu" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Orodja" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Akcija" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Zaslon na dotik" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Neznano" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filter: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Ruska" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Trajanje" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "Ne beleži ničesar" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Nizek nivo" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Zaganjam prikriti proces (daemon)." + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D pospeševanje: " + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "3D pospeševanje: " + +# TL +# fuzzy +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Trst" + +# RU +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Ruska federacija" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Ruska" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows uporabljeno:" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Skrčite Windows" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Skrčite Windows" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Največja velikost" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Namizje" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Zaganjam prikriti proces (daemon)." + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Zaganjam prikriti proces (daemon)." + +# KM +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Barve" + +# workflow: "3D Beschleunigung aktivieren" +# -ke- +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D pospeševanje: " + +# TL +# fuzzy +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Trst" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "lokalni čas" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "lokalni čas" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "I&zbriši Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Akcija" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Stepping" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Skripta za zamenjavo" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "&Nastavi filter" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Prepoznavanje strežnika" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows prosto (%1)" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows prosto (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Izbran(i)" + +# TL +# fuzzy +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Trst" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Odjava" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Zasukaj zaslon" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Zasukaj zaslon" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Zaganjam prikriti proces (daemon)." + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Zasukaj zaslon" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Zasukaj zaslon" + +#~ msgid "None" +#~ msgstr "brez izbire" + +#~ msgid "Big" +#~ msgstr "Velik" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Ukaz: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Ukaz: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows uporabljeno:" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Tip ponudnika" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "Omogoči samodejno zaustavitev" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Kornščina" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Pokaži spre&membe" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Disketa" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Zaganjam prikriti proces (daemon)." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminali" diff --git a/po/sr.gmo b/po/sr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..a3eddfd7058a87336cf27a653cd7944323af00d1 GIT binary patch literal 540 zcmYL`(QeZ)6ovx=A#%BEE)Ew=tKbAXDWY0;F+PZ)fUpI3+ZflRFRS-`< zmw4ig4s79j9gKohh_@)-pp+mpB~lc9AvlN^X47;}-{<-$GR!z9Rn~tg*o;4FAFyff*YgepC^+gCMn(E> jFE9FCyIU5y6mWNU?{G%+SduKIyX@icK literal 0 HcmV?d00001 diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..0899e30 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,3107 @@ +# Serbian message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2004 SuSE Linux AG. +# Rade Radenkovic , 2004 +# Bojan Jovanovic , 2004 +# +msgid "" +msgstr "" +"Project-Id-Version: YaST2 (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2004-03-31 11:34+0200\n" +"Last-Translator: Bojan Jovanovic \n" +"Language-Team: Serbian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Setovanja Desktop-a" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Window Manager" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Suspend" + +# Radio button for using an entire (Windows) partition for Linux +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "&Obriši Windows kompletno" + +# Radio button for using an entire (Windows) partition for Linux +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "&Obriši Windows kompletno" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "хетски" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Dumb Clock" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +# Label text +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktivan profil" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "XF86Clear" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "хетски" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "хетски" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "хетски" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "хетски" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +# button text +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "&Obriši Windowse" + +# MenuButton label +# menubutton label +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "&Podesite filter" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Trajanje" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Trajanje" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Suspend" + +# button text +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Trajanje" + +# button text +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +# button text +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "&Obriši Windowse" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Руска Федерација" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Rusija" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Руска Федерација" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Rusija" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "микмак" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +# label text, %1 is replaced by a unit value ("MB") +# label text, %1 is replaced by a unit value ("MB") +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows slobodno (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "хетски" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +# Label text +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Aktivan profil" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Sistemi datoteka" + +# ComboBox item +# Combobox item +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Automatski" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "&Obriši Windowse" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +# Radio button for using an entire (Windows) partition for Linux +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "&Obriši Windows kompletno" + +# table item / label +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Podrazumevana sekcija" + +# progress stage title +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Pokretanje podrazumevanog menadžera prozora" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +# headline for dialog "Select for update" +# headline for dialog "Select for update" +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Izaberi za ažuriranje" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Startujem servis" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +# Aliases dialog caption +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Virtuelni alias-i" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Zapisivanje događaja" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Listaj samo detektovane štampače" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +# button text +# button text +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "&Smanji Windowse" + +# button text +# button text +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "&Smanji Windowse" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +# button text +# button text +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "&Smanji Windowse" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +# ??? +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "окситан (после 1500.)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +# button text +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "&Obriši Windowse" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Čekanje" + +#: ../metadata/core.xml.in.h:94 +#, fuzzy +msgid "Raise On Click" +msgstr "&Radio Clock" + +# button text +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "&Obriši Windowse" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Osveži Listu" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +# Process "help" +# translators: %1 is the command name +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Komanda '%1'" + +# Process "help" +# translators: %1 is the command name +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Komanda '%1'" + +# Process "help" +# translators: %1 is the command name +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Komanda '%1'" + +# Process "help" +# translators: %1 is the command name +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Komanda '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Komanda :" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Greška, niste uneli ispravno komandu." + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Prikaži sve Particije" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Greška, niste uneli ispravno komandu." + +# MenuButton label +# menubutton label +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "&Podesite filter" + +# MenuButton label +# menubutton label +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "&Podesite filter" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +# Aliases dialog caption +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Virtuelni alias-i" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Window Manager" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D akceleratori" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sidnej" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Dumb Clock" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Setovanja Desktop-a" + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D akceleratori" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Suspend" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Источни Тимор" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Instaliacija slike diska" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "микмак" + +# button text +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "&Obriši Windowse" + +# button text +# button text +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "&Smanji Windowse" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +# ComboBox entry: hardware clock set to local time +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "lokalno vreme" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sidnej" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sidnej" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Suspend" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Источни Тимор" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Komanda :" + +# button text +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "&Obriši Windowse" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Loše stanje" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Loše stanje" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Loše stanje" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +# button text +# button text +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "&Smanji Windowse" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Loše stanje" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Loše stanje" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Loše stanje" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +# button text +# button text +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "&Smanji Windowse" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Bez opisa" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind opcije" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Suspend" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Sistemi datoteka" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +# button text +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "&Obriši Windowse" + +# button text +# button text +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "&Smanji Windowse" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +# label text, %1 is replaced by a unit value ("MB") +# label text, %1 is replaced by a unit value ("MB") +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows slobodno (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Додај догађај" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Додај догађај" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +# button text +# button text +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "&Smanji Windowse" + +# button text +# button text +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "&Smanji Windowse" + +# button text +# button text +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "&Smanji Windowse" + +# button text +# button text +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "&Smanji Windowse" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +# header text +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr " Kontejner" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "XF86RotateWindows" + +# button text +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "&Obriši Windowse" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Loše stanje" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Startujem servis" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +# button text +# button text +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "&Smanji Windowse" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Startujem servis" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +# Aliases dialog caption +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Virtuelni alias-i" + +# button text +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +# button text +# button text +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "&Smanji Windowse" + +# Aliases dialog caption +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Virtuelni alias-i" + +# button text +# button text +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "&Smanji Windowse" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind opcije" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Radna grupa" + +# button text +# button text +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "&Smanji Windowse" + +# Aliases dialog caption +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Virtuelni alias-i" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +# button text +# button text +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "&Smanji Windowse" + +# Aliases dialog caption +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Virtuelni alias-i" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Setovanja Desktop-a" + +# button text +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "XF86RotateWindows" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Startujem servis" + +# button text +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "&Obriši Windowse" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "XF86RotateWindows" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Startujem servis" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Startujem servis" + +# button text +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "&Obriši Windowse" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "хетски" + +# button text +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "&Obriši Windowse" + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "U realnom vremenu" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +# table entry, %1 is host name +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Pokazivač na %1" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Štampač" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Startujem servis" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Setovanja Desktop-a" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Startujem servis" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Startujem servis" + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D akceleratori" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Источни Тимор" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Источни Тимор" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Startuj detekciju..." + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Pozadine" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "XF86RotateWindows" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +# label of an output field +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Skener" + +# button text +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "&Obriši Windowse" + +# ComboBox entry: hardware clock set to local time +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "lokalno vreme" + +# ComboBox entry: hardware clock set to local time +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "lokalno vreme" + +# button text +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "&Obriši Windowse" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Španija" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Директоријум\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "хетски" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Покрени програм" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Greška, niste uneli ispravno komandu." + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Greška, niste uneli ispravno komandu." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Redosled" + +# ComboBox item +# Combobox item +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Automatski" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Most" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Akcija" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Ikone" + +# button text +# button text +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "&Smanji Windowse" + +# button text +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "&Obriši Windowse" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +# button text +# button text +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "&Smanji Windowse" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Trajanje" + +# button text +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "&Obriši Windowse" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Startujem servis" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +# button text +# button text +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "&Smanji Windowse" + +# ComboBox entry: hardware clock set to local time +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "lokalno vreme" + +# ComboBox entry: hardware clock set to local time +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "lokalno vreme" + +# button text +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "&Obriši Windowse" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Odjavi se" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "Додај догађај" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Додај догађај" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Čekanje" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "&Promena statusa" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "&Promena statusa" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "&Promena statusa" + +# translators: toggle button label +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "&Promena statusa" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +# button text +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "&Obriši Windowse" + +# button text +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Akcija" + +# button text +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Rezolucija" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +# button text +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +# button text +# button text +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "&Smanji Windowse" + +# button text +# button text +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "&Smanji Windowse" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +# To translators: intfield label +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "Minimalan &GUID" + +# To translators: intfield label +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Minimalan &GUID" + +# button text +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "&Obriši Windowse" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Драјвер" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +# button text +# button text +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "&Smanji Windowse" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Akcija" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Preskakanje %1" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Preskakanje %1" + +# button text +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "&Obriši Windowse" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +# translators: frame title for method of incoming request resolution +# translators: frame title for method of incoming request resolution +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Rezolucija servera" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +# button text +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "&Obriši Windowse" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filter: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +# Headline for X11 configuration screen: +# The user selects screen resolution and color depth. +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Setovanja Desktop-a" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Odjavi se" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Odjavi se" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Suspend" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Источни Тимор" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Odjavi se" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "тагалог" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Window Manager" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Akcija" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Nepoznato" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filter: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Rusija" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Trajanje" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Loše stanje" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Startujem servis" + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D akceleratori" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Suspend" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Источни Тимор" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Руска Федерација" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Rusija" + +# button text +# button text +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "&Smanji Windowse" + +# button text +# button text +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "&Smanji Windowse" + +# To translators: intfield label +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "Minimalan &GUID" + +# ??? +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "окситан (после 1500.)" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Startujem servis" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Startujem servis" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Dumb Clock" + +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +# ... +# at the end of the suggestion text we will add the +# 3D status. Therefore the D3Active variable is handled +# if the status is false we had to check if the card +# or the environment is capable of using 3D +# --- +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D akceleratori" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Источни Тимор" + +# ComboBox entry: hardware clock set to local time +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "lokalno vreme" + +# ComboBox entry: hardware clock set to local time +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "lokalno vreme" + +# button text +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "&Obriši Windowse" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Akcija" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Preskakanje %1" + +# MenuButton label +# menubutton label +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "&Podesite filter" + +# translators: frame title for method of incoming request resolution +# translators: frame title for method of incoming request resolution +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Rezolucija servera" + +# label text, %1 is replaced by a unit value ("MB") +# label text, %1 is replaced by a unit value ("MB") +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows slobodno (%1)" + +# label text, %1 is replaced by a unit value ("MB") +# label text, %1 is replaced by a unit value ("MB") +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows slobodno (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Suspend" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Источни Тимор" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Odjavi se" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Startujem servis" + +#~ msgid "None" +#~ msgstr "Nema" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Komanda :" + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Komanda :" + +# Label for used part of the Windows partition in non-graphical mode +# Label for used part of the Windows partition in non-graphical mode +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows iskorišteno:" + +# Provider type dialog caption +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Tip provajdera" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "корнвалски" + +# Push button label +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "Prikaži &promene" + +# default is "/dev/fd0" floppy device (used when floppy detection is skipped as a fallback) +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Disketni uređaj" + +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Startujem servis" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminali" diff --git a/po/sv.gmo b/po/sv.gmo new file mode 100644 index 0000000000000000000000000000000000000000..1a89f2b0020d1c0e73577e027ae157f353fa370e GIT binary patch literal 31635 zcmeI5cbr^hz5fq{8md6($f4IIy;4(1A=xBkmxLhg?9S}&WM*g9IWrqJB3DFIiUqlX zC`}|PQbds`S5&+~EH{E(5!)3|?^Unmry?lc`~E!7_nbL1yIF{V|9J)%ALN~m_wgM9_eMS*?gCGPW8qnFPk0VI0`|byz^jcn!?DQs86Sem z|D*7=@Y`^E_(!wM;lDBEcZs4&DOyf_FgG`-5;l_!!(3{sbNXe+^YX+fVTJyTRR% z4}_}6W8u#56sUOT!#&_)sCIvyaR4eGS3-rm5i0$=q2l{I+#PO$^7j-}|N1S|kQh7B zm*;4BAo4_b8e9UE-)o@4zYi+Dk3i+?K{ykB0nUKW!|8C+Bp+@KRDRY%g}Vm62Hpf! ze|MYx2B?1hDBKr*9cny01J&=wPWI*A6DqwBs{YP{%3sagFE{(^pvKGH@MQQnRQ->g zLR-Saq0&DCs$Lhv)8TTcc78Wh|GpXS2_JznV`onmr_Fn?`g}qSo#bxj?cn4ItM~&Zss-I_| z{QnuMyt~pFl-@y5{iMz0=}_Zo5mY{w8_zfPLD!xpUk;W3cbNP>sPK0}mG5q-{C*xP z+>=n_=@%yd4?Gn4Z&3L@h|Z(@o&e?V6sU0Xpwc-Ts-K<@>3YE$xIerFj)NPZ8%I$7 zpECXesyu&yO6NtWbatEN`C8+6DEBjr%Z(Qs2aInrzT0@a@qVa&@d#A+#eb^FOHD4Cd?{4D-vm|ed!fqt z5LCFw;7RcNQ03a;48I@QA4*Dh$rqS>t;x5T zyvgJro4hNFwF?hjc#|(M`C5~2f$B$_pxXDRCjS;{Tn2M}KiC(l97jR*qv=ro=NOm6 z-H|Ue_M82s#;c9*Gk)0kDdWEzzhV3dR64(b>d()a{fp4`yLoT zRQO(~ep!Xe|J6|Cy%}m={Wx^(XZ$`?yZ#DlJpb9a{h2=gaZvFeY4Rkfd2_bO3*kY? ztBf&JI`4u?_rp;0<3mvKd=V<0C*W)0PoeVj52$?XF`u~<9t;nFtD)K@hKlDZxIMfM zDxMpm=8=z>d_PpZJOb5!pMVPgG#mq;hf427D1W;z@bz>EJOp_>l>c@p_il5q!Vvi_ zQ0c9Qs_*-t>iZ#hB>W~k9R3ArJwITfFXu_{1mt$;)>)`}`w&!negUe!{sSr>KY^;p zzeCl_-iv&BLdcR3Oo2PVGF13FRC`|zH4j}670*5JMEErr!snpU+5aq`j}xHEdk$22 zi^g?O@m>X${(GU~y8|knM~vTs^7jl>yuXK6P8n->i``-&Ho}=Mza3VYuo(@&-7eTd4 z4o-!GQ1RSjd>E?So8a;AX}A;IeWj0YKjTqQ^)lHw$L!BGUS#YyzQK5v@kZl%;{%W- zEBGQj18%d*a}JdK6~>LmG3R>wxyCDu8;xUDn>*BayaKBKTn#lJ+yGUs&qCG5qfqtx zJ*awm5vu;Tr7=~`ec}G_D5!Qn4QifT40ncWpz6B@<^Rp*ejQZ*z8@;y&p@^B=b++y z-1tjl@H*e04uEo>0u^sNRDNCu6}|#hjyFM#*Y#%qWvG1p0Gp~@RU zl|P0oWx=IT{vUx%ZNV-KD%DpfJOEw{6>c5e2VQIP2jPLp4?xBDI8?sB508bvhgug7 zxX_0?6f)HXQ=sbmGN}Hy9;$o~LY3#M@Fe(a$PyGBc#)sKE{2-N-w2i7?NIf47nHyI zpxWb4@HqGnsP;PcVxRt0sP*P7sPIdn^1lkIoK@qs@KEFrLzVk6sCN8;@n=x^{1sF> zV-$bQ0cu9D!t30>iKFo8GaW|g*$ioeselhyDl|3hN_=8!$aVEOuio~ zUym5S1z(H&3_J*q>Gth#C_D;z20R>I2o>&f=s)#sR;Ur%>~ z8c#<-*Z-erGGu#f|1INNoz+>RUQ2Bla zsy+V#H4e5fc=x@b+VfB%e6v54Jm2KiCcn+( z_d}KAD^THoX!4F_FCPHqKHubXO}^6P8%=)HH~D&~`Q;I~ z2YeE$eE$WYn=X>Fv@IDyAFF>XDGpO>vVD3BC{XTSmsCt+Sm7lYr{J#z!4eRg-cr$eU3?7O6 zB%A>M0o&mCLGSMZxC`>-@HOxqP~+k@sPLQMzVKPNH~c%C4)j(FsS@5hpLA)Q2BTRRC~Mwsvd5J3V#>e3qAqm@8{Ytx8`6;M*d;4`hoi-@B15Sr;fQtVCsC2&q zm9HN{<>!|szhLr?Z}98Ffl&SAP`DEuZ=3%&cBN55nEUV?ci=1<69#e{sn7aoAo z??UA4@Bbm}h~0yKOP~^`+{bCOtk<#DW_<9|F&d2Dtol)QFe=9H_HoH!! zKF3fD-i^`k4cINi?1Z@nv&vfszk&ab`3L5mm=kcj0;Au-aG`xKg4bbp7Mu+)!yL}{ zY4B+HHFzLKznX{BvuNyWi~E}~U+4Rqm~Uaejrk5nWAp2j?b zc^2~v%r7y&!syqISw+11b$SG+Azz2N4AYCLV?P_73ESZTn1}gZj=7faPr)N$Kh*DR zzV$l{?vMEd-zzb<@O=qp5OW7+d(3W_Jut7q?2Q?R*$?x1{NIbY5pyl(SnQ6+oQOFI zGXXORGX*mZa}|ExgJDW=zqcA+i`&_JzhLsGkaxxW8zztW5%wG4+b|dKeLuViqu-^* z55b#}-vvJnzlb>)quA%bIbH7O+gulh)QrE^u4S#Df`(QO5ejM{L%x##Un!8!0Qvy)Ei@7U!rr|^BI*(17ncOjgE`3mMC%&C~G%+ELYJ_@7XzSv#wKZASV zM=&>HcM4o@_8)-9Va8y8gV_m(V7`P|iTyU1Q!)B|+UO*)fhw(}n;s1T`c+3RMM9dV7_A1jb(=jtJGcmI;Cu9B_ zQzx8$U2v>@dmF|j@_lA^6MPfq?U+B{;ZDpZ%wI6eFkisvw+8onFHDChul^96o`01amuPhQ;|&csKG6a6M*_?~h^hn~V9R`EwTh(}6iT zV;7o3&g?#kybs@t%|5}Sd`!fCZ}_if*@1iz=6_872;Z;AoP^wm`8}o$`5l-t=3U4; z!=JzpVSa|uuYld%n2HzEe+RIOG5Y=4Blsv>f!$vvn_HF7BQQsqEGPY*#N313v2dI$ z?Dt0aFXnd)-`io9n%ntCp=5q;GrQM|v%_M3sH;%U70SI~tuLyDYy0x$uuvYX6!WFGzv3~@c*SF!8O-kP&X@Als8*epo=TPBU(Qw5h6AOjJKs;l_$ndi zsu3=|VWlVRsh3J|cQwzX;XS*Ylq`HtEECb6xZ_oWIjKD9l2g%G4kEEA}Yj0 zo_>b&@+FSWvLLI4ZtA^8aj9~ZshaPp=HtGQR?P=p^_Au`(IoadJEQ8k!LX^SpQr5l}% z7s-|R?yn5yW9oXKUZa`uq2?*n@K-74!)5gv4ie}Et6UE-LEVXt>0=4zR!Vdc3hH_q z1?#HRsE9D8JH^hPHN&;bT)$)x!Y>`_&EbS*abkfGW!soDGFW^qchIJH@v)+|nM z7H2ezGn+*!ijJMXB;Q?Ex2C`PRnaY*ER+}7@;EUpsD|A#`cK9%Ve6yV`dm!f>P$@D z>KLYMbqrItI)-Um9mDjkj$y`D$1t-chJnI5I%heqRU>-x>g+c=x=NL8p{8Iu{n|>k z7&A%d!>F2%P_Qxz+yoHJi>gIt|HcHD*mO0fJU2Sx?udcko2(PTye_7udHL>&U-laI zdDfGNxo4SQ6y(QS*z{$K1@=8ry~MKC&7zqI=BI#N=;l>i++vt8RNhlzc`0ILo#*E5 zaD~m-D>P%zb4ypHIuy)fxpV)pE~)^vN~MI%`Wp8|S|874w(E)WwI<8eBUyH9&TR6Q z7A6y4HOdvJn=^C0`EY)zFc8iw&&x>dOy3!CxwZtXXJ?ipEoW|rz{a3ydl1Zza#UzJ zY%j2k7S`p*FB{00$GbV+yZLp;dGlL}kP6JMhR%sz;wzZ#hYkuX;{!~CIuGwjjN% z?Ce3h*02()i`wQQPpyp>lEqKql4{!GfW8dF5_HSxnQk){%y)t>T{warC9afmVbiA1 z*;pgUQ5C>eWFVMdEx0X3Fu$?YT3LweQOWOIGS;pMMsB?Y4D+5~LB7l;v&6{q`$8`> z!utyY+L8H29jL^y+ZkyK*vCeMws}42X@h2iI9R|s$oN(@3{>-jg$kPpzmZ%}jk?m7 zT~ICL7*=tmRCin3h3pO3(b1(lqqx`=Ra2kNCE|Q(eZ==ESCO`x4V;(6SzAncW6h#* zy^(EW-tCs+KJ8L%6Wm{6d%KX$?K<{P6nZ9so?i5qjdz-_?8oCxtv`h6Gy8x?WL+o zts~o3hx8pyfDIQ}$fLG=eqOb2x9wY`<`|@=yYjWQIw1^b;L)vPx7}S-rgCfH>X7P* zU9pofsr{)tZY+uFjzi14gk<(NwASLD_^f+gBME32AQ+&?(w zYJGfi4r0%`eCYxgN5{$qzCFD5gN{>Y@VT=~Imcltr)f|d+#aoc1au`!V(G3|b>1os zxsw)KV}IU=(_~m#$wjQb*j+84Xko%~+iPqF3*B^sC6%>wu~mMX?FDPsE(U8<>kBLN zhU6#~2klWY*@3hCupO^rHIU3Q`t)%Pw^3N%5gTqMTk@&9MbQ{ErJ+V(b6iQ|ai%I| zoth5_X>?82VP85FHybom&qyLK_!TS7bRs92Zk8!!V$qar!%E@P1`5=X?&9x32S}hF4bYX!yUHWXJSp)jY`4NdVd$q zOb@gDN}RD8v?=)_ieLaW6v zACp>qw91oP+^4k2Q(NR|E%Njhc}9yo)8umo?1Q~#Qrc3Zv`$rEK3GoNM3s~!m6Ot@ z7Q=ibrAvIY%1LPx_oTFmoRl_^lhP(~QrbjLN}I?@Y3r1hi5uhh?_sIJ&axW#QRn_; zoFt2fx5lC)&nkp^f=vo`zP~YhTaOHuvq`bR=RUoCu)JPk0dxPFCJh0V7)vhk^=Xgc zbTe+N(Z@376=+xa)G`C)`YlTqTka_T+pYz><&jA3{dCT?L2X%9>DFlozT z7#6`6hEF?fl7Y!vmVVlelkiivEPUFrlkiiwEPUG4lkn5FEPUGelkn5GEPOf~lJGOO zEPOgZlJGNMcKGC=nsn^u8Qx9eSu0&fG^rZgc#y4EH>6^!a#+EI@4Nzohq1$Fa^uUm z$w-WWtkmMz>`G_N_@(P*Bsx+?qFZDn8aX4;WEqJD$VfATj)>#4yW$D_w%GlfZcx4C zHG-LMclFWDE}cVn>nYEB^T!4Mot_oE=xaG9y=1$P`An-#w;fq~yOZj0S2$j`WzA() zsX`^OM$4F&7KO8`Ztj8(XHjjoK;z*RvT{YRBf`1PcSByC%BEd4?<>5{(WJCw{)E{f zeM-AFJncFfI8n8qIheCEavjFGIqj>{+R?jfeH?AdQK96+aoq6Q5Eca8E>eApT`G@$ zrQi-9$)%ssZZ11?`RMNf-L+;%nd9zUsiM<9OnRNPqqh8kbM9=lNK+*+YFjtzBHi>! zRcVTvhRP<%q(8YNT1OYP0yjdW(K;o0qVdSuYQyG7TnFbOwzsKf&*a58JBP(m$wyrF zbvO-2QaBTv4svFvzOYVl`UHcHLDCv**+F*r()14O+u8}>khZkxiL!O z?6jj|bI0y9wUyW528oD{iw&-dtXV}Go31=c8q{0pvz;C&oyF2=r?XH)f4w$ByWLso z?d5xw>ml^KM1i&$`>;t7xmm4Y@oy%ota@WapRopb znxQJgB1v7}$w|e6N`FW@#Tp!uyCipm!(4rb2xEG?sy&HkZGn6CCLxVA(WfO#3^b?7zgLDG$y70D}6fmTAa5<}992VNX#hz*7PDpVrXM4PpW-flIo8~pwxt(wL{ zVEw;wNtW2OM`d)V(uSlqnwZUhF1=KX6DxA!pK!RFyvV&oNF6iB-DItIit7_Du zr=mCGfqMvbwavK3Qd;?|bA6$hLY*^`-#*n16O>!eM)a{(?ZcFzt0?!7VKaHk`s?L> zqU&Y&>u12c9B=F$s0g1CyL+*#F*j*xQnrEOXE9l=ITXffj8 z+*E@WqAaNA<6w2hb@edU^XTY-{y{(C?>?QdsO&A#?D-GB8acOg5_Xa@JP?)BD-?G= zb1rC?YTRHhuU2&J*0w0u#&C$4aAs*);68cmio9;=+S=pZLauF2y*F;_tjr3>E??H! zHkXSGU97atV+hO&Cry|zy=}tOwuuwNiIZndnAA35%7h7cY+HeDTyZw}o7OgIDnVvV zp3yde-`FKlTx;vpWL1jD(yVYElON-D=@6@%v?8YrRL;mbyRuoG6z5MPT)DT-;A!j3 zNBy&S4#XoRUg?}t8)%CM&nU6Ss#H&Mg7eEeY@oGk%zWVh0~E*Acsun47O+%&J)D zMQE^ud4VSbP}Cm7*;Pt~qUMciVX%uAJ@Ll% zwO*zesnpNnQ7BiqVON1|+k9s2c;lVSG%gs^5N8nYWN$X&sw(HAu!jjr|B&H) z)$K2Azh5emhVv`^c39^Qv{rWO;9$rT^0-Ly{c#d9tn{N)FZAjz*(a^+ko!85qf5gF z$d`k567FTn({s^cU!M7o#|M@4wWx}c92|8@lx(VTKdTn&U17DNBJ=u_taTTat$;i0 zMwR?zw2GVUfHAjf*}d#h|m(iUc+G(6pBv8|iw2k)$ShMHJQn%FG0I5xXZYVtd|Nt)6m zO>L5#)`XWb+lQa)P6ff7d~cQU z97nt|&3v~NlUJsGB8aMJ&f=k36fCZH^=N1_>2F|W;Q6!XJXL&CnWA^UKZVJ@NMsv5zW=$4M+LX&Co%wWjvX_V>tw_r2)>vCp|B0xQa*i6& zd@b9)=Gil*-@a9o7|ex=No`gZ+-@t5{GU4cO>bh^*o<@*a=bBQTZ5(pC7in9pbx2+ zu=FR!qMpC%PZ1lNNo)9p>F$!&RhQXZ5An}o`D>~o!q9NjE8|^aKwe_MPEt2y>jUCMbHYM6iGj;LMN;`NJC*Qkq zy`F98!o+X9H?A-DW-4k$y+(qym>Ht9aYO7z*1U}yN^8=(bniyk0NBJ3vvUc&59+KD zlk4Vgm!;xpifqqc5C$<`}dSY9w>4mMT#5YP> z0H>y>nCyU=ob|%C>b{zfEZRc(cecJ~+36tIctd7Aa6%GsvKA~#9@mlv2L@gmsZJAL zjVW-L6EkLMjpo8(E=kvExX_MnSg12KP9VeGgGIKZO_>guep&#7^Tb1!F(J z>%e3ipN)zJ@WXR3Ld(XWa>s)aPSKg;)Xp$iQuM`L&1Oim{GGRGpSq62@$ zw2_-c?GxN7gN9=I&Uh+nv?m>d?XUjyFrA57WqHi(BAo9`Xm|1DPk1)tn$2)O4I6h8 zWdpC~pY3M*s=s_<+RC`K9;(t*S{ybLb*nFGvxd?^DHPl}JW~N?)5vb(XC#}Jh!d}h zZqyZ{v6D!GL{?f(OI4d+lX)tA+p9sOsJ&vPUDH`cp6?ddM$5jGywodDl3Cuwv|}vw z&wgjSKS^lJ%U*WxeKnFZGj@6%pm`%oc5n=Aa@klblle*;ymDdCAHnHiF7r)WmyI`Q zixo1z69E;*zR9eTJaWA>6r7VB$WerNU6i)N3>SCY=J-8KkKwKvm+QVMJ1$x++z4kG z>1TMb`ZX4XWVKB;YkJw*6qO69voBjY_Z)V(t3U7ifND{n)6~ZroCh;y-XgtgJuZ0jisASnnN|lq*M0A8iK(&Bb{K$ zO}(U(5Q})NIwVE59xM9|fey5KU2T8a)S-#2Q2{L?uU<5P=n!q6O@nm=J9k)43!3p@ z!+Ds^hygTClN8f2>mGb6I}Mx72G({Zoai2zHiww-5gWO7+s~!|(?$>A9(y(gm_B*{_qwwwz>LuY zxaXWr0cMUEAYJL5b|}*$(^V*A*W7O#U2k~z^coGXE^6I0S%i(?BX&)v5_y>sjM!1P zB!c0caN?vbDZ=pZTNHexF1-cWAE|?HLGY2f`xXQrsq=3^@R5eX76cz@U~EC~k%r03 z4Bi+ygG0#xXr1h(Ep4{b?$0z%{%x=u4KI0ssA}=SmpcvH%T{+VP99k3-bhEcROW7| zSsv!0)d%-SO(D2JYLdA_YLdA{YLdA}YLdB0YLdB2YLaLAyD~Ih9MCzNyY<%p+o&|Z z2s^!0_`5K-y+lGFZboNTlrQFyC zao`ztTbpr3V~U~-{h9OzX;<*JiYeWOrEX5E-e0MqYhGVgt)M4w5&cDkb4kuAA@8c? zGnIK)Ejc-VIe}eZfoI6F&m@O_KpM;_?5hvfbMBDkMBmNW;JIc?G%(IdN3KwcltfJ) zab4?b$~oI{w`tGWoC5b3>88v5=ak%5mpvw`$2j6S5o!!wnA3Qi^SCzPucT?yWEhYs zs>C1p5`~QU+MIn_VAE+xo9?FgD81(9jlf{P9>rKme=XWz2*c(yW$za zbI|TIUse8W*K}ZM4pNt3A(tn9r#_!ODqHHFM5Syp|HB*mqQ)s{@&+5tR5ByXp%+O7 z)}jtDYjy5S$Fq0XO$Q5}VHf#tHSsrs$$m0@kgd~rrZacC<9WkEIxro4(~=DvC(K&@ zDDU54``54bC|d$|6`IwgWcT-R?D)$l*R=b{IkhTDG|jY4`gj7O;zg^_tE&lKL!?=; z7E$Dzb!pZfZQff$ebnM7)<|+k33F(q>QtsJPXo-8{@y&%O~0%FN%~1QqfnznpJr+l zKTJE^TKF2%w<+_?#$MDU)z9mhkp`uCPTHP1$zKE}@$%Q*IaFJDwD0a(&HS6_&y?=D zr2bn8>Uv2`>ESM!Mr@o8rZUr2k%ODT9m!@lMs5;Mkg;psgDy+o_%v=r8n-u%82sBJ zd+CjCwlw7KKYSMbKwyYu)XpgUXIr4;3NCr`?PiZcc^&UyS?v;E$+Pb^{xfe;YTM(d z1G_FFKMkd9Z@#qguB5?CvB~M0|At8RvSX#5e{*BQ9fiMrb{4wj&Di)`E4!;&nR%;4 z8?Nt760g$!);MUHb(^Pa6%^Raxc)vfmrpLWQ>#AR7r3#VcybF%A~ZrstyQh?YPvtU zTvA$%;-XYTpQdpz)9}e&3AVHtOLXJ*p9XCR@gPg4?t2=K0B~;zskE42?BJ3LHh;L!o#%{(sK!H2nYo literal 0 HcmV?d00001 diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..5a3688c --- /dev/null +++ b/po/sv.po @@ -0,0 +1,2599 @@ +# Swedish translation of compiz. +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the compiz package. +# Daniel Nylander , 2006, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2007-06-25 20:38-0000\n" +"Last-Translator: Daniel Nylander \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "Skrivbord" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "Fönsterhantering" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "Compiz" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Minska fönstret opakhet" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Maximera aktivt fönster horisontellt" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "Använd metacity-tema" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "Anteckning" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "Insticksmodul för anteckningar" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "Töm" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "Rita" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "Rita med verktyg" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "Initiera" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "Initiera radering av anteckning" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "Initiera radering" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "Radbredd" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Skala fönster" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "Texturfilter" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Färgmättnad" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "Suddighetshastighet" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Placera fönster" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Färgmättnad" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Skala fönster" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Skala fönster" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "Puls" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "Pulseffekt" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Fönstertoningshastighet (0.1-10.0)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "Klona utmatning" + +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando10" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando1" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando10" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando11" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando2" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando3" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando4" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando5" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando6" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando7" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando8" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" +"En tangentgenväg som när anropas kommer att köra skalkommandot identifierat " +"som kommando9" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "Aktiva insticksmoduler" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" +"Tillåt att inte utritning av helskärmsfönster omdirigeras till bilder " +"utanför skärmen" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "Ljudklocka" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "Systemljudklocka" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "Automatisk höjning" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "Fördröjning för automatisk höjning" + +#: ../metadata/core.xml.in.h:19 +#, fuzzy +msgid "Automatic detection of output devices" +msgstr "Automatisk identifiering av uppdateringsfrekvens" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "Automatisk identifiering av uppdateringsfrekvens" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "Klicka för fokus" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "Klicka på fönstret flyttar inmatningsfokus till det" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "Stäng fönster" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "Stäng aktivt fönster" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "Kommandorad 0" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "Kommandorad 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "Kommandorad 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "Kommandorad 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "Kommandorad 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "Kommandorad 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "Kommandorad 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "Kommandorad 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "Kommandorad 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "Kommandorad 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "Kommandorad 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "Kommandorad 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command10 anropas" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command1 anropas" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command10 anropas" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command11 anropas" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command2 anropas" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command3 anropas" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command4 anropas" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command5 anropas" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command6 anropas" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command7 anropas" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command8 anropas" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "Kommandorad som ska köras i ett skal när run_command9 anropas" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "Minska opakhet" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "Minska fönstret opakhet" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "Standardikon" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "Standardikonbild för fönster" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "Detektera uppdateringsfrekvens" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "Förhindra fokus" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Förhindra fokus" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "Allmänna alternativ" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "Dölj fönster inte i verktygsrad" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "Dölj alla fönster och fokusera på skrivbord" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "Dölj fönster som inte är i verktygsraden vid visa skrivbordsläget" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "Virtuell horisontell storlek" + +#: ../metadata/core.xml.in.h:63 +#, fuzzy +msgid "Ignore Hints When Maximized" +msgstr "Växla fönstermaximering" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "Ignorera storleksinkrement och aspekthintning när fönster maximeras" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "Öka opakhet" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "Öka fönsteropakhet" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "Intervall innan markerade fönster höjs (0-10000)" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "Intervall mellan ping-meddelanden" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "Ljussättning" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "Lista över för närvarande aktiva insticksmoduler" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "Lista över strängar som beskriver utmatningsenheter" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "Sänk fönster" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "Sänk fönstret under andra fönster" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "Maximera fönster" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "Maximera fönster horisontellt" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "Maximera fönster vertikalt" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "Maximera aktivt fönster" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "Maximera aktivt fönster horisontellt" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "Maximera aktivt fönster vertikalt" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "Minimera fönster" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "Minimera aktivt fönster" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "Antal skrivbord" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "Antal virtuella skrivbord" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "Intervall för opakhet" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "Ändringsintervall för opakhet (1-50)" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Fäst fönster" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "Öppna en terminal" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "Öppna fönstermeny" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "Utmatningar" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "Fördröjning för ping" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "Höj vid klick" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "Höj fönster" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "Höj markerade fönster efter intervall" + +#: ../metadata/core.xml.in.h:97 +#, fuzzy +msgid "Raise window above other windows" +msgstr "Sänk fönstret under andra fönster" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "Höj fönster när de klickas på" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "Uppdateringsfrekvens" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "Kördialog" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "Kör kommando 0" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "Kör kommando 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "Kör kommando 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "Kör kommando 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "Kör kommando 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "Kör kommando 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "Kör kommando 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "Kör kommando 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "Kör kommando 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "Kör kommando 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "Kör kommando 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "Kör kommando 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "Skärmstorleksfaktor för virtuell storlek (4-32)" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "Skärmstorleksfaktor för virtuell storlek (4-32)" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "Kommandorad för skärmbild" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "Visa huvudmeny" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "Visa dialogen Kör program" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "Visa huvudmenyn" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "Långsamma animeringar" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "Synkronisera till VBlank" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "Ta en skärmbild" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "Ta en skärmbild av ett fönster" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "Kommandorad för terminal" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "Texturfilter" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "Texturfiltrering" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "Frekvensen för uppritning av skärmen (gånger/sekund) (1-200)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "Växla fönstermaximering" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "Växla fönstermaximering horisontellt" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "Växla fönstermaximering vertikalt" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "Växla fönsterskuggning" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "Växla maximering av aktivt fönster" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "Växla horisontell maximering av aktivt fönster" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "Växla vertikal maximering av aktivt fönster" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "Växla skuggning av aktivt fönster" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "Växla användning av långsamma animeringar" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "Avmaximera fönster" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "Avmaximera aktivt fönster" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "Omdirigera tillbaka helskärmsfönster" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "Använd diffus belysning när skärmen transformeras" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "Vertikal virtuell storlek" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "Fönstermeny" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "Kommandorad för fönsterskärmbild" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "Accelerering" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "Justera bild" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "Fortsätt till nästa bild" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "Animera Skydome" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "Animera skydome när kub roterar" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "Bakgrundsbilder" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "Bakgrundsbilder" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "Färg på över- och undersidorna av kuben" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "Kubfärg" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "Skrivbordskub" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "Vikningsaccelerering" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "Vikningshastighet" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "Tidsintervall för vikning" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "Generera mipmappar när det är möjligt för skalning av högre kvalitet" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "Gå tillbaka till föregående diabild" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "Bildfiler" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "Bild att använda som textur för skydome" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "I kuben" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "I kuben" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" +"Lista över PNG- och SVG-filer som ska ritas ut på översta ytan av kuben" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "Nästa diabild" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "Placera fönster på kuben" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "Föregående diabild" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "Rita ut skydome" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "Skala bild" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "Skala bilder för att täcka övre ytan på kuben" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "Skydome" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "Skydome-bild" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "Hastighet" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "Tidsintervall" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "Vik ut" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "Vik ut kub" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "Dbus" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "Kommando" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "Dekorationsfönster" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "Skuggkastning X-position" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "Skuggkastning Y-position" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "Färg för skuggkastning" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "Opakhet för skuggkastning" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "Radie för skuggkastning" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "Skuggfärg" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "Skuggposition X" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "Skuggposition Y" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "Skuggopakhet" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "Skuggradie" + +#: ../metadata/decoration.xml.in.h:16 +msgid "Shadow windows" +msgstr "Skuggfönster" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "Fönsterdekoration" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "Fönsterdekorationer" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "Fönster som ska dekoreras" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "Fönster som ska ha en skugga" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "Tona vid minimering/öppna/stäng" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "Toningshastighet" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "Toningseffekt vid systemsignal" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "Tona in fönster när de kopplas och tona ut fönster när de kopplas loss" + +#: ../metadata/fade.xml.in.h:6 +msgid "Fade windows" +msgstr "Tona fönster" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "Tonande fönster" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "Visuell helskärmssignal" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "Helskärmstoningseffekt vid systemsignal" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "Visuell signal" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Fönstertoningshastighet (0.1-10.0)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "Fönster som ska tonas" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "Monteringspunkt" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "Monteringspunkt" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "GConf" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "Ini" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "Minimeringseffekt" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "Minimera fönster" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "Minimeringshastighet" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "Tidsintervall för minimering" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "Skuggmotstånd" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "Skuggmotstånd" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "Transformera fönster när de minimeras och avminimeras" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "Begränsa Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "Begränsa Y-koordinat till arbetsyta" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "Initiera fönsterflyttning" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "Flytta fönster" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "Flytta fönster" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "Opakhet" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "Opaknivå för flyttande fönster" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "Koppla loss och automatiskt avmaximera maximerade fönster när de dras" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "Koppla loss maximerade fönster" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "Börja flytta fönster" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "Algoritm att använda för fönsterplacering" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "Horisontella skivbordsvypositioner" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "Placera fönster" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "Placera fönster på lämpliga positioner när de kopplas" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "Placeringsläge" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "Positionerade fönster" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "Problemlösning för fönsterplacering" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "Problemlösningar" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "X-positioner" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "X-positionsvärden" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "Y-positioner" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "Y-positionsvärden" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "Skrivbordsplan" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "Placera fönster på ett plan" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "Plana nedåt" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "Plana åt vänster" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "Plana åt höger" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "Plana till yta 1" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "Plana till yta 10" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "Plana till yta 11" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "Plana till yta 12" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "Plana till yta 2" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "Plana till yta 3" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "Plana till yta 4" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "Plana till yta 5" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "Plana till yta 6" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "Plana till yta 7" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "Plana till yta 8" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "Plana till yta 9" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "Plana uppåt" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "Plana nedåt" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "Plana åt vänster" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "Plana åt höger" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "Plana till yta 1" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "Plana till yta 10" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "Plana till yta 11" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "Plana till yta 12" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "Plana till yta 2" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "Plana till yta 3" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "Plana till yta 4" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "Plana till yta 5" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "Plana till yta 6" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "Plana till yta 7" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "Plana till yta 8" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "Plana till yta 9" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "Plana uppåt" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "Png" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "Png-bildläsare" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "Reguljär uttrycksmatchning" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "Växla fönsterfästning" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "Initiera fönsterskalning" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "Skala fönster" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "Skala fönster" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "Börja skala fönster" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "Kantvänd DnD" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "Kantvänd flyttning" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "Kantvänd pekare" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "Vändtid" + +#: ../metadata/rotate.xml.in.h:6 +#, fuzzy +msgid "Flip to left viewport and warp pointer" +msgstr "Vänd till nästa skrivbordsvy när muspekaren flyttas till skärmens kant" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "Vänd till nästa skrivbordsvy när objekt dras till skärmens kant" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "Vänd till nästa skrivbordsvy när muspekaren flyttas till skärmens kant" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "Vänd till nästa skrivbordsvy när fönster flyttas till skärmens kant" + +#: ../metadata/rotate.xml.in.h:10 +#, fuzzy +msgid "Flip to right viewport and warp pointer" +msgstr "Vänd till nästa skrivbordsvy när muspekaren flyttas till skärmens kant" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "Invertera Y-axeln för pekarens rörelser" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "Invertera pekarens Y-axel" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "Muspekarkänslighet" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "Rotera kub" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Rotera åt vänster" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Rotera åt höger" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "Rotera åt vänster" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "Rotera åt vänster med fönster" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "Rotera åt höger" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "Rotera åt höger med fönster" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "Rotera till" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "Rotera till yta 1" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "Rotera till yta 1 med fönster" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "Rotera till yta 10" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "Rotera till yta 10 med fönster" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "Rotera till yta 11" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "Rotera till yta 11 med fönster" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "Rotera till yta 12" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "Rotera till yta 12 med fönster" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "Rotera till yta 2" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "Rotera till yta 2 med fönster" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "Rotera till yta 3" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "Rotera till yta 3 med fönster" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "Rotera till yta 4" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "Rotera till yta 4 med fönster" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "Rotera till yta 5" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "Rotera till yta 5 med fönster" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "Rotera till yta 6" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "Rotera till yta 6 med fönster" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "Rotera till yta 7" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "Rotera till yta 7 med fönster" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "Rotera till yta 8" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "Rotera till yta 8 med fönster" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "Rotera till yta 9" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "Rotera till yta 9 med fönster" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "Rotera skrivbordskub" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "Rotera åt vänster" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "Rotera åt vänster och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "Rotera åt höger" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "Rotera åt höger och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "Rotera till yta 1" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "Rotera till yta 1 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "Rotera till yta 10" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "Rotera till yta 10 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "Rotera till yta 11" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "Rotera till yta 11 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "Rotera till yta 12" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "Rotera till yta 12 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "Rotera till yta 2" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "Rotera till yta 2 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "Rotera till yta 3" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "Rotera till yta 3 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "Rotera till yta 4" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "Rotera till yta 4 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "Rotera till yta 5" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "Rotera till yta 5 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "Rotera till yta 6" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "Rotera till yta 6 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "Rotera till yta 7" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "Rotera till yta 7 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "Rotera till yta 8" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "Rotera till yta 8 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "Rotera till yta 9" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "Rotera till yta 9 och ta med aktivt fönster" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "Rotera till skrivbordsvy" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "Rotera fönster" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "Rotera med fönster" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "Roteringsacceleration" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "Roteringshastighet" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "Tidsintervall för rotering" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +#, fuzzy +msgid "Sensitivity of pointer movement" +msgstr "Känslighet för flyttning av muspekare (0.01-100.00)" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "Fäst kubroteringen mot översta ytan" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "Fäst mot översta ytan" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "Starta rotering" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "Tidsgräns innan vändning av skrivbordsvy" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "Mängden opakhet i procent" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "Mörka bakgrunden" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "Mörka bakgrunden vid fönsterskalning" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "Pekartid" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "Initiera fönsterväljare" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "Initiera fönsterväljare" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "Initiera fönsterväljare" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Initiera fönsterväljare" + +#: ../metadata/scale.xml.in.h:9 +#, fuzzy +msgid "Layout and start transforming all windows" +msgstr "Lägg ut och påbörja fönstertransformering" + +#: ../metadata/scale.xml.in.h:10 +#, fuzzy +msgid "Layout and start transforming window group" +msgstr "Lägg ut och påbörja fönstertransformering" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "Lägg ut och påbörja fönstertransformering" + +#: ../metadata/scale.xml.in.h:12 +#, fuzzy +msgid "Layout and start transforming windows on current output" +msgstr "Lägg ut och påbörja fönstertransformering" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "Lägg ikoner över" + +#: ../metadata/scale.xml.in.h:15 +#, fuzzy +msgid "Overlay an icon on windows once they are scaled" +msgstr "Lägg en ikon över fönster när de är skalade (Ingen, Emblem, Stor)" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "Skala" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "Skala fönster" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "Skalningshastighet" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "Tidsintervall för skalning" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "Skala fönster" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "Mellanrum mellan fönster" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "Mellanrum" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "Fönster som ska skalas i skalningsläget" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "Katalog" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Ta en skärmbild" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "Kör program" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "Lägg skärmbilder i den här katalogen" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "Skärmbild" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "Insticksmodul för skärmbild" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "Svg" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "Svg-bildläsare" + +#: ../metadata/switcher.xml.in.h:1 +#, fuzzy +msgid "Amount of brightness in percent" +msgstr "Ljusstyrka i procent (0-100)" + +#: ../metadata/switcher.xml.in.h:3 +#, fuzzy +msgid "Amount of saturation in percent" +msgstr "Färgmättnad i procent (0-100)" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "Programväxlare" + +#: ../metadata/switcher.xml.in.h:5 +msgid "Auto Rotate" +msgstr "Automatisk rotering" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "Ljusstyrka" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "Lägg överst" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "Lägg markerat fönster överst" + +#: ../metadata/switcher.xml.in.h:9 +#, fuzzy +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" +"Avstånd som skrivbordet ska zoomas ut till vid växling av fönster (0.0-5.0)" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "Ikon" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "Minimerat" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "Nästa fönster" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +#, fuzzy +msgid "Popup switcher if not visible and select previous window" +msgstr "Snabbtangent för att välja föregående fönster" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "Föreg fönster" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "Färgmättnad" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "Välj nästa fönster" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "Välj föregående fönster" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "Visa ikon bredvid miniatyrbild" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "Visa minimerade fönster" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Växlingshastighet (0.1-50.0)" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "Tidsintervall för växlare (0.1-50.0)" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Skala fönster" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "Zoom" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "Videouppspelning" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "Video uppspelning" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "Lägg till rad" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "Lägg till punkt" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "Lägger till vatteneffekter till olika skrivbordsåtgärder" + +#: ../metadata/water.xml.in.h:4 +#, fuzzy +msgid "Delay (in ms) between each rain-drop" +msgstr "Fördröjning (i ms) mellan varje regndroppe (0-3600000)" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "Aktivera vatteneffekt för muspekare" + +# Rad eller linje? +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "Rad" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "Positionsskala" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "Punkt" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "Regnfördröjning" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "Titelvåg" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "Växla regn" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "Växla regneffekt" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "Växla vindrutetorkare" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "Växla torkareffekt" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "Vatteneffekt" + +#: ../metadata/water.xml.in.h:17 +#, fuzzy +msgid "Water offset scale" +msgstr "Vattenpositionsskala (0.0-10.0)" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "Vågeffekt från fönstrets titellist" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "Fokuseffekt" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "Fokuseffekt för fönster" + +#: ../metadata/wobbly.xml.in.h:3 +msgid "Focus Windows" +msgstr "Fokusera fönster" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "Friktion" + +#: ../metadata/wobbly.xml.in.h:5 +msgid "Grab Windows" +msgstr "Fånga fönster" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "Rutnätsupplösning" + +#: ../metadata/wobbly.xml.in.h:7 +#, fuzzy +msgid "Inverted window snapping" +msgstr "Växla fönsterfästning" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "Skaka fönster" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "Kopplingseffekt" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "Kopplingseffekt för fönster" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "Koppla fönster" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "Maximeringseffekt" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "Maximal rutnätsstorlek" + +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "Minimal vertexrutnätsstorlek (4-128)" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "Flytta fönster" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "Skaka" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "Fäst fönster" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "Fjäderfriktion" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "Fjäder K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "Fjäderkonstant" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "Växla fönsterfästning" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "Använd fjädereffekt för fönstergeléeffekt" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Upplösning för vertexrutnät (1-64)" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "Fönster som ska dallra när de fokuseras" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "Fönster som ska dallra när de fångas" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "Fönster som ska dallra när de binds" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "Fönster som ska dallra när de flyttas" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "Geléeffekt vid maximering och avmaximering av fönster" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "Geléaktiga fönster" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "Filtrera linjärt" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "Använd linjärt filter när inzoomad" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "Zooma skrivbord" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "Zooma in" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "Zooma ut" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "Zoomhastighet" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "Tidsintervall för zoom" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "Zooma och panorera skrivbordskub" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "Zoomfaktor" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "Kördialog" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Normal" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Fönstermeny" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Friktion" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Visuell helskärmssignal" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "" + +#~ msgid "4xBilinear" +#~ msgstr "4xBilinjär" + +#~ msgid "Best" +#~ msgstr "Bästa" + +#~ msgid "Fast" +#~ msgstr "Snabb" + +#~ msgid "Good" +#~ msgstr "Bra" + +#~ msgid "Fade Time" +#~ msgstr "Toningstid" + +#~ msgid "GLib" +#~ msgstr "GLib" + +#~ msgid "Cascade" +#~ msgstr "Kaskad" + +#~ msgid "Centered" +#~ msgstr "Centrerad" + +#~ msgid "Maximize" +#~ msgstr "Maximera" + +#~ msgid "Random" +#~ msgstr "Slumpmässigt" + +#~ msgid "Smart" +#~ msgstr "Smart" + +#~ msgid "Border Color" +#~ msgstr "Ramfärg" + +#~ msgid "Fill Color" +#~ msgstr "Fyllnadsfärg" + +#, fuzzy +#~ msgid "Initiate Normal Window Resize" +#~ msgstr "Initiera fönsterskalning" + +#, fuzzy +#~ msgid "Initiate Outline Window Resize" +#~ msgstr "Initiera fönsterskalning" + +#, fuzzy +#~ msgid "Initiate Rectangle Window Resize" +#~ msgstr "Initiera fönsterskalning" + +#~ msgid "Normal Resize Windows" +#~ msgstr "Ändra fönstrets storlek normalt" + +#~ msgid "Outline" +#~ msgstr "Kontur" + +#~ msgid "Rectangle" +#~ msgstr "Rektangel" + +#~ msgid "Rectangle Resize Windows" +#~ msgstr "Ändra fönstrets storlek rektangulärt" + +#~ msgid "Start resizing window by stretching it" +#~ msgstr "Börja storleksändra fönstret genom att sträcka det" + +#~ msgid "Start resizing window normally" +#~ msgstr "Börja storleksändra fönstret normalt" + +#~ msgid "Start resizing window with outline" +#~ msgstr "Börja storleksändra fönstret med kontur" + +#~ msgid "Start resizing window with rectangle" +#~ msgstr "Börja storleksändra fönstret rektangulärt" + +#~ msgid "Stretch" +#~ msgstr "Sträck" + +#~ msgid "Windows that normal resize should be used for" +#~ msgstr "Fönster som normal storleksändring ska användas för" + +#~ msgid "Windows that outline resize should be used for" +#~ msgstr "Fönster som storleksändring med kontur ska användas för" + +#~ msgid "Windows that rectangle resize should be used for" +#~ msgstr "Fönster som rektangulär storleksändring ska användas för" + +#~ msgid "Windows that stretch resize should be used for" +#~ msgstr "Fönster som storleksändring med sträckning ska användas för" + +#~ msgid "Rotation Zoom" +#~ msgstr "Roteringszoom" + +#~ msgid "Big" +#~ msgstr "Stor" + +#~ msgid "Click Desktop to Show Desktop" +#~ msgstr "Klicka på Skrivbord för att visa skrivbordet" + +#~ msgid "Emblem" +#~ msgstr "Emblem" + +#~ msgid "Multi Output Mode" +#~ msgstr "Läge för multipla utmatningar" + +#~ msgid "None" +#~ msgstr "Ingen" + +#~ msgid "On all output devices" +#~ msgstr "På alla utmatningsenheter" + +#~ msgid "On current output device" +#~ msgstr "På aktuell utmatningsenhet" + +#, fuzzy +#~ msgid "Zoom Pan" +#~ msgstr "Zooma in" + +#, fuzzy +#~ msgid "Zoom pan" +#~ msgstr "Zooma in" diff --git a/po/ta.gmo b/po/ta.gmo new file mode 100644 index 0000000000000000000000000000000000000000..3c128a30f986b2e564824fb3639a6b55d86c0654 GIT binary patch literal 404 zcmYL^-%7(U6o)5z)l09vID!|7o|$Zu)$9+&xxv8Um{ribxE^bzO-hnV`yjra&tj_J ze(;eK@}0xU_u;`;$7j!T%|doDa}LeGnTy!L17{AX?S2W=fL6MQ0LGpz(X%ZC_F zqk;-;n&>RpP^pc>l})n*Z>rQ{tOW$?`xs}2r1MR9D;){wF*ZbYg`5NL3)Vw6V9blS zq0g)xzVrIXLgWMBObmwS%y$NN(mITdR5q7R8v%7)!?5bs8oG3V+03QXNA6qMNkpKVy literal 0 HcmV?d00001 diff --git a/po/ta.po b/po/ta.po new file mode 100644 index 0000000..a8918a8 --- /dev/null +++ b/po/ta.po @@ -0,0 +1,2445 @@ +# Tamil message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2003 SuSE Linux AG. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2003-08-14 10:47+0200\n" +"Last-Translator: xxx \n" +"Language-Team: Tamil \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "­ó¾¢Â¡" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "­ó¾¢Â¡" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +# IN +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "­ó¾¢Â¡" + +# IN +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "­ó¾¢Â¡" + +# IN +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "­ó¾¢Â¡" + +# IN +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "­ó¾¢Â¡" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +msgid "Blur Saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +msgid "Blur saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "¯Õº¢Â" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "¯Õº¢Â" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "¯Õº¢Â" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "¯Õº¢Â" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +# IN +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "­ó¾¢Â¡" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +msgid "Shadow windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +msgid "Fade windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +# IN +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "­ó¾¢Â¡" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +# IN +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "­ó¾¢Â¡" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +# IN +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "­ó¾¢Â¡" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +# ES +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "ͦÀ¢ý" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +# IN +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "­ó¾¢Â¡" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +# IN +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "­ó¾¢Â¡" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +# ES +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "ͦÀ¢ý" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +msgid "Focus Windows" +msgstr "" + +# ES +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "ͦÀ¢ý" + +#: ../metadata/wobbly.xml.in.h:5 +msgid "Grab Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "" + +# ES +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "ͦÀ¢ý" + +# ES +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "ͦÀ¢ý" + +# ES +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "ͦÀ¢ý" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "¯Õº¢Â" + +# ES +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "ͦÀ¢ý" + +# ES +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "ͦÀ¢ý" diff --git a/po/tr.gmo b/po/tr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..dc60a59485c768bde838f2cb25a9b9c4dee489a4 GIT binary patch literal 488 zcmYL_%}yIJ5Xaq?s?r`gbMUcMHL1;q8aV_-;Y&zFM6e+BR(CUO-0Y4c+e^t4@C3XH zCvJHNPV`xr1&NIO)67W!|9I^G>udLd;}f&NY%`ykQ>KmI%o<~vFU&PF{U8K!Zgo#w zXPloo^AR7JcGi20kQ#AGGxGmPjD!D+MS_zFTw#dLlaasdMJ~S%YOH-&48CROIQJpJ zD3)#l!={Xodn2>)Sq}RFZDJD~*n~!ID)kf84rnd)mQkCawv}Qboa2pahp%)Rv;y6g zS{c3dU9mGewJ|{+EXB$uAB;R+K7<+8a(Rczk=!kP+YU;su)tZT@O3AJJ@!%A*b*T} zTN|00FmrJ#cb)FiAT|*@6Wq&2C!@pF8+Auz`<@aKU%8m`?g?+xk9lPs^<*)%A!6!Z z=10(7>DtwScm|efcPcu5wi4 H0!h385U+, 1999, 2000. +# Mehmet Mıdık , 2000. +# Metin Oral , 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2001-10-18 10:13+0200\n" +"Last-Translator: Görkem Çetin \n" +"Language-Team: turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +# clients/inst_sw_single.ycp:146 +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Masaüstü:" + +# clients/inst_sw_single.ycp:188 +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Pencere yöneticisi" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Seçili" + +# include/partitioning/auto_part_ui.ycp:147 +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "Windows'u &tamamen sil" + +# include/partitioning/auto_part_ui.ycp:147 +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "Windows'u &tamamen sil" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Başlangıç" + +# include/security/ui.ycp:774 +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Normal saat" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Aktif profil" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Başlangıç" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Başlangıç" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Başlangıç" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Başlangıç" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +# clients/inst_target_part.ycp:404 +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Windows'u &sil" + +# clients/inst_target_part.ycp:404 +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Windows'u &sil" + +# include/tv/ui.ycp:493 +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "&Filtre koy" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Süre" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Süre" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Seçili" + +# clients/inst_target_part.ycp:404 +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Windows'u &sil" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Süre" + +# clients/inst_target_part.ycp:404 +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Windows'u &sil" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +# clients/inst_target_part.ycp:404 +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Windows'u &sil" + +# clients/inst_target_part.ycp:404 +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Windows'u &sil" + +# RU +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Rusya Federasyonu" + +# /usr/lib/YaST2/keyboard_raw.ycp:638 +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Rusça" + +# RU +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Rusya Federasyonu" + +# /usr/lib/YaST2/keyboard_raw.ycp:638 +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Rusça" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Lima" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +# clients/inst_resize_ui.ycp:597 +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows içermeyen alan (%1)" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Kısa çıktı" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Başlangıç" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Aktif profil" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +# include/partitioning/custom_part_dialogs.ycp:288 +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Dosya &sistemi" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Otomatik" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +# clients/inst_target_part.ycp:404 +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "Windows'u &sil" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Komut: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +# include/partitioning/auto_part_ui.ycp:147 +#: ../metadata/core.xml.in.h:50 +#, fuzzy +msgid "Decrease window opacity" +msgstr "Windows'u &tamamen sil" + +# include/tv/ui.ycp:398 +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Geçerli bölüm" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Öntanımlı es&kime tarihi" + +#: ../metadata/core.xml.in.h:53 +#, fuzzy +msgid "Detect Outputs" +msgstr "Kısa çıktı" + +# clients/inst_sw_single.ycp:1620 +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Güncelleme için seçin" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +# include/nis_server/io.ycp:465 +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Daemon başlatılıyor." + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Sanal diskler" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Kayıt tutma" + +# include/scanner/scanner_functions.ycp:218 +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Sadece algılanan yazıcıları listele" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +# clients/inst_resize_ui.ycp:688 +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Windows" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +# clients/inst_target_part.ycp:387 +#: ../metadata/core.xml.in.h:75 +#, fuzzy +msgid "Maximize Window Horizontally" +msgstr "Windows'u &küçült" + +# clients/inst_target_part.ycp:387 +#: ../metadata/core.xml.in.h:76 +#, fuzzy +msgid "Maximize Window Vertically" +msgstr "Windows'u &küçült" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +# clients/inst_target_part.ycp:387 +#: ../metadata/core.xml.in.h:80 +#, fuzzy +msgid "Minimize Window" +msgstr "Windows'u &küçült" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +# clients/inst_sw_single.ycp:146 +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Masaüstü:" + +# clients/inst_sw_single.ycp:146 +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Masaüstü:" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +# clients/inst_target_part.ycp:404 +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Windows'u &sil" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +# clients/hwinfo.ycp:71 +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Bekleme" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Boyut değiştirme işlemi başarısız oldu" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Listeyi tazele" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Komut '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Komut '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Komut '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Komut '%1'" + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Komut: " + +# clients/support_registration.ycp:66 +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Komut: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Komut satırı girdisi incelenirken hata oluştu." + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Tüm bölümleri göster" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Komut satırı girdisi incelenirken hata oluştu." + +# include/tv/ui.ycp:493 +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "&Filtre koy" + +# include/tv/ui.ycp:493 +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "&Filtre koy" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Sanal diskler" + +# clients/inst_sw_single.ycp:188 +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Pencere yöneticisi" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +# include/x11/resolution_dialog.ycp:81 +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "3D hızlandırma:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +#, fuzzy +msgid "Animate Skydome" +msgstr "Sidney" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +# include/security/ui.ycp:774 +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Normal saat" + +# clients/inst_sw_single.ycp:146 +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Masaüstü:" + +# include/x11/resolution_dialog.ycp:81 +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "3D hızlandırma:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Seçili" + +# classnames.ycp:73 +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Süre" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "Onceki cekirdek" + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Başarısız dosyalar" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Lima" + +# clients/inst_sw_single.ycp:1623 +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "Sonraki güncelleme" + +# clients/inst_target_part.ycp:404 +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "Windows'u &sil" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "Onceki cekirdek" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +# clients/inst_environment.ycp:306 +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "yerel zaman" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "Sidney" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "Sidney" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Seçili" + +# classnames.ycp:73 +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Süre" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +# clients/support_registration.ycp:66 +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Komut: " + +# clients/inst_target_part.ycp:404 +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Windows'u &sil" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "&Düşük seviye" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "&Düşük seviye" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Radius" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "&Düşük seviye" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Radius" + +# clients/inst_target_part.ycp:387 +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Windows'u &küçült" + +#: ../metadata/decoration.xml.in.h:12 +#, fuzzy +msgid "Shadow Offset X" +msgstr "&Düşük seviye" + +#: ../metadata/decoration.xml.in.h:13 +#, fuzzy +msgid "Shadow Offset Y" +msgstr "&Düşük seviye" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "&Düşük seviye" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Radius" + +# clients/inst_target_part.ycp:387 +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Windows'u &küçült" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Tanımsız" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "ypbind seçenekleri" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Seçili" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +# include/partitioning/custom_part_dialogs.ycp:288 +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Dosya &sistemi" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +# clients/inst_target_part.ycp:404 +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Windows'u &sil" + +# clients/inst_target_part.ycp:387 +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Windows'u &küçült" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +# clients/inst_resize_ui.ycp:597 +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows içermeyen alan (%1)" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +# clients/inst_custom_part.ycp:2928 +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Geri dönüşüm noktası oluştur" + +# clients/inst_custom_part.ycp:2928 +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Geri dönüşüm noktası oluştur" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +# clients/inst_target_part.ycp:387 +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "Windows'u &küçült" + +# clients/inst_target_part.ycp:387 +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Windows'u &küçült" + +# clients/inst_target_part.ycp:387 +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "Windows'u &küçült" + +# clients/inst_target_part.ycp:387 +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "Windows'u &küçült" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +# include/ui/common_messages.ycp:23 +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "İçerecek" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "&Aşağı" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "&Aşağı" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "&Aşağı" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "&Düşük seviye" + +# include/nis_server/io.ycp:465 +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Daemon başlatılıyor." + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +# clients/inst_target_part.ycp:387 +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "Windows'u &küçült" + +# include/nis_server/io.ycp:465 +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Sanal diskler" + +# clients/inst_target_part.ycp:404 +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Windows'u &sil" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Boyut değiştirme işlemi başarısız oldu" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Sanal diskler" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Boyut değiştirme işlemi başarısız oldu" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "ypbind seçenekleri" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&İş grubu" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Boyut değiştirme işlemi başarısız oldu" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Sanal diskler" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Boyut değiştirme işlemi başarısız oldu" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Sanal diskler" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +# clients/inst_sw_single.ycp:146 +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Masaüstü:" + +# clients/inst_target_part.ycp:404 +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Windows'u &sil" + +# clients/inst_target_part.ycp:404 +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Windows'u &sil" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Uzak alt ağ" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Daemon başlatılıyor." + +# clients/inst_target_part.ycp:404 +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Windows'u &sil" + +# clients/inst_target_part.ycp:404 +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Windows'u &sil" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Uzak alt ağ" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Daemon başlatılıyor." + +# clients/inst_target_part.ycp:404 +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Windows'u &sil" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Başlangıç" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Boyut değiştirme işlemi başarısız oldu" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Boyut değiştirme işlemi başarısız oldu" + +# include/nis_server/io.ycp:465 +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +# clients/online_update.ycp:223 +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Gerçek zamanlı" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "%1 için göstergeç" + +# include/cups/ui.ycp:541 +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Yazıcı aygıtı" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Uzak alt ağ" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Uzak alt ağ" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Uzak alt ağ" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Uzak alt ağ" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Uzak alt ağ" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Uzak alt ağ" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "Daemon başlatılıyor." + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Uzak alt ağ" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "&Aşağı" + +# include/nis_server/io.ycp:465 +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Daemon başlatılıyor." + +# include/x11/resolution_dialog.ycp:81 +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "3D hızlandırma:" + +# classnames.ycp:73 +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Süre" + +# classnames.ycp:73 +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Süre" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +# include/ui/wizard_hw.ycp:51 +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Algılamayı başlat" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Arka plan" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "&Aşağı" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +# menuentries/menuentry_scanner.ycp:36 +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Tarayıcı" + +# clients/inst_target_part.ycp:404 +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Windows'u &sil" + +# clients/inst_environment.ycp:306 +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "yerel zaman" + +# clients/inst_environment.ycp:306 +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "yerel zaman" + +# clients/inst_target_part.ycp:404 +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Windows'u &sil" + +# clients/inst_target_part.ycp:404 +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Windows'u &sil" + +# /usr/lib/YaST2/keyboard_raw.ycp:200 +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "İspanya" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Dizin\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Başlangıç" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Dizinin içine girerek devam et" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Komut satırı girdisi incelenirken hata oluştu." + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Komut satırı girdisi incelenirken hata oluştu." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Uygulama sırası" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Otomatik" + +# classnames.ycp:50 classnames.ycp:59 +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Köprü" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Hareket" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "İkonlar" + +# clients/inst_target_part.ycp:387 +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "Windows'u &küçült" + +# clients/inst_target_part.ycp:404 +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Windows'u &sil" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +# clients/inst_resize_ui.ycp:688 +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Süre" + +# clients/inst_target_part.ycp:404 +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Windows'u &sil" + +# include/nis_server/io.ycp:465 +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Daemon başlatılıyor." + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +# clients/inst_target_part.ycp:387 +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "Windows'u &küçült" + +# clients/inst_environment.ycp:306 +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "yerel zaman" + +# clients/inst_environment.ycp:306 +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "yerel zaman" + +# clients/inst_target_part.ycp:404 +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Windows'u &sil" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +#, fuzzy +msgid "Zoom" +msgstr "Kullanıcı çıkışı yap" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "Bağlantı &ekle" + +# clients/inst_custom_part.ycp:2928 +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Geri dönüşüm noktası oluştur" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +# clients/hwinfo.ycp:71 +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Bekleme" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "&Durum aç/kapa" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "&Durum aç/kapa" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "&Durum aç/kapa" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "&Durum aç/kapa" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +# clients/inst_resize_ui.ycp:688 +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +# clients/inst_target_part.ycp:404 +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Windows'u &sil" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Hareket" + +# clients/inst_target_part.ycp:404 +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Windows'u &sil" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Çözünürlük" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +# clients/inst_target_part.ycp:404 +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Windows'u &sil" + +# clients/inst_resize_ui.ycp:688 +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +# clients/inst_resize_ui.ycp:688 +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +# clients/inst_resize_ui.ycp:688 +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +# clients/inst_resize_ui.ycp:688 +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +# clients/ui_widgets.ycp:182 clients/ui_widgets.ycp:210 +#: ../metadata/wobbly.xml.in.h:13 +#, fuzzy +msgid "Minimum Grid Size" +msgstr "En düşük g&rup belirticisi" + +# clients/ui_widgets.ycp:182 clients/ui_widgets.ycp:210 +#: ../metadata/wobbly.xml.in.h:14 +#, fuzzy +msgid "Minimum Vertex Grid Size" +msgstr "En düşük g&rup belirticisi" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "&Aşağı" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Sürücü" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +# clients/inst_target_part.ycp:387 +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Windows'u &küçült" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Hareket" + +# clients/hwinfo.ycp:104 +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Adımlama" + +# clients/hwinfo.ycp:104 +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Adımlama" + +# clients/inst_target_part.ycp:404 +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "Windows'u &sil" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Sunucu çözümlemesi" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +# clients/inst_resize_ui.ycp:688 +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Filtre:" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +# clients/inst_sw_single.ycp:146 +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Masaüstü:" + +#: ../metadata/zoom.xml.in.h:11 +#, fuzzy +msgid "Zoom In" +msgstr "Kullanıcı çıkışı yap" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Kullanıcı çıkışı yap" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Seçili" + +# classnames.ycp:73 +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Süre" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Kullanıcı çıkışı yap" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Menü" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +# /usr/lib/YaST2/keyboard_raw.ycp:230 +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "Katalog" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +# clients/inst_sw_single.ycp:188 +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Pencere yöneticisi" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Menü" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Hareket" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Bilinmeyen" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Filtre:" + +# /usr/lib/YaST2/keyboard_raw.ycp:638 +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Rusça" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Süre" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "&Düşük seviye" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Radius" + +# include/nis_server/io.ycp:465 +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Daemon başlatılıyor." + +# include/x11/resolution_dialog.ycp:81 +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "3D hızlandırma:" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Seçili" + +# classnames.ycp:73 +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Süre" + +# RU +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Rusya Federasyonu" + +# /usr/lib/YaST2/keyboard_raw.ycp:638 +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Rusça" + +# clients/inst_resize_ui.ycp:688 +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +# clients/inst_target_part.ycp:387 +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "Windows'u &küçült" + +# clients/inst_target_part.ycp:387 +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "Windows'u &küçült" + +# clients/ui_widgets.ycp:182 clients/ui_widgets.ycp:210 +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "En düşük g&rup belirticisi" + +# clients/inst_sw_single.ycp:146 +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Masaüstü:" + +# include/nis_server/io.ycp:465 +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "Daemon başlatılıyor." + +# include/nis_server/io.ycp:465 +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "Daemon başlatılıyor." + +# include/security/ui.ycp:774 +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Normal saat" + +# include/x11/resolution_dialog.ycp:81 +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "3D hızlandırma:" + +# classnames.ycp:73 +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Süre" + +# clients/inst_environment.ycp:306 +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "yerel zaman" + +# clients/inst_environment.ycp:306 +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "yerel zaman" + +# clients/inst_target_part.ycp:404 +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Windows'u &sil" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Hareket" + +# clients/hwinfo.ycp:104 +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Adımlama" + +# include/tv/ui.ycp:493 +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "&Filtre koy" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Sunucu çözümlemesi" + +# clients/inst_resize_ui.ycp:597 +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows içermeyen alan (%1)" + +# clients/inst_resize_ui.ycp:597 +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows içermeyen alan (%1)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Seçili" + +# classnames.ycp:73 +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Süre" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Kullanıcı çıkışı yap" + +# include/nis_server/io.ycp:465 +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "Daemon başlatılıyor." + +#~ msgid "None" +#~ msgstr "Hiçbiri" + +# clients/support_registration.ycp:66 +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Komut: " + +# clients/support_registration.ycp:66 +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Komut: " + +# clients/inst_resize_ui.ycp:688 +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Move Window Types" +#~ msgstr "Servis sağlayıcı türü" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "ZEN bölümünü etkinleştir" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Dönüştürücüler" + +#, fuzzy +#~ msgid "Show switcher" +#~ msgstr "&Değişiklikleri göster" + +# clients/hwinfo.ycp:72 +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Disket sürücü" + +# include/nis_server/io.ycp:465 +#, fuzzy +#~ msgid "Start moving window using keyboard" +#~ msgstr "Daemon başlatılıyor." + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Terminaller" diff --git a/po/uk.gmo b/po/uk.gmo new file mode 100644 index 0000000000000000000000000000000000000000..698b1c09d3815e15da84d47c07aaf7a7a0e3e564 GIT binary patch literal 587 zcmYL_&ubJh6vv}hD{~U@*h4(Dw8*Q;Zi{Pnr!K866kJ{EtRQ%ayXiP~Hkl@wx`h_J zcoT2-WdDaE78LFN4cULdzr{B#vJXCdU-G{1<;UN2KmYWv77 zK#;pie-XAZXi`ub4W+&k~}wdD09-&d)j=^q-)K4 z)%UPHfLF@8%xFPh%a;jVY!B7Y*u(Zxw4(}RJ#<`}4Pd=Y9VAB3sQV&;4XdQbCU`2n z612wHBVen*IpuZ1YQR<)LnG{{gRB}p^{oQqP)FZm!T1Bl(f3R`4~do9<^7uTEgDvk9# zXK~Ew!UC;Qc0b1VKcS4G8`o=b?SH8iuT<&crLDyoJvzE-K@VHP9*#Y=W<asU7T literal 0 HcmV?d00001 diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..9f4408e --- /dev/null +++ b/po/uk.po @@ -0,0 +1,2895 @@ +# Ukrainian message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2005 SUSE Linux Products GmbH. +# xxx, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: YaST (@memory@)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2005-01-31 19:01+0100\n" +"Last-Translator: xxx\n" +"Language-Team: Ukrainian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +#, fuzzy +msgid "Desktop" +msgstr "Стільниці" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "Віконний менеджер" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "Вибрано" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "Кольори" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Параметри архіву" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "О_чистити" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Init" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "Windows" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "Windows" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "&Вказати фільтр" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Тривалість" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Тривалість" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "Вибрано" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "Windows" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Тривалість" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Windows" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "Windows" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Windows" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "Російська Федерація" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "Російська" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "Російська Федерація" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "Російська" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Ліма" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Windows" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "Вивід був" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Вибір відеорежиму" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +#, fuzzy +msgid "Active Plugins" +msgstr "Параметри архіву" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +#, fuzzy +msgid "Audible system beep" +msgstr "Файлова система" + +#: ../metadata/core.xml.in.h:17 +#, fuzzy +msgid "Auto-Raise" +msgstr "Автоматично" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +#, fuzzy +msgid "Automatic detection of output devices" +msgstr "Автоматичне виявлення" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +#, fuzzy +msgid "Close Window" +msgstr "Windows" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +#, fuzzy +msgid "Default Icon" +msgstr "Типова секція" + +#: ../metadata/core.xml.in.h:52 +#, fuzzy +msgid "Default window icon image" +msgstr "Типова дата &застаріння" + +#: ../metadata/core.xml.in.h:53 +#, fuzzy +msgid "Detect Outputs" +msgstr "Стислий вивід" + +#: ../metadata/core.xml.in.h:54 +#, fuzzy +msgid "Detect Refresh Rate" +msgstr "Вибрати для оновлення" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Увімкнути автоперехід в режим сну" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +#, fuzzy +msgid "Horizontal Virtual Size" +msgstr "Віртуальні користувачі" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +#, fuzzy +msgid "Lighting" +msgstr "Журнал" + +#: ../metadata/core.xml.in.h:70 +#, fuzzy +msgid "List of currently active plugins" +msgstr "Перелічити тільки виявлені принтери" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +#, fuzzy +msgid "Lower Window" +msgstr "Windows" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +#, fuzzy +msgid "Number of Desktops" +msgstr "Віддалена стільниця" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "Віддалена стільниця" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "Windows" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "Виконати в терміналі" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +#, fuzzy +msgid "Outputs" +msgstr "Вивід був" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "Затримка" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +#, fuzzy +msgid "Raise Window" +msgstr "Windows" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "Оновити" + +#: ../metadata/core.xml.in.h:100 +#, fuzzy +msgid "Run Dialog" +msgstr "&Тонове набирання" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Команда \"%1\"" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Команда \"%1\"" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Команда \"%1\"" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Команда \"%1\"" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Команда: " + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +#, fuzzy +msgid "Screenshot command line" +msgstr "Помилка розбору командного рядка." + +#: ../metadata/core.xml.in.h:116 +#, fuzzy +msgid "Show Main Menu" +msgstr "&Показувати меню завантаження" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +#, fuzzy +msgid "Show the main menu" +msgstr "&Показувати меню завантаження" + +#: ../metadata/core.xml.in.h:119 +#, fuzzy +msgid "Slow Animations" +msgstr "Показати всі розділи дисків" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Помилка розбору командного рядка." + +#: ../metadata/core.xml.in.h:124 +#, fuzzy +msgid "Texture Filter" +msgstr "&Вказати фільтр" + +#: ../metadata/core.xml.in.h:125 +#, fuzzy +msgid "Texture filtering" +msgstr "&Вказати фільтр" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +#, fuzzy +msgid "Vertical Virtual Size" +msgstr "Віртуальні користувачі" + +#: ../metadata/core.xml.in.h:141 +#, fuzzy +msgid "Window Menu" +msgstr "Віконний менеджер" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +#, fuzzy +msgid "Acceleration" +msgstr "Прискорення 3D:" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +#, fuzzy +msgid "Advance to next slide" +msgstr "Додаткові параметри" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +#, fuzzy +msgid "Cube Color" +msgstr "Кольори" + +#: ../metadata/cube.xml.in.h:13 +#, fuzzy +msgid "Desktop Cube" +msgstr "Робоча станція" + +#: ../metadata/cube.xml.in.h:14 +#, fuzzy +msgid "Fold Acceleration" +msgstr "Прискорення 3D:" + +#: ../metadata/cube.xml.in.h:15 +#, fuzzy +msgid "Fold Speed" +msgstr "Вибрано" + +#: ../metadata/cube.xml.in.h:16 +#, fuzzy +msgid "Fold Timestep" +msgstr "Тест" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +#, fuzzy +msgid "Go back to previous slide" +msgstr "&Попередн." + +#: ../metadata/cube.xml.in.h:19 +#, fuzzy +msgid "Image files" +msgstr "Файл ISO-штампа" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +#, fuzzy +msgid "Mipmap" +msgstr "Ліма" + +#: ../metadata/cube.xml.in.h:25 +#, fuzzy +msgid "Next Slide" +msgstr "Наступне оновлення" + +#: ../metadata/cube.xml.in.h:26 +#, fuzzy +msgid "Place windows on cube" +msgstr "Windows" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "&Попередн." + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +#, fuzzy +msgid "Scale image" +msgstr "місцевий час" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +#, fuzzy +msgid "Skydome" +msgstr "ISO-штамп" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +#, fuzzy +msgid "Skydome Image" +msgstr "ISO-штамп" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +#, fuzzy +msgid "Speed" +msgstr "Вибрано" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +#, fuzzy +msgid "Timestep" +msgstr "Тест" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Команда: " + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Windows" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +#, fuzzy +msgid "Drop shadow X offset" +msgstr "Радіус" + +#: ../metadata/decoration.xml.in.h:6 +#, fuzzy +msgid "Drop shadow Y offset" +msgstr "Радіус" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "Радіус" + +#: ../metadata/decoration.xml.in.h:8 +#, fuzzy +msgid "Drop shadow opacity" +msgstr "Радіус" + +#: ../metadata/decoration.xml.in.h:9 +#, fuzzy +msgid "Drop shadow radius" +msgstr "Радіус" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "Windows" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +#, fuzzy +msgid "Shadow Opacity" +msgstr "Радіус" + +#: ../metadata/decoration.xml.in.h:15 +#, fuzzy +msgid "Shadow Radius" +msgstr "Радіус" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Windows" + +#: ../metadata/decoration.xml.in.h:17 +#, fuzzy +msgid "Window Decoration" +msgstr "Без опису" + +#: ../metadata/decoration.xml.in.h:18 +#, fuzzy +msgid "Window decorations" +msgstr "Параметри ypbind" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +#, fuzzy +msgid "Fade Speed" +msgstr "Вибрано" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +#, fuzzy +msgid "Fade effect on system beep" +msgstr "Файлова система" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Windows" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Windows" + +#: ../metadata/fade.xml.in.h:8 +#, fuzzy +msgid "Fullscreen Visual Bell" +msgstr "Сенсорний екран" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +#, fuzzy +msgid "Window fade speed" +msgstr "Windows" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "Додати контакт" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "Додати контакт" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "Нічого не записувати в журнал" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "Нічого не записувати в журнал" + +#: ../metadata/minimize.xml.in.h:1 +#, fuzzy +msgid "Minimize Effect" +msgstr "Windows" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "Windows" + +#: ../metadata/minimize.xml.in.h:3 +#, fuzzy +msgid "Minimize speed" +msgstr "Windows" + +#: ../metadata/minimize.xml.in.h:4 +#, fuzzy +msgid "Minimize timestep" +msgstr "Windows" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +#, fuzzy +msgid "Constrain Y" +msgstr "Містить" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Move" +msgstr "XF86RotateWindows" + +#: ../metadata/move.xml.in.h:4 +#, fuzzy +msgid "Move Window" +msgstr "Пересунути в&низ" + +#: ../metadata/move.xml.in.h:5 +#, fuzzy +msgid "Move window" +msgstr "Пересунути в&низ" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +#, fuzzy +msgid "Opacity" +msgstr "Windows" + +#: ../metadata/move.xml.in.h:7 +#, fuzzy +msgid "Opacity level of moving windows" +msgstr "Windows" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +#, fuzzy +msgid "Snapoff maximized windows" +msgstr "Windows" + +#: ../metadata/move.xml.in.h:10 +#, fuzzy +msgid "Start moving window" +msgstr "XF86RotateWindows" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "Віртуальні користувачі" + +#: ../metadata/place.xml.in.h:3 +#, fuzzy +msgid "Place Windows" +msgstr "Windows" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Пересунути в&низ" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "Віртуальні користувачі" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Пересунути в&низ" + +#: ../metadata/place.xml.in.h:9 +#, fuzzy +msgid "Window placement workarounds" +msgstr "Параметри ypbind" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +#, fuzzy +msgid "Workarounds" +msgstr "&Робоча група" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "Пересунути в&низ" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "Віртуальні користувачі" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "Пересунути в&низ" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "Віртуальні користувачі" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "Робоча станція" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "Windows" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Сторінка вниз" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "Віддалена підмережа" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "Праворуч" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Сторінка вгору" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "Windows" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "Віддалена підмережа" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "Праворуч" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "Обернути екран" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Сторінка вгору" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Початковий диск RAM" + +#: ../metadata/resize.xml.in.h:4 +#, fuzzy +msgid "Resize Window" +msgstr "Windows" + +#: ../metadata/resize.xml.in.h:5 +#, fuzzy +msgid "Resize window" +msgstr "Windows" + +#: ../metadata/resize.xml.in.h:6 +#, fuzzy +msgid "Start resizing window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +#, fuzzy +msgid "Flip Time" +msgstr "Реальний час" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +#, fuzzy +msgid "Pointer Invert Y" +msgstr "Огляд принтера" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +#, fuzzy +msgid "Pointer Sensitivity" +msgstr "Опис &принтера" + +#: ../metadata/rotate.xml.in.h:15 +#, fuzzy +msgid "Rotate Cube" +msgstr "Віддалена підмережа" + +#: ../metadata/rotate.xml.in.h:16 +#, fuzzy +msgid "Rotate Flip Left" +msgstr "Праворуч" + +#: ../metadata/rotate.xml.in.h:17 +#, fuzzy +msgid "Rotate Flip Right" +msgstr "Праворуч" + +#: ../metadata/rotate.xml.in.h:18 +#, fuzzy +msgid "Rotate Left" +msgstr "Віддалена підмережа" + +#: ../metadata/rotate.xml.in.h:19 +#, fuzzy +msgid "Rotate Left with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:20 +#, fuzzy +msgid "Rotate Right" +msgstr "Праворуч" + +#: ../metadata/rotate.xml.in.h:21 +#, fuzzy +msgid "Rotate Right with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Віддалена підмережа" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:25 +#, fuzzy +msgid "Rotate To Face 10" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:26 +#, fuzzy +msgid "Rotate To Face 10 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:27 +#, fuzzy +msgid "Rotate To Face 11" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:28 +#, fuzzy +msgid "Rotate To Face 11 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:29 +#, fuzzy +msgid "Rotate To Face 12" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:30 +#, fuzzy +msgid "Rotate To Face 12 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:31 +#, fuzzy +msgid "Rotate To Face 2" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:32 +#, fuzzy +msgid "Rotate To Face 2 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:33 +#, fuzzy +msgid "Rotate To Face 3" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:34 +#, fuzzy +msgid "Rotate To Face 3 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:35 +#, fuzzy +msgid "Rotate To Face 4" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:36 +#, fuzzy +msgid "Rotate To Face 4 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:37 +#, fuzzy +msgid "Rotate To Face 5" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:38 +#, fuzzy +msgid "Rotate To Face 5 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:39 +#, fuzzy +msgid "Rotate To Face 6" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:40 +#, fuzzy +msgid "Rotate To Face 6 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:41 +#, fuzzy +msgid "Rotate To Face 7" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:42 +#, fuzzy +msgid "Rotate To Face 7 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:43 +#, fuzzy +msgid "Rotate To Face 8" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:44 +#, fuzzy +msgid "Rotate To Face 8 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:45 +#, fuzzy +msgid "Rotate To Face 9" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:46 +#, fuzzy +msgid "Rotate To Face 9 with Window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:47 +#, fuzzy +msgid "Rotate desktop cube" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:48 +#, fuzzy +msgid "Rotate left" +msgstr "Віддалена підмережа" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +#, fuzzy +msgid "Rotate right" +msgstr "Праворуч" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:54 +#, fuzzy +msgid "Rotate to face 10" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:55 +#, fuzzy +msgid "Rotate to face 10 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:56 +#, fuzzy +msgid "Rotate to face 11" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:57 +#, fuzzy +msgid "Rotate to face 11 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:58 +#, fuzzy +msgid "Rotate to face 12" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:59 +#, fuzzy +msgid "Rotate to face 12 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:60 +#, fuzzy +msgid "Rotate to face 2" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:61 +#, fuzzy +msgid "Rotate to face 2 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:62 +#, fuzzy +msgid "Rotate to face 3" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:63 +#, fuzzy +msgid "Rotate to face 3 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:64 +#, fuzzy +msgid "Rotate to face 4" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:65 +#, fuzzy +msgid "Rotate to face 4 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:66 +#, fuzzy +msgid "Rotate to face 5" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:67 +#, fuzzy +msgid "Rotate to face 5 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:68 +#, fuzzy +msgid "Rotate to face 6" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:69 +#, fuzzy +msgid "Rotate to face 6 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:70 +#, fuzzy +msgid "Rotate to face 7" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:71 +#, fuzzy +msgid "Rotate to face 7 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:72 +#, fuzzy +msgid "Rotate to face 8" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:73 +#, fuzzy +msgid "Rotate to face 8 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:74 +#, fuzzy +msgid "Rotate to face 9" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:75 +#, fuzzy +msgid "Rotate to face 9 and bring active window along" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:76 +#, fuzzy +msgid "Rotate to viewport" +msgstr "Обернути екран" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "XF86RotateWindows" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Прискорення 3D:" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Тест" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Тест" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Дата початку" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +#, fuzzy +msgid "Darken Background" +msgstr "Тло" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Початковий диск RAM" + +#: ../metadata/scale.xml.in.h:6 +#, fuzzy +msgid "Initiate Window Picker For All Windows" +msgstr "Початковий диск RAM" + +#: ../metadata/scale.xml.in.h:7 +#, fuzzy +msgid "Initiate Window Picker For Window Group" +msgstr "Початковий диск RAM" + +#: ../metadata/scale.xml.in.h:8 +#, fuzzy +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "Початковий диск RAM" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +#, fuzzy +msgid "Scale" +msgstr "Сканер" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "Windows" + +#: ../metadata/scale.xml.in.h:18 +#, fuzzy +msgid "Scale speed" +msgstr "місцевий час" + +#: ../metadata/scale.xml.in.h:19 +#, fuzzy +msgid "Scale timestep" +msgstr "місцевий час" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Windows" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Windows" + +#: ../metadata/scale.xml.in.h:22 +#, fuzzy +msgid "Spacing" +msgstr "Іспанія" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "Автоматично запускати аплет при вході в систему" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "Каталог\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Вибір відеорежиму" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "Запуск програми" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "Рекурсивний вхід в каталог" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "Екран" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "Помилка розбору командного рядка." + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +#, fuzzy +msgid "Application Switcher" +msgstr "Порядок програм" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Автоматично" + +#: ../metadata/switcher.xml.in.h:6 +#, fuzzy +msgid "Brightness" +msgstr "Міст" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Під час завантаження" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +#, fuzzy +msgid "Icon" +msgstr "Піктограми" + +#: ../metadata/switcher.xml.in.h:12 +#, fuzzy +msgid "Minimized" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +#, fuzzy +msgid "Prev window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Тривалість" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +#, fuzzy +msgid "Show minimized windows" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:28 +#, fuzzy +msgid "Switcher speed" +msgstr "Скрипти перемикання" + +#: ../metadata/switcher.xml.in.h:29 +#, fuzzy +msgid "Switcher timestep" +msgstr "місцевий час" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "Windows" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +#, fuzzy +msgid "Add line" +msgstr "Д&одати посилання" + +#: ../metadata/water.xml.in.h:2 +#, fuzzy +msgid "Add point" +msgstr "Додати контакт" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +#, fuzzy +msgid "Rain Delay" +msgstr "Затримка" + +#: ../metadata/water.xml.in.h:11 +#, fuzzy +msgid "Title wave" +msgstr "Заголовок: %1" + +#: ../metadata/water.xml.in.h:12 +#, fuzzy +msgid "Toggle rain" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:13 +#, fuzzy +msgid "Toggle rain effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:14 +#, fuzzy +msgid "Toggle wiper" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:15 +#, fuzzy +msgid "Toggle wiper effect" +msgstr "Token ring" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +#, fuzzy +msgid "Wave effect from window title" +msgstr "Відступ від заголовка:" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +#, fuzzy +msgid "Focus Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:4 +#, fuzzy +msgid "Friction" +msgstr "Дія" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:6 +#, fuzzy +msgid "Grid Resolution" +msgstr "Роздільна здатність" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +#, fuzzy +msgid "Make window shiver" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:9 +#, fuzzy +msgid "Map Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:10 +#, fuzzy +msgid "Map Window Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:12 +#, fuzzy +msgid "Maximize Effect" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "Пересунути в&низ" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +#, fuzzy +msgid "Shiver" +msgstr "Драйвер" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Дія" + +#: ../metadata/wobbly.xml.in.h:20 +#, fuzzy +msgid "Spring K" +msgstr "Іспанія" + +#: ../metadata/wobbly.xml.in.h:21 +#, fuzzy +msgid "Spring Konstant" +msgstr "Іспанія" + +#: ../metadata/wobbly.xml.in.h:22 +#, fuzzy +msgid "Toggle window snapping" +msgstr "Windows" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +#, fuzzy +msgid "Vertex Grid Resolution" +msgstr "Роздільна здатність" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +#, fuzzy +msgid "Wobbly Windows" +msgstr "Windows" + +#: ../metadata/zoom.xml.in.h:1 +#, fuzzy +msgid "Filter Linear" +msgstr "Фільтр: " + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +#, fuzzy +msgid "Zoom Desktop" +msgstr "Робоча станція" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +#, fuzzy +msgid "Zoom Out" +msgstr "Робоча станція" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Вибрано" + +#: ../metadata/zoom.xml.in.h:14 +#, fuzzy +msgid "Zoom Timestep" +msgstr "Тест" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +#, fuzzy +msgid "Zoom factor" +msgstr "Робоча станція" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +#, fuzzy +msgid "Toolbar" +msgstr "Інструменти" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "Меню" + +#: ../src/main.c:58 +#, fuzzy +msgid "Utility" +msgstr "Диск з утилітами..." + +#: ../src/main.c:59 +#, fuzzy +msgid "Splash" +msgstr "заставка" + +#: ../src/main.c:60 +#, fuzzy +msgid "Dialog" +msgstr "&Тонове набирання" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "Нормальний" + +#: ../src/main.c:62 +#, fuzzy +msgid "DropdownMenu" +msgstr "Віконний менеджер" + +#: ../src/main.c:63 +#, fuzzy +msgid "PopupMenu" +msgstr "Меню" + +#: ../src/main.c:64 +#, fuzzy +msgid "Tooltip" +msgstr "Інструменти" + +#: ../src/main.c:65 +#, fuzzy +msgid "Notification" +msgstr "Сповіщення" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +#, fuzzy +msgid "Dnd" +msgstr "Кінець" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +#, fuzzy +msgid "Fullscreen" +msgstr "Сенсорний екран" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Невідомо" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "Фільтр: " + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "Російська" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Тривалість" + +#, fuzzy +#~ msgid "Do not modify" +#~ msgstr "Нічого не записувати в журнал" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "Радіус" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "Увімкнути автоперехід в режим сну" + +#, fuzzy +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "Прискорення 3D: " + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "Прискорення 3D: " + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "Тест" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "Російська Федерація" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "Російська" + +#, fuzzy +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "Віддалена стільниця" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "Кольори" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "Прискорення 3D: " + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "Тест" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "місцевий час" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "місцевий час" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "Дія" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "Іспанія" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "Скрипти перемикання" + +#, fuzzy +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "&Вказати фільтр" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "Роздільна здатність" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "Вибрано" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "Тест" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "Робоча станція" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "Обернути екран" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "Обернути екран" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "XF86RotateWindows" + +#, fuzzy +#~ msgid "Rotate To Face %d" +#~ msgstr "Обернути екран" + +#, fuzzy +#~ msgid "Rotate to face %d" +#~ msgstr "Обернути екран" + +#~ msgid "None" +#~ msgstr "Нема" + +#~ msgid "Big" +#~ msgstr "Великий" + +#, fuzzy +#~ msgid "Command line %d" +#~ msgstr "Команда: " + +#, fuzzy +#~ msgid "Run command %d" +#~ msgstr "Команда: " + +#, fuzzy +#~ msgid "Window Types" +#~ msgstr "Windows" + +#, fuzzy +#~ msgid "Corners" +#~ msgstr "Перетворювачі" + +#, fuzzy +#~ msgid "Sloppy Focus" +#~ msgstr "Дискета" + +#, fuzzy +#~ msgid "Terminate" +#~ msgstr "Термінали" diff --git a/po/vi.gmo b/po/vi.gmo new file mode 100644 index 0000000000000000000000000000000000000000..bd0cbc379a919a209f1e7f7ec1f51b1efa999d82 GIT binary patch literal 414 zcmYL^O-{ow5Jrn&l_hHyUa*5HP6{-*KPr?KRZtOCp?i}IsZnA_wu9gdtT_Z{V9Pm> zxCv8`=qEjmEx)nHU%NYREy@I`nA^N?DpT`9e>f+Z`d+4A#UuUNYJ{&=O@_gL2|jz&c# zRoTu=HKaaWG_pWQQC5O26?!czbjbQDjP=Mh4%;~ngZXSe*?cf;^I&YWM@_H3)HJ@w zXMa?eQt2McR?<53gS&JJ@y1(E_kb2AIy1S_g<$c$@, YEAR. +# +# This file is distributed under the same license as @PACKAGE@ package. FIRST +# +msgid "" +msgstr "" +"Project-Id-Version: @PACKAGE@\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-07-12 07:32+0200\n" +"Last-Translator: Phan Vĩnh Thịnh \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +msgid "Annotate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +msgid "Annotate plugin" +msgstr "" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "" + +#: ../metadata/annotate.xml.in.h:10 +msgid "Initiate annotate drawing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:11 +msgid "Initiate annotate erasing" +msgstr "" + +#: ../metadata/annotate.xml.in.h:12 +msgid "Initiate erase" +msgstr "" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +msgid "Blur Occlusion" +msgstr "" + +#: ../metadata/blur.xml.in.h:5 +msgid "Blur Saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +msgid "Blur saturation" +msgstr "" + +#: ../metadata/blur.xml.in.h:10 +msgid "Blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +msgid "Focus blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +msgid "Initiate clone selection" +msgstr "" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +msgid "Command line 0" +msgstr "" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +msgid "Focus prevention windows" +msgstr "" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +msgid "Run command 0" +msgstr "" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +msgid "Terminal command line" +msgstr "" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "" + +#: ../metadata/decoration.xml.in.h:3 +msgid "Decoration windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +msgid "Shadow windows" +msgstr "" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +msgid "Fade windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +msgid "Positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +msgid "Viewport positioned windows" +msgstr "" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +msgid "Rotate window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +msgid "Directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:4 +msgid "Initiate rectangle screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +msgid "Auto Rotate" +msgstr "" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +msgid "Focus Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +msgid "Grab Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "" diff --git a/po/xh.gmo b/po/xh.gmo new file mode 100644 index 0000000000000000000000000000000000000000..c57e54790931bddbd3e00efc830e4be3f878db02 GIT binary patch literal 464 zcma)%(N4lJ6o#kKXm;tf7xhjP4|W5Q6lPR}gamYwVd7;ObxyW+X**Eg!)Nj>d=}5Z z$gO|+rKdUn-<%?m?zv&LSu@Gr4O~$R#jNGY($TBkIGAVf?NGJQP zuH>pyi&cJ!v2`0F!SnxyMuSmrv!Pd`ZdXYwBo6Ri;1X86*|Q?!sce(@g=-^hFp2um z+W4wLpM{2=jMXfa2_vm(YTYm^HP4{0bZ!`t#p-DSzfIOs-&5{3Bg* F=Lfmrf+qj~ literal 0 HcmV?d00001 diff --git a/po/xh.po b/po/xh.po new file mode 100644 index 0000000..8f23c82 --- /dev/null +++ b/po/xh.po @@ -0,0 +1,2468 @@ +# Copyright (C) 2007 SuSE Linux Products GmbH, Nuernberg +# This file is distributed under the same license as the package. +# +msgid "" +msgstr "" +"Project-Id-Version: base\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-11-03 14:26\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Kuyandululwa" + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Kuyandululwa" + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Kuyandululwa" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Kuyandululwa" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Kuyandululwa" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Kuyandululwa" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Gcina ubumbeko" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Gcina ubumbeko" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Gcina ubumbeko" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Ukukhetha Ikhathalogu" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Hlaziya" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Umyalelo '%1'" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Umyalelo:" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Kuyandululwa" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Kuyandululwa" + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Kugqityiwe Ukuhlohla" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Kugqityiwe Ukuhlohla" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Kugqityiwe Ukuhlohla" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Kuqaliswa Ukuhlohla..." + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Kuyandululwa" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "I-&Uvimba Weefayili Zendawo Ethile..." + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Ukukhetha Ikhathalogu" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Kuyandululwa" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Ngethuba Lokumisela Inkqubo" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Gcina ubumbeko" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Musa Ukukhetha &Nto" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Ngethuba Lokumisela Inkqubo" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Kugqityiwe Ukuhlohla" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Akwaziwa" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Gcina ubumbeko" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Kugqityiwe Ukuhlohla" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo new file mode 100644 index 0000000000000000000000000000000000000000..17cd041d792a9fcede4a0e884422e0808c0c1c57 GIT binary patch literal 28056 zcmb`O2b@&ZxxlZ+1~#m*dyT!US^9#}M5Ktah_C{-nAzP~m@qrDnVF@S1|qPqz^+P@ zB1M`?Spw3Q@>0yxm}*{ndoepRyUEKl<(XpMOWyxG=eu|A9o7}Z`FZ%C@09QKbG~!# z`pa`qTI}$faf0Jq2Cq58ak`!8IJaCRp^h`kb)5U*{ctpVUilX&;lr=8T%r8E^5Y+| z;ZG@lqwIUN4W9!k%J~UA3+CWy@NL)){u6!_o_3AnTmZ{pIUEVEge#%c_khYjfoCKC z9a5Cj?OMk8?vmQ$Pt5E9oeRu_YQ{@w`bDZmu zdqB}!21V}>cq4oe4udn{VE8&b8TKI4sqjK5dar;|-xB5R8eXn^L^(rC>JY#q`deh8~-pooph@pS)CVPclZW82mS)m zMCUDd54`YZ+piJ$VdNB)ewqg_hD#wsUT-`M(9FURfyp{NGUO^`V}&{g*(=cPH!vV^HFsgQE9k<(HwxJ)!jP!%*~3gy+IWDE<2! zJO{o2&xWna*P)F2&!CL=-=Ng{JQ^YE|0Z}990{fTIw<+;m9wCvUkuNJTcDKF3T1wL zOXVLyX>SLVd3<7D+b`Xe7bvfSQr{Al%b=tm45fYdLTT4{l_x6r z`g@OtzXm^y`~xU@eh)8#??9>7c`P1De>uDyepKahl^;|2^C~w%DQ7E`d2&eQpQ-#` zDt8-b<1c}dzQ4+Ms~lB%vdYh>yk6xmtNez_Z>cPUEB$^sly>)o(yrT~wBsJg5_cX^ zdA`cesr+q~{}W2RdVI`r*h-wMpva?Cj;P$M@>-R@tMac^?s2>3hbF(u5tW-&UaRtV zRsJ=UdE0}{RCqO%dDaigIFEqRo`<2#ms%*}K2_sqD;I0{dgYgt|EB!5^5@FmD*vWD zh0RX%pAThzUkRmOuZ6OY_f&a2lzLS|sYe>hyqW=}{?Eb-;TCu${3?|G_>J;^pzIST zf5P$tDEh92qOT8>bv+15_;7eB9Iwnk(ccWEyiHKn_kMT@{0h7b{sM}=cc7Ga8i)85 z@FFPT{h`!r2$Xp<7BZAh6}%X(fie#Jq3HiElz#a!l=}S=iry@gefVva{|TkuXARQ% z2}Ms&DB;7PjOSRDC#pOJUQYO24d0~UyW!o0zY1M=&Rw>=UQovCHYoi+6kY>A2|og7 z!t>!qDD7^AH^ZMoIaf{@Z2Pqo$~cdJ(x2m@)MFBqex3`Zf7U>=&q3*rFDqYzEOqC5 zQ2OQcAy(hHP|{rirM=fd*>B3A=)WJ{0+Uecvl2@BuR|&K+fe!~3#ESlfKrcBhuV6c z4@J-QQ1lOhl5U*FS84cUDD$BKNF_GJ07|~?P~u;O zvhIEc&wzi`@RQ1Ix(`FqR|=(GL!qQAhtkgvLD4e}UIXWA{0u%Xld5j=;0wY$)|#0;S#0Ln-$aDE;&=DE)u#Xq)b4C~_H;boWE) z=SC>{o`#}toyyyx%!kA9diWar5d0&Qd~ZV;um4q^JI3n20iH|volx{uz#cH7;VI=T zDD_zeCEX4v<9rB~!e40kSrxW^mqJN*GnDq0!QSv8oCZz5LCL>P`6VdnzoPPwRc?n;?mtyN?P1#= zS3uFzABvtkpwxS$@?j01sGJHVeS@+Iirytq@~wf=Z(CLV0hD&W2``0jt9;HQR?jt1 z^4$z2zD(r`D0(7L#(yr9{@x7Ff?J@}w-xq-uS1S3=fp>?d^Z&Ni%|5x0ww($$~TpN z()bfUX~*qsDE-_ANZalu*wOQ7pS~O<-;n! zq4FP9J}F}LT@6KFKPc^a07|O^ z{8J78welS(<(@ae(uJa@1d87Kpp^TV#;2gH-!DR0|GS~I>kTOS+m&xA{{ltN|3R@6 z&zxw>xlnmE6#b=8>U)>UkEoo4=MdhY;me_vyA_Jw*Pzt@CvXVNL23UjF&lm_6#e6& z=${0yhfgZEX!w6XY4`7;jN{p#w!9sRzDZEZn+K)6%c0bx1&aP}YW%M>{w>&z@RKLm zdYldAJh}`@Kb1q#SD|t>6upz6=$)Zl1*QCbQ0o0-DD8FPHvO4U%D)!{BRm1w`=Q?auF${-ya@QR`nwa?12-4>5%?%>4*mul!|j}iEWdKxowy~qTM4@i zw-bLQyaCGZQ}|opNVwmGSbN|)Tro76vyG}2!AJ&a#| z|7QNh22|ccILqDX1+Ruz!oR@p;b!1J1@{sB#lIQ?WNgkP{`*kwQ~wGi8h|_q=ly<) zCy#p^cL(kk+(&UT4}0Qz;V#69J=hl~>so%l!IhwACftWB59s_j{?`cmU)-G<&Xf%O zzKK+a+ohquheJr~;=ZF{KUR9EChjeS`MCeVjYs~W7YS$JM&Le8_$1t?@OR)w@y+cf`R{PM%Za2DV`gX@9&gvS2}e{cM^ z!9}<>TtAJ&40PIYlaa^b9>)Jk+~+lZ1O838%W$o@X}GgA?tbM*;ZG#a3&&r9yB_%l z+%o*~+k#t#yF>(jSK+>dyH^DL-L5)50zX06&u}l{PQ;yzlQn!Q?lhe2Q{8c= z#>wwy^7d3c8<7*ZHMkGsyx$)^k5bO8vvDbvZ&cogo@)H}s6Gjvja!GS$CcqeMBE7) zKMA1mFK~s>VH!?TRCcg>FD*V63m8mRo zui*M4e-S$v~J9m2hXb8&Cr+kP-bP-E zI|uilxWD3Fz{PMkMg!XDE!621br7dHm?MGZd*zKA?LkPeZ<#hnzLRvAlF z#}X6V%*05>oiZ_+aAS$d$w|@bTihwJc-&3ZCy0x>>4{OKs$^|#BvI|gs-uZatR@z% zb}OfOp*=r%jin#F$`8Jly*}_t_Wr;%_W8gy_Wi&$_WQs!_W!^&mVMwF2XIlZipHa< zNG6s{AY@{bqwc79{e)N|?c7;i?Z#t?sPWV#V~LFT((aTsvwEF7lM>BC9`Hf{uoHj&J@l~Fept&XKAiuI0~WKE5xtcy*pjnq-i+GIUNqoy(yn=mnxh^EtQ zByL?aRYjcw@yWVKRV*{D^T>20Q*Zkr6rYII(p-1Uq-oX3TB@#c+RApp?W<571IJDD$}r=>H|TG|+`BP^3F86AnGQQ&*s z!O?hRnhBs5u`2pELr>7P(%fWyrmkN4d~&QRNSR@Y+OZ5}QF zJI;)$3NkgAWHzI7S2CVVNn^~cVRx@gW@v_+W}c)?IQzfpR+|#F^=Pailbj5ix=OT^ zq(z6Qk|V>8Pf1NA9voOrpx1NFL2%aeEetrA2a4e6MhH z@37b>EcOkH{la4Zuviur2ZTjBlC>3`8m+3AmBo6or>r@KId~t_L)md_7!cNwNM}+JrtpKzP~XpjPNuLg zW&38fPf4aGr8xkiZX^|rICrsCyJjzN21inpIC%!KO-x8}mQ;HovT@iDyU(YqBAka4 zyfexf9IZ;St+E$+wy7MK)|_S46c$&Fo8Xl6Qxg}7Q;F(nV&W!HDXIuyXS>gyQH22A zVfE}Hye3i~&$z>@IIulI)5HjKIj<%}iQ(XIZ=g?V(>JoxGgIVnjYg{EAc!SOs#D22 z5}DK5qbq%aAV-XQpE+F8o;X@hk6gfqriUa?1wK(Ig5{mMD)V z>YX9g6Qb_Wc&yGHoERLC$~mtB;wUk0IHiXqB63I@TL%*-Wav0UBh}aebYWZcQI=#;u-Dr59diKObh2KdR0?d2ykC1QO|z{aiFd|oFVb4H!4?~>0LC|xzlSQkT#@#zdTg6%BV4`T|3%-W$zLUiE7D?Nze zRp$&%#f&lK4E62LfY%)xOV>x@)?_QBup`*{;17!?#Fmb_wXr&}P3`E{CDUnR{E5{v z5fhaW{S2DL6xA)o8OCueW(vJhm%^Y+VnSJCc~~k|?T(J7lks|Eq~DEYggMHTu85>3 zRYp?&WHB+=JO11=^UZXTu29D$@usHO*UZ$6sxi|73n^+0L)J1Tx|;K~Nv!s}ld0I_ zn2L1C*jOqfT{9;3xP(upL1tQ-O=QC_~LP#~+(6lIipv#?e#Pl{%Xa zqd37voif)gyGb9BiP<6pGdv+ywB6O!Z!GEI2?i|VKIqb|Y13WaS{5^2Mue=Age^yRLUuj)Oov~c&)BNh+TX~$XcYgIK6CzWgee~X3eZR$1*Fp+s1=Y;R~Ig zBNXgT^f!-p&FadO^OVcsT^{4IEjxwo?7r;P+=~wtRmjGU!j|Lb%6Qwp7ou_XwXWG? z&1Poe2$6^*m+ymX8)FCE6~1+z#Zac5*w9xv_t zfHShbwvw@BS`D^aZQ8ldm_Y6rdO7Ocmtbn~kRc1qJD=<8s@bHNQuSt|_Ik~&j7Jia zWP*`CmaKL>OH%2Mkt5F&;?c>`xRlG1mprzPlwQYvZ3UN|px&`t3=xzgCZ*ZpJt2a* zDK;nnsRF$6+%qxCieN96>`PG_){ybL`3vbSKgrDX5LtVpv9W5ow8Csp8O zF>4%C)tGJeUpmp-*8G4mQ8qvx8#rePtE!lOXtcb& z=^>|nV;qmbGIoLiqvaUzLV~g4r#skay#lPtPzED(mZ~D@>8#)>O{RIz(j!AU&#CEq z9+AFhm+5;Qk-k?~>5oX>W$NC=%6oUEyH9cIK3%2mTb#OYSE>6Ir|#EP>i)&4`*)SP ztT=U9SE&aSrykH*YR_0U27=B!xu1EN&CSLWFk6j5QJ5@+5M!6{mMsQV@UfIVC5Z{9 zs{Qo-^eKcKqXvJ5_!@d0n}#D49Akce(s>o=eQf3X)6mP`=h*W56VuDz_t^6LQ`O7g z@7VJDlh@1N|Jd^T)7i^kc5M0m3GU?|aMby|R|RicnvFELH_OM0&~@C*UkSBWa$oeX z<)iuRt0tCsy|*>yc~D}P4T|AdCS)Lz=@pQeECGq34@eATKw?+|5}h271~_B<4@QnP z*37^9{uc0?Zy{A2hJ3OpzDL+()=;&6-%7Qj?a4GH$k#D$CmFv#%%{0AM_Mf!RAdr3 z0c%L?z9X)DV|as$%0q*`>Nz$b6%OE0Kn>LKCP6`d(3kZEQ}Po%+CIyTu~(Hb@~luU zMu#y)j40h2{AgBfpBGJ>F)z*Y6;m@a5py{aiNz@jHMMI0d$&}2NrL6`Ppy<->{su@ zof3|J)tV=7?*TX%%K75h zB{-%o9!XC`FlUbcDyH(iUc|lfwjSYi!1j;VViiLd2@R9U^LXKU;dq}zU7hisIbN9b z(-Kwkm2vDKxy(2fa@URM#V5_=KQct-azuN@sn91N`)ulqycgM5El2j4z^gddD!rp{ z4`TN79700o6(%LKO5Uy}%EFZQ2yCoW1xHX59nDtxj6&kiA{CV;o(cyc$>VFqi!TWos zDbupU_!UaAM7`3*uYXYB1<9ixLz|Wb7cn2*&4N?Kb{@O_vy>mq-PhAFC5BMYn&dmM z#3kdISe;YhJzIqrlz(w8>@9LPWGQ-kjq^aFhDT(DeGPgbF)6_p2g1C5^{x_ukWjCY z)cdmrH}JG+r?KUi6)D%yR8<`MZHy zul$Ux0Y~S(el=q_y%2L0XsmuEGlQ)`=97utF*Jnzs>(hc%U8XK`DmB+wAo&g-6DKc zj*~9&t7jIs4wo!k9cH`Z7Pc(3+Mcu}i&!Y|A--}s@{jj=V};=fOP)@w$L_Kwp>O0E zNeZpw5hZkWFfm*X_^#-TN+sp%Ov&)-5=JLYuMFhSs;!GX-hFgbzWJ1trzga!O9s_X zNS9P32fE!y-B(d^7w_HjhEg(^@fzs%DlP3_QrfqqXHU0h?}4SgN=o~bmXfe!G#?s7 zXCYm`lG1)9y-3%0V6Oq)M?}(@60=g`5o$Bg9myuhqxOhMVnV$<#D9!k+W0<^Ffq4c ztKC618(2~ijnp1(rt;zCLkex|d24BRKILXOs7orQ)zJuf-Tx@#9!uQjR!xkgm~^*4 zP%*TmtdP#EiD;^1NTMn!U(p7-WtFi^cc){~wtVYT*=@_SD>t{d%*-#^oLjp4tpoG3 zEwkGXH@B~y@6D5*Zhq}H(&d*wsecWTed=Ia>-uBRPAy2+sUqbj^O3)&8@bh2|7v>#q!q8r=x zPH)@$VvfbLYN?Z*HKTpo-t4T+*&R*!7nf$6o+oR*by>DyH<~);ERYq}{1iD!klnX9 zyM74?+IOtY?^=^vwkF&1q|>&4TXz4({IiF$4YPCG7det|dQ)!M!cb_(h8@|b=ZAu5 zV17|+`^@>dXSX}KrH$4(P*8qnYrb`LcA5E)xb`_OqBpx>PW#JyLPEB6cl+Vh z8kBo}dhX@M_CwEP=j?Cab||}kPADSVuqU^qCBJZvHs8rDI>b&yKhx2?LH|JZQ z$*o%b-l-{}ICZ}D$!v3jqr0nx?87}Z$oNZxLNKORAfk7`-zVVj8}RoF`1=R^WdZ*H z$DR!G2RVg5eY59;{lhqhsD0y%+}ur6PWr%{4EQ_CSn9stoIT%f&R*{~WAFEyvCsR> z*!TTr?Du{%_J6+_%ieFs0Y{fHzkefZh`(F2p6s3tY{B^#_IE7Zm7TvoyLvS5PZMg0Y1u&Mwe)aA9z_c5IL>E*#OitbN=1?21ED;|?QerA!bJ*_lmFZhKR1%UYCl ztk`UirM7*Iv|3hH>u$4p8roVn;bzrVz4=aV=BTjG=R-v%* zX1DKa-@YohcD9pkn8RscD?}-BP#k!HzG^?bvVG60{Ki&QKbXHy>sYlWw{U}#ozp~u zj%B;D2Y2u%YS|f0Y_s7|M(D`UP_G1)WEafK9^x?E+n8&d+upR2wmGu(9$1z?+{$rf z{#Gp*KzSTPp)|Sqb2^@82W{Ri=ByEdXS}K2fgP9!9HUOru_k>?n-1)-9q-t~nciTV z&o6Az(RzA54G2b&!A3c99QZ=};W@e1_1R}PV|3)EZ*puK(8g%0AZOB^jqRIeb9`m@ z?e19K+`hEQYeCCw8J!(#bB#+RoiQD3K=+V(HZt=QG^(z5nln>*$-G0(9qu)5j~H8KPA zPt=_D!;7*jo@?7XFJ$ZG*38PSIe?YcerU5;E_TS;_v~b}+gh28YjbPV2-LXT-08WM zbN#tv?Gar}nj5Qf)`r}&L;3al)#6;TFMB|?DP|fLk*_#t4LMBf?7p4t&o0k3uFjf$ z&B;BnB|BrKPBGnSax14x?EEDJXAd9DFW!)AYNjN|kI;efqOGou=}(KvjJathk?kJM zX}7A}5?Z|5;p~?_J-E_tsaVtb=Gn56?0#nL?(mYgrns@`!V%5eWjV8U#b~vbv|ZuB zAT~7YN!FDn40bT(YHJz~Wt)~15~;S^EcZBEf~WG8f~Y~C6!E*#NZs`f8pqWY(fn6_M;%#@~8=8wvl zORoG;nVmP;hNbOm8A8+RYJqd%GM6=t%QbQOv;?mYsLF0#n%}aqZSR*fQSi8x{m-_A zP`Pf++KtI?LpU=zR~#|b&BS5~$(FuuVf*t>=r$z_Mt3K3E3*l`Ab%NY5>K|NbTxAE z;-*)$vYhO5PvlqZ>O9U*8@h$qwOy1Wl%i9ep%i+6N&ziRvi=JdH?mi8Ki*uIi$lF# z*-vH8FK=V^Ld|AkOR*cI?nfq`$-w!hJEx5(H-84~_Ypn zFKgoL-o5Rco^(2o%a(z3PkO&GZVvr*2@uUMkHvORQcGB)N=9H)_7YRxn) z*dYGgw$ZG%j_FUZe6apVU6}fQw7(cR!yLIE+fB#Yk5tUhcsaMYNsJ*mYd9h|&5(oQ zz&_bytxafN3&cE`J~!9+LUGR@Wwzi(X8KIWQ=55|TKwbq*s>i_xE|`N#kN*QtGI~# zqL;H{AVFUi#`|cW9eN?SM{#ir$7CD`S0f^mszkP7yk$&!%LIXq%*1*2;9O z-5*XBmNk`@($L}+(a@6LvW33{bLEN0kInAgXfrS~I*T`9J>MfwQM}31>pk)m#Y>)| zpyH|(MN5v}T^CXmEjjvhouepPa`f#wM^Uuo=+||QqG-v{zv~=D(UPOA>l{VVl4C&E zIfBvF6!v$q;(6#4&p>}RNjb$ctPm!a(_S7IHiQn#aOTdYk_kJS%$>}To+j)lGIx^q zXtQ=Q%}mfyl-kLBGeJj@wUdcwf{r3=PFIhQ)qiv42=B3yT9B|AU1-!iA0}dqI5HAkI;175O^=hl9OWIM#ad9&zmbJ=9%C zJo!1+z_S;t!24aNCXHw4gsp_&ovmOs<>oEzn6a&W(Ls6Q2?_RL%o?EXcqb%2sA9-; z)D-p+%-&2e|KwGmZEve*%^O+AJMb~5Fg4^FcHjlB`C@4;Coxx$19DH-Rd27| z!3zY5%{{)8DH|}qwcwyd9@-$<_AYeCn*Y(o<v%t5=xn`s>Ignl7alpX3ubT`p?^u8 zZF-8gx%S<&$is#h*zkBG?^w4iw{xBUbyi=f3xnp*T;HA!-kNPsu}%9K3Rk4y-MPzj zW&qG(SGXt$8V#Li4W@YS3I$WYceO&Piz;Uyg8bWxQzYx{--ZTPB_n3PUwS!$>r0bA zvoY7WRUXrdWL3)7ne41RJbXIpD?BioHvxG?G)qy&BJlRWi1S6APlZ-3d-P%!gTmkT zd0TiTt^%dJk&fp`4%~ALOANWGAEzxT~mpStZH+SGAzQ*TgY?rsNj&4>o;Gx5RBDTXCdZ*RLYonk`f7FYoi#^iX, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-21 15:29\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "桌面" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "窗口菜单" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "折叠速度" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "降低窗口不透明度" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "水平方向最大化活动窗口" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "启动" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "立方体颜色" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "活动插件" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "清除(_L)" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "启动" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "启动窗口大小调整" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "启动窗口大小调整" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "启动" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "调整窗口大小" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "调整窗口大小" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "纹理过滤器" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "饱和度" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "饱和度" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "折叠速度" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "放置窗口" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "饱和度" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "调整窗口大小" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "聚焦时应采用颤动效果的窗口类型" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "调整窗口大小" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "调整窗口大小" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "俄联邦" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "俄语" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "俄联邦" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "俄语" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "聚焦效果" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "窗口渐弱速度" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "应渐弱的窗口类型" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "应渐弱的窗口类型" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "输出" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "视频模式选择" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "键绑定在调用时,将运行 command10 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "键绑定在调用时,将运行 command1 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "键绑定在调用时,将运行 command10 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "键绑定在调用时,将运行 command11 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "键绑定在调用时,将运行 command2 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "键绑定在调用时,将运行 command3 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "键绑定在调用时,将运行 command4 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "键绑定在调用时,将运行 command5 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "键绑定在调用时,将运行 command6 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "键绑定在调用时,将运行 command7 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "键绑定在调用时,将运行 command8 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "键绑定在调用时,将运行 command9 确定的 shell 命令" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "活动插件" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "允许全屏窗口的绘制不重定向到屏幕外的象素映射" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "可听见的铃声" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "可听见的系统嘟嘟声" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "自动升起" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "自动升起延迟" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "自动检测输出设备" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "自动检测刷新率" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "单击设置焦点" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "单击窗口将输入焦点移至它" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "关闭窗口" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "关闭活动窗口" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "命令行 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "命令行 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "命令行 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "命令行 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "命令行 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "命令行 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "命令行 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "命令行 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "命令行 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "命令行 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "命令行 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "命令行 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "调用 run_command10 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "调用 run_command1 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "调用 run_command10 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "调用 run_command11 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "调用 run_command2 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "调用 run_command3 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "调用 run_command4 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "调用 run_command5 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "调用 run_command6 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "调用 run_command7 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "调用 run_command8 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "调用 run_command9 时,shell 中要执行的命令行" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "降低不透明度" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "降低窗口不透明度" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "默认图标" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "默认窗口图标图像" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "检测输出" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "检测刷新率" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "聚焦窗口类型" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "聚焦窗口类型" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "隐藏跳过任务栏窗口" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "隐藏所有窗口和焦点桌面" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "隐藏进入显示桌面方式时不在任务栏中的窗口" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "水平虚拟大小" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "最大化时忽略提示" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "最大化窗口时忽略大小递增和屏幕比例提示" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "增加不透明度" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "增加窗口不透明度" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "上升所选窗口前的时间间隔" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "加亮" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "当前活动的插件列表" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "描述输出设备的字符串列表" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "降低窗口" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "将窗口降到其它窗口以下" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "最大化窗口" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "水平方向最大化窗口" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "垂直方向最大化窗口" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "最大化活动窗口" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "水平方向最大化活动窗口" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "垂直方向最大化活动窗口" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "最小化窗口" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "最小化活动窗口" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "桌面数" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "虚拟桌面数" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "垂直清屏期间仅执行屏幕更新" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "不透明度级别" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "不透明度更改级别" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "窗口之间的间隔" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "在终端上运行" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "打开窗口菜单" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "输出" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "电子流延迟" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "单击时上升" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "上升窗口" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "在以下间隔后上升选中窗口" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "将窗口升到其它窗口以上" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "单击时上升窗口" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "刷新率" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "运行对话框" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "运行命令 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "运行命令 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "运行命令 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "运行命令 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "运行命令 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "运行命令 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "运行命令 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "运行命令 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "运行命令 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "运行命令 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "运行命令 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "运行命令 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "用于水平虚拟大小的屏幕大小倍增器" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "用于垂直虚拟大小的屏幕大小倍增器" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "屏幕快照命令行" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "显示主菜单" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "显示运行应用程序对话框" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "显示主菜单" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "慢速动画" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "与 Vblank 同步" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "拍摄屏幕快照" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "拍摄窗口的屏幕快照" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "屏幕快照命令行" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "纹理过滤器" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "纹理过滤" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "屏幕刷新速率(次/秒)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "切换最大化的窗口" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "将窗口水平方向切换到最大化" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "将窗口垂直方向切换到最大化" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "将窗口切换到遮蔽" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "将活动窗口切换到最大化" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "将活动窗口水平方向切换到最大化" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "将活动窗口垂直方向切换到最大化" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "将活动窗口切换到遮蔽" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "转换慢速动画的使用" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "取消窗口最大化" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "取消最大化活动窗口" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "取消重定向全屏窗口" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "转换屏幕时使用漫射灯" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "垂直虚拟大小" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "窗口菜单" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "窗口屏幕快照命令行" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "应渐弱的窗口类型" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "加速" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "前进到下一个滑块" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "动画背景" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "旋转立方体时的动画背景" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "立方体顶边和底边的颜色" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "背景降色渐变使用的底部结束颜色" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "背景降色渐变使用的顶部结束颜色" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "立方体颜色" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "桌面立方体" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "折叠加速" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "折叠速度" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "折叠时间区间" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "生成可能用于更高质量缩放比例的 mipmap" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "返回上一个滑块" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "图像文件" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "要用作背景纹理的图像" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "立方体内" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "立方体内" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "应在立方体顶面显示的 PNG 和 SVG 文件列表" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "下一个滑块" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "将窗口放置在立方体上" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "上一个滑块" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "呈现背景" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "调整图像大小" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "调整图像大小以覆盖立方体的顶面" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "背景" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "背景渐变结束颜色" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "背景渐变起始颜色" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "背景图像" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "速度" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "时间区间" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "展开" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "展开立方体" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "命令" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "调整窗口大小" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "尚无装饰程序运行时运行的装饰程序命令行" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "减小阴影 X 偏移" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "减小阴影 Y 偏移" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "减小阴影半径" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "减小阴影不透明度" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "减小阴影半径" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "窗口快照" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "阴影偏移 X" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "阴影偏移 Y" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "阴影不透明度" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "阴影半径" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "窗口快照" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "窗口装饰" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "窗口装饰" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "应渐弱的窗口类型" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "应渐弱的窗口类型" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "减弱速度" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "系统嘟嘟声的减弱效果" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "映射时渐现窗口和不映射时渐弱窗口" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "调整窗口大小" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "渐弱窗口" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "全屏静音" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "系统嘟嘟声的全屏减弱效果" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "静音" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "窗口渐弱速度" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "应渐弱的窗口类型" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "点" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "增加点" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "不修改" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "不修改" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "最小化效果" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "最小化窗口" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "最小化速度" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "最小化时间区间" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "抗遮蔽性" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "抗遮蔽性" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "最小化和取消最小化窗口时进行转换" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "最小化时应转换的窗口类型" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "约束 Y" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "约束工作空间区域的 Y 坐标" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "启动窗口移动" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "移动窗口" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "移动窗口" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "不透明度" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "移动窗口的不透明度" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "拖动时删除快照并自动取消窗口的最大化" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "删除最大化窗口快照" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "开始移动窗口" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "水平虚拟大小" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "放置窗口" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "映射时将窗口放置在适当位置" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "显示最小化的窗口" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "水平虚拟大小" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "显示最小化的窗口" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "窗口放置工作区" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "应渐弱的窗口类型" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "比例模式下应缩放的窗口类型" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "工作区" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "显示最小化的窗口" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "水平虚拟大小" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "显示最小化的窗口" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "水平虚拟大小" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "桌面立方体" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "将窗口放置在立方体上" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page Down" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "逆时针旋转" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "顺时针旋转" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page Up" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "放置窗口" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "逆时针旋转" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "顺时针旋转" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "旋转到第 %d 面" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page Up" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "转换窗口快照" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "转换窗口快照" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "启动窗口大小调整" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "调整窗口大小" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "调整窗口大小" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "开始调整窗口大小" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "边缘翻转 DnD" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "边缘翻转移动" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "边缘翻转指针" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "翻转时间" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "翻转至左视点并隐藏指针" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "将对象拖至屏幕边缘时翻转到下个视点" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "将指针移至屏幕边缘时翻转到下个视点" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "将窗口移至屏幕边缘时翻转到下个视点" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "翻转至右视点并隐藏指针" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "反转 Y 轴(对于指针移动)" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "指针反转 Y" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "指针灵敏度" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "旋转立方体" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "旋转左翻" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "旋转右翻" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "逆时针旋转" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "逆时针旋转窗口" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "顺时针旋转" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "顺时针旋转窗口" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "旋转到" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "旋转到第 10 面" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "旋转到带窗口的第 10 面" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "旋转到第 10 面" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "旋转到带窗口的第 10 面" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "旋转到第 11 面" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "旋转到带窗口的第 11 面" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "旋转到第 12 面" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "旋转到带窗口的第 12 面" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "旋转到第 2 面" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "旋转到带窗口的第 2 面" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "旋转到第 3 面" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "旋转到带窗口的第 3 面" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "旋转到第 4 面" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "旋转到带窗口的第 4 面" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "旋转到第 5 面" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "旋转到带窗口的第 5 面" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "旋转到第 6 面" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "旋转到带窗口的第 6 面" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "旋转到第 7 面" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "旋转到带窗口的第 7 面" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "旋转到第 8 面" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "旋转到带窗口的第 8 面" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "旋转到第 9 面" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "旋转到带窗口的第 9 面" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "旋转桌面立方体" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "逆时针旋转" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "逆时针旋转并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "顺时针旋转" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "顺时针旋转并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "旋转到第 10 面" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "旋转到第 10 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "旋转到第 10 面" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "旋转到第 10 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "旋转到第 11 面" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "旋转到第 11 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "旋转到第 12 面" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "旋转到第 12 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "旋转到第 2 面" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "旋转到第 2 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "旋转到第 3 面" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "旋转到第 3 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "旋转到第 4 面" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "旋转到第 4 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "旋转到第 5 面" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "旋转到第 5 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "旋转到第 6 面" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "旋转到第 6 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "旋转到第 7 面" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "旋转到第 7 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "旋转到第 8 面" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "旋转到第 8 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "旋转到第 9 面" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "旋转到第 9 面并带来活动窗口" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "旋转到视点" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "旋转窗口" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "带窗口旋转" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "旋转加速" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "旋转速度" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "旋转时间区间" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "指针移动灵敏度" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "将立方体快速旋转到顶面" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "迅速移至顶面" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "开始旋转" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "翻转十点之前发生超时" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "不透明度百分比" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "背景变暗" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "调整窗口大小时背景变暗" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "悬停时间" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "启动窗口检出器" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "启动所有窗口的窗口拾取器" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "启动窗口组的窗口拾取器" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "启动当前输出窗口的窗口拾取器" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "对所有窗口调整布局并开始转换" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "对窗口组调整布局并开始转换" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "布局和开始转换窗口" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "对当前输出窗口调整布局并开始转换" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "覆盖图标" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "缩放窗口时覆盖图标" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "调整大小" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "调整窗口大小" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "缩放速度" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "缩放时间区间" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "调整窗口大小" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "窗口之间的间隔" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "间距" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "悬停在窗口上时比例模式终止前的时间(以毫秒为)" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "比例模式下应缩放的窗口类型" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "登录时自动启动该小程序" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "目录\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "拍摄屏幕快照" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "起动应用程序" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "递归到目录中" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "屏幕" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "屏幕快照命令行" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "亮度百分比" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "饱和度百分比" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "应用程序转换开关" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "自动升起" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "亮度" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "放在前面" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "将选中的窗口放在前面" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "切换窗口时应缩小远距离桌面" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "图标" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "最小化" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "下一个窗口" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "不可见时弹出切换程序并选择下一个窗口" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "不可见时弹出切换程序并选择所有窗口的下一个窗口" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "不可见时弹出切换程序并选择上一个窗口" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "不可见时弹出切换程序并选择所有窗口的上一个窗口" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "上一个窗口" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "饱和度" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "选择下一个窗口" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "选择上一个窗口" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "在缩略图旁边显示图标" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "显示最小化的窗口" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "切换程序速度" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "切换程序时间区间" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "调整窗口大小" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "切换程序中应显示的窗口类型" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "缩放" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "增加线" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "增加点" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "将水纹效果添加到不同的桌面操作" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "每次降雨效果之间的延时(以毫秒为单位)" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "启用指针水纹效果" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "线" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "偏移比例" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "点" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "电子流延迟" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "标题波纹效果" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "转换电子流" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "转换电子流效果" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "转换擦拭器" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "转换擦拭器效果" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "水纹效果" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "水纹偏移比例" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "窗口标题波纹效果" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "聚焦效果" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "聚焦窗口效果" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "聚焦窗口类型" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "摩擦" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "捕捉窗口类型" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "栅格分辨率" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "翻转的窗口快照" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "使窗口出现碎裂效果" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "图效果" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "映射窗口效果" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "图窗口类型" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "最大化效果" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "最小化栅格大小" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "最小顶点栅格大小" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "移动窗口" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "碎裂" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "翻转的快照" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "窗口快照" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "弹簧摩擦力" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "弹性 K" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "弹簧常数" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "转换窗口快照" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "对颤动窗口效果使用弹性模型" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "顶点栅格分辨率" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "聚焦时应采用颤动效果的窗口类型" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "捕捉时应采用颤动效果的窗口类型" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "映射时应采用颤动效果的窗口类型" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "移动时应采用颤动效果的窗口类型" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "最大化和取消最大化窗口时的颤动效果" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "颤动的窗口" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "过滤器线性" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "放大时使用线性过滤器" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "缩放桌面" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "放大" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "缩小" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "缩放速度" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "缩放时间区间" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "缩放和桌面立方体" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "缩放比例" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "靠接" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "工具栏" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "菜单" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "实用程序" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "Splash" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "对话框" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "常规" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "下拉菜单" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "弹出菜单" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "工具提示" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "通知" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "组合" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "模式对话框" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "全屏" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "未知" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "过滤器线性" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "俄语" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command10 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command1 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command10 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command11 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command2 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command3 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command4 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command5 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command6 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command7 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command8 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "键绑定在调用时,将运行 command9 确定的 shell 命令" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "亮度百分比" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "不透明度百分比" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "饱和度百分比" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "饱和度" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "每次降雨效果之间的延时(以毫秒为单位)" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "切换窗口时应缩小远距离桌面" + +#~ msgid "Do not modify" +#~ msgstr "不修改" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "减小阴影 X 偏移" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "减小阴影 Y 偏移" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "减小阴影不透明度" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "减小阴影半径" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "聚焦窗口效果(无,碎裂)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "选择上一个窗口" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "折叠加速 (1.0-20.0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "折叠速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "折叠时间段落 (0.1-50.0)" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "俄联邦" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "俄语" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "上升所选窗口前的时间间隔" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "对当前输出窗口调整布局并开始转换" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "图窗口效果(无,碎裂)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "最小化速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "最小化速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "最小顶点栅格大小" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "虚拟桌面数" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "不透明度更改级别" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "移动窗口的不透明度" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "移动窗口的不透明度" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "立方体颜色" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "缩放窗口时覆盖图标" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "必须先装载的插件" + +#~ msgid "Plugins that this requires" +#~ msgstr "需要的插件" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "不可见时弹出切换程序并选择所有窗口的下一个窗口" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "不可见时弹出切换程序并选择所有窗口的下一个窗口" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "不可见时弹出切换程序并选择所有窗口的上一个窗口" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "不可见时弹出切换程序并选择所有窗口的上一个窗口" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "折叠加速 (1.0-20.0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "缩放速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "缩放时间区间 (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "调整大小速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "调整大小时间段落 (0.1-50.0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "用于水平虚拟大小的屏幕大小倍增器" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "用于垂直虚拟大小的屏幕大小倍增器" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "指针移动灵敏度" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "抗遮蔽性(0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "窗口之间的间隔" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "弹簧摩擦力" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "弹簧常数" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "调整大小速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "调整大小时间段落 (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "纹理过滤(快速、好、最佳)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "屏幕刷新速率(次/秒)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "悬停在窗口上时比例模式终止前的时间(以毫秒为)" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "翻转十点之前发生超时" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "放大时使用线性过滤器" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "顶点栅格分辨率" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "水纹偏移比例" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "窗口渐弱速度" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "窗口渐弱速度" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "应渐弱的窗口类型" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "应渐弱的窗口类型" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "应渐弱的窗口类型" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "应渐弱的窗口类型" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "比例模式下应缩放的窗口类型" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "切换程序中应显示的窗口类型" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "最小化时应转换的窗口类型" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "应渐弱的窗口类型" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "聚焦时应采用颤动效果的窗口类型" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "捕捉时应采用颤动效果的窗口类型" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "映射时应采用颤动效果的窗口类型" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "移动时应采用颤动效果的窗口类型" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "应启动比例模式的热角 (TopLeft, TopRight, BottomLeft, BottomRight)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "缩放速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "缩放时间区间 (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "缩放比例" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "最小化" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "旋转到第 %d 面" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "旋转到第 %d 面" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "旋转到带窗口的第 %d 面" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "旋转到第 %d 面并显示活动窗口" + +#~ msgid "Rotate To Face %d" +#~ msgstr "旋转到第 %d 面" + +#~ msgid "Rotate to face %d" +#~ msgstr "旋转到第 %d 面" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "旋转到带窗口的第 %d 面" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "旋转到第 %d 面并显示活动窗口" + +#~ msgid "None" +#~ msgstr "无" + +#~ msgid "Emblem" +#~ msgstr "标志" + +#~ msgid "Big" +#~ msgstr "大" + +#~ msgid "Fast" +#~ msgstr "快速" + +#~ msgid "Good" +#~ msgstr "好" + +#~ msgid "Best" +#~ msgstr "最佳" + +#~ msgid "Command line %d" +#~ msgstr "命令行 %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "调用 run_command%d 时在壳层中执行的命令行" + +#~ msgid "Run command %d" +#~ msgstr "运行命令 %d" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "调用时将运行由命令 %d 确定的壳层命令的键联结" + +#~ msgid "Window Types" +#~ msgstr "窗口类型" + +#~ msgid "Move Window Types" +#~ msgstr "移动窗口类型" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "启用 ZEN 分区" + +#~ msgid "Corners" +#~ msgstr "角" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "鼠标移至窗口时聚焦该窗口" + +#~ msgid "Initiate All Windows" +#~ msgstr "启动所有窗口" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "启动键盘窗口移动" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "启动键盘窗口大小调整" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "启动窗口切换程序" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "显示所有窗口切换程序的修改键" + +#~ msgid "Return from scale view" +#~ msgstr "从比例视图返回" + +#~ msgid "Show switcher" +#~ msgstr "显示切换程序" + +#~ msgid "Sloppy Focus" +#~ msgstr "任意焦点" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "开始使用键盘移动窗口" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "开始使用键盘调整窗口大小" + +#~ msgid "Terminate" +#~ msgstr "终止" + +#~ msgid "Water effect on system beep" +#~ msgstr "系统嘟嘟声的水纹效果" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "应减弱的窗口类型(桌面、靠接、工具栏、菜单、实用程序、启动、对话框、模式对" +#~ "话框、常规、全屏和未知)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "最小化时应转换的窗口类型(桌面、靠接、工具栏、菜单、实用程序、启动、对话" +#~ "框、模式对话框、常规、全屏和未知)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "应在比例模式中调整大小的窗口类型(桌面、靠接、工具栏、菜单、实用程序、启" +#~ "动、对话框、模式对话框、常规、全屏和未知)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "应显示在转换器中的窗口类型(桌面、靠接、工具栏、菜单、实用程序、启动、对话" +#~ "框、模式对话框、常规、全屏和未知)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "聚焦时应颤动的窗口类型(桌面、靠接、工具栏、菜单、实用程序、启动、对话框、" +#~ "模式对话框、常规、全屏和未知)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "捕获时应颤动的窗口类型(桌面、靠接、工具栏、菜单、实用程序、启动、对话框、" +#~ "模式对话框、常规、全屏和未知)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "映射时应颤动的窗口类型(桌面、靠接、工具栏、菜单、实用程序、启动、对话框、" +#~ "模式对话框、常规、全屏和未知)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "移动时应颤动的窗口类型(桌面、靠接、工具栏、菜单、实用程序、启动、对话框、" +#~ "模式对话框、常规、全屏和未知)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "系统嘟嘟声的颤动效果" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo new file mode 100644 index 0000000000000000000000000000000000000000..f2195636d67c3badea92e0c05aa74023ee921635 GIT binary patch literal 28544 zcmb`N37k~LweYV7H{5Vv63NvN_t6=4FmA}IfXIw2>NDw?>46SC-IMMf7EKI`$Tm1c z7!Vlt9RyKXMm9Bxd73;Ele}yuFE7h<_jD3p;-|@H%uBxSf2z*CeY+Wm6X+kszfLXZ z)~)5#sk-ya3p+JA{AQfuIG=*u&T*WxPIa7{FPBuu8Ra_81MmSj8g5Yj1xos`t1VY5 z-&NjujZOcW^0&%fpRwt4Adhl>2G4^TcqaTaJPZB<-U`p`<~WzYzHkH_2|o>+p|tmq z%0GkWBmWihDCextI?l!LW+>0O8(suQ!p^V~c7e5!f6f#9$0MDMQ1ah^(ykxEuJAW1 zpK`6^T!-8Rir&6Z^bUeI!0~VhoCOEM@4(Yw7b=|rFNLDFE0p$@C~w#F5z0rDla!As z=P936Zc*-occbrhH~^k;z2&`7(ibYfr@Vm1N_x4nN%<4y6*t=ahvC_jTLr1=Y=fQQ z58wsxzaX#Z{1M&@FTKh3YY1M3oPg3#^Whb68Dxl@7vLH2$D033DE;z#DE;{nJRP2Q zv*X+bFM*$c55P|FK`7(~Wcq#JlAXCmcg+(CGxeiMIg`muv$5mbcWxj8M(ob(d>Gw{h_Bo$|(qGrX zPr{qwop2~T8_tDH8D|OX0uMo{{}z;XrJ?lm|3GQiC(7*mUkRn&-LNN&K*?VXMekna zYf#$v78H~6C&(0Y&gxEI!5&cF^HC`M_av0(9)i;D*Wn=eZRo--J#76lDE<2|6#Wz7 zg>V6s{#^|(fZO2t@SyTLP{#e|P{#X1DDA$8myq>;BfJ`pg!244DD~@=v!Rr4g6F~K zpgiXwl=<Hi^6@++Z~k3(tS6UqiC zdRIVc*JddFy*&?RUV=8=T-iS%8gK-vlGfZ zIim8Z= z<6g)TcOFr>LFLsde^=#SL1|Z)&p8gJ#JL)ZJWAz|%8OK9r}En>|61iPw`+Z9>Z=@5 zd6CNNRDN6KUqhLRYPe<63V=q0j2%R;id37_-XhJDE;wU z(R?6>u$-aX0`)|JzXd<)={E_e&^x(@^a2pH=<` zly;vtK<6hEJ!MeRhd>$6F)B|~c?!IW^m&@TMbr1ep`^b7U3kGg_Icf*jMr^Y`hPI& z1|Nmjz*+EOxEacOAA~o-ccAPmrw_FKS_);HhePSlaZuVZ2}(cDgVH~1p|NvN`r|d_ zn~=}`oIS|uyAVpbu2A0hS}69WFBJU`z?)$lN_(22l>Zi#=YAJTzontH?{84r zamHZV&WoYwxeki{K~Tz#)%+?=pA2O_%!Seqn_zGFO(^5>Hz@Tw53&2$rBI&pNhs~P z9?JNZLh0{*Q0C7-DDz}Al=@LP@D$c19EN3+)#prm(I-l*)Y9H1Pjd`MZNOu##+{{+M&Ifs>h*Yw** z+59gn4=O)W_ItqQPgU+${sqc=_Zp3_0*Au$;bbW7e+tTbFNVC5vlm_nJC)mhy$njZ zQYd!sb|~e?L+O{tq3D|lrQ9=6#$%1jEl|eub@&PRE|hxjL3z%H%CjqMy{=I7^id9k zU63DuQod4I59K*?;YDyAyan!s(toW`+STnr%brm54usO42cXP@Y07=d_cgzCj4eM7 z%5%diPgTy=^k<;V`%TK{;U&l~!#?nPune9t*0#4Fly;4V(w~)3`tu1W^KLDa=e+}^ zz3)QluaBU-?y#H^MoyRk_$lal| zrwU5@zN&20^fgfQAB580?<)VK`4>K9*ZVC{+B+V~cz*%Py03;(Z@u!HQ1oS>wEwSA zp4;_d``))e$-fOs`bg!Y@N(psa*lE>6#XwNe-7pS{|=@88IM?A2BrRWD&GaAe?~zm zUjya2bx_L9g7QAiP}cVbDC6?H@(`5rZ$f#_FQAnFgYtbSdOw0vuhYNTe!2jP{5dG~ zhrv(6N1(K4Dil3WLn+q;#h$KL`7M>-fzr;?9<}}56^g!VptPqKl=UzO%KDzI@_(v) z@#k&(s-Tpwh4Q?wK+!W_ef!?p9^xUQqJCsPf}b zp1T{$dVf{r4^-|{ZS(s=$selnmsM_1`BjzQR=HEymcJN^{-G+5Q@KIqW+>zMwx<6U z%KN;pbZTt=xk?wFM}7||dIu;+YkH;fOUmiWM&)YdPURuxcc9FJcc47K6-v9_gR&kv zO|bH&*zf!)hJbj`qcLhA1{A;0J-JCt?3NBK6C{`mtGJ^u^4!t*2cIk!N`zfI-);85goQ1q8{t}e_X@F9G6YLFNgHrE9wQ-qg@SHkO|{JubZHyjBMm=x<5U5gz29YT1TkRp97;R)hr!scM1K)g}o zLntHtD8Gk^%kNe5KWA>`&7@5@YC=w@cV=r#7`$&L%jG`LxPOWx#a&4%6aPl z1q$^;9zgJZ?-0on9wXdAxS4P(p_Cv#V0Xf$1hN0U2r}OC`z@gaJ+t7;gb@LqcM^Y- zwErdCt?4Y4g5Q52)e-h+>br0dWnIGeH0`HK57p%T5ut(b0bv~SkG)JdgD{-%Mbak` zzCb)j7)`vMAiv)eHWEHds3T3*i~M$482_&m@x_Fx4#jUYDY48oZN zu|J&&XA{mLG!f)?6Lrf}&t_yyfU}lx8NvI#=S7s~!Se|Tm2XhqkDhAc_o_Zgeu}W3 zP*3Pf_yl>UXnucqE@^Rs{H7Bo6YeAZ48nE9Cu-R*!35zyNxMqZ4ikTpa1ZhgnsycP zF9^RRWC(8)enlbR+F+8vhgA zs_`Lk6rm^iXA{0cyi)U?K<+_&gUa*aV2%GqIZWwcq!)qx3CjtOqh~-My({rj(&RTm zSw;NUguW_E-s^-u$X|tz!4Mp*`3s1DlK6DO{lt4|`iI2NCw?KJmiWc+62eU4m%+Zy}5!Jc|4lyqE9{;mcZ&sPk9CYQo8zDltiBL|t@r1JocMz^1?IAdnFr481;>5qJ!apEKDd$Sk z-hls2c%Ja@gcRXM(no3C&mmt#{1qs_HH1$SrjYh|EhFhG2`z+j!dErD6WoqGEKm-S z&BdJ*o>m!&RYzhI+|YLpuk!aLS)W^sRyUB@Rq^fvrZ75dl zMykWHRHP;nu68S@d8uV5Ut{UXS9$VV+5Mz9vd2l+*z=@o>~+#L_CDzv`WcQhKG;#Ma@Q)KnW zYuuXpXf#=s2x9?As*X=FYGd(~TN!o};p#|&N3q^f6R)Y!l68@(wV^tiSsSnC(Wt3R zL?%p3#lp!XhQzH4C#q;uAU|Fgs*0qhwV#;`rRr@z6y(PuwY;udK51HYyq2b`oV2pF zT8Vgy4&+s;>MJQyR~L;`nI3h^r$ka!6T=DT?)vITWi;##z>@hwa#}JKuH_xWb)==@ zC8I-;BntefJ1`s#O*09!B2q>FrsxT}R$ez=pQ@{uKA#+^3eyi%Yo}BqT$2bVC%U{_ z*cssWkVI*5Mcf^nh|^0}OfnfvPupRT4zDrU_wY)SOzC)4ebTWa&CqhS@yTK7bZJkG zl#rT{6y@T{usha_sR}YRm}Iu1b5A@PPsq!dS%Y=2jHh@FH_1Fnnsn^H=~i13we@JM zp_1$jTDnTKlq5xmsFE$ij!#KVC>pH{(ew$4P<2G6L%VvUX2+D&R>o0fb|jBxvAAVL zVrh|Fl;6EDyGNnevrz0+DE2NC`xJ_O3&nngA|1)v3QrAJ)yv9az1UsWY{P84pV#fS z%#Fyvnr-=C)KGfjDo(r=-A}j?Jx*9d&lA?r>x4D*K4A@gPFO?V6V}kLP(v)4N`#og zCnhD?0K#r45e_-`V5(hX3!H(W#3Xi}0hoyi3HFj|FGUQ8 zO|f=9SruYGoZ#(I&cJY09J7io@_bX-F0DJus>v^|8aKu+>6a!i6r~Z>)5OJ%p;A8UBQxrRek zvJpgLCDn;|9fizp?a`G!L69xRz29suNlzTDyU1wSMFvJf(Kv06BvWR0_jdi{#CUxa z6CQRSi(|vtpXj#;yI#_4g9TkDy&SKa-TpG!tjDNl9F*g|lJPDE8Ryd(Yy{g`uAjyfEO2WF z$4SwFlc@9{j#r&CI1w?&x;M*GR`V1}Awjz2cXDW=nR z2wP9x@zmLJIK?pxb;2CCtdTyd60=1HW>`$TXlvCqZanE>F$OHS;yO^# zbfKq39~GTuPP`mz>h$dF6~Hm!(MefJRfz}}UKrfMW83if6qb)2T*nI9Ih9zGP->zZ z=Rm_|q+7y>&?N8l#J)p^!WqE=Tv#V)?1WPPN!IK685WgeY|X05C`$1p26 z+eU*~g$FvnMnSSW(KjB)tm?{?^OVcxJtD$kTP%fIc3<{d?&TLeDqjtYg30k~r989m zrD$G#t!r$oF=i%@6nW9`)PfAL=+20EbttO-kC+8-;7ojqJ?D;;n~rjG(_x}sGK(Y> zbwW!iH zdd;njhGLUsf>AyauXa37Qt6hq2@iX;0#*K(aE}oO!n2k9zS0DD8 z%0B2{s$_gS`ZZ_@Kla1@t-qrUD5`kOMi{4f6b^=tm&1)yjJe0iN>t7t>@ITGqvBXQ zrEOl(?GUG!8u3nz?>w2QZA;mO>hF<-i9jot8Os{^g zj@9?4s#m{v$Ljl&*Q?*BWA**%?A7nvvHJc5_v-ii*!8_z1#em!LmITr^0A`eIBw>z zq}n67FZ##w(R}t*7fYhv-5T>eC}CxTVqq>5GLXsi3P?)vgNEMqQpDc>c5w@6hRBhb%QmtrvGRYI<>lmk#l;0ob(_Hz{ zUW+CbxdcwY8xp_os3TuFcW`03XwX|d$0j5S6Sx#m2X&k&keA2%vff}yeX>W}Yq@fJ zR4JEhg%RR(7+1uI(yhUdX4Uq3(c~HT(p+CLHB%FDmt&zwlt-baR{ekPlu9p2vV8uj zl_wbg)%$R##G|J@a_KOLBdopuJu0i*oNNm-&258IE*~!KH$d@GopR2_=78<`)0lQv zFwEi#*lh1CZKaChY=4AN#r3CIcp*OJxpF6{_a^xp5H=qBeYD^b�El`5L}jbLH(_ z00&dqUmUvx%j=?{zIaTrtc2h<|Zuo@6c= zDLp5NOonG_4-Hz>gp^`0(q{euE8NiOvm+N3PFkoo9t7Mv=!^Vs#TrTk>hzMh6D z5rn+fINyOKFCI-r>YNJi+Ny9t`3Kj$ZIQDfOVP76&V#WUE|C@XHt50Fq!?cuNb~yD zJ4ysn3VMyA-k&wNfvaUZGm_4OyuAETg>*tx&MkH>>IJ>bQm^^+rxZ@wr7M#-YHswV z#49VgI?#Tyx7E&rsfb)UJ2GXw%MA>^ceCuxq{8dn;4S!A)|;FT(WR=n61Uln=G{2p0rOEG5^4a_{!zTf8Onl6^6wuxjL~C zYh_JA-^nqOJhYBWl!Bv!$>DIocSUDZA}(KNN`_UJFgi(kr9YciZC&KC&ZEQf&8K8U zazdoKWI+9dWJyK5zuS4#{S_tmaNjL=C?x|Kul{cL($YR9rM*hZ%G|OZ{Y$%-l=dtw zrC`ZuJ~W8Ve7W8wrM*kKQ?7Ua?!7w?4<%D2W~D?!w5Gp15+lf^_V7?_LcLtXe-0~c zVt2(%&Mo+AcTmkHmQ;j8wI8?Ah+!iJ<=?UFmeS6A%1yCRmsCuv<0a&F|5nC561&Z< znixtj>280pVsJ^{d^xiw!ikbWv8uRyMeFbOt&F5PJL#r1*(F;u%V(x{&q=S@-?pwH zyKk{KH_F_$ozJG{ZfbpbL3-oTbo0XO)&=PUjhTiytp_(|S3H?%n3r3)H@o-A^rE@{ zL{sU>Q+4uM)%~P3s>eyw)bpfi>UGjI^*(8u`kXXPeNUREejU;@e{F918mG18V0uAQ z`cNb5BJ=c0Sr>;Ioy^kR>Gi9#`&VczcW|}FGQ0O=URs}>_j0CbZhG$S)|Q3oMGdlo z)-~i-tw&Ys;bte(xUy}|ORX&nT3e>45ADs&Z%QA2Avl-qDP{Y*nZUiW-<u?&h*UX1sS$eGEIB3i=JZ4vQN{IrYq>^ zMf6gpd3tNh{PYVO9c*82MoYSJY1`(d+3m}UvoUjwh>Xj@P3c`LvQKVy(#>0KSv2Ic zkGzs@d>&=eq}iJ&#{|f3F*9ZE?zU|&+A20cP!X3__Mx1yfi2TbGipIdIaJ<1Myygc<(^GPaxhm5bvkkj{L1q{;%?w zPP`;z6x_AwT;1Sg=u>Csw`piB<1&V%7Ve zSoMA#sh-_A4~v{_*_ByxgugauJJ{kJos{0aFf(VK81(&{#6mp7_A)EIaC&;p8ppQ~ zc6mFQ70c2MOWS5OWR^egv~7O{yJu~QHT+EJf)eS?Gc&83GcP`qX`a`%VO4I!5o@wD zJ2%L>F`nQb4>hFc&B-jCv0Ih)7=2~-Wjdb`O7Cuz_U&JlTe;pD$lvDW4mOIzYxigV zFpt4Y&uGNZdr4+I3zE_c=ckW+t)Lrhb(>N6hk3b~^RxRmWM4VRhHL&dFPLEW6DOF2 zHOp*W?m6H_2>KgNX8$^N$Xf-oH?b44)gNyUE+}qY7TNDI&#q1Hep2R<(PO)cDI%L< z<9yi=w`|BQ-&jzLec9}&>^Wv*H4VWKJNQVM>05F$p3b~-MEnE$vM6Vqo%E6E>HV8C z+t*Wz*>3Y%TQ;-b*;j4bH9viLy=>drdD~hK?#nD#npyc0>%_W9wr@~oYm%-$)$|3v zQmJf}KUwz!l_Kp6f%Di6VOMXj^{d&gL@CLvL`cUIWI+?E>$S$3qwhpNkba1U; zdy@{$tyn_gZJEWJ)ALt4z9*TFwe8%@TKwnUnP2r7Qv~m)ZPsDymSk4$$?bSHy?933 zOWS=DlwGnuyJU?!!u$oG)Aq`e^vczEP{sakX6+#+2=ghkdXY@l+=>_4mNmBRe~AfW zO<{WOGTRrLN6W-tF|&-BV!brA4!P+s%Dgw;s;=v;>u}ele~jWx^LDX$#>S%9H%1Pt zDE;zFZOd0?7C)EXxCKLiHEGT^E%zp>wP84tlH0J9w<3utFPW=p9}@$+peE^%h@99fkNm{q&wTEVt9y|;mB;^by8 z%pTsw9LgBTVqU+b$L4!Yzt+U&*Dty*!@ARniXum zm*g#`V%e6;Kh!Qxe{tnA(yM1?SMJGY__5+c7VR%eYDZ^LiDKpH`D-wFZR@s5Cu1O3 zU4e!hSsU)>7ir8_^sKk1$XXfCfP1N0-r7iA16H@pgoCRKGSt!r|1!@mc5PIF(B931 zy^NT?K+9vP+vYy!(} zdtgcyTt^fL`qshrF(V7?oGh-UHMU{-VX$-9!QYe3(HiKZ-C?drScq&ra-a?t#T{q) z>)TSqcW3;`Zc8xPb2GMOoA$LH7JHGOePom8uTGpr?tqL>R$zH-Qf}4UOjD!r$C_C! z3uOs;cP3^t*}=Bur--wKT{1TnzDMH?*&tRiMVPodbv7+j$pjdP=iPSRWqT*)*x>;?47p?RA_vBbX#S%Hkw^Xp@AG zq^^;A);3iHuU26ZKh@S}w~Ea+^pMEc-v$y)bIhgh359$mhi;V zBDpBPdtr8uLa}F|*sDOL;s&*vK3V{(n}c_HT0neQBUsfEsjb-k=-nRmc)Gj_Et zIh=d;pxluZ3d?uPVcU4P_O_3^%|MbpO4_7C2i2A`SAUKkf9y4c9L4;DgMLS|QzH2F zEOkhgx1#LcMVVD=^d`9|PtUOC zBT~Mecm2?^GBaDgU&roas4Y_*nL0Z~u$(e&&kB z<}pd+Qe^f%d*`S+pJ}k)1@$7*tKtL;6)Dmy8a-_Qu6a4#m@86VJhyhI?O%IEOZEiG~&vc2Y+4|A0eJj-Z)aDMAi&iD4c?hKp}5qjy}mxVE!#xzih0w7xvs zzjt@#_+-8(7OY%zt48k~VR&o}z8&bzu6LQsI*>bFeT~f4<+*hY@@0I_g8UImyTE** zrC0J9_IQ5GYL_)7%706AQHrf2Wx+EZhkdgSU-4md0zbAiE~ zQhrI96b8{=jCo7-g(fDvlQ!^|J~tKHxhB9Q=`zb}F>9H>Ybf~YU7YP-H`}M!Y6Xvbu35Y%)3hNydmi@ytK=)%qNSO|`Ypotq%EiG*-qT_?C1QyT;RJ@ z{w{?F>qWF3)`AP+g1d93hyQ0Da(j$Wa5G|G#LjxU#ZG)32z^QOEl&F@zef~g>L2WFFAIj-zt^^ZCuaIl=VGu^#m43z vW7J3UW_adxi`#nvww9#5FXc%k~E#dxME|$#axctP@?CA^Tk2?N8l;<`q literal 0 HcmV?d00001 diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..5c41273 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,3692 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Compiz\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-11 13:02-0400\n" +"PO-Revision-Date: 2006-06-21 16:26\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "桌面" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +#, fuzzy +msgid "Window Management" +msgstr "視窗功能表" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +#, fuzzy +msgid "Blur type" +msgstr "摺疊速度" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +#, fuzzy +msgid "Metacity theme active window opacity" +msgstr "降低視窗不透明度" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +#, fuzzy +msgid "Metacity theme active window opacity shade" +msgstr "將作用中視窗水平最大化" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "起始化" + +#: ../metadata/annotate.xml.in.h:2 +#, fuzzy +msgid "Annotate Fill Color" +msgstr "立方體色彩" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "主動式外掛程式" + +#: ../metadata/annotate.xml.in.h:5 +#, fuzzy +msgid "Clear" +msgstr "清除(_C)" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +msgid "Initiate" +msgstr "起始化" + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "起始化視窗調整大小" + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "起始化視窗調整大小" + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "起始化" + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +#, fuzzy +msgid "Alpha Blur" +msgstr "調整視窗比例" + +#: ../metadata/blur.xml.in.h:2 +#, fuzzy +msgid "Alpha blur windows" +msgstr "調整視窗比例" + +#: ../metadata/blur.xml.in.h:3 +#, fuzzy +msgid "Blur Filter" +msgstr "材質過濾器" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "飽和度" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "飽和度" + +#: ../metadata/blur.xml.in.h:6 +#, fuzzy +msgid "Blur Speed" +msgstr "摺疊速度" + +#: ../metadata/blur.xml.in.h:7 +#, fuzzy +msgid "Blur Windows" +msgstr "放置視窗" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "飽和度" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "調整視窗比例" + +#: ../metadata/blur.xml.in.h:11 +#, fuzzy +msgid "Blur windows that doesn't have focus" +msgstr "應該要在定焦時搖擺的視窗類型" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +#, fuzzy +msgid "Focus Blur" +msgstr "調整視窗比例" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "調整視窗比例" + +#: ../metadata/blur.xml.in.h:15 +#, fuzzy +msgid "Gaussian Radius" +msgstr "俄羅斯聯邦" + +#: ../metadata/blur.xml.in.h:16 +#, fuzzy +msgid "Gaussian Strength" +msgstr "俄語" + +#: ../metadata/blur.xml.in.h:17 +#, fuzzy +msgid "Gaussian radius" +msgstr "俄羅斯聯邦" + +#: ../metadata/blur.xml.in.h:18 +#, fuzzy +msgid "Gaussian strength" +msgstr "俄語" + +#: ../metadata/blur.xml.in.h:19 +#, fuzzy +msgid "Mipmap LOD" +msgstr "Mipmap" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +#, fuzzy +msgid "Pulse effect" +msgstr "定焦特效" + +#: ../metadata/blur.xml.in.h:23 +#, fuzzy +msgid "Window blur speed" +msgstr "Window 淡出/淡入速度" + +#: ../metadata/blur.xml.in.h:24 +#, fuzzy +msgid "Windows that should be affected by focus blur" +msgstr "應該淡出/淡入的視窗類型" + +#: ../metadata/blur.xml.in.h:25 +#, fuzzy +msgid "Windows that should be use alpha blur by default" +msgstr "應該淡出/淡入的視窗類型" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +#, fuzzy +msgid "Clone Output" +msgstr "輸出" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "視訊模式選項" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +#, fuzzy +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "啟用時將執行經 command10 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "啟用時將執行經 command1 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "啟用時將執行經 command10 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "啟用時將執行經 command11 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "啟用時將執行經 command2 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "啟用時將執行經 command3 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "啟用時將執行經 command4 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "啟用時將執行經 command5 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "啟用時將執行經 command6 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "啟用時將執行經 command7 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "啟用時將執行經 command8 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "啟用時將執行經 command9 識別之外圍程序指令的按鍵組合" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "主動式外掛程式" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "使全螢幕的描繪動作不會重新導向到幕後 Pixmap" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "聲訊鈴聲" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "系統發出嗶聲時啟用聲訊" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "自動發出" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "自動發出延遲" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "自動偵測輸出設備" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "自動偵測重新整理速率" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "按一下以定焦" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "在視窗上按一下便可將輸入焦點移動到該視窗" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "關閉視窗" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "關閉作用中視窗" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "指令行 10" + +#: ../metadata/core.xml.in.h:26 +msgid "Command line 1" +msgstr "指令行 1" + +#: ../metadata/core.xml.in.h:27 +msgid "Command line 10" +msgstr "指令行 10" + +#: ../metadata/core.xml.in.h:28 +msgid "Command line 11" +msgstr "指令行 11" + +#: ../metadata/core.xml.in.h:29 +msgid "Command line 2" +msgstr "指令行 2" + +#: ../metadata/core.xml.in.h:30 +msgid "Command line 3" +msgstr "指令行 3" + +#: ../metadata/core.xml.in.h:31 +msgid "Command line 4" +msgstr "指令行 4" + +#: ../metadata/core.xml.in.h:32 +msgid "Command line 5" +msgstr "指令行 5" + +#: ../metadata/core.xml.in.h:33 +msgid "Command line 6" +msgstr "指令行 6" + +#: ../metadata/core.xml.in.h:34 +msgid "Command line 7" +msgstr "指令行 7" + +#: ../metadata/core.xml.in.h:35 +msgid "Command line 8" +msgstr "指令行 8" + +#: ../metadata/core.xml.in.h:36 +msgid "Command line 9" +msgstr "指令行 9" + +#: ../metadata/core.xml.in.h:37 +#, fuzzy +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "啟用 run_command10 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "啟用 run_command1 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "啟用 run_command10 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "啟用 run_command11 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "啟用 run_command2 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "啟用 run_command3 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "啟用 run_command4 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "啟用 run_command5 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "啟用 run_command6 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "啟用 run_command7 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "啟用 run_command8 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "啟用 run_command9 時要在外圍程序中執行的指令行" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "降低不透明度" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "降低視窗不透明度" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "預設圖示" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "預設的視窗圖示影像" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "偵測輸出" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "偵測重新整理速率" + +#: ../metadata/core.xml.in.h:55 +#, fuzzy +msgid "Focus Prevention Windows" +msgstr "定焦視窗類型" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "定焦視窗類型" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "隱藏跳過工作列視窗" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "隱藏全部視窗並定焦桌面" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "進入顯示桌面模式時隱藏未在工作列的視窗" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "水平虛擬大小" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "最大化時忽略提示" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "視窗最大化時忽略大小增量與畫面提示" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "提高不透明度" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "提高視窗不透明度" + +#: ../metadata/core.xml.in.h:67 +#, fuzzy +msgid "Interval before raising selected windows" +msgstr "提高選定視窗的時間間隔" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "光源" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "最新主動式外掛程式清單" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "描述輸出設備的字串清單" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "降低視窗高度" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "將視窗降低到其他視窗之下" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "最大化視窗" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "將視窗水平最大化" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "將視窗垂直最大化" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "最大化作用中視窗" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "將作用中視窗水平最大化" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "將作用中視窗垂直最大化" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "最小化視窗" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "最小化作用中視窗" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "桌面數" + +#: ../metadata/core.xml.in.h:83 +#, fuzzy +msgid "Number of virtual desktops" +msgstr "虛擬桌面數" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "只在垂直空白期間執行螢幕更新" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "不透明度間隔" + +#: ../metadata/core.xml.in.h:86 +#, fuzzy +msgid "Opacity change step" +msgstr "不透明度變更間隔" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +#, fuzzy +msgid "Opacity windows" +msgstr "視窗間隔" + +#: ../metadata/core.xml.in.h:90 +#, fuzzy +msgid "Open a terminal" +msgstr "在終端機執行" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "開啟視窗功能表" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "輸出" + +#: ../metadata/core.xml.in.h:93 +#, fuzzy +msgid "Ping Delay" +msgstr "下雨延遲" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "按一下時提高" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "提高視窗" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "在時間間隔後提高選定視窗" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "將視窗提高到比其他視窗高" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "在按一下時提高視窗高度" + +#: ../metadata/core.xml.in.h:99 +msgid "Refresh Rate" +msgstr "重新整理速率" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "執行對話方塊" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "執行指令 10" + +#: ../metadata/core.xml.in.h:102 +msgid "Run command 1" +msgstr "執行指令 1" + +#: ../metadata/core.xml.in.h:103 +msgid "Run command 10" +msgstr "執行指令 10" + +#: ../metadata/core.xml.in.h:104 +msgid "Run command 11" +msgstr "執行指令 11" + +#: ../metadata/core.xml.in.h:105 +msgid "Run command 2" +msgstr "執行指令 2" + +#: ../metadata/core.xml.in.h:106 +msgid "Run command 3" +msgstr "執行指令 3" + +#: ../metadata/core.xml.in.h:107 +msgid "Run command 4" +msgstr "執行指令 4" + +#: ../metadata/core.xml.in.h:108 +msgid "Run command 5" +msgstr "執行指令 5" + +#: ../metadata/core.xml.in.h:109 +msgid "Run command 6" +msgstr "執行指令 6" + +#: ../metadata/core.xml.in.h:110 +msgid "Run command 7" +msgstr "執行指令 7" + +#: ../metadata/core.xml.in.h:111 +msgid "Run command 8" +msgstr "執行指令 8" + +#: ../metadata/core.xml.in.h:112 +msgid "Run command 9" +msgstr "執行指令 9" + +#: ../metadata/core.xml.in.h:113 +#, fuzzy +msgid "Screen size multiplier for horizontal virtual size" +msgstr "水平虛擬大小的螢幕大小倍數" + +#: ../metadata/core.xml.in.h:114 +#, fuzzy +msgid "Screen size multiplier for vertical virtual size" +msgstr "垂直虛擬大小的螢幕大小倍數" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "螢幕擷取指令行" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "顯示主功能表" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "顯示執行應用程式對話方塊" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "顯示主功能表" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "減慢動畫速度" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "同步化到 VBlank" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "擷取螢幕畫面" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "擷取視窗螢幕畫面" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "螢幕擷取指令行" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "材質過濾器" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "材質篩選" + +#: ../metadata/core.xml.in.h:126 +#, fuzzy +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "螢幕重新描繪的速率 (次數/秒)" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "將視窗切換到最大" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "將視窗水平切換到最大" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "將視窗垂直切換到最大" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "將視窗切換到遮蔽" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "將使用中視窗切換到最大" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "將使用中視窗水平切換到最大" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "將使用中視窗垂直切換到最大" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "將使用中視窗切換到遮蔽" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "切換使用減慢動畫速度" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "視窗解除最大化" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "作用中視窗解除最大化" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "全螢幕視窗解除重新導向" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "在螢幕轉換時使用擴散光" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "垂直虛擬大小" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "視窗功能表" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "視窗螢幕擷取指令行" + +#: ../metadata/core.xml.in.h:143 +#, fuzzy +msgid "Windows that should be translucent by default" +msgstr "應該淡出/淡入的視窗類型" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "加速" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "換至下一張投影片" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "顯示天空頂動畫" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "旋轉立方體時顯示天空頂動畫" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "立方體的頂面和底面顏色" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "要使用的天空頂後援漸層之底部色彩停止點" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "要使用的天空頂後援漸層之頂部色彩停止點" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "立方體色彩" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "桌面立方體" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "摺疊加速" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "摺疊速度" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "摺疊時間間隔" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "在可能使用更高品質比例時產生 Mipmap" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "返回上一張投影片" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "影像檔" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "用來作為天空頂材質的影像" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "立方體內部" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "立方體內部" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "應該要描繪至立方體頂面的 PNG 和 SVG 檔案清單" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "Mipmap" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "下一張投影片" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "將視窗放到立方體" + +#: ../metadata/cube.xml.in.h:27 +#, fuzzy +msgid "Prev Slide" +msgstr "上一張投影片" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "描繪天空頂" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "調整影像比例" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "調整影像比例以覆蓋立方體頂面" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "天空頂" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "天空頂漸層結束色彩" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "天空頂漸層開始色彩" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "天空頂影像" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "速度" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "時間間隔" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "展開" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "展開立方體" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +msgid "Command" +msgstr "指令" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "調整視窗比例" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "如果沒有裝飾程式正在執行,則需執行的裝飾程式指令行。" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "投影 X 軸偏移" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "投影 Y 軸偏移" + +#: ../metadata/decoration.xml.in.h:7 +#, fuzzy +msgid "Drop shadow color" +msgstr "投影半徑" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "投影半徑不透明度" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "投影半徑" + +#: ../metadata/decoration.xml.in.h:11 +#, fuzzy +msgid "Shadow Color" +msgstr "嵌入視窗" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "陰影偏移 X 軸" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "陰影偏移 Y 軸" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "陰影不透明度" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "陰影半徑" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "嵌入視窗" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "視窗裝飾" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "視窗裝飾" + +#: ../metadata/decoration.xml.in.h:19 +#, fuzzy +msgid "Windows that should be decorated" +msgstr "應該淡出/淡入的視窗類型" + +#: ../metadata/decoration.xml.in.h:20 +#, fuzzy +msgid "Windows that should have a shadow" +msgstr "應該淡出/淡入的視窗類型" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "淡出/淡入速度" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "系統發出嗶聲時啟用淡出/淡入特效" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "在映射時淡入視窗,以及在解除映射時淡出視窗" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "調整視窗比例" + +#: ../metadata/fade.xml.in.h:7 +msgid "Fading Windows" +msgstr "視窗淡出中" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "全螢幕警示鈴聲" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "系統發出嗶聲時啟用全螢幕淡出/淡入特效" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "警示鈴聲" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "Window 淡出/淡入速度" + +#: ../metadata/fade.xml.in.h:12 +#, fuzzy +msgid "Windows that should be fading" +msgstr "應該淡出/淡入的視窗類型" + +#: ../metadata/fs.xml.in.h:1 +#, fuzzy +msgid "Mount Point" +msgstr "點" + +#: ../metadata/fs.xml.in.h:2 +#, fuzzy +msgid "Mount point" +msgstr "新增點" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +#, fuzzy +msgid "Ini" +msgstr "不要修改" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +#, fuzzy +msgid "Inotify" +msgstr "不要修改" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "最小化特效" + +#: ../metadata/minimize.xml.in.h:2 +#, fuzzy +msgid "Minimize Windows" +msgstr "最小化視窗" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "最小化速度" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "最小化時間間隔" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "遮蔽阻力" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "遮蔽阻力" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "在最小化和解除最小化時轉換視窗" + +#: ../metadata/minimize.xml.in.h:10 +#, fuzzy +msgid "Windows that should be transformed when minimized" +msgstr "最小化時應該轉換的視窗類型" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "等比縮放 Y 軸" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "等比縮放 Y 軸對應到工作環境區域" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "起始化視窗移動" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "移動視窗" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "移動視窗" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "不透明度" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "移動視窗的不透明度" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "在拖曳已最大化視窗時為其解除嵌入和自動解除最大化" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "解除嵌入最大化視窗" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "開始移動視窗" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +#, fuzzy +msgid "Horizontal viewport positions" +msgstr "水平虛擬大小" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "放置視窗" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "在映射時將視窗放置到適當位置" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "顯示最小化的視窗" + +#: ../metadata/place.xml.in.h:7 +#, fuzzy +msgid "Vertical viewport positions" +msgstr "水平虛擬大小" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "顯示最小化的視窗" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "視窗位置解決方式" + +#: ../metadata/place.xml.in.h:10 +#, fuzzy +msgid "Windows that should be positioned by default" +msgstr "應該淡出/淡入的視窗類型" + +#: ../metadata/place.xml.in.h:11 +#, fuzzy +msgid "Windows that should be positioned in specific viewports by default" +msgstr "應該要在調整比例模式中調整比例的視窗類型" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "解決方式" + +#: ../metadata/place.xml.in.h:13 +#, fuzzy +msgid "X Positions" +msgstr "顯示最小化的視窗" + +#: ../metadata/place.xml.in.h:14 +#, fuzzy +msgid "X Viewport Positions" +msgstr "水平虛擬大小" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +#, fuzzy +msgid "Y Positions" +msgstr "顯示最小化的視窗" + +#: ../metadata/place.xml.in.h:17 +#, fuzzy +msgid "Y Viewport Positions" +msgstr "水平虛擬大小" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +#, fuzzy +msgid "Desktop Plane" +msgstr "桌面立方體" + +#: ../metadata/plane.xml.in.h:2 +#, fuzzy +msgid "Place windows on a plane" +msgstr "將視窗放到立方體" + +#: ../metadata/plane.xml.in.h:3 +#, fuzzy +msgid "Plane Down" +msgstr "Page Down" + +#: ../metadata/plane.xml.in.h:4 +#, fuzzy +msgid "Plane Left" +msgstr "往左旋轉" + +#: ../metadata/plane.xml.in.h:5 +#, fuzzy +msgid "Plane Right" +msgstr "往右旋轉" + +#: ../metadata/plane.xml.in.h:6 +#, fuzzy +msgid "Plane To Face 1" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:7 +#, fuzzy +msgid "Plane To Face 10" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:8 +#, fuzzy +msgid "Plane To Face 11" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:9 +#, fuzzy +msgid "Plane To Face 12" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:10 +#, fuzzy +msgid "Plane To Face 2" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:11 +#, fuzzy +msgid "Plane To Face 3" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:12 +#, fuzzy +msgid "Plane To Face 4" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:13 +#, fuzzy +msgid "Plane To Face 5" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:14 +#, fuzzy +msgid "Plane To Face 6" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:15 +#, fuzzy +msgid "Plane To Face 7" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:16 +#, fuzzy +msgid "Plane To Face 8" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:17 +#, fuzzy +msgid "Plane To Face 9" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:18 +#, fuzzy +msgid "Plane Up" +msgstr "Page Up" + +#: ../metadata/plane.xml.in.h:19 +#, fuzzy +msgid "Plane down" +msgstr "放置視窗" + +#: ../metadata/plane.xml.in.h:20 +#, fuzzy +msgid "Plane left" +msgstr "往左旋轉" + +#: ../metadata/plane.xml.in.h:21 +#, fuzzy +msgid "Plane right" +msgstr "往右旋轉" + +#: ../metadata/plane.xml.in.h:22 +#, fuzzy +msgid "Plane to face 1" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:23 +#, fuzzy +msgid "Plane to face 10" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:24 +#, fuzzy +msgid "Plane to face 11" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:25 +#, fuzzy +msgid "Plane to face 12" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:26 +#, fuzzy +msgid "Plane to face 2" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:27 +#, fuzzy +msgid "Plane to face 3" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:28 +#, fuzzy +msgid "Plane to face 4" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:29 +#, fuzzy +msgid "Plane to face 5" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:30 +#, fuzzy +msgid "Plane to face 6" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:31 +#, fuzzy +msgid "Plane to face 7" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:32 +#, fuzzy +msgid "Plane to face 8" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:33 +#, fuzzy +msgid "Plane to face 9" +msgstr "往面 %d 旋轉" + +#: ../metadata/plane.xml.in.h:34 +#, fuzzy +msgid "Plane up" +msgstr "Page Up" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +#, fuzzy +msgid "Regex Matching" +msgstr "切換視窗嵌入" + +#: ../metadata/regex.xml.in.h:2 +#, fuzzy +msgid "Regex window matching" +msgstr "切換視窗嵌入" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +msgid "Initiate Window Resize" +msgstr "起始化視窗調整大小" + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "調整大小視窗" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "調整大小視窗" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "開始調整視窗大小" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "邊緣翻轉 DnD" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "邊緣翻轉移動" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "邊緣翻轉指標" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "翻轉時間" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "往左檢視區翻轉並使指標變形" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "將物件拖曳到螢幕邊緣時翻轉到下一個檢視區" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "將指標移動到螢幕邊緣時翻轉到下一個檢視區" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "將視窗移動到螢幕邊緣時翻轉到下一個檢視區" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "往右檢視區翻轉並使指標變形" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "指標移動時反轉 Y 軸" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "指標反轉 Y 軸" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "指標靈敏度" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "旋轉立方體" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "往左旋轉翻轉" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "往右旋轉翻轉" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "往左旋轉" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "隨視窗往左旋轉" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "往右旋轉" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "隨視窗往右旋轉" + +#: ../metadata/rotate.xml.in.h:22 +msgid "Rotate To" +msgstr "旋轉至" + +#: ../metadata/rotate.xml.in.h:23 +#, fuzzy +msgid "Rotate To Face 1" +msgstr "往面 10 旋轉" + +#: ../metadata/rotate.xml.in.h:24 +#, fuzzy +msgid "Rotate To Face 1 with Window" +msgstr "隨視窗往面 10 旋轉" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "往面 10 旋轉" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "隨視窗往面 10 旋轉" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "往面 11 旋轉" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "隨視窗往面 11 旋轉" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "往面 12 旋轉" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "隨視窗往面 12 旋轉" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "往面 2 旋轉" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "隨視窗往面 2 旋轉" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "往面 3 旋轉" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "隨視窗往面 3 旋轉" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "往面 4 旋轉" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "隨視窗往面 4 旋轉" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "往面 5 旋轉" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "隨視窗往面 5 旋轉" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "往面 6 旋轉" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "隨視窗往面 6 旋轉" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "往面 7 旋轉" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "隨視窗往面 7 旋轉" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "往面 8 旋轉" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "隨視窗往面 8 旋轉" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "往面 9 旋轉" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "隨視窗往面 9 旋轉" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "旋轉桌面立方體" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "往左旋轉" + +#: ../metadata/rotate.xml.in.h:49 +#, fuzzy +msgid "Rotate left and brind active window along" +msgstr "往左旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "往右旋轉" + +#: ../metadata/rotate.xml.in.h:51 +#, fuzzy +msgid "Rotate right and brind active window along" +msgstr "往右旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:52 +#, fuzzy +msgid "Rotate to face 1" +msgstr "往面 10 旋轉" + +#: ../metadata/rotate.xml.in.h:53 +#, fuzzy +msgid "Rotate to face 1 and bring active window along" +msgstr "往面 10 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "往面 10 旋轉" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "往面 10 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "往面 11 旋轉" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "往面 11 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "往面 12 旋轉" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "往面 12 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "往面 2 旋轉" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "往面 2 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "往面 3 旋轉" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "往面 3 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "往面 4 旋轉" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "往面 4 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "往面 5 旋轉" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "往面 5 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "往面 6 旋轉" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "往面 6 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "往面 7 旋轉" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "往面 7 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "往面 8 旋轉" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "往面 8 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "往面 9 旋轉" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "往面 9 旋轉並隨同作用中視窗一起旋轉" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "往檢視區旋轉" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "旋轉視窗" + +#: ../metadata/rotate.xml.in.h:78 +msgid "Rotate with window" +msgstr "隨視窗旋轉" + +#: ../metadata/rotate.xml.in.h:79 +msgid "Rotation Acceleration" +msgstr "旋轉加速" + +#: ../metadata/rotate.xml.in.h:80 +msgid "Rotation Speed" +msgstr "旋轉速度" + +#: ../metadata/rotate.xml.in.h:81 +msgid "Rotation Timestep" +msgstr "旋轉時間間隔" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "指標移動靈敏度" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "嵌入立方體旋轉至頂面" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "嵌入至頂面" + +#: ../metadata/rotate.xml.in.h:86 +msgid "Start Rotation" +msgstr "開始旋轉" + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "逾時多久需翻轉檢視區" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "不透明度比例" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "暗化背景" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "調整視窗比例時暗化背景" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "停留時間" + +#: ../metadata/scale.xml.in.h:5 +msgid "Initiate Window Picker" +msgstr "起始化視窗選擇器" + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "啟始化所有視窗的視窗選擇器" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "啟始化視窗群組的視窗選擇器" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "在目前輸出啟始化群組的視窗選擇器" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "配置並開始轉換所有視窗" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "配置並開始轉換視窗群組" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "配置和開始轉換視窗" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "在目前輸出配置並開始轉換視窗" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "重疊圖示" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "調整視窗比例後在上面重疊圖示" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "調整比例" + +#: ../metadata/scale.xml.in.h:17 +#, fuzzy +msgid "Scale Windows" +msgstr "調整視窗比例" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "調整比例速度" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "調整比例時間間隔" + +#: ../metadata/scale.xml.in.h:20 +msgid "Scale windows" +msgstr "調整視窗比例" + +#: ../metadata/scale.xml.in.h:21 +msgid "Space between windows" +msgstr "視窗間隔" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "間距" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "停留在視窗上多久 (毫秒) 後停止調整比例模式" + +#: ../metadata/scale.xml.in.h:26 +#, fuzzy +msgid "Windows that should be scaled in scale mode" +msgstr "應該要在調整比例模式中調整比例的視窗類型" + +#: ../metadata/screenshot.xml.in.h:1 +#, fuzzy +msgid "Automatically open screenshot in this application" +msgstr "登入時自動啟動 applet" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "目錄\n" + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "擷取螢幕畫面" + +#: ../metadata/screenshot.xml.in.h:5 +#, fuzzy +msgid "Launch Application" +msgstr "啟動應用程式" + +#: ../metadata/screenshot.xml.in.h:6 +#, fuzzy +msgid "Put screenshot images in this directory" +msgstr "遞迴搜尋此目錄" + +#: ../metadata/screenshot.xml.in.h:7 +#, fuzzy +msgid "Screenshot" +msgstr "螢幕" + +#: ../metadata/screenshot.xml.in.h:8 +#, fuzzy +msgid "Screenshot plugin" +msgstr "螢幕擷取指令行" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "亮度比例" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "飽和度比例" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "應用程式切換器" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "自動發出" + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "亮度" + +#: ../metadata/switcher.xml.in.h:7 +msgid "Bring To Front" +msgstr "提到最上層" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "將選取視窗提到最上層" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "切換視窗時桌面應縮小的距離" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "圖示" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "最小化" + +#: ../metadata/switcher.xml.in.h:14 +msgid "Next window" +msgstr "下一個視窗" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "看不到切換器時快顯切換器,並選取下一個視窗" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "看不到切換器時快顯切換器,並從所有視窗選取下一個視窗" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "看不到切換器時快顯切換器,並選取上一個視窗" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "看不到切換器時快顯切換器,並從所有視窗選取上一個視窗" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "上一個視窗" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +msgid "Saturation" +msgstr "飽和度" + +#: ../metadata/switcher.xml.in.h:23 +msgid "Select next window" +msgstr "選取下一個視窗" + +#: ../metadata/switcher.xml.in.h:24 +msgid "Select previous window" +msgstr "選取上一個視窗" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "顯示圖示於縮圖旁" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "顯示最小化的視窗" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "切換器速度" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "切換器時間間隔" + +#: ../metadata/switcher.xml.in.h:30 +#, fuzzy +msgid "Switcher windows" +msgstr "調整視窗比例" + +#: ../metadata/switcher.xml.in.h:32 +#, fuzzy +msgid "Windows that should be shown in switcher" +msgstr "應該要顯示在切換器中的視窗類型" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "縮放" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "新增線" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "新增點" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "新增水波特效到不同的桌面動作" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "每滴雨之間的延遲 (毫秒)" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "啟用指標水波特效" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "線" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "偏移比例" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "點" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "下雨延遲" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "標題波紋" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "切換下雨" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "切換下雨特效" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "切換雨刷" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "切換雨刷效果" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "水波特效" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "水波偏移比例" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "視窗標題的波紋效果" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "定焦特效" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "定焦視窗特效" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "定焦視窗類型" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "摩擦力" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "抓取視窗類型" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "格線解析度" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "反轉視窗嵌入" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "讓視窗晃動" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "映射特效" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "映射視窗特效" + +#: ../metadata/wobbly.xml.in.h:11 +#, fuzzy +msgid "Map Windows" +msgstr "映射視窗類型" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "最大化特效" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "最小格線大小" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "最小頂點格線大小" + +#: ../metadata/wobbly.xml.in.h:15 +#, fuzzy +msgid "Move Windows" +msgstr "移動視窗" + +# 'driver' as in '(hardware) driver update' +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "晃動" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "嵌入反轉" + +#: ../metadata/wobbly.xml.in.h:18 +msgid "Snap windows" +msgstr "嵌入視窗" + +#: ../metadata/wobbly.xml.in.h:19 +msgid "Spring Friction" +msgstr "彈簧摩擦力" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "彈簧 K 值" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "彈簧常數" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "切換視窗嵌入" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "針對搖擺視窗特效使用彈簧模式" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "頂點格線解析度" + +#: ../metadata/wobbly.xml.in.h:25 +#, fuzzy +msgid "Windows that should wobble when focused" +msgstr "應該要在定焦時搖擺的視窗類型" + +#: ../metadata/wobbly.xml.in.h:26 +#, fuzzy +msgid "Windows that should wobble when grabbed" +msgstr "應該要在抓取時搖擺的視窗類型" + +#: ../metadata/wobbly.xml.in.h:27 +#, fuzzy +msgid "Windows that should wobble when mapped" +msgstr "應該要在映射時搖擺的視窗類型" + +#: ../metadata/wobbly.xml.in.h:28 +#, fuzzy +msgid "Windows that should wobble when moved" +msgstr "應該要在移動時搖擺的視窗類型" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "視窗最大化和解除最大化時啟用搖擺特效" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "搖擺視窗" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "線性過濾器" + +#: ../metadata/zoom.xml.in.h:9 +#, fuzzy +msgid "Use linear filter when zoomed in" +msgstr "在放大時使用線性過濾器" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "縮放桌面" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "放大" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "縮小" + +#: ../metadata/zoom.xml.in.h:13 +msgid "Zoom Speed" +msgstr "縮放速度" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "縮放時間間隔" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "縮放和平移桌面立方體" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "縮放倍率" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "黏合" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "工具列" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "功能表" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "公用程式" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "開頭顯示畫面" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "對話方塊" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "一般" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "DropdownMenu" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "PopupMenu" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "工具提示" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "通知" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "組合" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "Dnd" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "ModalDialog" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "全螢幕" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "未知的" + +#, fuzzy +#~ msgid "4xBilinear" +#~ msgstr "線性過濾器" + +#, fuzzy +#~ msgid "Gaussian" +#~ msgstr "俄語" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command0 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command10 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command1 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command10 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command10 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command11 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command11 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command2 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command3 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command4 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command5 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command6 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command7 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command8 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "啟用時將執行經 command9 識別之外圍程序指令的按鍵組合" + +#, fuzzy +#~ msgid "" +#~ "Add line (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Add point (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Advance to next slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Amount of brightness in percent (0-100)" +#~ msgstr "亮度比例" + +#, fuzzy +#~ msgid "Amount of opacity in percent (0-100)" +#~ msgstr "不透明度比例" + +#, fuzzy +#~ msgid "Amount of saturation in percent (0-100)" +#~ msgstr "飽和度比例" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "飽和度" + +#, fuzzy +#~ msgid "" +#~ "Clear (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Close active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Decrease window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Delay (in ms) between each rain-drop (0-3600000)" +#~ msgstr "每滴雨之間的延遲 (毫秒)" + +#, fuzzy +#~ msgid "" +#~ "Distance desktop should be zoom out while switching windows (0.0-5.0)" +#~ msgstr "切換視窗時桌面應縮小的距離" + +#~ msgid "Do not modify" +#~ msgstr "不要修改" + +#, fuzzy +#~ msgid "" +#~ "Draw using tool (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Drop shadow X offset (-16-16)" +#~ msgstr "投影 X 軸偏移" + +#, fuzzy +#~ msgid "Drop shadow Y offset (-16-16)" +#~ msgstr "投影 Y 軸偏移" + +#, fuzzy +#~ msgid "Drop shadow opacity (0.01-6.00)" +#~ msgstr "投影半徑不透明度" + +#, fuzzy +#~ msgid "Drop shadow radius (0.0-48.0)" +#~ msgstr "投影半徑" + +#, fuzzy +#~ msgid "" +#~ "Enable pointer water effects (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Flip to left viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Flip to right viewport and warp pointer (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#~ msgid "Focus Window Effect (None, Shiver)" +#~ msgstr "定焦視窗特效 (無、瞬間)" + +#, fuzzy +#~ msgid "Focus prevention windows (match)" +#~ msgstr "選取上一個視窗" + +#~ msgid "Fold Acceleration (1.0-20.0)" +#~ msgstr "摺疊加速 (1.0-20.0)" + +#, fuzzy +#~ msgid "Fold Speed (0.0-50.0)" +#~ msgstr "摺疊速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Fold Timestep (0.0-50.0)" +#~ msgstr "摺疊時間間隔 (0.1-50.0)" + +#, fuzzy +#~ msgid "Gaussian radius (1-15)" +#~ msgstr "俄羅斯聯邦" + +#, fuzzy +#~ msgid "Gaussian strength (0.00-1.00)" +#~ msgstr "俄語" + +#, fuzzy +#~ msgid "" +#~ "Go back to previous slide (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Hide all windows and focus desktop (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Increase window opacity (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate drawing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Initiate annotate erasing (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Initiate clone selection (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Initiate rectangle screenshot (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Interval before raising selected windows (0-10000)" +#~ msgstr "提高選定視窗的時間間隔" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming all windows (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming window group (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Layout and start transforming windows on current output (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "在目前輸出配置並開始轉換視窗" + +#, fuzzy +#~ msgid "" +#~ "Lower window beneath other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Make window shiver (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#~ msgid "Map Window Effect (None, Shiver)" +#~ msgstr "映射視窗特效 (無、瞬間)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window horizontally (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Maximize active window vertically (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Minimize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Minimize speed (0.0-50.0)" +#~ msgstr "最小化速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimize timestep (0.0-50.0)" +#~ msgstr "最小化速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Minimum Vertex Grid Size (4-128)" +#~ msgstr "最小頂點格線大小" + +#, fuzzy +#~ msgid "Number of virtual desktops (1-36)" +#~ msgstr "虛擬桌面數" + +#, fuzzy +#~ msgid "Opacity change step (1-50)" +#~ msgstr "不透明度變更間隔" + +#, fuzzy +#~ msgid "Opacity level of moving windows (1-100)" +#~ msgstr "移動視窗的不透明度" + +#, fuzzy +#~ msgid "Opacity level of resizing windows (1-100)" +#~ msgstr "移動視窗的不透明度" + +#, fuzzy +#~ msgid "" +#~ "Open a terminal (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Open window menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Outline Color" +#~ msgstr "立方體色彩" + +#, fuzzy +#~ msgid "Overlay an icon on windows once they are scaled (None, Emblem, Big)" +#~ msgstr "調整視窗比例後在上面重疊圖示" + +#, fuzzy +#~ msgid "" +#~ "Plane down (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Plane up (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#~ msgid "Plugins that this must load before" +#~ msgstr "在此之前必須先載入的外掛程式" + +#~ msgid "Plugins that this requires" +#~ msgstr "這時需要的外掛程式" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "看不到切換器時快顯切換器,並從所有視窗選取下一個視窗" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select next window out of all windows " +#~ "(Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "看不到切換器時快顯切換器,並從所有視窗選取下一個視窗" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window (Left, Right, " +#~ "Top, Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "看不到切換器時快顯切換器,並從所有視窗選取上一個視窗" + +#, fuzzy +#~ msgid "" +#~ "Popup switcher if not visible and select previous window out of all " +#~ "windows (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "看不到切換器時快顯切換器,並從所有視窗選取上一個視窗" + +#, fuzzy +#~ msgid "" +#~ "Pulse effect (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Raise window above other windows (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate left and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate right and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 1 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 10 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 11 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 12 and bring active window along (Left, Right, Top, " +#~ "Bottom, TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 2 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 3 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 4 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 5 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 6 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 7 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 8 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to face 9 and bring active window along (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate to viewport (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Rotate with window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Rotation Acceleration (1.0-20.0)" +#~ msgstr "摺疊加速 (1.0-20.0)" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "縮放速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Rotation Timestep (0.0-50.0)" +#~ msgstr "縮放時間間隔 (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale speed (0.0-50.0)" +#~ msgstr "調整比例速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Scale timestep (0.0-50.0)" +#~ msgstr "調整比例時間間隔 (0.1-50.0)" + +#, fuzzy +#~ msgid "Screen size multiplier for horizontal virtual size (1-32)" +#~ msgstr "水平虛擬大小的螢幕大小倍數" + +#, fuzzy +#~ msgid "Screen size multiplier for vertical virtual size (1-32)" +#~ msgstr "垂直虛擬大小的螢幕大小倍數" + +#, fuzzy +#~ msgid "" +#~ "Select next window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Select previous window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Sensitivity of pointer movement (0.01-100.00)" +#~ msgstr "指標移動靈敏度" + +#~ msgid "Shade resistance (0-100)" +#~ msgstr "遮蔽阻力 (0-100)" + +#, fuzzy +#~ msgid "" +#~ "Show Run Application dialog (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Show the main menu (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Space between windows (0-250)" +#~ msgstr "視窗間隔" + +#, fuzzy +#~ msgid "Spring Friction (0.0-10.0)" +#~ msgstr "彈簧摩擦力" + +#, fuzzy +#~ msgid "Spring Konstant (0.0-10.0)" +#~ msgstr "彈簧常數" + +#, fuzzy +#~ msgid "" +#~ "Start Rotation (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Start moving window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Start resizing window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Switcher speed (0.0-50.0)" +#~ msgstr "調整比例速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Switcher timestep (0.0-50.0)" +#~ msgstr "調整比例時間間隔 (0.1-50.0)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Take a screenshot of a window (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#~ msgid "Texture filtering (Fast, Good, Best)" +#~ msgstr "材質篩選 (快、好、最佳)" + +#, fuzzy +#~ msgid "The rate at which the screen is redrawn (times/second) (1-200)" +#~ msgstr "螢幕重新描繪的速率 (次數/秒)" + +#, fuzzy +#~ msgid "" +#~ "Time (in ms) before scale mode is terminated when hovering over a window " +#~ "(50-10000)" +#~ msgstr "停留在視窗上多久 (毫秒) 後停止調整比例模式" + +#, fuzzy +#~ msgid "Timeout before flipping viewport (0-1000)" +#~ msgstr "逾時多久需翻轉檢視區" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized horizontally (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window maximized vertically (Left, Right, Top, Bottom, " +#~ "TopLeft, TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Toggle active window shaded (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Toggle rain effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Toggle use of slow animations (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Toggle window snapping (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Toggle wiper effect (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#~ msgid "USe linear filter when zoomed in" +#~ msgstr "在放大時使用線性過濾器" + +#, fuzzy +#~ msgid "" +#~ "Unfold cube (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Unmaximize active window (Left, Right, Top, Bottom, TopLeft, TopRight, " +#~ "BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Vertex Grid Resolution (1-64)" +#~ msgstr "頂點格線解析度" + +#, fuzzy +#~ msgid "Water offset scale (0.0-10.0)" +#~ msgstr "水波偏移比例" + +#, fuzzy +#~ msgid "" +#~ "Wave effect from window title (Left, Right, Top, Bottom, TopLeft, " +#~ "TopRight, BottomLeft, BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Window blur speed (0.0-10.0)" +#~ msgstr "Window 淡出/淡入速度" + +#, fuzzy +#~ msgid "Window fade speed (0.0-25.0)" +#~ msgstr "Window 淡出/淡入速度" + +#, fuzzy +#~ msgid "Windows that should be affected by focus blur (match)" +#~ msgstr "應該淡出/淡入的視窗類型" + +#, fuzzy +#~ msgid "Windows that should be decorated (match)" +#~ msgstr "應該淡出/淡入的視窗類型" + +#, fuzzy +#~ msgid "Windows that should be fading (match)" +#~ msgstr "應該淡出/淡入的視窗類型" + +#, fuzzy +#~ msgid "Windows that should be have a shadow (match)" +#~ msgstr "應該淡出/淡入的視窗類型" + +#, fuzzy +#~ msgid "Windows that should be scaled in scale mode (match)" +#~ msgstr "應該要在調整比例模式中調整比例的視窗類型" + +#, fuzzy +#~ msgid "Windows that should be shown in switcher (match)" +#~ msgstr "應該要顯示在切換器中的視窗類型" + +#, fuzzy +#~ msgid "Windows that should be transformed when minimized (match)" +#~ msgstr "最小化時應該轉換的視窗類型" + +#, fuzzy +#~ msgid "Windows that should use alpha blur by default (match)" +#~ msgstr "應該淡出/淡入的視窗類型" + +#, fuzzy +#~ msgid "Windows that should wobble when focused (match)" +#~ msgstr "應該要在定焦時搖擺的視窗類型" + +#, fuzzy +#~ msgid "Windows that should wobble when grabbed (match)" +#~ msgstr "應該要在抓取時搖擺的視窗類型" + +#, fuzzy +#~ msgid "Windows that should wobble when mapped (match)" +#~ msgstr "應該要在映射時搖擺的視窗類型" + +#, fuzzy +#~ msgid "Windows that should wobble when moved (match)" +#~ msgstr "應該要在移動時搖擺的視窗類型" + +#, fuzzy +#~ msgid "" +#~ "Zoom In (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "" +#~ "Zoom Out (Left, Right, Top, Bottom, TopLeft, TopRight, BottomLeft, " +#~ "BottomRight)" +#~ msgstr "應該要起始化調整比例模式的熱角 (左上角、右上角、左下角、右下角)" + +#, fuzzy +#~ msgid "Zoom Speed (0.0-50.0)" +#~ msgstr "縮放速度 (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom Timestep (0.0-50.0)" +#~ msgstr "縮放時間間隔 (0.1-50.0)" + +#, fuzzy +#~ msgid "Zoom factor (1.01-3.00)" +#~ msgstr "縮放倍率" + +#~ msgid "." +#~ msgstr "." + +#, fuzzy +#~ msgid "Maximize" +#~ msgstr "最小化" + +#, fuzzy +#~ msgid "Plane To Face %d" +#~ msgstr "往面 %d 旋轉" + +#, fuzzy +#~ msgid "Plane to face %d" +#~ msgstr "往面 %d 旋轉" + +#, fuzzy +#~ msgid "Plane To Face %d with Window" +#~ msgstr "隨視窗往面 %d 旋轉" + +#, fuzzy +#~ msgid "Plane to face %d and bring active window along" +#~ msgstr "往面 %d 旋轉並隨同作用中視窗一起旋轉" + +#~ msgid "Rotate To Face %d" +#~ msgstr "往面 %d 旋轉" + +#~ msgid "Rotate to face %d" +#~ msgstr "往面 %d 旋轉" + +#~ msgid "Rotate To Face %d with Window" +#~ msgstr "隨視窗往面 %d 旋轉" + +#~ msgid "Rotate to face %d and bring active window along" +#~ msgstr "往面 %d 旋轉並隨同作用中視窗一起旋轉" + +#~ msgid "None" +#~ msgstr "無" + +#~ msgid "Emblem" +#~ msgstr "象徵" + +#~ msgid "Big" +#~ msgstr "大" + +#~ msgid "Fast" +#~ msgstr "快" + +#~ msgid "Good" +#~ msgstr "好" + +#~ msgid "Best" +#~ msgstr "最佳" + +#~ msgid "Command line %d" +#~ msgstr "指令行 %d" + +#~ msgid "Command line to be executed in shell when run_command%d is invoked" +#~ msgstr "啟用 run_command%d 時要在外圍程序中執行的指令行" + +#~ msgid "Run command %d" +#~ msgstr "執行指令 %d" + +#~ msgid "" +#~ "A keybinding that when invoked, will run the shell command identified by " +#~ "command%d" +#~ msgstr "啟用時將執行經 command%d 識別之外圍程序指令的按鍵組合" + +#~ msgid "Window Types" +#~ msgstr "視窗類型" + +#~ msgid "Move Window Types" +#~ msgstr "移動視窗類型" + +#, fuzzy +#~ msgid "Enable focus prevention" +#~ msgstr "啟用 ZEN 分割區" + +#~ msgid "Corners" +#~ msgstr "角" + +#~ msgid "Focus window when mouse moves over them" +#~ msgstr "在滑鼠移動到上方時啟用定焦視窗" + +#~ msgid "Initiate All Windows" +#~ msgstr "起始化全部視窗" + +#~ msgid "Initiate Keyboard Window Move" +#~ msgstr "啟始以鍵盤移動視窗" + +#~ msgid "Initiate Keyboard Window Resize" +#~ msgstr "啟始以鍵盤調整視窗大小" + +#~ msgid "Initiate Window Switcher" +#~ msgstr "起始化視窗切換器" + +#~ msgid "Modifier to show switcher for all windows" +#~ msgstr "可使所有視窗顯示切換器的修改鍵" + +#~ msgid "Return from scale view" +#~ msgstr "從比例檢視返回" + +#~ msgid "Show switcher" +#~ msgstr "顯示切換器" + +#~ msgid "Sloppy Focus" +#~ msgstr "寬鬆定焦" + +#~ msgid "Start moving window using keyboard" +#~ msgstr "開始使用鍵盤移動視窗" + +#~ msgid "Start resizing window using keyboard" +#~ msgstr "開始使用鍵盤調整視窗大小" + +#~ msgid "Terminate" +#~ msgstr "終止" + +#~ msgid "Water effect on system beep" +#~ msgstr "系統發出嗶聲時啟用水波特效" + +#~ msgid "" +#~ "Window types that should be fading (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "應該要淡出的視窗類型 (桌面、停駐、工具列、功能表、公用程式、開頭顯示、對話" +#~ "方塊、強制回應對話方塊、一般、全螢幕、未知的)" + +#~ msgid "" +#~ "Window types that should be transformed when minimized (Desktop, Dock, " +#~ "Toolbar, Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, " +#~ "Unknown)" +#~ msgstr "" +#~ "應該要在最小化時轉換的視窗類型 (桌面、停駐、工具列、功能表、公用程式、開頭" +#~ "顯示、對話方塊、強制回應對話方塊、一般、全螢幕、未知的)" + +#~ msgid "" +#~ "Window types that should scaled in scale mode (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "應該要在調整比例模式中調整比例的視窗類型 (桌面、停駐、工具列、功能表、公用" +#~ "程式、開頭顯示、對話方塊、強制回應對話方塊、一般、全螢幕、未知的)" + +#~ msgid "" +#~ "Window types that should shown in switcher (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "應該要顯示在切換器中的視窗類型 (桌面、停駐、工具列、功能表、公用程式、開頭" +#~ "顯示、對話方塊、強制回應對話方塊、一般、全螢幕、未知的)" + +#~ msgid "" +#~ "Window types that should wobble when focused (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "應該要在定焦時搖擺的視窗類型 (桌面、停駐、工具列、功能表、公用程式、開頭顯" +#~ "示、對話方塊、強制回應對話方塊、一般、全螢幕、未知的)" + +#~ msgid "" +#~ "Window types that should wobble when grabbed (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "應該要在抓取時搖擺的視窗類型 (桌面、停駐、工具列、功能表、公用程式、開頭顯" +#~ "示、對話方塊、強制回應對話方塊、一般、全螢幕、未知的)" + +#~ msgid "" +#~ "Window types that should wobble when mapped (Desktop, Dock, Toolbar, " +#~ "Menu, Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "應該要在映射時搖擺的視窗類型 (桌面、停駐、工具列、功能表、公用程式、開頭顯" +#~ "示、對話方塊、強制回應對話方塊、一般、全螢幕、未知的)" + +#~ msgid "" +#~ "Window types that should wobble when moved (Desktop, Dock, Toolbar, Menu, " +#~ "Utility, Splash, Dialog, ModalDialog, Normal, Fullscreen, Unknown)" +#~ msgstr "" +#~ "應該要在移動時搖擺的視窗類型 (桌面、停駐、工具列、功能表、公用程式、開頭顯" +#~ "示、對話方塊、強制回應對話方塊、一般、全螢幕、未知的)" + +#~ msgid "Wobble effect on system beep" +#~ msgstr "系統發出嗶聲時啟用搖擺特效" diff --git a/po/zu.gmo b/po/zu.gmo new file mode 100644 index 0000000000000000000000000000000000000000..558f35933a0a9e210c4383afb1fc90871de93643 GIT binary patch literal 472 zcma)%!A=4(5QbNy(d^N)hkDb*!7d__g*7TdLIS#y#l&M>>RKu7rtO0I9zK_E;IlZp z7`ghVUpkZdr=9uU+xqlSo5((LjBFzvq*RRTAoobI;dzgE?;>9qpeI!Fvt7XQ>HB)59Or6fb9vVvut zbmVVzsj5mX)$\n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gtk/gnome/50-compiz-desktop-key.xml.in.h:1 ../src/main.c:54 +msgid "Desktop" +msgstr "" + +#: ../gtk/gnome/50-compiz-key.xml.in.h:1 +msgid "Window Management" +msgstr "" + +#: ../gtk/gnome/compiz.desktop.in.h:1 +msgid "Compiz" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:1 +msgid "Blur type" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:2 +msgid "Metacity theme active window opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:3 +msgid "Metacity theme active window opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:4 +msgid "Metacity theme opacity" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:5 +msgid "Metacity theme opacity shade" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:6 +msgid "Opacity to use for active windows with metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:7 +msgid "Opacity to use for metacity theme decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:8 +msgid "" +"Shade active windows with metacity theme decorations from opaque to " +"translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:9 +msgid "" +"Shade windows with metacity theme decorations from opaque to translucent" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:10 +msgid "Type of blur used for window decorations" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:11 +msgid "Use metacity theme" +msgstr "" + +#: ../gtk/window-decorator/gwd.schemas.in.h:12 +msgid "Use metacity theme when drawing window decorations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:1 +#, fuzzy +msgid "Annotate" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/annotate.xml.in.h:2 +msgid "Annotate Fill Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:3 +msgid "Annotate Stroke Color" +msgstr "" + +#: ../metadata/annotate.xml.in.h:4 +#, fuzzy +msgid "Annotate plugin" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/annotate.xml.in.h:5 +msgid "Clear" +msgstr "" + +#: ../metadata/annotate.xml.in.h:6 +msgid "Draw" +msgstr "" + +#: ../metadata/annotate.xml.in.h:7 +msgid "Draw using tool" +msgstr "" + +#: ../metadata/annotate.xml.in.h:8 +msgid "Fill color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:9 ../metadata/clone.xml.in.h:2 +#: ../metadata/rotate.xml.in.h:11 ../metadata/screenshot.xml.in.h:3 +#: ../metadata/water.xml.in.h:6 ../metadata/zoom.xml.in.h:2 +#, fuzzy +msgid "Initiate" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/annotate.xml.in.h:10 +#, fuzzy +msgid "Initiate annotate drawing" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/annotate.xml.in.h:11 +#, fuzzy +msgid "Initiate annotate erasing" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/annotate.xml.in.h:12 +#, fuzzy +msgid "Initiate erase" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/annotate.xml.in.h:13 +msgid "Line width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:14 +msgid "Line width for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:15 +msgid "Stroke color for annotations" +msgstr "" + +#: ../metadata/annotate.xml.in.h:16 +msgid "Stroke width" +msgstr "" + +#: ../metadata/annotate.xml.in.h:17 +msgid "Stroke width for annotations" +msgstr "" + +#: ../metadata/blur.xml.in.h:1 +msgid "Alpha Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:2 +msgid "Alpha blur windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:3 +msgid "Blur Filter" +msgstr "" + +#: ../metadata/blur.xml.in.h:4 +#, fuzzy +msgid "Blur Occlusion" +msgstr "Gcina ukuhlela" + +#: ../metadata/blur.xml.in.h:5 +#, fuzzy +msgid "Blur Saturation" +msgstr "Gcina ukuhlela" + +#: ../metadata/blur.xml.in.h:6 +msgid "Blur Speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:7 +msgid "Blur Windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:8 +msgid "Blur behind translucent parts of windows" +msgstr "" + +#: ../metadata/blur.xml.in.h:9 +#, fuzzy +msgid "Blur saturation" +msgstr "Gcina ukuhlela" + +#: ../metadata/blur.xml.in.h:10 +#, fuzzy +msgid "Blur windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/blur.xml.in.h:11 +msgid "Blur windows that doesn't have focus" +msgstr "" + +#: ../metadata/blur.xml.in.h:12 +msgid "Filter method used for blurring" +msgstr "" + +#: ../metadata/blur.xml.in.h:13 +msgid "Focus Blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:14 +#, fuzzy +msgid "Focus blur windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/blur.xml.in.h:15 +msgid "Gaussian Radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:16 +msgid "Gaussian Strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:17 +msgid "Gaussian radius" +msgstr "" + +#: ../metadata/blur.xml.in.h:18 +msgid "Gaussian strength" +msgstr "" + +#: ../metadata/blur.xml.in.h:19 +msgid "Mipmap LOD" +msgstr "" + +#: ../metadata/blur.xml.in.h:20 +msgid "Mipmap level-of-detail" +msgstr "" + +#: ../metadata/blur.xml.in.h:21 +msgid "Pulse" +msgstr "" + +#: ../metadata/blur.xml.in.h:22 +msgid "Pulse effect" +msgstr "" + +#: ../metadata/blur.xml.in.h:23 +msgid "Window blur speed" +msgstr "" + +#: ../metadata/blur.xml.in.h:24 +msgid "Windows that should be affected by focus blur" +msgstr "" + +#: ../metadata/blur.xml.in.h:25 +msgid "Windows that should be use alpha blur by default" +msgstr "" + +#: ../metadata/blur.xml.in.h:26 +msgid "blur occlusion" +msgstr "" + +#: ../metadata/clone.xml.in.h:1 +msgid "Clone Output" +msgstr "" + +#: ../metadata/clone.xml.in.h:3 +#, fuzzy +msgid "Initiate clone selection" +msgstr "Ukukhethwa Kwekhathalogi" + +#: ../metadata/clone.xml.in.h:4 +msgid "Output clone handler" +msgstr "" + +#: ../metadata/core.xml.in.h:1 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command0" +msgstr "" + +#: ../metadata/core.xml.in.h:2 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command1" +msgstr "" + +#: ../metadata/core.xml.in.h:3 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command10" +msgstr "" + +#: ../metadata/core.xml.in.h:4 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command11" +msgstr "" + +#: ../metadata/core.xml.in.h:5 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command2" +msgstr "" + +#: ../metadata/core.xml.in.h:6 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command3" +msgstr "" + +#: ../metadata/core.xml.in.h:7 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command4" +msgstr "" + +#: ../metadata/core.xml.in.h:8 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command5" +msgstr "" + +#: ../metadata/core.xml.in.h:9 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command6" +msgstr "" + +#: ../metadata/core.xml.in.h:10 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command7" +msgstr "" + +#: ../metadata/core.xml.in.h:11 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command8" +msgstr "" + +#: ../metadata/core.xml.in.h:12 +msgid "" +"A keybinding that when invoked, will run the shell command identified by " +"command9" +msgstr "" + +#: ../metadata/core.xml.in.h:13 +msgid "Active Plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:14 +msgid "" +"Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps" +msgstr "" + +#: ../metadata/core.xml.in.h:15 +msgid "Audible Bell" +msgstr "" + +#: ../metadata/core.xml.in.h:16 +msgid "Audible system beep" +msgstr "" + +#: ../metadata/core.xml.in.h:17 +msgid "Auto-Raise" +msgstr "" + +#: ../metadata/core.xml.in.h:18 +msgid "Auto-Raise Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:19 +msgid "Automatic detection of output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:20 +msgid "Automatic detection of refresh rate" +msgstr "" + +#: ../metadata/core.xml.in.h:21 +msgid "Click To Focus" +msgstr "" + +#: ../metadata/core.xml.in.h:22 +msgid "Click on window moves input focus to it" +msgstr "" + +#: ../metadata/core.xml.in.h:23 +msgid "Close Window" +msgstr "" + +#: ../metadata/core.xml.in.h:24 +msgid "Close active window" +msgstr "" + +#: ../metadata/core.xml.in.h:25 +#, fuzzy +msgid "Command line 0" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:26 +#, fuzzy +msgid "Command line 1" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:27 +#, fuzzy +msgid "Command line 10" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:28 +#, fuzzy +msgid "Command line 11" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:29 +#, fuzzy +msgid "Command line 2" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:30 +#, fuzzy +msgid "Command line 3" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:31 +#, fuzzy +msgid "Command line 4" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:32 +#, fuzzy +msgid "Command line 5" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:33 +#, fuzzy +msgid "Command line 6" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:34 +#, fuzzy +msgid "Command line 7" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:35 +#, fuzzy +msgid "Command line 8" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:36 +#, fuzzy +msgid "Command line 9" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:37 +msgid "Command line to be executed in shell when run_command0 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:38 +msgid "Command line to be executed in shell when run_command1 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:39 +msgid "Command line to be executed in shell when run_command10 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:40 +msgid "Command line to be executed in shell when run_command11 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:41 +msgid "Command line to be executed in shell when run_command2 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:42 +msgid "Command line to be executed in shell when run_command3 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:43 +msgid "Command line to be executed in shell when run_command4 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:44 +msgid "Command line to be executed in shell when run_command5 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:45 +msgid "Command line to be executed in shell when run_command6 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:46 +msgid "Command line to be executed in shell when run_command7 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:47 +msgid "Command line to be executed in shell when run_command8 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:48 +msgid "Command line to be executed in shell when run_command9 is invoked" +msgstr "" + +#: ../metadata/core.xml.in.h:49 +msgid "Decrease Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:50 +msgid "Decrease window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:51 +msgid "Default Icon" +msgstr "" + +#: ../metadata/core.xml.in.h:52 +msgid "Default window icon image" +msgstr "" + +#: ../metadata/core.xml.in.h:53 +msgid "Detect Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:54 +msgid "Detect Refresh Rate" +msgstr "" + +#: ../metadata/core.xml.in.h:55 +msgid "Focus Prevention Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:56 +#, fuzzy +msgid "Focus prevention windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/core.xml.in.h:57 +msgid "General Options" +msgstr "" + +#: ../metadata/core.xml.in.h:58 +msgid "General compiz options" +msgstr "" + +#: ../metadata/core.xml.in.h:59 +msgid "Hide Skip Taskbar Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:60 +msgid "Hide all windows and focus desktop" +msgstr "" + +#: ../metadata/core.xml.in.h:61 +msgid "Hide windows not in taskbar when entering show desktop mode" +msgstr "" + +#: ../metadata/core.xml.in.h:62 +msgid "Horizontal Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:63 +msgid "Ignore Hints When Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:64 +msgid "Ignore size increment and aspect hints when window is maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:65 +msgid "Increase Opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:66 +msgid "Increase window opacity" +msgstr "" + +#: ../metadata/core.xml.in.h:67 +msgid "Interval before raising selected windows" +msgstr "" + +#: ../metadata/core.xml.in.h:68 +msgid "Interval between ping messages" +msgstr "" + +#: ../metadata/core.xml.in.h:69 +msgid "Lighting" +msgstr "" + +#: ../metadata/core.xml.in.h:70 +msgid "List of currently active plugins" +msgstr "" + +#: ../metadata/core.xml.in.h:71 +msgid "List of strings describing output devices" +msgstr "" + +#: ../metadata/core.xml.in.h:72 +msgid "Lower Window" +msgstr "" + +#: ../metadata/core.xml.in.h:73 +msgid "Lower window beneath other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:74 +msgid "Maximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:75 +msgid "Maximize Window Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:76 +msgid "Maximize Window Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:77 +msgid "Maximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:78 +msgid "Maximize active window horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:79 +msgid "Maximize active window vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:80 +msgid "Minimize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:81 +msgid "Minimize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:82 +msgid "Number of Desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:83 +msgid "Number of virtual desktops" +msgstr "" + +#: ../metadata/core.xml.in.h:84 +msgid "Only perform screen updates during vertical blanking period" +msgstr "" + +#: ../metadata/core.xml.in.h:85 +msgid "Opacity Step" +msgstr "" + +#: ../metadata/core.xml.in.h:86 +msgid "Opacity change step" +msgstr "" + +#: ../metadata/core.xml.in.h:87 +msgid "Opacity values for windows that should be translucent by default" +msgstr "" + +#: ../metadata/core.xml.in.h:88 +msgid "Opacity window values" +msgstr "" + +#: ../metadata/core.xml.in.h:89 +msgid "Opacity windows" +msgstr "" + +#: ../metadata/core.xml.in.h:90 +msgid "Open a terminal" +msgstr "" + +#: ../metadata/core.xml.in.h:91 +msgid "Open window menu" +msgstr "" + +#: ../metadata/core.xml.in.h:92 +msgid "Outputs" +msgstr "" + +#: ../metadata/core.xml.in.h:93 +msgid "Ping Delay" +msgstr "" + +#: ../metadata/core.xml.in.h:94 +msgid "Raise On Click" +msgstr "" + +#: ../metadata/core.xml.in.h:95 +msgid "Raise Window" +msgstr "" + +#: ../metadata/core.xml.in.h:96 +msgid "Raise selected windows after interval" +msgstr "" + +#: ../metadata/core.xml.in.h:97 +msgid "Raise window above other windows" +msgstr "" + +#: ../metadata/core.xml.in.h:98 +msgid "Raise windows when clicked" +msgstr "" + +#: ../metadata/core.xml.in.h:99 +#, fuzzy +msgid "Refresh Rate" +msgstr "&Vuselela kabusha" + +#: ../metadata/core.xml.in.h:100 +msgid "Run Dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:101 +#, fuzzy +msgid "Run command 0" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:102 +#, fuzzy +msgid "Run command 1" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:103 +#, fuzzy +msgid "Run command 10" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:104 +#, fuzzy +msgid "Run command 11" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:105 +#, fuzzy +msgid "Run command 2" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:106 +#, fuzzy +msgid "Run command 3" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:107 +#, fuzzy +msgid "Run command 4" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:108 +#, fuzzy +msgid "Run command 5" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:109 +#, fuzzy +msgid "Run command 6" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:110 +#, fuzzy +msgid "Run command 7" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:111 +#, fuzzy +msgid "Run command 8" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:112 +#, fuzzy +msgid "Run command 9" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:113 +msgid "Screen size multiplier for horizontal virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:114 +msgid "Screen size multiplier for vertical virtual size" +msgstr "" + +#: ../metadata/core.xml.in.h:115 +msgid "Screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:116 +msgid "Show Main Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:117 +msgid "Show Run Application dialog" +msgstr "" + +#: ../metadata/core.xml.in.h:118 +msgid "Show the main menu" +msgstr "" + +#: ../metadata/core.xml.in.h:119 +msgid "Slow Animations" +msgstr "" + +#: ../metadata/core.xml.in.h:120 +msgid "Sync To VBlank" +msgstr "" + +#: ../metadata/core.xml.in.h:121 +msgid "Take a screenshot" +msgstr "" + +#: ../metadata/core.xml.in.h:122 +msgid "Take a screenshot of a window" +msgstr "" + +#: ../metadata/core.xml.in.h:123 +#, fuzzy +msgid "Terminal command line" +msgstr "Ikhomandi '%1'" + +#: ../metadata/core.xml.in.h:124 +msgid "Texture Filter" +msgstr "" + +#: ../metadata/core.xml.in.h:125 +msgid "Texture filtering" +msgstr "" + +#: ../metadata/core.xml.in.h:126 +msgid "The rate at which the screen is redrawn (times/second)" +msgstr "" + +#: ../metadata/core.xml.in.h:127 +msgid "Toggle Window Maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:128 +msgid "Toggle Window Maximized Horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:129 +msgid "Toggle Window Maximized Vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:130 +msgid "Toggle Window Shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:131 +msgid "Toggle active window maximized" +msgstr "" + +#: ../metadata/core.xml.in.h:132 +msgid "Toggle active window maximized horizontally" +msgstr "" + +#: ../metadata/core.xml.in.h:133 +msgid "Toggle active window maximized vertically" +msgstr "" + +#: ../metadata/core.xml.in.h:134 +msgid "Toggle active window shaded" +msgstr "" + +#: ../metadata/core.xml.in.h:135 +msgid "Toggle use of slow animations" +msgstr "" + +#: ../metadata/core.xml.in.h:136 +msgid "Unmaximize Window" +msgstr "" + +#: ../metadata/core.xml.in.h:137 +msgid "Unmaximize active window" +msgstr "" + +#: ../metadata/core.xml.in.h:138 +msgid "Unredirect Fullscreen Windows" +msgstr "" + +#: ../metadata/core.xml.in.h:139 +msgid "Use diffuse light when screen is transformed" +msgstr "" + +#: ../metadata/core.xml.in.h:140 +msgid "Vertical Virtual Size" +msgstr "" + +#: ../metadata/core.xml.in.h:141 +msgid "Window Menu" +msgstr "" + +#: ../metadata/core.xml.in.h:142 +msgid "Window screenshot command line" +msgstr "" + +#: ../metadata/core.xml.in.h:143 +msgid "Windows that should be translucent by default" +msgstr "" + +#: ../metadata/cube.xml.in.h:1 ../metadata/rotate.xml.in.h:1 +msgid "Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:2 +msgid "Adjust Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:3 +msgid "Adjust top face image to rotation" +msgstr "" + +#: ../metadata/cube.xml.in.h:4 +msgid "Advance to next slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:5 +msgid "Animate Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:6 +msgid "Animate skydome when rotating cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:7 +msgid "Background Images" +msgstr "" + +#: ../metadata/cube.xml.in.h:8 +msgid "Background images" +msgstr "" + +#: ../metadata/cube.xml.in.h:9 +msgid "Color of top and bottom sides of the cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:10 +msgid "Color to use for the bottom color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:11 +msgid "Color to use for the top color-stop of the skydome-fallback gradient" +msgstr "" + +#: ../metadata/cube.xml.in.h:12 +msgid "Cube Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:13 +msgid "Desktop Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:14 +msgid "Fold Acceleration" +msgstr "" + +#: ../metadata/cube.xml.in.h:15 +msgid "Fold Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:16 +msgid "Fold Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:17 ../metadata/switcher.xml.in.h:10 +msgid "Generate mipmaps when possible for higher quality scaling" +msgstr "" + +#: ../metadata/cube.xml.in.h:18 +msgid "Go back to previous slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:19 +msgid "Image files" +msgstr "" + +#: ../metadata/cube.xml.in.h:20 +msgid "Image to use as texture for the skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:21 +msgid "Inside Cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:22 +msgid "Inside cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:23 +msgid "List of PNG and SVG files that should be rendered on top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:24 ../metadata/decoration.xml.in.h:10 +#: ../metadata/switcher.xml.in.h:13 +msgid "Mipmap" +msgstr "" + +#: ../metadata/cube.xml.in.h:25 +msgid "Next Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:26 +msgid "Place windows on cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:27 +msgid "Prev Slide" +msgstr "" + +#: ../metadata/cube.xml.in.h:28 +msgid "Render skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:29 +msgid "Scale image" +msgstr "" + +#: ../metadata/cube.xml.in.h:30 +msgid "Scale images to cover top face of cube" +msgstr "" + +#: ../metadata/cube.xml.in.h:31 +msgid "Skydome" +msgstr "" + +#: ../metadata/cube.xml.in.h:32 +msgid "Skydome Gradient End Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:33 +msgid "Skydome Gradient Start Color" +msgstr "" + +#: ../metadata/cube.xml.in.h:34 +msgid "Skydome Image" +msgstr "" + +#: ../metadata/cube.xml.in.h:35 ../metadata/minimize.xml.in.h:7 +#: ../metadata/rotate.xml.in.h:85 ../metadata/scale.xml.in.h:23 +#: ../metadata/switcher.xml.in.h:27 ../metadata/zoom.xml.in.h:7 +msgid "Speed" +msgstr "" + +#: ../metadata/cube.xml.in.h:36 ../metadata/minimize.xml.in.h:8 +#: ../metadata/rotate.xml.in.h:88 ../metadata/scale.xml.in.h:25 +#: ../metadata/switcher.xml.in.h:31 ../metadata/zoom.xml.in.h:8 +msgid "Timestep" +msgstr "" + +#: ../metadata/cube.xml.in.h:37 +msgid "Unfold" +msgstr "" + +#: ../metadata/cube.xml.in.h:38 +msgid "Unfold cube" +msgstr "" + +#: ../metadata/dbus.xml.in.h:1 +msgid "Dbus" +msgstr "" + +#: ../metadata/dbus.xml.in.h:2 +msgid "Dbus Control Backend" +msgstr "" + +#: ../metadata/decoration.xml.in.h:1 +msgid "Allow mipmaps to be generated for decoration textures" +msgstr "" + +#: ../metadata/decoration.xml.in.h:2 +#, fuzzy +msgid "Command" +msgstr "Amakhomandi:" + +#: ../metadata/decoration.xml.in.h:3 +#, fuzzy +msgid "Decoration windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/decoration.xml.in.h:4 +msgid "" +"Decorator command line that is executed if no decorator is already running" +msgstr "" + +#: ../metadata/decoration.xml.in.h:5 +msgid "Drop shadow X offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:6 +msgid "Drop shadow Y offset" +msgstr "" + +#: ../metadata/decoration.xml.in.h:7 +msgid "Drop shadow color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:8 +msgid "Drop shadow opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:9 +msgid "Drop shadow radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:11 +msgid "Shadow Color" +msgstr "" + +#: ../metadata/decoration.xml.in.h:12 +msgid "Shadow Offset X" +msgstr "" + +#: ../metadata/decoration.xml.in.h:13 +msgid "Shadow Offset Y" +msgstr "" + +#: ../metadata/decoration.xml.in.h:14 +msgid "Shadow Opacity" +msgstr "" + +#: ../metadata/decoration.xml.in.h:15 +msgid "Shadow Radius" +msgstr "" + +#: ../metadata/decoration.xml.in.h:16 +#, fuzzy +msgid "Shadow windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/decoration.xml.in.h:17 +msgid "Window Decoration" +msgstr "" + +#: ../metadata/decoration.xml.in.h:18 +msgid "Window decorations" +msgstr "" + +#: ../metadata/decoration.xml.in.h:19 +msgid "Windows that should be decorated" +msgstr "" + +#: ../metadata/decoration.xml.in.h:20 +msgid "Windows that should have a shadow" +msgstr "" + +#: ../metadata/fade.xml.in.h:1 +msgid "Fade On Minimize/Open/Close" +msgstr "" + +#: ../metadata/fade.xml.in.h:2 +msgid "Fade Speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:3 +msgid "Fade effect on minimize/open/close window events" +msgstr "" + +#: ../metadata/fade.xml.in.h:4 +msgid "Fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:5 +msgid "Fade in windows when mapped and fade out windows when unmapped" +msgstr "" + +#: ../metadata/fade.xml.in.h:6 +#, fuzzy +msgid "Fade windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/fade.xml.in.h:7 +#, fuzzy +msgid "Fading Windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/fade.xml.in.h:8 +msgid "Fullscreen Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:9 +msgid "Fullscreen fade effect on system beep" +msgstr "" + +#: ../metadata/fade.xml.in.h:10 +msgid "Visual Bell" +msgstr "" + +#: ../metadata/fade.xml.in.h:11 +msgid "Window fade speed" +msgstr "" + +#: ../metadata/fade.xml.in.h:12 +msgid "Windows that should be fading" +msgstr "" + +#: ../metadata/fs.xml.in.h:1 +msgid "Mount Point" +msgstr "" + +#: ../metadata/fs.xml.in.h:2 +msgid "Mount point" +msgstr "" + +#: ../metadata/fs.xml.in.h:3 +msgid "Userspace File System" +msgstr "" + +#: ../metadata/fs.xml.in.h:4 +msgid "Userspace file system" +msgstr "" + +#: ../metadata/gconf.xml.in.h:1 +msgid "GConf" +msgstr "" + +#: ../metadata/gconf.xml.in.h:2 +msgid "GConf Control Backend" +msgstr "" + +#: ../metadata/ini.xml.in.h:1 +msgid "Ini" +msgstr "" + +#: ../metadata/ini.xml.in.h:2 +msgid "Ini Flat File Backend" +msgstr "" + +#: ../metadata/inotify.xml.in.h:1 +msgid "File change notification plugin" +msgstr "" + +#: ../metadata/inotify.xml.in.h:2 +msgid "Inotify" +msgstr "" + +#: ../metadata/minimize.xml.in.h:1 +msgid "Minimize Effect" +msgstr "" + +#: ../metadata/minimize.xml.in.h:2 +msgid "Minimize Windows" +msgstr "" + +#: ../metadata/minimize.xml.in.h:3 +msgid "Minimize speed" +msgstr "" + +#: ../metadata/minimize.xml.in.h:4 +msgid "Minimize timestep" +msgstr "" + +#: ../metadata/minimize.xml.in.h:5 +msgid "Shade Resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:6 +msgid "Shade resistance" +msgstr "" + +#: ../metadata/minimize.xml.in.h:9 +msgid "Transform windows when they are minimized and unminimized" +msgstr "" + +#: ../metadata/minimize.xml.in.h:10 +msgid "Windows that should be transformed when minimized" +msgstr "" + +#: ../metadata/move.xml.in.h:1 +msgid "Constrain Y" +msgstr "" + +#: ../metadata/move.xml.in.h:2 +msgid "Constrain Y coordinate to workspace area" +msgstr "" + +#: ../metadata/move.xml.in.h:3 +msgid "Initiate Window Move" +msgstr "" + +#: ../metadata/move.xml.in.h:4 +msgid "Move Window" +msgstr "" + +#: ../metadata/move.xml.in.h:5 +msgid "Move window" +msgstr "" + +#: ../metadata/move.xml.in.h:6 ../metadata/scale.xml.in.h:13 +#: ../metadata/switcher.xml.in.h:15 +msgid "Opacity" +msgstr "" + +#: ../metadata/move.xml.in.h:7 +msgid "Opacity level of moving windows" +msgstr "" + +#: ../metadata/move.xml.in.h:8 +msgid "Snapoff and auto unmaximized maximized windows when dragging" +msgstr "" + +#: ../metadata/move.xml.in.h:9 +msgid "Snapoff maximized windows" +msgstr "" + +#: ../metadata/move.xml.in.h:10 +msgid "Start moving window" +msgstr "" + +#: ../metadata/place.xml.in.h:1 +msgid "Algorithm to use for window placement" +msgstr "" + +#: ../metadata/place.xml.in.h:2 +msgid "Horizontal viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:3 +msgid "Place Windows" +msgstr "" + +#: ../metadata/place.xml.in.h:4 +msgid "Place windows at appropriate positions when mapped" +msgstr "" + +#: ../metadata/place.xml.in.h:5 +msgid "Placement Mode" +msgstr "" + +#: ../metadata/place.xml.in.h:6 +#, fuzzy +msgid "Positioned windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/place.xml.in.h:7 +msgid "Vertical viewport positions" +msgstr "" + +#: ../metadata/place.xml.in.h:8 +#, fuzzy +msgid "Viewport positioned windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/place.xml.in.h:9 +msgid "Window placement workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:10 +msgid "Windows that should be positioned by default" +msgstr "" + +#: ../metadata/place.xml.in.h:11 +msgid "Windows that should be positioned in specific viewports by default" +msgstr "" + +#: ../metadata/place.xml.in.h:12 +msgid "Workarounds" +msgstr "" + +#: ../metadata/place.xml.in.h:13 +msgid "X Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:14 +msgid "X Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:15 +msgid "X position values" +msgstr "" + +#: ../metadata/place.xml.in.h:16 +msgid "Y Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:17 +msgid "Y Viewport Positions" +msgstr "" + +#: ../metadata/place.xml.in.h:18 +msgid "Y position values" +msgstr "" + +#: ../metadata/plane.xml.in.h:1 +msgid "Desktop Plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:2 +msgid "Place windows on a plane" +msgstr "" + +#: ../metadata/plane.xml.in.h:3 +msgid "Plane Down" +msgstr "" + +#: ../metadata/plane.xml.in.h:4 +msgid "Plane Left" +msgstr "" + +#: ../metadata/plane.xml.in.h:5 +msgid "Plane Right" +msgstr "" + +#: ../metadata/plane.xml.in.h:6 +msgid "Plane To Face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:7 +msgid "Plane To Face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:8 +msgid "Plane To Face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:9 +msgid "Plane To Face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:10 +msgid "Plane To Face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:11 +msgid "Plane To Face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:12 +msgid "Plane To Face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:13 +msgid "Plane To Face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:14 +msgid "Plane To Face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:15 +msgid "Plane To Face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:16 +msgid "Plane To Face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:17 +msgid "Plane To Face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:18 +msgid "Plane Up" +msgstr "" + +#: ../metadata/plane.xml.in.h:19 +msgid "Plane down" +msgstr "" + +#: ../metadata/plane.xml.in.h:20 +msgid "Plane left" +msgstr "" + +#: ../metadata/plane.xml.in.h:21 +msgid "Plane right" +msgstr "" + +#: ../metadata/plane.xml.in.h:22 +msgid "Plane to face 1" +msgstr "" + +#: ../metadata/plane.xml.in.h:23 +msgid "Plane to face 10" +msgstr "" + +#: ../metadata/plane.xml.in.h:24 +msgid "Plane to face 11" +msgstr "" + +#: ../metadata/plane.xml.in.h:25 +msgid "Plane to face 12" +msgstr "" + +#: ../metadata/plane.xml.in.h:26 +msgid "Plane to face 2" +msgstr "" + +#: ../metadata/plane.xml.in.h:27 +msgid "Plane to face 3" +msgstr "" + +#: ../metadata/plane.xml.in.h:28 +msgid "Plane to face 4" +msgstr "" + +#: ../metadata/plane.xml.in.h:29 +msgid "Plane to face 5" +msgstr "" + +#: ../metadata/plane.xml.in.h:30 +msgid "Plane to face 6" +msgstr "" + +#: ../metadata/plane.xml.in.h:31 +msgid "Plane to face 7" +msgstr "" + +#: ../metadata/plane.xml.in.h:32 +msgid "Plane to face 8" +msgstr "" + +#: ../metadata/plane.xml.in.h:33 +msgid "Plane to face 9" +msgstr "" + +#: ../metadata/plane.xml.in.h:34 +msgid "Plane up" +msgstr "" + +#: ../metadata/png.xml.in.h:1 +msgid "Png" +msgstr "" + +#: ../metadata/png.xml.in.h:2 +msgid "Png image loader" +msgstr "" + +#: ../metadata/regex.xml.in.h:1 +msgid "Regex Matching" +msgstr "" + +#: ../metadata/regex.xml.in.h:2 +msgid "Regex window matching" +msgstr "" + +#: ../metadata/resize.xml.in.h:1 +msgid "Default Resize Mode" +msgstr "" + +#: ../metadata/resize.xml.in.h:2 +msgid "Default mode used for window resizing" +msgstr "" + +#: ../metadata/resize.xml.in.h:3 +#, fuzzy +msgid "Initiate Window Resize" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/resize.xml.in.h:4 +msgid "Resize Window" +msgstr "" + +#: ../metadata/resize.xml.in.h:5 +msgid "Resize window" +msgstr "" + +#: ../metadata/resize.xml.in.h:6 +msgid "Start resizing window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:2 +msgid "Edge Flip DnD" +msgstr "" + +#: ../metadata/rotate.xml.in.h:3 +msgid "Edge Flip Move" +msgstr "" + +#: ../metadata/rotate.xml.in.h:4 +msgid "Edge Flip Pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:5 +msgid "Flip Time" +msgstr "" + +#: ../metadata/rotate.xml.in.h:6 +msgid "Flip to left viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:7 +msgid "Flip to next viewport when dragging object to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:8 +msgid "Flip to next viewport when moving pointer to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:9 +msgid "Flip to next viewport when moving window to screen edge" +msgstr "" + +#: ../metadata/rotate.xml.in.h:10 +msgid "Flip to right viewport and warp pointer" +msgstr "" + +#: ../metadata/rotate.xml.in.h:12 ../metadata/zoom.xml.in.h:3 +msgid "Invert Y axis for pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:13 ../metadata/zoom.xml.in.h:4 +msgid "Pointer Invert Y" +msgstr "" + +#: ../metadata/rotate.xml.in.h:14 ../metadata/zoom.xml.in.h:5 +msgid "Pointer Sensitivity" +msgstr "" + +#: ../metadata/rotate.xml.in.h:15 +msgid "Rotate Cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:16 +msgid "Rotate Flip Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:17 +msgid "Rotate Flip Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:18 +msgid "Rotate Left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:19 +msgid "Rotate Left with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:20 +msgid "Rotate Right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:21 +msgid "Rotate Right with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:22 +#, fuzzy +msgid "Rotate To" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/rotate.xml.in.h:23 +msgid "Rotate To Face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:24 +msgid "Rotate To Face 1 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:25 +msgid "Rotate To Face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:26 +msgid "Rotate To Face 10 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:27 +msgid "Rotate To Face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:28 +msgid "Rotate To Face 11 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:29 +msgid "Rotate To Face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:30 +msgid "Rotate To Face 12 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:31 +msgid "Rotate To Face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:32 +msgid "Rotate To Face 2 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:33 +msgid "Rotate To Face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:34 +msgid "Rotate To Face 3 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:35 +msgid "Rotate To Face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:36 +msgid "Rotate To Face 4 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:37 +msgid "Rotate To Face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:38 +msgid "Rotate To Face 5 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:39 +msgid "Rotate To Face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:40 +msgid "Rotate To Face 6 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:41 +msgid "Rotate To Face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:42 +msgid "Rotate To Face 7 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:43 +msgid "Rotate To Face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:44 +msgid "Rotate To Face 8 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:45 +msgid "Rotate To Face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:46 +msgid "Rotate To Face 9 with Window" +msgstr "" + +#: ../metadata/rotate.xml.in.h:47 +msgid "Rotate desktop cube" +msgstr "" + +#: ../metadata/rotate.xml.in.h:48 +msgid "Rotate left" +msgstr "" + +#: ../metadata/rotate.xml.in.h:49 +msgid "Rotate left and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:50 +msgid "Rotate right" +msgstr "" + +#: ../metadata/rotate.xml.in.h:51 +msgid "Rotate right and brind active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:52 +msgid "Rotate to face 1" +msgstr "" + +#: ../metadata/rotate.xml.in.h:53 +msgid "Rotate to face 1 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:54 +msgid "Rotate to face 10" +msgstr "" + +#: ../metadata/rotate.xml.in.h:55 +msgid "Rotate to face 10 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:56 +msgid "Rotate to face 11" +msgstr "" + +#: ../metadata/rotate.xml.in.h:57 +msgid "Rotate to face 11 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:58 +msgid "Rotate to face 12" +msgstr "" + +#: ../metadata/rotate.xml.in.h:59 +msgid "Rotate to face 12 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:60 +msgid "Rotate to face 2" +msgstr "" + +#: ../metadata/rotate.xml.in.h:61 +msgid "Rotate to face 2 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:62 +msgid "Rotate to face 3" +msgstr "" + +#: ../metadata/rotate.xml.in.h:63 +msgid "Rotate to face 3 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:64 +msgid "Rotate to face 4" +msgstr "" + +#: ../metadata/rotate.xml.in.h:65 +msgid "Rotate to face 4 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:66 +msgid "Rotate to face 5" +msgstr "" + +#: ../metadata/rotate.xml.in.h:67 +msgid "Rotate to face 5 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:68 +msgid "Rotate to face 6" +msgstr "" + +#: ../metadata/rotate.xml.in.h:69 +msgid "Rotate to face 6 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:70 +msgid "Rotate to face 7" +msgstr "" + +#: ../metadata/rotate.xml.in.h:71 +msgid "Rotate to face 7 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:72 +msgid "Rotate to face 8" +msgstr "" + +#: ../metadata/rotate.xml.in.h:73 +msgid "Rotate to face 8 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:74 +msgid "Rotate to face 9" +msgstr "" + +#: ../metadata/rotate.xml.in.h:75 +msgid "Rotate to face 9 and bring active window along" +msgstr "" + +#: ../metadata/rotate.xml.in.h:76 +msgid "Rotate to viewport" +msgstr "" + +#: ../metadata/rotate.xml.in.h:77 +#, fuzzy +msgid "Rotate window" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/rotate.xml.in.h:78 +#, fuzzy +msgid "Rotate with window" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/rotate.xml.in.h:79 +#, fuzzy +msgid "Rotation Acceleration" +msgstr "Ukufaka Uhlelo Kuphothuliwe" + +#: ../metadata/rotate.xml.in.h:80 +#, fuzzy +msgid "Rotation Speed" +msgstr "Ukufaka Uhlelo Kuphothuliwe" + +#: ../metadata/rotate.xml.in.h:81 +#, fuzzy +msgid "Rotation Timestep" +msgstr "Ukufaka Uhlelo Kuphothuliwe" + +#: ../metadata/rotate.xml.in.h:82 ../metadata/zoom.xml.in.h:6 +msgid "Sensitivity of pointer movement" +msgstr "" + +#: ../metadata/rotate.xml.in.h:83 +msgid "Snap Cube Rotation to Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:84 +msgid "Snap To Top Face" +msgstr "" + +#: ../metadata/rotate.xml.in.h:86 +#, fuzzy +msgid "Start Rotation" +msgstr "Iqalisa Ukufaka Uhlelo..." + +#: ../metadata/rotate.xml.in.h:87 +msgid "Timeout before flipping viewport" +msgstr "" + +#: ../metadata/scale.xml.in.h:1 ../metadata/switcher.xml.in.h:2 +msgid "Amount of opacity in percent" +msgstr "" + +#: ../metadata/scale.xml.in.h:2 +msgid "Darken Background" +msgstr "" + +#: ../metadata/scale.xml.in.h:3 +msgid "Darken background when scaling windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:4 +msgid "Hover Time" +msgstr "" + +#: ../metadata/scale.xml.in.h:5 +#, fuzzy +msgid "Initiate Window Picker" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/scale.xml.in.h:6 +msgid "Initiate Window Picker For All Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:7 +msgid "Initiate Window Picker For Window Group" +msgstr "" + +#: ../metadata/scale.xml.in.h:8 +msgid "Initiate Window Picker For Windows on Current Output" +msgstr "" + +#: ../metadata/scale.xml.in.h:9 +msgid "Layout and start transforming all windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:10 +msgid "Layout and start transforming window group" +msgstr "" + +#: ../metadata/scale.xml.in.h:11 +msgid "Layout and start transforming windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:12 +msgid "Layout and start transforming windows on current output" +msgstr "" + +#: ../metadata/scale.xml.in.h:14 +msgid "Overlay Icon" +msgstr "" + +#: ../metadata/scale.xml.in.h:15 +msgid "Overlay an icon on windows once they are scaled" +msgstr "" + +#: ../metadata/scale.xml.in.h:16 +msgid "Scale" +msgstr "" + +#: ../metadata/scale.xml.in.h:17 +msgid "Scale Windows" +msgstr "" + +#: ../metadata/scale.xml.in.h:18 +msgid "Scale speed" +msgstr "" + +#: ../metadata/scale.xml.in.h:19 +msgid "Scale timestep" +msgstr "" + +#: ../metadata/scale.xml.in.h:20 +#, fuzzy +msgid "Scale windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/scale.xml.in.h:21 +#, fuzzy +msgid "Space between windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/scale.xml.in.h:22 +msgid "Spacing" +msgstr "" + +#: ../metadata/scale.xml.in.h:24 +msgid "" +"Time (in ms) before scale mode is terminated when hovering over a window" +msgstr "" + +#: ../metadata/scale.xml.in.h:26 +msgid "Windows that should be scaled in scale mode" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:1 +msgid "Automatically open screenshot in this application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:2 +#, fuzzy +msgid "Directory" +msgstr "&I-Local Directory..." + +#: ../metadata/screenshot.xml.in.h:4 +#, fuzzy +msgid "Initiate rectangle screenshot" +msgstr "Ukukhethwa Kwekhathalogi" + +#: ../metadata/screenshot.xml.in.h:5 +msgid "Launch Application" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:6 +msgid "Put screenshot images in this directory" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:7 +msgid "Screenshot" +msgstr "" + +#: ../metadata/screenshot.xml.in.h:8 +msgid "Screenshot plugin" +msgstr "" + +#: ../metadata/svg.xml.in.h:1 +msgid "Svg" +msgstr "" + +#: ../metadata/svg.xml.in.h:2 +msgid "Svg image loader" +msgstr "" + +#: ../metadata/switcher.xml.in.h:1 +msgid "Amount of brightness in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:3 +msgid "Amount of saturation in percent" +msgstr "" + +#: ../metadata/switcher.xml.in.h:4 +msgid "Application Switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:5 +#, fuzzy +msgid "Auto Rotate" +msgstr "Ilungiselela ukuqala..." + +#: ../metadata/switcher.xml.in.h:6 +msgid "Brightness" +msgstr "" + +#: ../metadata/switcher.xml.in.h:7 +#, fuzzy +msgid "Bring To Front" +msgstr "Ngesikhathi Iqaliswa Kabusha" + +#: ../metadata/switcher.xml.in.h:8 +msgid "Bring selected window to front" +msgstr "" + +#: ../metadata/switcher.xml.in.h:9 +msgid "Distance desktop should be zoom out while switching windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:11 +msgid "Icon" +msgstr "" + +#: ../metadata/switcher.xml.in.h:12 +msgid "Minimized" +msgstr "" + +#: ../metadata/switcher.xml.in.h:14 +#, fuzzy +msgid "Next window" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/switcher.xml.in.h:16 +msgid "Popup switcher if not visible and select next window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:17 +msgid "Popup switcher if not visible and select next window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:18 +msgid "Popup switcher if not visible and select previous window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:19 +msgid "" +"Popup switcher if not visible and select previous window out of all windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:20 +msgid "Prev window" +msgstr "" + +#: ../metadata/switcher.xml.in.h:21 +msgid "Rotate to the selected window while switching" +msgstr "" + +#: ../metadata/switcher.xml.in.h:22 +#, fuzzy +msgid "Saturation" +msgstr "Gcina ukuhlela" + +#: ../metadata/switcher.xml.in.h:23 +#, fuzzy +msgid "Select next window" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/switcher.xml.in.h:24 +#, fuzzy +msgid "Select previous window" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/switcher.xml.in.h:25 +msgid "Show icon next to thumbnail" +msgstr "" + +#: ../metadata/switcher.xml.in.h:26 +msgid "Show minimized windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:28 +msgid "Switcher speed" +msgstr "" + +#: ../metadata/switcher.xml.in.h:29 +msgid "Switcher timestep" +msgstr "" + +#: ../metadata/switcher.xml.in.h:30 +msgid "Switcher windows" +msgstr "" + +#: ../metadata/switcher.xml.in.h:32 +msgid "Windows that should be shown in switcher" +msgstr "" + +#: ../metadata/switcher.xml.in.h:33 +msgid "Zoom" +msgstr "" + +#: ../metadata/video.xml.in.h:1 +msgid "Provide YV12 colorspace support" +msgstr "" + +#: ../metadata/video.xml.in.h:2 +msgid "Video Playback" +msgstr "" + +#: ../metadata/video.xml.in.h:3 +msgid "Video playback" +msgstr "" + +#: ../metadata/video.xml.in.h:4 +msgid "YV12 colorspace" +msgstr "" + +#: ../metadata/water.xml.in.h:1 +msgid "Add line" +msgstr "" + +#: ../metadata/water.xml.in.h:2 +msgid "Add point" +msgstr "" + +#: ../metadata/water.xml.in.h:3 +msgid "Adds water effects to different desktop actions" +msgstr "" + +#: ../metadata/water.xml.in.h:4 +msgid "Delay (in ms) between each rain-drop" +msgstr "" + +#: ../metadata/water.xml.in.h:5 +msgid "Enable pointer water effects" +msgstr "" + +#: ../metadata/water.xml.in.h:7 +msgid "Line" +msgstr "" + +#: ../metadata/water.xml.in.h:8 +msgid "Offset Scale" +msgstr "" + +#: ../metadata/water.xml.in.h:9 +msgid "Point" +msgstr "" + +#: ../metadata/water.xml.in.h:10 +msgid "Rain Delay" +msgstr "" + +#: ../metadata/water.xml.in.h:11 +msgid "Title wave" +msgstr "" + +#: ../metadata/water.xml.in.h:12 +msgid "Toggle rain" +msgstr "" + +#: ../metadata/water.xml.in.h:13 +msgid "Toggle rain effect" +msgstr "" + +#: ../metadata/water.xml.in.h:14 +msgid "Toggle wiper" +msgstr "" + +#: ../metadata/water.xml.in.h:15 +msgid "Toggle wiper effect" +msgstr "" + +#: ../metadata/water.xml.in.h:16 +msgid "Water Effect" +msgstr "" + +#: ../metadata/water.xml.in.h:17 +msgid "Water offset scale" +msgstr "" + +#: ../metadata/water.xml.in.h:18 +msgid "Wave effect from window title" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:1 +msgid "Focus Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:2 +msgid "Focus Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:3 +#, fuzzy +msgid "Focus Windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/wobbly.xml.in.h:4 +msgid "Friction" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:5 +#, fuzzy +msgid "Grab Windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/wobbly.xml.in.h:6 +msgid "Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:7 +msgid "Inverted window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:8 +msgid "Make window shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:9 +msgid "Map Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:10 +msgid "Map Window Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:11 +msgid "Map Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:12 +msgid "Maximize Effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:13 +msgid "Minimum Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:14 +msgid "Minimum Vertex Grid Size" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:15 +msgid "Move Windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:16 +msgid "Shiver" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:17 +msgid "Snap Inverted" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:18 +#, fuzzy +msgid "Snap windows" +msgstr "Ungakhethi &Lutho" + +#: ../metadata/wobbly.xml.in.h:19 +#, fuzzy +msgid "Spring Friction" +msgstr "Ngesikhathi Iqaliswa Kabusha" + +#: ../metadata/wobbly.xml.in.h:20 +msgid "Spring K" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:21 +msgid "Spring Konstant" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:22 +msgid "Toggle window snapping" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:23 +msgid "Use spring model for wobbly window effect" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:24 +msgid "Vertex Grid Resolution" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:25 +msgid "Windows that should wobble when focused" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:26 +msgid "Windows that should wobble when grabbed" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:27 +msgid "Windows that should wobble when mapped" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:28 +msgid "Windows that should wobble when moved" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:29 +msgid "Wobble effect when maximizing and unmaximizing windows" +msgstr "" + +#: ../metadata/wobbly.xml.in.h:30 +msgid "Wobbly Windows" +msgstr "" + +#: ../metadata/zoom.xml.in.h:1 +msgid "Filter Linear" +msgstr "" + +#: ../metadata/zoom.xml.in.h:9 +msgid "Use linear filter when zoomed in" +msgstr "" + +#: ../metadata/zoom.xml.in.h:10 +msgid "Zoom Desktop" +msgstr "" + +#: ../metadata/zoom.xml.in.h:11 +msgid "Zoom In" +msgstr "" + +#: ../metadata/zoom.xml.in.h:12 +msgid "Zoom Out" +msgstr "" + +#: ../metadata/zoom.xml.in.h:13 +#, fuzzy +msgid "Zoom Speed" +msgstr "Ukufaka Uhlelo Kuphothuliwe" + +#: ../metadata/zoom.xml.in.h:14 +msgid "Zoom Timestep" +msgstr "" + +#: ../metadata/zoom.xml.in.h:15 +msgid "Zoom and pan desktop cube" +msgstr "" + +#: ../metadata/zoom.xml.in.h:16 +msgid "Zoom factor" +msgstr "" + +#: ../src/main.c:55 +msgid "Dock" +msgstr "" + +#: ../src/main.c:56 +msgid "Toolbar" +msgstr "" + +#: ../src/main.c:57 +msgid "Menu" +msgstr "" + +#: ../src/main.c:58 +msgid "Utility" +msgstr "" + +#: ../src/main.c:59 +msgid "Splash" +msgstr "" + +#: ../src/main.c:60 +msgid "Dialog" +msgstr "" + +#: ../src/main.c:61 +msgid "Normal" +msgstr "" + +#: ../src/main.c:62 +msgid "DropdownMenu" +msgstr "" + +#: ../src/main.c:63 +msgid "PopupMenu" +msgstr "" + +#: ../src/main.c:64 +msgid "Tooltip" +msgstr "" + +#: ../src/main.c:65 +msgid "Notification" +msgstr "" + +#: ../src/main.c:66 +msgid "Combo" +msgstr "" + +#: ../src/main.c:67 +msgid "Dnd" +msgstr "" + +#: ../src/main.c:68 +msgid "ModalDialog" +msgstr "" + +#: ../src/main.c:69 +msgid "Fullscreen" +msgstr "" + +#: ../src/main.c:70 +msgid "Unknown" +msgstr "Akwaziwa" + +#, fuzzy +#~ msgid "Blur saturation (0-100)" +#~ msgstr "Gcina ukuhlela" + +#, fuzzy +#~ msgid "Rotation Speed (0.0-50.0)" +#~ msgstr "Ukufaka Uhlelo Kuphothuliwe" diff --git a/reflex/Makefile.am b/reflex/Makefile.am new file mode 100644 index 0000000..f84adb7 --- /dev/null +++ b/reflex/Makefile.am @@ -0,0 +1,27 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +libreflex_la_LDFLAGS = $(PFLAGS) +libreflex_la_LIBADD = @ECOMP_LIBS@ +libreflex_la_SOURCES = reflex_options.c reflex_options.h reflex.c + +INCLUDES = \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) + + +module_LTLIBRARIES = libreflex.la + +CLEANFILES = *_options.c *_options.h + +reflex_options.h: ../metadata/reflex.xml + $(BCOP_BIN) --header $@ $< + +reflex_options.c: ../metadata/reflex.xml reflex_options.h + $(BCOP_BIN) --source $@ $< diff --git a/reflex/reflex.c b/reflex/reflex.c new file mode 100644 index 0000000..7e2d9c4 --- /dev/null +++ b/reflex/reflex.c @@ -0,0 +1,520 @@ +/* + * Ecomp reflection effect plugin + * + * reflex.c + * + * Copyright : (C) 2007 by Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include +#include + +#include + +#include "reflex_options.h" + + +static int displayPrivateIndex = 0; + +typedef struct _ReflexDisplay +{ + MatchExpHandlerChangedProc matchExpHandlerChanged; + MatchPropertyChangedProc matchPropertyChanged; + + int screenPrivateIndex; +} +ReflexDisplay; + +typedef struct _ReflexFunction +{ + int handle; + int target; + int param; + int unit; +} ReflexFunction; + +typedef struct _ReflexScreen +{ + int windowPrivateIndex; + + DrawWindowTextureProc drawWindowTexture; + + Bool imageLoaded; + CompTexture image; + + unsigned int width; + unsigned int height; + + ReflexFunction function; +} +ReflexScreen; + +typedef struct _ReflexWindow { + Bool active; +} ReflexWindow; + +#define GET_REFLEX_DISPLAY(d) \ + ((ReflexDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define REFLEX_DISPLAY(d) \ + ReflexDisplay *rd = GET_REFLEX_DISPLAY (d) + +#define GET_REFLEX_SCREEN(s, rd) \ + ((ReflexScreen *) (s)->privates[(rd)->screenPrivateIndex].ptr) + +#define REFLEX_SCREEN(s) \ + ReflexScreen *rs = GET_REFLEX_SCREEN (s, GET_REFLEX_DISPLAY (s->display)) + +#define GET_REFLEX_WINDOW(w, rs) \ + ((ReflexWindow *) (w)->privates[(rs)->windowPrivateIndex].ptr) + +#define REFLEX_WINDOW(w) \ + ReflexWindow *rw = GET_REFLEX_WINDOW (w, \ + GET_REFLEX_SCREEN (w->screen, \ + GET_REFLEX_DISPLAY (w->screen->display))) + +static int +getReflexFragmentFunction (CompScreen *s, + CompTexture *texture, + int param, + int unit) +{ + CompFunctionData *data; + + REFLEX_SCREEN (s); + + int target; + char *targetString; + + if (texture->target == GL_TEXTURE_2D) + { + target = COMP_FETCH_TARGET_2D; + } + else + { + target = COMP_FETCH_TARGET_RECT; + } + + if (rs->image.target == GL_TEXTURE_2D) + { + targetString = "2D"; + } + else + { + targetString = "RECT"; + } + + + if (rs->function.handle && + rs->function.param == param && + rs->function.target == target && + rs->function.unit == unit) + return rs->function.handle; + + data = createFunctionData (); + + if (data) + { + Bool ok = TRUE; + int handle = 0; + char str[1024]; + + ok &= addTempHeaderOpToFunctionData (data, "image"); + ok &= addTempHeaderOpToFunctionData (data, "tmp"); + + ok &= addFetchOpToFunctionData (data, "output", NULL, target); + ok &= addColorOpToFunctionData (data, "output", "output"); + + snprintf (str, 1024, + "MAD tmp, fragment.position, program.env[%d]," + " program.env[%d];", param, param + 1); + ok &= addDataOpToFunctionData (data, str); + + snprintf (str, 1024, + "TEX image, tmp, texture[%d], %s;", unit, targetString); + ok &= addDataOpToFunctionData (data, str); + + snprintf (str, 1024, + "MUL_SAT tmp, output.a, program.env[%d].b;" + "MAD image, -output.a, image, image;" + "MAD output, image, tmp.a, output;", param + 1); + ok &= addDataOpToFunctionData (data, str); + + if (!ok) + { + destroyFunctionData (data); + return 0; + } + + handle = createFragmentFunction (s, "reflex", data); + + rs->function.handle = handle; + rs->function.target = target; + rs->function.param = param; + rs->function.unit = unit; + + destroyFunctionData (data); + + return handle; + } + + return 0; +} + +static void +reflexUpdateWindowMatch (CompWindow *w) +{ + Bool active; + + REFLEX_WINDOW (w); + + active = matchEval (reflexGetMatch (w->screen), w); + if (active != rw->active) + { + rw->active = active; + addWindowDamage (w); + } +} + +static void +reflexScreenOptionChanged (CompScreen *s, + CompOption *opt, + ReflexScreenOptions num) +{ + CompWindow *w; + + REFLEX_SCREEN (s); + + switch (num) + { + + case ReflexScreenOptionFile: + if (rs->imageLoaded) + { + finiTexture (s, &rs->image); + initTexture (s, &rs->image); + } + rs->imageLoaded = readImageToTexture (s, &rs->image, reflexGetFile (s), + &rs->width, &rs->height); + damageScreen (s); + break; + + case ReflexScreenOptionMatch: + for (w = s->windows; w; w = w->next) + reflexUpdateWindowMatch (w); + + damageScreen (s); + break; + + default: + damageScreen (s); + break; + } +} + +static void +reflexDrawWindowTexture (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *attrib, + unsigned int mask) +{ + CompScreen *s = w->screen; + REFLEX_SCREEN (s); + REFLEX_WINDOW (w); + + Bool enabled = (texture == w->texture) ? + reflexGetWindow (s) : reflexGetDecoration (s); + + if (enabled && rw->active && rs->imageLoaded && + w->screen->fragmentProgram) + { + FragmentAttrib fa = *attrib; + int function; + int unit = 0; + int param; + float tx, ty, dx, mx; + + if (reflexGetMoving (s) ) + { + mx = w->attrib.x + (w->width / 2); + mx /= s->width / 2.0; + mx -= 1.0; + mx *= -0.065; + } + else + mx = 0.0; + + + if (rs->image.target == GL_TEXTURE_2D) + { + tx = 1.0 / s->width; + ty = 1.0 / s->height; + dx = mx; + } + else + { + tx = 1.0 / s->width * rs->width; + ty = 1.0 / s->height * rs->height; + dx = mx * rs->width; + } + + unit = allocFragmentTextureUnits (&fa, 1); + param = allocFragmentParameters (&fa, 2); + function = getReflexFragmentFunction (w->screen, texture, param, unit); + + if (function) + { + addFragmentFunction (&fa, function); + (*s->activeTexture) (GL_TEXTURE0_ARB + unit); + enableTexture (s, &rs->image, COMP_TEXTURE_FILTER_GOOD); + (*s->activeTexture) (GL_TEXTURE0_ARB); + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, param, + tx, ty, 0.0f, 0.0f); + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, param + 1, + dx, 0.0f, + reflexGetThreshold (s), 0.0f); + + } + + UNWRAP (rs, w->screen, drawWindowTexture); + (*w->screen->drawWindowTexture) (w, texture, &fa, mask); + WRAP (rs, w->screen, drawWindowTexture, reflexDrawWindowTexture); + + if (unit) + { + (*s->activeTexture) (GL_TEXTURE0_ARB + unit); + disableTexture (s, &rs->image); + (*s->activeTexture) (GL_TEXTURE0_ARB); + } + } + else + { + UNWRAP (rs, w->screen, drawWindowTexture); + (*w->screen->drawWindowTexture) (w, texture, attrib, mask); + WRAP (rs, w->screen, drawWindowTexture, reflexDrawWindowTexture); + } +} + +static void +reflexMatchExpHandlerChanged (CompDisplay *d) +{ + CompScreen *s; + CompWindow *w; + + REFLEX_DISPLAY (d); + + UNWRAP (rd, d, matchExpHandlerChanged); + (*d->matchExpHandlerChanged) (d); + WRAP (rd, d, matchExpHandlerChanged, reflexMatchExpHandlerChanged); + + /* match options are up to date after the call to matchExpHandlerChanged */ + for (s = d->screens; s; s = s->next) + { + for (w = s->windows; w; w = w->next) + reflexUpdateWindowMatch (w); + } +} + +static void +reflexMatchPropertyChanged (CompDisplay *d, + CompWindow *w) +{ + REFLEX_DISPLAY (d); + + reflexUpdateWindowMatch (w); + + UNWRAP (rd, d, matchPropertyChanged); + (*d->matchPropertyChanged) (d, w); + WRAP (rd, d, matchPropertyChanged, reflexMatchPropertyChanged); +} + +static Bool +reflexInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ReflexDisplay *rd; + + rd = malloc (sizeof (ReflexDisplay) ); + + if (!rd) + return FALSE; + + rd->screenPrivateIndex = allocateScreenPrivateIndex (d); + + if (rd->screenPrivateIndex < 0) + { + free (rd); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = rd; + + WRAP (rd, d, matchExpHandlerChanged, reflexMatchExpHandlerChanged); + WRAP (rd, d, matchPropertyChanged, reflexMatchPropertyChanged); + + return TRUE; +} + +static void +reflexFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + REFLEX_DISPLAY (d); + freeScreenPrivateIndex (d, rd->screenPrivateIndex); + + UNWRAP (rd, d, matchExpHandlerChanged); + UNWRAP (rd, d, matchPropertyChanged); + + free (rd); +} + + +static Bool +reflexInitScreen (CompPlugin *p, + CompScreen *s) +{ + ReflexScreen *rs; + + REFLEX_DISPLAY (s->display); + + rs = malloc (sizeof (ReflexScreen) ); + + if (!rs) + return FALSE; + + rs->windowPrivateIndex = allocateWindowPrivateIndex (s); + + if (rs->windowPrivateIndex < 0) + { + free (rs); + return FALSE; + } + + initTexture (s, &rs->image); + + rs->imageLoaded = readImageToTexture (s, &rs->image, reflexGetFile (s), + &rs->width, &rs->height); + reflexSetFileNotify (s, reflexScreenOptionChanged); + reflexSetMatchNotify (s, reflexScreenOptionChanged); + + s->privates[rd->screenPrivateIndex].ptr = rs; + + rs->function.handle = 0; + + WRAP (rs, s, drawWindowTexture, reflexDrawWindowTexture); + + return TRUE; +} + + +static void +reflexFiniScreen (CompPlugin *p, + CompScreen *s) +{ + REFLEX_SCREEN (s); + + freeWindowPrivateIndex (s, rs->windowPrivateIndex); + + UNWRAP (rs, s, drawWindowTexture); + + if (rs->function.handle) + destroyFragmentFunction (s, rs->function.handle); + + free (rs); +} + +static Bool +reflexInitWindow (CompPlugin *p, + CompWindow *w) +{ + ReflexWindow *rw; + + REFLEX_SCREEN (w->screen); + + rw = malloc (sizeof (ReflexWindow)); + if (!rw) + return FALSE; + + rw->active = FALSE; + + w->privates[rs->windowPrivateIndex].ptr = rw; + + reflexUpdateWindowMatch (w); + + return TRUE; +} + +static void +reflexFiniWindow (CompPlugin *p, + CompWindow *w) +{ + REFLEX_WINDOW (w); + free (rw); +} + +static Bool +reflexInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +reflexFini (CompPlugin *p) +{ + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +reflexGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable reflexVTable = { + + "reflex", + reflexGetVersion, + 0, + reflexInit, + reflexFini, + reflexInitDisplay, + reflexFiniDisplay, + reflexInitScreen, + reflexFiniScreen, + reflexInitWindow, + reflexFiniWindow, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &reflexVTable; +} diff --git a/ring/Makefile b/ring/Makefile new file mode 100644 index 0000000..b1773ac --- /dev/null +++ b/ring/Makefile @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# ring/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = ring +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libring_la_DEPENDENCIES = +am_libring_la_OBJECTS = ring_options.lo ring.lo +libring_la_OBJECTS = $(am_libring_la_OBJECTS) +libring_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libring_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libring_la_SOURCES) +DIST_SOURCES = $(libring_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/ring +abs_srcdir = /media/disk-3/src/compiz/ring +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libring_la_LDFLAGS = $(PFLAGS) +libring_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +libring_la_SOURCES = ring_options.c ring_options.h ring.c +INCLUDES = \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libring.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ring/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu ring/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libring.la: $(libring_la_OBJECTS) $(libring_la_DEPENDENCIES) + $(libring_la_LINK) -rpath $(moduledir) $(libring_la_OBJECTS) $(libring_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/ring.Plo +include ./$(DEPDIR)/ring_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +ring_options.h: ../metadata/ring.xml + $(BCOP_BIN) --header $@ $< + +ring_options.c: ../metadata/ring.xml ring_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/ring/Makefile.am b/ring/Makefile.am new file mode 100644 index 0000000..eec3c7e --- /dev/null +++ b/ring/Makefile.am @@ -0,0 +1,27 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +libring_la_LDFLAGS = $(PFLAGS) +libring_la_LIBADD = @ECOMP_LIBS@ +libring_la_SOURCES = ring_options.c ring_options.h ring.c + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) + + +module_LTLIBRARIES = libring.la + +CLEANFILES = *_options.c *_options.h + +ring_options.h: ../metadata/ring.xml + $(BCOP_BIN) --header $@ $< + +ring_options.c: ../metadata/ring.xml ring_options.h + $(BCOP_BIN) --source $@ $< diff --git a/ring/Makefile.in b/ring/Makefile.in new file mode 100644 index 0000000..ae75dfd --- /dev/null +++ b/ring/Makefile.in @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = ring +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libring_la_DEPENDENCIES = +am_libring_la_OBJECTS = ring_options.lo ring.lo +libring_la_OBJECTS = $(am_libring_la_OBJECTS) +libring_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libring_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libring_la_SOURCES) +DIST_SOURCES = $(libring_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +libring_la_LDFLAGS = $(PFLAGS) +libring_la_LIBADD = @ECOMP_LIBS@ +libring_la_SOURCES = ring_options.c ring_options.h ring.c +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libring.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ring/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu ring/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libring.la: $(libring_la_OBJECTS) $(libring_la_DEPENDENCIES) + $(libring_la_LINK) -rpath $(moduledir) $(libring_la_OBJECTS) $(libring_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ring.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ring_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +ring_options.h: ../metadata/ring.xml + $(BCOP_BIN) --header $@ $< + +ring_options.c: ../metadata/ring.xml ring_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/ring/ring.c b/ring/ring.c new file mode 100644 index 0000000..59fba38 --- /dev/null +++ b/ring/ring.c @@ -0,0 +1,1790 @@ +/* + * + * Ecomp ring switcher plugin + * + * ring.c + * + * Copyright : (C) 2007 by Danny Baumann + * E-mail : maniac@opencompositing.org + * + * Based on scale.c and switcher.c: + * Copyright : (C) 2007 David Reveman + * E-mail : davidr@novell.com + * + * Rounded corner drawing taken from wall.c: + * Copyright : (C) 2007 Robert Carr + * E-mail : racarr@beryl-project.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +/* TODO list for this plugin + * - is there a way to get icons larger than 96x96? + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include "ring_options.h" + +typedef enum { + RingStateNone = 0, + RingStateOut, + RingStateSwitching, + RingStateIn +} RingState; + +typedef enum { + RingTypeNormal = 0, + RingTypeGroup, + RingTypeAll +} RingType; + +static int displayPrivateIndex; + +typedef struct _RingSlot { + int x, y; /* thumb center coordinates */ + float scale; /* size scale (fit to maximal thumb size */ + float depthScale; /* scale for depth impression */ + float depthBrightness; /* brightness for depth impression */ +} RingSlot; + +typedef struct _RingDrawSlot { + CompWindow *w; + RingSlot **slot; +} RingDrawSlot; + +typedef struct _RingDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; +} RingDisplay; + +typedef struct _RingScreen { + int windowPrivateIndex; + + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + DamageWindowRectProc damageWindowRect; + + int grabIndex; + + RingState state; + RingType type; + Bool moreAdjust; + Bool rotateAdjust; + + Bool paintingSwitcher; + + int rotTarget; + int rotAdjust; + GLfloat rVelocity; + + Cursor cursor; + + /* only used for sorting */ + CompWindow **windows; + RingDrawSlot *drawSlots; + int windowsSize; + int nWindows; + + Window selectedWindow; + + /* text display support */ + CompTexture textTexture; + Pixmap textPixmap; + int textWidth; + int textHeight; + + CompMatch match; + CompMatch *currentMatch; +} RingScreen; + +typedef struct _RingWindow { + RingSlot *slot; + + GLfloat xVelocity; + GLfloat yVelocity; + GLfloat scaleVelocity; + + GLfloat tx; + GLfloat ty; + GLfloat scale; + Bool adjust; +} RingWindow; + +#define PI 3.1415926 +#define DIST_ROT (3600 / rs->nWindows) + +#define GET_RING_DISPLAY(d) \ + ((RingDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define RING_DISPLAY(d) \ + RingDisplay *rd = GET_RING_DISPLAY (d) + +#define GET_RING_SCREEN(s, rd) \ + ((RingScreen *) (s)->privates[(rd)->screenPrivateIndex].ptr) + +#define RING_SCREEN(s) \ + RingScreen *rs = GET_RING_SCREEN (s, GET_RING_DISPLAY (s->display)) + +#define GET_RING_WINDOW(w, rs) \ + ((RingWindow *) (w)->privates[(rs)->windowPrivateIndex].ptr) + +#define RING_WINDOW(w) \ + RingWindow *rw = GET_RING_WINDOW (w, \ + GET_RING_SCREEN (w->screen, \ + GET_RING_DISPLAY (w->screen->display))) + +static Bool +isRingWin (CompWindow *w) +{ + RING_SCREEN (w->screen); + + if (w->attrib.override_redirect) + return FALSE; + + if (w->wmType & (CompWindowTypeDockMask | CompWindowTypeDesktopMask)) + return FALSE; + + if (!w->mapNum || w->attrib.map_state != IsViewable) + { + if (ringGetMinimized (w->screen)) + { + if (!w->minimized && !w->inShowDesktopMode && !w->shaded) + return FALSE; + } + else + return FALSE; + } + + if (rs->type == RingTypeNormal) + { + if (!w->mapNum || w->attrib.map_state != IsViewable) + { + if (w->serverX + w->width <= 0 || + w->serverY + w->height <= 0 || + w->serverX >= w->screen->width || + w->serverY >= w->screen->height) + return FALSE; + } + else + { + if (!(*w->screen->focusWindow) (w)) + return FALSE; + } + } + + if (w->state & CompWindowStateSkipTaskbarMask) + return FALSE; + + if (w->state & CompWindowStateShadedMask) + return FALSE; + + if (!matchEval (rs->currentMatch, w)) + return FALSE; + + return TRUE; +} + +static void +ringFreeWindowTitle (CompScreen *s) +{ + RING_SCREEN(s); + + if (!rs->textPixmap) + return; + + releasePixmapFromTexture (s, &rs->textTexture); + initTexture (s, &rs->textTexture); + XFreePixmap (s->display->display, rs->textPixmap); + rs->textPixmap = None; +} + +static void +ringRenderWindowTitle (CompScreen *s) +{ + CompTextAttrib tA; + int stride; + void *data; + + RING_SCREEN (s); + + ringFreeWindowTitle (s); + if (!ringGetWindowTitle (s)) + return; + + int ox1, ox2, oy1, oy2; + getCurrentOutputExtents (s, &ox1, &oy1, &ox2, &oy2); + + /* 75% of the output device as maximum width */ + tA.maxwidth = (ox2 - ox1) * 3 / 4; + tA.maxheight = 100; + tA.screen = s; + tA.size = ringGetTitleFontSize (s); + tA.color[0] = ringGetTitleFontColorRed (s); + tA.color[1] = ringGetTitleFontColorGreen (s); + tA.color[2] = ringGetTitleFontColorBlue (s); + tA.color[3] = ringGetTitleFontColorAlpha (s); + tA.style = (ringGetTitleFontBold (s)) ? + TEXT_STYLE_BOLD : TEXT_STYLE_NORMAL; + tA.family = "Sans"; + tA.ellipsize = TRUE; + + tA.renderMode = TextRenderWindowTitle; + tA.data = (void*)rs->selectedWindow; + + initTexture (s, &rs->textTexture); + + if ((*s->display->fileToImage) (s->display, TEXT_ID, (char *)&tA, + &rs->textWidth, &rs->textHeight, + &stride, &data)) + { + rs->textPixmap = (Pixmap)data; + bindPixmapToTexture (s, &rs->textTexture, rs->textPixmap, + rs->textWidth, rs->textHeight, 32); + } + else + { + rs->textPixmap = None; + rs->textWidth = 0; + rs->textHeight = 0; + } +} + +static void +ringDrawWindowTitle (CompScreen *s) +{ + RING_SCREEN(s); + GLboolean wasBlend; + GLint oldBlendSrc, oldBlendDst; + + float width = rs->textWidth; + float height = rs->textHeight; + float border = 10.0f; + + int ox1, ox2, oy1, oy2; + getCurrentOutputExtents (s, &ox1, &oy1, &ox2, &oy2); + + float x = ox1 + ((ox2 - ox1) / 2) - (rs->textWidth / 2); + float y; + + /* assign y (for the lower corner!) according to the setting */ + switch (ringGetTitleTextPlacement (s)) + { + case TitleTextPlacementCenteredOnScreen: + y = oy1 + ((oy2 - oy1) / 2) + (height / 2); + break; + case TitleTextPlacementAboveRing: + case TitleTextPlacementBelowRing: + { + XRectangle workArea; + getWorkareaForOutput (s, s->currentOutputDev, &workArea); + + if (ringGetTitleTextPlacement (s) == + TitleTextPlacementAboveRing) + y = oy1 + workArea.y + (2 * border) + height; + else + y = oy1 + workArea.y + workArea.height - (2 * border); + } + break; + default: + return; + break; + } + + x = floor (x); + y = floor (y); + + glGetIntegerv (GL_BLEND_SRC, &oldBlendSrc); + glGetIntegerv (GL_BLEND_DST, &oldBlendDst); + wasBlend = glIsEnabled (GL_BLEND); + + if (!wasBlend) + glEnable (GL_BLEND); + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + + glColor4us (ringGetTitleBackColorRed (s), + ringGetTitleBackColorGreen (s), + ringGetTitleBackColorBlue (s), + ringGetTitleBackColorAlpha (s)); + + glPushMatrix (); + + glTranslatef (x, y - height, 0.0f); + glRectf (0.0f, height, width, 0.0f); + glRectf (0.0f, 0.0f, width, -border); + glRectf (0.0f, height + border, width, height); + glRectf (-border, height, 0.0f, 0.0f); + glRectf (width, height, width + border, 0.0f); + glTranslatef (-border, -border, 0.0f); + +#define CORNER(a,b) \ + for (k = a; k < b; k++) \ + {\ + float rad = k * (PI / 180.0f);\ + glVertex2f (0.0f, 0.0f);\ + glVertex2f (cos(rad) * border, sin(rad) * border);\ + glVertex2f (cos((k-1) * (PI / 180.0f)) * border, \ + sin((k-1) * (PI / 180.0f)) * border);\ + } + + /* Rounded corners */ + int k; + + glTranslatef (border, border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (180, 270) glEnd (); + glTranslatef (-border, -border, 0.0f); + + glTranslatef (width + border, border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (270, 360) glEnd (); + glTranslatef (-(width + border), -border, 0.0f); + + glTranslatef (border, height + border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (90, 180) glEnd (); + glTranslatef (-border, -(height + border), 0.0f); + + glTranslatef (width + border, height + border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (0, 90) glEnd (); + glTranslatef (-(width + border), -(height + border), 0.0f); + + glPopMatrix (); + +#undef CORNER + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glColor4f (1.0, 1.0, 1.0, 1.0); + + enableTexture (s, &rs->textTexture,COMP_TEXTURE_FILTER_GOOD); + + CompMatrix *m = &rs->textTexture.matrix; + + glBegin (GL_QUADS); + + glTexCoord2f (COMP_TEX_COORD_X (m, 0), COMP_TEX_COORD_Y (m ,0)); + glVertex2f (x, y - height); + glTexCoord2f (COMP_TEX_COORD_X (m, 0), COMP_TEX_COORD_Y (m, height)); + glVertex2f (x, y); + glTexCoord2f (COMP_TEX_COORD_X (m, width), COMP_TEX_COORD_Y (m, height)); + glVertex2f (x + width, y); + glTexCoord2f (COMP_TEX_COORD_X (m, width), COMP_TEX_COORD_Y (m, 0)); + glVertex2f (x + width, y - height); + + glEnd (); + + disableTexture (s, &rs->textTexture); + glColor4usv (defaultColor); + + if (!wasBlend) + glDisable (GL_BLEND); + glBlendFunc (oldBlendSrc, oldBlendDst); +} + +static Bool +ringPaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + RING_SCREEN (s); + + if (rs->state != RingStateNone) + { + WindowPaintAttrib sAttrib = *attrib; + Bool scaled = FALSE; + + RING_WINDOW (w); + + if (w->mapNum) + { + if (!w->texture->pixmap && !w->bindFailed) + bindWindow (w); + } + + if (rw->adjust || rw->slot) + { + scaled = rw->adjust || (rw->slot && rs->paintingSwitcher); + mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK; + } + else if (rs->state != RingStateIn) + { + if (ringGetDarkenBack (s)) + { + /* modify brightness of the other windows */ + sAttrib.brightness = sAttrib.brightness / 2; + } + } + + UNWRAP (rs, s, paintWindow); + status = (*s->paintWindow) (w, &sAttrib, transform, region, mask); + WRAP (rs, s, paintWindow, ringPaintWindow); + + if (scaled && w->texture->pixmap) + { + FragmentAttrib fragment; + CompTransform wTransform = *transform; + + if (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) + return FALSE; + + initFragmentAttrib (&fragment, &w->lastPaint); + + if (rw->slot) + { + fragment.brightness = (float) fragment.brightness * + rw->slot->depthBrightness; + if (w->id != rs->selectedWindow) + fragment.opacity = (float)fragment.opacity * + ringGetInactiveOpacity (s) / 100; + } + + if (w->alpha || fragment.opacity != OPAQUE) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f); + matrixScale (&wTransform, rw->scale, rw->scale, 1.0f); + matrixTranslate (&wTransform, + rw->tx / rw->scale - w->attrib.x, + rw->ty / rw->scale - w->attrib.y, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*s->drawWindow) (w, &wTransform, &fragment, region, + mask | PAINT_WINDOW_TRANSFORMED_MASK); + + glPopMatrix (); + } + + if (scaled && (rs->state != RingStateIn) && + ((ringGetOverlayIcon (s) != OverlayIconNone) || + !w->texture->pixmap)) + { + CompIcon *icon; + + icon = getWindowIcon (w, 96, 96); + if (!icon) + icon = w->screen->defaultIcon; + + if (icon && (icon->texture.name || iconToTexture (w->screen, icon))) + { + REGION iconReg; + CompMatrix matrix; + float scale; + float x, y; + int width, height; + int scaledWinWidth, scaledWinHeight; + RingOverlayIconEnum iconOverlay = ringGetOverlayIcon (s); + + scaledWinWidth = w->width * rw->scale; + scaledWinHeight = w->height * rw->scale; + + if (!w->texture->pixmap) + iconOverlay = OverlayIconBig; + + switch (iconOverlay) + { + case OverlayIconNone: + case OverlayIconEmblem: + scale = (rw->slot) ? rw->slot->depthScale : 1.0f; + break; + case OverlayIconBig: + default: + /* only change opacity if not painting an + icon for a minimized window */ + if (w->texture->pixmap) + sAttrib.opacity /= 3; + scale = MIN (((float) scaledWinWidth / icon->width), + ((float) scaledWinHeight / icon->height)); + break; + } + + width = icon->width * scale; + height = icon->height * scale; + + switch (iconOverlay) { + case OverlayIconNone: + case OverlayIconEmblem: + x = w->attrib.x + scaledWinWidth - width; + y = w->attrib.y + scaledWinHeight - height; + break; + case OverlayIconBig: + default: + x = w->attrib.x + scaledWinWidth / 2 - width / 2; + y = w->attrib.y + scaledWinHeight / 2 - height / 2; + break; + } + + x += rw->tx; + y += rw->ty; + + mask |= PAINT_WINDOW_BLEND_MASK; + + /* if we paint the icon for a minimized window, we need + to force the usage of a good texture filter */ + if (!w->texture->pixmap) + mask |= PAINT_WINDOW_TRANSFORMED_MASK; + + iconReg.rects = &iconReg.extents; + iconReg.numRects = 1; + + iconReg.extents.x1 = w->attrib.x; + iconReg.extents.y1 = w->attrib.y; + iconReg.extents.x2 = w->attrib.x + icon->width; + iconReg.extents.y2 = w->attrib.y + icon->height; + + matrix = icon->texture.matrix; + matrix.x0 -= (w->attrib.x * icon->texture.matrix.xx); + matrix.y0 -= (w->attrib.y * icon->texture.matrix.yy); + + w->vCount = w->indexCount = 0; + (*w->screen->addWindowGeometry) (w, &matrix, 1, + &iconReg, &infiniteRegion); + + if (w->vCount) + { + FragmentAttrib fragment; + CompTransform wTransform = *transform; + + if (!w->texture->pixmap) + { + /* the fade plugin does weird things to + w->paint.opacity, so better use the atom value */ + sAttrib.opacity = w->opacity; + } + + initFragmentAttrib (&fragment, &sAttrib); + + if (rw->slot) + fragment.brightness = (float) fragment.brightness * + rw->slot->depthBrightness; + + matrixTranslate (&wTransform, + w->attrib.x, w->attrib.y, 0.0f); + matrixScale (&wTransform, scale, scale, 1.0f); + matrixTranslate (&wTransform, + (x - w->attrib.x) / scale - w->attrib.x, + (y - w->attrib.y) / scale - w->attrib.y, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*w->screen->drawWindowTexture) (w, + &icon->texture, &fragment, + mask); + + glPopMatrix (); + } + } + } + } + else + { + UNWRAP (rs, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (rs, s, paintWindow, ringPaintWindow); + } + + return status; +} + +static inline float +ringLinearInterpolation(float valX, + float minX, float maxX, + float minY, float maxY) +{ + double factor = (maxY - minY) / (maxX - minX); + return (minY + (factor * (valX - minX))); +} + +static int +compareWindows (const void *elem1, + const void *elem2) +{ + CompWindow *w1 = *((CompWindow **) elem1); + CompWindow *w2 = *((CompWindow **) elem2); + + if (w1->mapNum && !w2->mapNum) + return -1; + + if (w2->mapNum && !w1->mapNum) + return 1; + + return w2->activeNum - w1->activeNum; +} + +static int +compareRingWindowDepth (const void *elem1, + const void *elem2) +{ + RingSlot *a1 = *(((RingDrawSlot *) elem1)->slot); + RingSlot *a2 = *(((RingDrawSlot *) elem2)->slot); + + if (a1->y < a2->y) + return -1; + else if (a1->y > a2->y) + return 1; + else + return 0; +} + +static Bool +layoutThumbs (CompScreen *s) +{ + RING_SCREEN (s); + CompWindow *w; + float baseAngle = (2 * PI * rs->rotTarget) / 3600; + float angle; + int index; + int ww, wh; + float xScale, yScale; + + if ((rs->state == RingStateNone) || (rs->state == RingStateIn)) + return FALSE; + + int ox1, ox2, oy1, oy2; + getCurrentOutputExtents (s, &ox1, &oy1, &ox2, &oy2); + /* the center of the ellipse is in the middle + of the used output device */ + int centerX = ox1 + (ox2 - ox1) / 2; + int centerY = oy1 + (oy2 - oy1) / 2; + int ellipseA = ((ox2 - ox1) * ringGetRingWidth (s)) / 200; + int ellipseB = ((oy2 - oy1) * ringGetRingHeight (s)) / 200; + + for (index = 0; index < rs->nWindows; index++) + { + w = rs->windows[index]; + RING_WINDOW (w); + + if (!rw->slot) + rw->slot = malloc (sizeof(RingSlot)); + + if (!rw->slot) + return FALSE; + + /* we subtract the angle from the base angle + to order the windows clockwise */ + angle = baseAngle - (index * (2 * PI / rs->nWindows)); + + rw->slot->x = centerX + (ringGetRingClockwise(s) ? -1 : 1) * + ((float)ellipseA * sin(angle)); + rw->slot->y = centerY + ((float)ellipseB * cos(angle)); + + ww = w->width + w->input.left + w->input.right; + wh = w->height + w->input.top + w->input.bottom; + + if (ww > ringGetThumbWidth (s)) + xScale = (float)(ringGetThumbWidth (s)) / (float)ww; + else + xScale = 1.0f; + + if (wh > ringGetThumbHeight (s)) + yScale = (float)(ringGetThumbHeight (s)) / (float)wh; + else + yScale = 1.0f; + + rw->slot->scale = MIN (xScale, yScale); + + /* scale and brightness are obtained by doing a linear inter- + polation - the y positions are the x values for the interpolation + (the larger Y is, the nearer is the window), and scale/brightness + are the y values for the interpolation */ + rw->slot->depthScale = + ringLinearInterpolation (rw->slot->y, + centerY - ellipseB, + centerY + ellipseB, + ringGetMinScale (s), + 1.0f); + + rw->slot->depthBrightness = + ringLinearInterpolation (rw->slot->y, + centerY - ellipseB, + centerY + ellipseB, + ringGetMinBrightness (s), + 1.0f); + + rs->drawSlots[index].w = w; + rs->drawSlots[index].slot = &rw->slot; + } + + /* sort the draw list so that the windows with the + lowest Y value (the windows being farest away) + are drawn first */ + qsort (rs->drawSlots, rs->nWindows, sizeof (RingDrawSlot), + compareRingWindowDepth); + + return TRUE; +} + +static void +ringAddWindowToList (CompScreen *s, + CompWindow *w) +{ + RING_SCREEN (s); + + if (rs->windowsSize <= rs->nWindows) + { + rs->windows = realloc (rs->windows, + sizeof (CompWindow *) * (rs->nWindows + 32)); + if (!rs->windows) + return; + + rs->drawSlots = realloc (rs->drawSlots, + sizeof (RingDrawSlot) * (rs->nWindows + 32)); + + if (!rs->drawSlots) + return; + + rs->windowsSize = rs->nWindows + 32; + } + + rs->windows[rs->nWindows++] = w; +} + +static Bool +ringUpdateWindowList (CompScreen *s) +{ + int i; + RING_SCREEN (s); + + qsort (rs->windows, rs->nWindows, sizeof (CompWindow *), compareWindows); + + rs->rotTarget = 0; + for (i = 0; i < rs->nWindows; i++) + { + if (rs->windows[i]->id == rs->selectedWindow) + break; + + rs->rotTarget += DIST_ROT; + } + + return layoutThumbs (s); +} + +static Bool +ringCreateWindowList (CompScreen *s) +{ + CompWindow *w; + + RING_SCREEN (s); + + rs->nWindows = 0; + + for (w = s->windows; w; w = w->next) + { + if (isRingWin (w)) + { + RING_WINDOW (w); + + ringAddWindowToList (s, w); + rw->adjust = TRUE; + } + } + + return ringUpdateWindowList (s); +} + +static void +switchToWindow (CompScreen *s, + Bool toNext) +{ + CompWindow *w; + int cur; + + RING_SCREEN (s); + + if (!rs->grabIndex) + return; + + for (cur = 0; cur < rs->nWindows; cur++) + { + if (rs->windows[cur]->id == rs->selectedWindow) + break; + } + + if (cur == rs->nWindows) + return; + + if (toNext) + w = rs->windows[(cur + 1) % rs->nWindows]; + else + w = rs->windows[(cur + rs->nWindows - 1) % rs->nWindows]; + + if (w) + { + Window old = rs->selectedWindow; + rs->selectedWindow = w->id; + + if (old != w->id) + { + if (toNext) + rs->rotAdjust += DIST_ROT; + else + rs->rotAdjust -= DIST_ROT; + + rs->rotateAdjust = TRUE; + damageScreen (s); + ringRenderWindowTitle (s); + } + } +} + +static int +ringCountWindows (CompScreen *s) +{ + CompWindow *w; + int count = 0; + + for (w = s->windows; w; w = w->next) + { + if (isRingWin (w)) + count++; + } + + return count; +} + +static int adjustRingRotation (CompScreen *s, float chunk) +{ + float dx, adjust, amount; + int change; + + RING_SCREEN(s); + + dx = rs->rotAdjust; + + adjust = dx * 0.15f; + amount = fabs(dx) * 1.5f; + if (amount < 0.2f) + amount = 0.2f; + else if (amount > 2.0f) + amount = 2.0f; + + rs->rVelocity = (amount * rs->rVelocity + adjust) / (amount + 1.0f); + + if (fabs (dx) < 0.1f && fabs (rs->rVelocity) < 0.2f) + { + rs->rVelocity = 0.0f; + rs->rotTarget += rs->rotAdjust; + rs->rotAdjust = 0; + return 0; + } + + change = rs->rVelocity * chunk; + if (!change) + { + if (rs->rVelocity) + change = (rs->rotAdjust > 0) ? 1 : -1; + } + + rs->rotAdjust -= change; + rs->rotTarget += change; + + if (!layoutThumbs (s)) + return FALSE; + + return TRUE; +} + +static int +adjustRingVelocity (CompWindow *w) +{ + float dx, dy, ds, adjust, amount; + float x1, y1, scale; + + RING_WINDOW (w); + + if (rw->slot) + { + scale = rw->slot->scale * rw->slot->depthScale; + x1 = rw->slot->x - (w->attrib.width * scale) / 2; + y1 = rw->slot->y - (w->attrib.height * scale) / 2; + } + else + { + x1 = w->attrib.x; + y1 = w->attrib.y; + scale = 1.0f; + } + + dx = x1 - (w->attrib.x + rw->tx); + + adjust = dx * 0.15f; + amount = fabs (dx) * 1.5f; + if (amount < 0.5f) + amount = 0.5f; + else if (amount > 5.0f) + amount = 5.0f; + + rw->xVelocity = (amount * rw->xVelocity + adjust) / (amount + 1.0f); + + dy = y1 - (w->attrib.y + rw->ty); + + adjust = dy * 0.15f; + amount = fabs (dy) * 1.5f; + if (amount < 0.5f) + amount = 0.5f; + else if (amount > 5.0f) + amount = 5.0f; + + rw->yVelocity = (amount * rw->yVelocity + adjust) / (amount + 1.0f); + + ds = scale - rw->scale; + adjust = ds * 0.1f; + amount = fabs (ds) * 7.0f; + if (amount < 0.01f) + amount = 0.01f; + else if (amount > 0.15f) + amount = 0.15f; + + rw->scaleVelocity = (amount * rw->scaleVelocity + adjust) / + (amount + 1.0f); + + if (fabs (dx) < 0.1f && fabs (rw->xVelocity) < 0.2f && + fabs (dy) < 0.1f && fabs (rw->yVelocity) < 0.2f && + fabs (ds) < 0.001f && fabs (rw->scaleVelocity) < 0.002f) + { + rw->xVelocity = rw->yVelocity = rw->scaleVelocity = 0.0f; + rw->tx = x1 - w->attrib.x; + rw->ty = y1 - w->attrib.y; + rw->scale = scale; + + return 0; + } + + return 1; +} + +static Bool +ringPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + RING_SCREEN (s); + + if (rs->state != RingStateNone) + mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + + UNWRAP (rs, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (rs, s, paintOutput, ringPaintOutput); + + if (rs->state != RingStateNone) + { + int i; + CompWindow *w; + CompTransform sTransform = *transform; + + transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &sTransform); + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + rs->paintingSwitcher = TRUE; + + for (i = 0; i < rs->nWindows; i++) + { + w = rs->drawSlots[i].w; + + if (rs->drawSlots[i].slot && *(rs->drawSlots[i].slot)) + { + (*s->paintWindow) (w, &w->paint, &sTransform, + &infiniteRegion, 0); + } + } + + rs->paintingSwitcher = FALSE; + + if (rs->textPixmap && (rs->state != RingStateIn)) + ringDrawWindowTitle (s); + + glPopMatrix (); + } + + return status; +} + +static void +ringPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + RING_SCREEN (s); + + if (rs->state != RingStateNone && + (rs->moreAdjust || rs->rotateAdjust)) + { + CompWindow *w; + int steps; + float amount, chunk; + + amount = msSinceLastPaint * 0.05f * ringGetSpeed (s); + steps = amount / (0.5f * ringGetTimestep (s)); + + if (!steps) + steps = 1; + chunk = amount / (float) steps; + + while (steps--) + { + rs->rotateAdjust = adjustRingRotation (s, chunk); + rs->moreAdjust = FALSE; + + for (w = s->windows; w; w = w->next) + { + RING_WINDOW (w); + + if (rw->adjust) + { + rw->adjust = adjustRingVelocity (w); + + rs->moreAdjust |= rw->adjust; + + rw->tx += rw->xVelocity * chunk; + rw->ty += rw->yVelocity * chunk; + rw->scale += rw->scaleVelocity * chunk; + } + else if (rw->slot) + { + rw->scale = rw->slot->scale * rw->slot->depthScale; + rw->tx = rw->slot->x - w->attrib.x - + (w->attrib.width * rw->scale) / 2; + rw->ty = rw->slot->y - w->attrib.y - + (w->attrib.height * rw->scale) / 2; + } + } + + if (!rs->moreAdjust && !rs->rotateAdjust) + break; + } + } + + UNWRAP (rs, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (rs, s, preparePaintScreen, ringPreparePaintScreen); +} + +static void +ringDonePaintScreen (CompScreen *s) +{ + RING_SCREEN (s); + + if (rs->state != RingStateNone) + { + if (rs->moreAdjust) + { + damageScreen (s); + } + else + { + if (rs->rotateAdjust) + { + damageScreen (s); + } + + if (rs->state == RingStateIn) + rs->state = RingStateNone; + else if (rs->state == RingStateOut) + rs->state = RingStateSwitching; + } + } + + UNWRAP (rs, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (rs, s, donePaintScreen, ringDonePaintScreen); +} + +static Bool +ringTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + RING_SCREEN (s); + + if (xid && s->root != xid) + continue; + + if (rs->grabIndex) + { + removeScreenGrab (s, rs->grabIndex, 0); + rs->grabIndex = 0; + } + + if (rs->state != RingStateNone) + { + CompWindow *w; + + for (w = s->windows; w; w = w->next) + { + RING_WINDOW (w); + + if (rw->slot) + { + free (rw->slot); + rw->slot = NULL; + + rw->adjust = TRUE; + } + } + rs->moreAdjust = TRUE; + rs->state = RingStateIn; + damageScreen (s); + + if (!(state & CompActionStateCancel) && rs->selectedWindow) + { + w = findWindowAtScreen (s, rs->selectedWindow); + if (w) + sendWindowActivationRequest (s, w->id); + } + } + } + + return FALSE; +} + +static Bool +ringInitiate (CompScreen *s, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompMatch *match; + int count; + + RING_SCREEN (s); + + if (otherScreenGrabExist (s, "ring", 0)) + return FALSE; + + rs->currentMatch = ringGetWindowMatch (s); + + match = getMatchOptionNamed (option, nOption, "match", NULL); + if (match) + { + matchFini (&rs->match); + matchInit (&rs->match); + if (matchCopy (&rs->match, match)) + { + matchUpdate (s->display, &rs->match); + rs->currentMatch = &rs->match; + } + } + + count = ringCountWindows (s); + + if (count < 1) + return FALSE; + + if (!rs->grabIndex) + { + if (ringGetSelectWithMouse (s)) + rs->grabIndex = pushScreenGrab (s, rs->cursor, "ring"); + else + rs->grabIndex = pushScreenGrab (s, s->invisibleCursor, "ring"); + } + + if (rs->grabIndex) + { + rs->state = RingStateOut; + + if (!ringCreateWindowList (s)) + return FALSE; + + rs->selectedWindow = rs->windows[0]->id; + ringRenderWindowTitle (s); + rs->rotTarget = 0; + + rs->moreAdjust = TRUE; + damageScreen (s); + } + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + return TRUE; +} + +static Bool +ringDoSwitch (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption, + Bool nextWindow, + RingType type) +{ + CompScreen *s; + Window xid; + Bool ret = TRUE; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + RING_SCREEN (s); + + if ((rs->state == RingStateNone) || (rs->state == RingStateIn)) + { + rs->type = type; + ret = ringInitiate (s, action, state, option, nOption); + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + } + + if (ret) + switchToWindow (s, nextWindow); + } + + return ret; +} + +static Bool +ringNext (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return ringDoSwitch (d, action, state, option, nOption, + TRUE, RingTypeNormal); +} + +static Bool +ringPrev (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return ringDoSwitch (d, action, state, option, nOption, + FALSE, RingTypeNormal); +} + +static Bool +ringNextAll (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return ringDoSwitch (d, action, state, option, nOption, + TRUE, RingTypeAll); +} + +static Bool +ringPrevAll (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return ringDoSwitch (d, action, state, option, nOption, + FALSE, RingTypeAll); +} + +static Bool +ringNextGroup (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return ringDoSwitch (d, action, state, option, nOption, + TRUE, RingTypeGroup); +} + +static Bool +ringPrevGroup (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return ringDoSwitch (d, action, state, option, nOption, + FALSE, RingTypeGroup); +} + +static void +ringWindowSelectAt (CompScreen *s, int x, int y) +{ + CompOption o; + CompWindow *w; + int i; + + RING_SCREEN (s); + + if (!ringGetSelectWithMouse (s)) + return; + + /* first find the top-most window the mouse + pointer is over */ + for (i = rs->nWindows - 1; i >= 0; i--) + { + w = rs->drawSlots[i].w; + + if (rs->drawSlots[i].slot && *(rs->drawSlots[i].slot)) + { + RING_WINDOW (w); + + if ((x >= (rw->tx + w->attrib.x)) && + (x <= (rw->tx + w->attrib.x + (w->width * rw->scale))) && + (y >= (rw->ty + w->attrib.y)) && + (y <= (rw->ty + w->attrib.y + (w->height * rw->scale)))) + { + /* we have found one, select it */ + rs->selectedWindow = w->id; + break; + } + } + } + + if (i >= 0) + { + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = s->root; + + ringTerminate(s->display, NULL, 0, &o, 1); + } +} + +static void +ringWindowRemove (CompDisplay * d, + Window id) +{ + CompWindow *w; + + w = findWindowAtDisplay (d, id); + if (w) + { + Bool inList = FALSE; + int j, i = 0; + Window selected; + + RING_SCREEN(w->screen); + + if (rs->state == RingStateNone) + return; + + if (isRingWin(w)) + return; + + selected = rs->selectedWindow; + + while (i < rs->nWindows) + { + if (w->id == rs->windows[i]->id) + { + inList = TRUE; + + if (w->id == selected) + { + if (i < (rs->nWindows - 1)) + selected = rs->windows[i + 1]->id; + else + selected = rs->windows[0]->id; + + rs->selectedWindow = selected; + } + + rs->nWindows--; + for (j = i; j < rs->nWindows; j++) + rs->windows[j] = rs->windows[j + 1]; + } + else + { + i++; + } + } + + if (!inList) + return; + + if (rs->nWindows == 0) + { + CompOption o; + + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = w->screen->root; + + ringTerminate (d, NULL, 0, &o, 1); + return; + } + + if (!rs->grabIndex) + return; + + if (ringUpdateWindowList (w->screen)) + { + rs->moreAdjust = TRUE; + rs->state = RingStateOut; + damageScreen (w->screen); + } + } +} + +static void +ringHandleEvent (CompDisplay *d, + XEvent *event) +{ + RING_DISPLAY (d); + + UNWRAP (rd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (rd, d, handleEvent, ringHandleEvent); + + switch (event->type) { + case PropertyNotify: + if (event->xproperty.atom == XA_WM_NAME) + { + CompWindow *w; + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + RING_SCREEN (w->screen); + if (rs->grabIndex && (w->id == rs->selectedWindow)) + { + ringRenderWindowTitle (w->screen); + damageScreen (w->screen); + } + } + } + break; + case ButtonPress: + if (event->xbutton.button == Button1) + { + CompScreen *s; + s = findScreenAtDisplay (d, event->xbutton.root); + if (s) + { + RING_SCREEN (s); + + if (rs->grabIndex) + ringWindowSelectAt (s, + event->xbutton.x_root, + event->xbutton.y_root); + } + } + break; + case UnmapNotify: + ringWindowRemove (d, event->xunmap.window); + break; + case DestroyNotify: + ringWindowRemove (d, event->xdestroywindow.window); + break; + } +} + +static Bool +ringDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status = FALSE; + + RING_SCREEN (w->screen); + + if (initial) + { + if (rs->grabIndex && isRingWin (w)) + { + ringAddWindowToList (w->screen, w); + if (ringUpdateWindowList (w->screen)) + { + RING_WINDOW (w); + + rw->adjust = TRUE; + rs->moreAdjust = TRUE; + rs->state = RingStateOut; + damageScreen (w->screen); + } + } + } + else if (rs->state == RingStateSwitching) + { + RING_WINDOW (w); + + if (rw->slot) + { + damageTransformedWindowRect (w, + rw->scale, rw->scale, + rw->tx, rw->ty, + rect); + + status = TRUE; + } + } + + UNWRAP (rs, w->screen, damageWindowRect); + status |= (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (rs, w->screen, damageWindowRect, ringDamageWindowRect); + + return status; +} + +static Bool +ringInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + RingDisplay *rd; + + rd = malloc (sizeof (RingDisplay)); + if (!rd) + return FALSE; + + rd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (rd->screenPrivateIndex < 0) + { + free (rd); + return FALSE; + } + + ringSetNextInitiate (d, ringNext); + ringSetNextTerminate (d, ringTerminate); + ringSetPrevInitiate (d, ringPrev); + ringSetPrevTerminate (d, ringTerminate); + ringSetNextAllInitiate (d, ringNextAll); + ringSetNextAllTerminate (d, ringTerminate); + ringSetPrevAllInitiate (d, ringPrevAll); + ringSetPrevAllTerminate (d, ringTerminate); + ringSetNextGroupInitiate (d, ringNextGroup); + ringSetNextGroupTerminate (d, ringTerminate); + ringSetPrevGroupInitiate (d, ringPrevGroup); + ringSetPrevGroupTerminate (d, ringTerminate); + + WRAP (rd, d, handleEvent, ringHandleEvent); + + d->privates[displayPrivateIndex].ptr = rd; + + return TRUE; +} + +static void +ringFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + RING_DISPLAY (d); + + freeScreenPrivateIndex (d, rd->screenPrivateIndex); + + UNWRAP (rd, d, handleEvent); + + free (rd); +} + +static Bool +ringInitScreen (CompPlugin *p, + CompScreen *s) +{ + RingScreen *rs; + + RING_DISPLAY (s->display); + + rs = malloc (sizeof (RingScreen)); + if (!rs) + return FALSE; + + rs->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (rs->windowPrivateIndex < 0) + { + free (rs); + return FALSE; + } + + rs->grabIndex = 0; + + rs->state = RingStateNone; + + rs->windows = NULL; + rs->drawSlots = NULL; + rs->windowsSize = 0; + + rs->paintingSwitcher = FALSE; + + rs->selectedWindow = None; + + rs->moreAdjust = FALSE; + rs->rotateAdjust = FALSE; + + rs->rotAdjust = 0; + rs->rVelocity = 0; + + rs->textPixmap = None; + + matchInit (&rs->match); + + WRAP (rs, s, preparePaintScreen, ringPreparePaintScreen); + WRAP (rs, s, donePaintScreen, ringDonePaintScreen); + WRAP (rs, s, paintOutput, ringPaintOutput); + WRAP (rs, s, paintWindow, ringPaintWindow); + WRAP (rs, s, damageWindowRect, ringDamageWindowRect); + + rs->cursor = XCreateFontCursor (s->display->display, XC_left_ptr); + + s->privates[rd->screenPrivateIndex].ptr = rs; + + return TRUE; +} + +static void +ringFiniScreen (CompPlugin *p, + CompScreen *s) +{ + RING_SCREEN (s); + + freeWindowPrivateIndex (s, rs->windowPrivateIndex); + + UNWRAP (rs, s, preparePaintScreen); + UNWRAP (rs, s, donePaintScreen); + UNWRAP (rs, s, paintOutput); + UNWRAP (rs, s, paintWindow); + UNWRAP (rs, s, damageWindowRect); + + matchFini (&rs->match); + + ringFreeWindowTitle (s); + + XFreeCursor (s->display->display, rs->cursor); + + if (rs->windows) + free (rs->windows); + + if (rs->drawSlots) + free (rs->drawSlots); + + free (rs); +} + +static Bool +ringInitWindow (CompPlugin *p, + CompWindow *w) +{ + RingWindow *rw; + + RING_SCREEN (w->screen); + + rw = malloc (sizeof (RingWindow)); + if (!rw) + return FALSE; + + rw->slot = 0; + rw->scale = 1.0f; + rw->tx = rw->ty = 0.0f; + rw->adjust = FALSE; + rw->xVelocity = rw->yVelocity = 0.0f; + rw->scaleVelocity = 0.0f; + + w->privates[rs->windowPrivateIndex].ptr = rw; + + return TRUE; +} + +static void +ringFiniWindow (CompPlugin *p, + CompWindow *w) +{ + RING_WINDOW (w); + + free (rw); +} + +static Bool +ringInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +ringFini (CompPlugin *p) +{ + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +ringGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable ringVTable = { + "ring", + ringGetVersion, + 0, + ringInit, + ringFini, + ringInitDisplay, + ringFiniDisplay, + ringInitScreen, + ringFiniScreen, + ringInitWindow, + ringFiniWindow, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &ringVTable; +} diff --git a/ring/ring_options.c b/ring/ring_options.c new file mode 100644 index 0000000..c13c57c --- /dev/null +++ b/ring/ring_options.c @@ -0,0 +1,1103 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _RING_OPTIONS_INTERNAL +#include "ring_options.h" + +static int displayPrivateIndex; + +static CompMetadata ringOptionsMetadata; + +static CompPluginVTable *ringPluginVTable = NULL; +CompPluginVTable ringOptionsVTable; + +#define GET_RING_OPTIONS_DISPLAY(d) \ + ((RingOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define RING_OPTIONS_DISPLAY(d) \ + RingOptionsDisplay *od = GET_RING_OPTIONS_DISPLAY (d) + +#define GET_RING_OPTIONS_SCREEN(s, od) \ + ((RingOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define RING_OPTIONS_SCREEN(s) \ + RingOptionsScreen *os = GET_RING_OPTIONS_SCREEN (s, GET_RING_OPTIONS_DISPLAY (s->display)) + +typedef struct _RingOptionsDisplay +{ + int screenPrivateIndex; + + CompOption opt[RingDisplayOptionNum]; + ringDisplayOptionChangeNotifyProc notify[RingDisplayOptionNum]; +} RingOptionsDisplay; + +typedef struct _RingOptionsScreen +{ + CompOption opt[RingScreenOptionNum]; + ringScreenOptionChangeNotifyProc notify[RingScreenOptionNum]; +} RingOptionsScreen; + +CompAction * ringGetNext (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionNext].value.action; +} + +void ringSetNextInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionNext].value.action.initiate = init; +} + +void ringSetNextTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionNext].value.action.terminate = term; +} + +CompOption * ringGetNextOption (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionNext]; +} + +void ringSetNextNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify) +{ + RING_OPTIONS_DISPLAY(d); + od->notify[RingDisplayOptionNext] = notify; +} + +CompAction * ringGetPrev (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionPrev].value.action; +} + +void ringSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionPrev].value.action.initiate = init; +} + +void ringSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionPrev].value.action.terminate = term; +} + +CompOption * ringGetPrevOption (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionPrev]; +} + +void ringSetPrevNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify) +{ + RING_OPTIONS_DISPLAY(d); + od->notify[RingDisplayOptionPrev] = notify; +} + +CompAction * ringGetNextAll (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionNextAll].value.action; +} + +void ringSetNextAllInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionNextAll].value.action.initiate = init; +} + +void ringSetNextAllTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionNextAll].value.action.terminate = term; +} + +CompOption * ringGetNextAllOption (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionNextAll]; +} + +void ringSetNextAllNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify) +{ + RING_OPTIONS_DISPLAY(d); + od->notify[RingDisplayOptionNextAll] = notify; +} + +CompAction * ringGetPrevAll (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionPrevAll].value.action; +} + +void ringSetPrevAllInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionPrevAll].value.action.initiate = init; +} + +void ringSetPrevAllTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionPrevAll].value.action.terminate = term; +} + +CompOption * ringGetPrevAllOption (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionPrevAll]; +} + +void ringSetPrevAllNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify) +{ + RING_OPTIONS_DISPLAY(d); + od->notify[RingDisplayOptionPrevAll] = notify; +} + +CompAction * ringGetNextGroup (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionNextGroup].value.action; +} + +void ringSetNextGroupInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionNextGroup].value.action.initiate = init; +} + +void ringSetNextGroupTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionNextGroup].value.action.terminate = term; +} + +CompOption * ringGetNextGroupOption (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionNextGroup]; +} + +void ringSetNextGroupNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify) +{ + RING_OPTIONS_DISPLAY(d); + od->notify[RingDisplayOptionNextGroup] = notify; +} + +CompAction * ringGetPrevGroup (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionPrevGroup].value.action; +} + +void ringSetPrevGroupInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionPrevGroup].value.action.initiate = init; +} + +void ringSetPrevGroupTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + RING_OPTIONS_DISPLAY(d); + od->opt[RingDisplayOptionPrevGroup].value.action.terminate = term; +} + +CompOption * ringGetPrevGroupOption (CompDisplay *d) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[RingDisplayOptionPrevGroup]; +} + +void ringSetPrevGroupNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify) +{ + RING_OPTIONS_DISPLAY(d); + od->notify[RingDisplayOptionPrevGroup] = notify; +} + +float ringGetSpeed (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionSpeed].value.f; +} + +CompOption * ringGetSpeedOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionSpeed]; +} + +void ringSetSpeedNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionSpeed] = notify; +} + +float ringGetTimestep (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTimestep].value.f; +} + +CompOption * ringGetTimestepOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionTimestep]; +} + +void ringSetTimestepNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionTimestep] = notify; +} + +int ringGetInactiveOpacity (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionInactiveOpacity].value.i; +} + +CompOption * ringGetInactiveOpacityOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionInactiveOpacity]; +} + +void ringSetInactiveOpacityNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionInactiveOpacity] = notify; +} + +CompMatch * ringGetWindowMatch (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionWindowMatch].value.match; +} + +CompOption * ringGetWindowMatchOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionWindowMatch]; +} + +void ringSetWindowMatchNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionWindowMatch] = notify; +} + +int ringGetOverlayIcon (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionOverlayIcon].value.i; +} + +CompOption * ringGetOverlayIconOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionOverlayIcon]; +} + +void ringSetOverlayIconNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionOverlayIcon] = notify; +} + +Bool ringGetDarkenBack (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionDarkenBack].value.b; +} + +CompOption * ringGetDarkenBackOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionDarkenBack]; +} + +void ringSetDarkenBackNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionDarkenBack] = notify; +} + +Bool ringGetMinimized (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionMinimized].value.b; +} + +CompOption * ringGetMinimizedOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionMinimized]; +} + +void ringSetMinimizedNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionMinimized] = notify; +} + +Bool ringGetSelectWithMouse (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionSelectWithMouse].value.b; +} + +CompOption * ringGetSelectWithMouseOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionSelectWithMouse]; +} + +void ringSetSelectWithMouseNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionSelectWithMouse] = notify; +} + +Bool ringGetRingClockwise (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionRingClockwise].value.b; +} + +CompOption * ringGetRingClockwiseOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionRingClockwise]; +} + +void ringSetRingClockwiseNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionRingClockwise] = notify; +} + +int ringGetRingWidth (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionRingWidth].value.i; +} + +CompOption * ringGetRingWidthOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionRingWidth]; +} + +void ringSetRingWidthNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionRingWidth] = notify; +} + +int ringGetRingHeight (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionRingHeight].value.i; +} + +CompOption * ringGetRingHeightOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionRingHeight]; +} + +void ringSetRingHeightNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionRingHeight] = notify; +} + +int ringGetThumbWidth (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionThumbWidth].value.i; +} + +CompOption * ringGetThumbWidthOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionThumbWidth]; +} + +void ringSetThumbWidthNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionThumbWidth] = notify; +} + +int ringGetThumbHeight (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionThumbHeight].value.i; +} + +CompOption * ringGetThumbHeightOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionThumbHeight]; +} + +void ringSetThumbHeightNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionThumbHeight] = notify; +} + +float ringGetMinBrightness (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionMinBrightness].value.f; +} + +CompOption * ringGetMinBrightnessOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionMinBrightness]; +} + +void ringSetMinBrightnessNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionMinBrightness] = notify; +} + +float ringGetMinScale (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionMinScale].value.f; +} + +CompOption * ringGetMinScaleOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionMinScale]; +} + +void ringSetMinScaleNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionMinScale] = notify; +} + +Bool ringGetWindowTitle (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionWindowTitle].value.b; +} + +CompOption * ringGetWindowTitleOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionWindowTitle]; +} + +void ringSetWindowTitleNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionWindowTitle] = notify; +} + +Bool ringGetTitleFontBold (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleFontBold].value.b; +} + +CompOption * ringGetTitleFontBoldOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionTitleFontBold]; +} + +void ringSetTitleFontBoldNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionTitleFontBold] = notify; +} + +int ringGetTitleFontSize (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleFontSize].value.i; +} + +CompOption * ringGetTitleFontSizeOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionTitleFontSize]; +} + +void ringSetTitleFontSizeNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionTitleFontSize] = notify; +} + +unsigned short * ringGetTitleBackColor (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleBackColor].value.c; +} + +unsigned short ringGetTitleBackColorRed (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleBackColor].value.c[0]; +} + +unsigned short ringGetTitleBackColorGreen (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleBackColor].value.c[1]; +} + +unsigned short ringGetTitleBackColorBlue (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleBackColor].value.c[2]; +} + +unsigned short ringGetTitleBackColorAlpha (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleBackColor].value.c[3]; +} + +CompOption * ringGetTitleBackColorOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionTitleBackColor]; +} + +void ringSetTitleBackColorNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionTitleBackColor] = notify; +} + +unsigned short * ringGetTitleFontColor (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleFontColor].value.c; +} + +unsigned short ringGetTitleFontColorRed (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleFontColor].value.c[0]; +} + +unsigned short ringGetTitleFontColorGreen (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleFontColor].value.c[1]; +} + +unsigned short ringGetTitleFontColorBlue (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleFontColor].value.c[2]; +} + +unsigned short ringGetTitleFontColorAlpha (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleFontColor].value.c[3]; +} + +CompOption * ringGetTitleFontColorOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionTitleFontColor]; +} + +void ringSetTitleFontColorNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionTitleFontColor] = notify; +} + +int ringGetTitleTextPlacement (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return os->opt[RingScreenOptionTitleTextPlacement].value.i; +} + +CompOption * ringGetTitleTextPlacementOption (CompScreen *s) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[RingScreenOptionTitleTextPlacement]; +} + +void ringSetTitleTextPlacementNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify) +{ + RING_OPTIONS_SCREEN(s); + os->notify[RingScreenOptionTitleTextPlacement] = notify; +} + +CompOption * ringGetDisplayOption (CompDisplay *d, RingDisplayOptions num) +{ + RING_OPTIONS_DISPLAY(d); + return &od->opt[num]; +} + +CompOption * ringGetScreenOption (CompScreen *s, RingScreenOptions num) +{ + RING_OPTIONS_SCREEN(s); + return &os->opt[num]; +} + +static const CompMetadataOptionInfo ringOptionsDisplayOptionInfo[] = { + { "next", "action", 0, 0, 0 }, + { "prev", "action", 0, 0, 0 }, + { "next_all", "action", 0, 0, 0 }, + { "prev_all", "action", 0, 0, 0 }, + { "next_group", "action", 0, 0, 0 }, + { "prev_group", "action", 0, 0, 0 }, +}; + +static Bool ringOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) +{ + RING_OPTIONS_DISPLAY(d); + CompOption *o; + int index; + + o = compFindOption (od->opt, RingDisplayOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case RingDisplayOptionNext: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[RingDisplayOptionNext]) + (*od->notify[RingDisplayOptionNext]) (d, o, RingDisplayOptionNext); + return TRUE; + } + break; + case RingDisplayOptionPrev: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[RingDisplayOptionPrev]) + (*od->notify[RingDisplayOptionPrev]) (d, o, RingDisplayOptionPrev); + return TRUE; + } + break; + case RingDisplayOptionNextAll: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[RingDisplayOptionNextAll]) + (*od->notify[RingDisplayOptionNextAll]) (d, o, RingDisplayOptionNextAll); + return TRUE; + } + break; + case RingDisplayOptionPrevAll: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[RingDisplayOptionPrevAll]) + (*od->notify[RingDisplayOptionPrevAll]) (d, o, RingDisplayOptionPrevAll); + return TRUE; + } + break; + case RingDisplayOptionNextGroup: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[RingDisplayOptionNextGroup]) + (*od->notify[RingDisplayOptionNextGroup]) (d, o, RingDisplayOptionNextGroup); + return TRUE; + } + break; + case RingDisplayOptionPrevGroup: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[RingDisplayOptionPrevGroup]) + (*od->notify[RingDisplayOptionPrevGroup]) (d, o, RingDisplayOptionPrevGroup); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * ringOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) +{ + RING_OPTIONS_DISPLAY(d); + *count = RingDisplayOptionNum; + return od->opt; +} + +static const CompMetadataOptionInfo ringOptionsScreenOptionInfo[] = { + { "speed", "float", "0.150.0", 0, 0 }, + { "timestep", "float", "0.150.0", 0, 0 }, + { "inactive_opacity", "int", "1100", 0, 0 }, + { "window_match", "match", 0, 0, 0 }, + { "overlay_icon", "int", "02", 0, 0 }, + { "darken_back", "bool", 0, 0, 0 }, + { "minimized", "bool", 0, 0, 0 }, + { "select_with_mouse", "bool", 0, 0, 0 }, + { "ring_clockwise", "bool", 0, 0, 0 }, + { "ring_width", "int", "1100", 0, 0 }, + { "ring_height", "int", "1100", 0, 0 }, + { "thumb_width", "int", "101024", 0, 0 }, + { "thumb_height", "int", "101024", 0, 0 }, + { "min_brightness", "float", "0.11.0", 0, 0 }, + { "min_scale", "float", "0.11.0", 0, 0 }, + { "window_title", "bool", 0, 0, 0 }, + { "title_font_bold", "bool", 0, 0, 0 }, + { "title_font_size", "int", "696", 0, 0 }, + { "title_back_color", "color", 0, 0, 0 }, + { "title_font_color", "color", 0, 0, 0 }, + { "title_text_placement", "int", "02", 0, 0 }, +}; + +static Bool ringOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + RING_OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, RingScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case RingScreenOptionSpeed: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionSpeed]) + (*os->notify[RingScreenOptionSpeed]) (s, o, RingScreenOptionSpeed); + return TRUE; + } + break; + case RingScreenOptionTimestep: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionTimestep]) + (*os->notify[RingScreenOptionTimestep]) (s, o, RingScreenOptionTimestep); + return TRUE; + } + break; + case RingScreenOptionInactiveOpacity: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionInactiveOpacity]) + (*os->notify[RingScreenOptionInactiveOpacity]) (s, o, RingScreenOptionInactiveOpacity); + return TRUE; + } + break; + case RingScreenOptionWindowMatch: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionWindowMatch]) + (*os->notify[RingScreenOptionWindowMatch]) (s, o, RingScreenOptionWindowMatch); + return TRUE; + } + break; + case RingScreenOptionOverlayIcon: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionOverlayIcon]) + (*os->notify[RingScreenOptionOverlayIcon]) (s, o, RingScreenOptionOverlayIcon); + return TRUE; + } + break; + case RingScreenOptionDarkenBack: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionDarkenBack]) + (*os->notify[RingScreenOptionDarkenBack]) (s, o, RingScreenOptionDarkenBack); + return TRUE; + } + break; + case RingScreenOptionMinimized: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionMinimized]) + (*os->notify[RingScreenOptionMinimized]) (s, o, RingScreenOptionMinimized); + return TRUE; + } + break; + case RingScreenOptionSelectWithMouse: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionSelectWithMouse]) + (*os->notify[RingScreenOptionSelectWithMouse]) (s, o, RingScreenOptionSelectWithMouse); + return TRUE; + } + break; + case RingScreenOptionRingClockwise: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionRingClockwise]) + (*os->notify[RingScreenOptionRingClockwise]) (s, o, RingScreenOptionRingClockwise); + return TRUE; + } + break; + case RingScreenOptionRingWidth: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionRingWidth]) + (*os->notify[RingScreenOptionRingWidth]) (s, o, RingScreenOptionRingWidth); + return TRUE; + } + break; + case RingScreenOptionRingHeight: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionRingHeight]) + (*os->notify[RingScreenOptionRingHeight]) (s, o, RingScreenOptionRingHeight); + return TRUE; + } + break; + case RingScreenOptionThumbWidth: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionThumbWidth]) + (*os->notify[RingScreenOptionThumbWidth]) (s, o, RingScreenOptionThumbWidth); + return TRUE; + } + break; + case RingScreenOptionThumbHeight: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionThumbHeight]) + (*os->notify[RingScreenOptionThumbHeight]) (s, o, RingScreenOptionThumbHeight); + return TRUE; + } + break; + case RingScreenOptionMinBrightness: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionMinBrightness]) + (*os->notify[RingScreenOptionMinBrightness]) (s, o, RingScreenOptionMinBrightness); + return TRUE; + } + break; + case RingScreenOptionMinScale: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionMinScale]) + (*os->notify[RingScreenOptionMinScale]) (s, o, RingScreenOptionMinScale); + return TRUE; + } + break; + case RingScreenOptionWindowTitle: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionWindowTitle]) + (*os->notify[RingScreenOptionWindowTitle]) (s, o, RingScreenOptionWindowTitle); + return TRUE; + } + break; + case RingScreenOptionTitleFontBold: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionTitleFontBold]) + (*os->notify[RingScreenOptionTitleFontBold]) (s, o, RingScreenOptionTitleFontBold); + return TRUE; + } + break; + case RingScreenOptionTitleFontSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionTitleFontSize]) + (*os->notify[RingScreenOptionTitleFontSize]) (s, o, RingScreenOptionTitleFontSize); + return TRUE; + } + break; + case RingScreenOptionTitleBackColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionTitleBackColor]) + (*os->notify[RingScreenOptionTitleBackColor]) (s, o, RingScreenOptionTitleBackColor); + return TRUE; + } + break; + case RingScreenOptionTitleFontColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionTitleFontColor]) + (*os->notify[RingScreenOptionTitleFontColor]) (s, o, RingScreenOptionTitleFontColor); + return TRUE; + } + break; + case RingScreenOptionTitleTextPlacement: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[RingScreenOptionTitleTextPlacement]) + (*os->notify[RingScreenOptionTitleTextPlacement]) (s, o, RingScreenOptionTitleTextPlacement); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * ringOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + RING_OPTIONS_SCREEN(s); + *count = RingScreenOptionNum; + return os->opt; +} + +static Bool ringOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + RingOptionsScreen *os; + + RING_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(RingOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (!compInitScreenOptionsFromMetadata (s, &ringOptionsMetadata, ringOptionsScreenOptionInfo, os->opt, RingScreenOptionNum)) + { + free (os); + return FALSE; + } + if (ringPluginVTable && ringPluginVTable->initScreen) + return ringPluginVTable->initScreen (p, s); + return TRUE; +} + +static void ringOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (ringPluginVTable && ringPluginVTable->finiScreen) + return ringPluginVTable->finiScreen (p, s); + + RING_OPTIONS_SCREEN (s); + + + compFiniScreenOptions (s, os->opt, RingScreenOptionNum); + + free (os); +} + +static Bool ringOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + RingOptionsDisplay *od; + + + od = calloc (1, sizeof(RingOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (!compInitDisplayOptionsFromMetadata (d, &ringOptionsMetadata, ringOptionsDisplayOptionInfo, od->opt, RingDisplayOptionNum)) + { + free (od); + return FALSE; + } + if (ringPluginVTable && ringPluginVTable->initDisplay) + return ringPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void ringOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (ringPluginVTable && ringPluginVTable->finiDisplay) + return ringPluginVTable->finiDisplay (p, d); + + RING_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + + compFiniDisplayOptions (d, od->opt, RingDisplayOptionNum); + + free (od); +} + +static Bool ringOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&ringOptionsMetadata, "ring",ringOptionsDisplayOptionInfo, RingDisplayOptionNum, ringOptionsScreenOptionInfo, RingScreenOptionNum)) + return FALSE; + + compAddMetadataFromFile (&ringOptionsMetadata, "ring"); + if (ringPluginVTable && ringPluginVTable->init) + return ringPluginVTable->init (p); + return TRUE; +} + +static void ringOptionsFini (CompPlugin *p) +{ + if (ringPluginVTable && ringPluginVTable->fini) + return ringPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&ringOptionsMetadata); +} + +static CompMetadata * +ringOptionsGetMetadata (CompPlugin *plugin) +{ + return &ringOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!ringPluginVTable) + { + ringPluginVTable = ringOptionsGetCompPluginInfo (); + memcpy(&ringOptionsVTable, ringPluginVTable, sizeof(CompPluginVTable)); + ringOptionsVTable.getMetadata = ringOptionsGetMetadata; + ringOptionsVTable.init = ringOptionsInit; + ringOptionsVTable.fini = ringOptionsFini; + ringOptionsVTable.initDisplay = ringOptionsInitDisplay; + ringOptionsVTable.finiDisplay = ringOptionsFiniDisplay; + ringOptionsVTable.initScreen = ringOptionsInitScreen; + ringOptionsVTable.finiScreen = ringOptionsFiniScreen; + ringOptionsVTable.getDisplayOptions = ringOptionsGetDisplayOptions; + ringOptionsVTable.setDisplayOption = ringOptionsSetDisplayOption; + ringOptionsVTable.getScreenOptions = ringOptionsGetScreenOptions; + ringOptionsVTable.setScreenOption = ringOptionsSetScreenOption; + + } + return &ringOptionsVTable; +} + diff --git a/ring/ring_options.h b/ring/ring_options.h new file mode 100644 index 0000000..a7ac866 --- /dev/null +++ b/ring/ring_options.h @@ -0,0 +1,216 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _RING_OPTIONS_H +#define _RING_OPTIONS_H + +#ifndef _RING_OPTIONS_INTERNAL +#define getCompPluginInfo ringOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *ringOptionsGetCompPluginInfo (void); + +typedef enum +{ + RingDisplayOptionNext, + RingDisplayOptionPrev, + RingDisplayOptionNextAll, + RingDisplayOptionPrevAll, + RingDisplayOptionNextGroup, + RingDisplayOptionPrevGroup, + RingDisplayOptionNum +} RingDisplayOptions; + +typedef void (*ringDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, RingDisplayOptions num); + +CompOption *ringGetDisplayOption (CompDisplay *d, RingDisplayOptions num); + +typedef enum +{ + RingScreenOptionSpeed, + RingScreenOptionTimestep, + RingScreenOptionInactiveOpacity, + RingScreenOptionWindowMatch, + RingScreenOptionOverlayIcon, + RingScreenOptionDarkenBack, + RingScreenOptionMinimized, + RingScreenOptionSelectWithMouse, + RingScreenOptionRingClockwise, + RingScreenOptionRingWidth, + RingScreenOptionRingHeight, + RingScreenOptionThumbWidth, + RingScreenOptionThumbHeight, + RingScreenOptionMinBrightness, + RingScreenOptionMinScale, + RingScreenOptionWindowTitle, + RingScreenOptionTitleFontBold, + RingScreenOptionTitleFontSize, + RingScreenOptionTitleBackColor, + RingScreenOptionTitleFontColor, + RingScreenOptionTitleTextPlacement, + RingScreenOptionNum +} RingScreenOptions; + +typedef void (*ringScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, RingScreenOptions num); + +CompOption *ringGetScreenOption (CompScreen *s, RingScreenOptions num); + +typedef enum +{ + OverlayIconNone = 0, + OverlayIconEmblem = 1, + OverlayIconBig = 2, +} RingOverlayIconEnum; + +typedef enum +{ + TitleTextPlacementCenteredOnScreen = 0, + TitleTextPlacementAboveRing = 1, + TitleTextPlacementBelowRing = 2, +} RingTitleTextPlacementEnum; + +CompAction * ringGetNext (CompDisplay *d); +void ringSetNextInitiate (CompDisplay *d, CompActionCallBackProc init); +void ringSetNextTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * ringGetNextOption (CompDisplay *d); +void ringSetNextNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify); + +CompAction * ringGetPrev (CompDisplay *d); +void ringSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init); +void ringSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * ringGetPrevOption (CompDisplay *d); +void ringSetPrevNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify); + +CompAction * ringGetNextAll (CompDisplay *d); +void ringSetNextAllInitiate (CompDisplay *d, CompActionCallBackProc init); +void ringSetNextAllTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * ringGetNextAllOption (CompDisplay *d); +void ringSetNextAllNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify); + +CompAction * ringGetPrevAll (CompDisplay *d); +void ringSetPrevAllInitiate (CompDisplay *d, CompActionCallBackProc init); +void ringSetPrevAllTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * ringGetPrevAllOption (CompDisplay *d); +void ringSetPrevAllNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify); + +CompAction * ringGetNextGroup (CompDisplay *d); +void ringSetNextGroupInitiate (CompDisplay *d, CompActionCallBackProc init); +void ringSetNextGroupTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * ringGetNextGroupOption (CompDisplay *d); +void ringSetNextGroupNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify); + +CompAction * ringGetPrevGroup (CompDisplay *d); +void ringSetPrevGroupInitiate (CompDisplay *d, CompActionCallBackProc init); +void ringSetPrevGroupTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * ringGetPrevGroupOption (CompDisplay *d); +void ringSetPrevGroupNotify (CompDisplay *d, ringDisplayOptionChangeNotifyProc notify); + +float ringGetSpeed (CompScreen *s); +CompOption * ringGetSpeedOption (CompScreen *s); +void ringSetSpeedNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +float ringGetTimestep (CompScreen *s); +CompOption * ringGetTimestepOption (CompScreen *s); +void ringSetTimestepNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +int ringGetInactiveOpacity (CompScreen *s); +CompOption * ringGetInactiveOpacityOption (CompScreen *s); +void ringSetInactiveOpacityNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +CompMatch * ringGetWindowMatch (CompScreen *s); +CompOption * ringGetWindowMatchOption (CompScreen *s); +void ringSetWindowMatchNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +int ringGetOverlayIcon (CompScreen *s); +CompOption * ringGetOverlayIconOption (CompScreen *s); +void ringSetOverlayIconNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +Bool ringGetDarkenBack (CompScreen *s); +CompOption * ringGetDarkenBackOption (CompScreen *s); +void ringSetDarkenBackNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +Bool ringGetMinimized (CompScreen *s); +CompOption * ringGetMinimizedOption (CompScreen *s); +void ringSetMinimizedNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +Bool ringGetSelectWithMouse (CompScreen *s); +CompOption * ringGetSelectWithMouseOption (CompScreen *s); +void ringSetSelectWithMouseNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +Bool ringGetRingClockwise (CompScreen *s); +CompOption * ringGetRingClockwiseOption (CompScreen *s); +void ringSetRingClockwiseNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +int ringGetRingWidth (CompScreen *s); +CompOption * ringGetRingWidthOption (CompScreen *s); +void ringSetRingWidthNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +int ringGetRingHeight (CompScreen *s); +CompOption * ringGetRingHeightOption (CompScreen *s); +void ringSetRingHeightNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +int ringGetThumbWidth (CompScreen *s); +CompOption * ringGetThumbWidthOption (CompScreen *s); +void ringSetThumbWidthNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +int ringGetThumbHeight (CompScreen *s); +CompOption * ringGetThumbHeightOption (CompScreen *s); +void ringSetThumbHeightNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +float ringGetMinBrightness (CompScreen *s); +CompOption * ringGetMinBrightnessOption (CompScreen *s); +void ringSetMinBrightnessNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +float ringGetMinScale (CompScreen *s); +CompOption * ringGetMinScaleOption (CompScreen *s); +void ringSetMinScaleNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +Bool ringGetWindowTitle (CompScreen *s); +CompOption * ringGetWindowTitleOption (CompScreen *s); +void ringSetWindowTitleNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +Bool ringGetTitleFontBold (CompScreen *s); +CompOption * ringGetTitleFontBoldOption (CompScreen *s); +void ringSetTitleFontBoldNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +int ringGetTitleFontSize (CompScreen *s); +CompOption * ringGetTitleFontSizeOption (CompScreen *s); +void ringSetTitleFontSizeNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +unsigned short * ringGetTitleBackColor (CompScreen *s); +unsigned short ringGetTitleBackColorRed (CompScreen *s); +unsigned short ringGetTitleBackColorGreen (CompScreen *s); +unsigned short ringGetTitleBackColorBlue (CompScreen *s); +unsigned short ringGetTitleBackColorAlpha (CompScreen *s); +CompOption * ringGetTitleBackColorOption (CompScreen *s); +void ringSetTitleBackColorNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +unsigned short * ringGetTitleFontColor (CompScreen *s); +unsigned short ringGetTitleFontColorRed (CompScreen *s); +unsigned short ringGetTitleFontColorGreen (CompScreen *s); +unsigned short ringGetTitleFontColorBlue (CompScreen *s); +unsigned short ringGetTitleFontColorAlpha (CompScreen *s); +CompOption * ringGetTitleFontColorOption (CompScreen *s); +void ringSetTitleFontColorNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +int ringGetTitleTextPlacement (CompScreen *s); +CompOption * ringGetTitleTextPlacementOption (CompScreen *s); +void ringSetTitleTextPlacementNotify (CompScreen *s, ringScreenOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/scaleaddon/Makefile b/scaleaddon/Makefile new file mode 100644 index 0000000..993692b --- /dev/null +++ b/scaleaddon/Makefile @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# scaleaddon/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = scaleaddon +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libscaleaddon_la_DEPENDENCIES = +am_libscaleaddon_la_OBJECTS = scaleaddon_options.lo scaleaddon.lo +libscaleaddon_la_OBJECTS = $(am_libscaleaddon_la_OBJECTS) +libscaleaddon_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libscaleaddon_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libscaleaddon_la_SOURCES) +DIST_SOURCES = $(libscaleaddon_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/scaleaddon +abs_srcdir = /media/disk-3/src/compiz/scaleaddon +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libscaleaddon_la_LDFLAGS = $(PFLAGS) +libscaleaddon_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +libscaleaddon_la_SOURCES = scaleaddon_options.c scaleaddon_options.h scaleaddon.c +INCLUDES = \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libscaleaddon.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scaleaddon/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu scaleaddon/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libscaleaddon.la: $(libscaleaddon_la_OBJECTS) $(libscaleaddon_la_DEPENDENCIES) + $(libscaleaddon_la_LINK) -rpath $(moduledir) $(libscaleaddon_la_OBJECTS) $(libscaleaddon_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/scaleaddon.Plo +include ./$(DEPDIR)/scaleaddon_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +scaleaddon_options.h: ../metadata/scaleaddon.xml + $(BCOP_BIN) --header $@ $< + +scaleaddon_options.c: ../metadata/scaleaddon.xml scaleaddon_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/scaleaddon/Makefile.am b/scaleaddon/Makefile.am new file mode 100644 index 0000000..9b3cef6 --- /dev/null +++ b/scaleaddon/Makefile.am @@ -0,0 +1,28 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + + +libscaleaddon_la_LDFLAGS = $(PFLAGS) +libscaleaddon_la_LIBADD = @ECOMP_LIBS@ +libscaleaddon_la_SOURCES = scaleaddon_options.c scaleaddon_options.h scaleaddon.c + + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) + +module_LTLIBRARIES = libscaleaddon.la + +CLEANFILES = *_options.c *_options.h + +scaleaddon_options.h: ../metadata/scaleaddon.xml + $(BCOP_BIN) --header $@ $< + +scaleaddon_options.c: ../metadata/scaleaddon.xml scaleaddon_options.h + $(BCOP_BIN) --source $@ $< diff --git a/scaleaddon/Makefile.in b/scaleaddon/Makefile.in new file mode 100644 index 0000000..d3c7407 --- /dev/null +++ b/scaleaddon/Makefile.in @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = scaleaddon +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libscaleaddon_la_DEPENDENCIES = +am_libscaleaddon_la_OBJECTS = scaleaddon_options.lo scaleaddon.lo +libscaleaddon_la_OBJECTS = $(am_libscaleaddon_la_OBJECTS) +libscaleaddon_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libscaleaddon_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libscaleaddon_la_SOURCES) +DIST_SOURCES = $(libscaleaddon_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +libscaleaddon_la_LDFLAGS = $(PFLAGS) +libscaleaddon_la_LIBADD = @ECOMP_LIBS@ +libscaleaddon_la_SOURCES = scaleaddon_options.c scaleaddon_options.h scaleaddon.c +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libscaleaddon.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scaleaddon/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu scaleaddon/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libscaleaddon.la: $(libscaleaddon_la_OBJECTS) $(libscaleaddon_la_DEPENDENCIES) + $(libscaleaddon_la_LINK) -rpath $(moduledir) $(libscaleaddon_la_OBJECTS) $(libscaleaddon_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scaleaddon.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scaleaddon_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +scaleaddon_options.h: ../metadata/scaleaddon.xml + $(BCOP_BIN) --header $@ $< + +scaleaddon_options.c: ../metadata/scaleaddon.xml scaleaddon_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/scaleaddon/scaleaddon.c b/scaleaddon/scaleaddon.c new file mode 100644 index 0000000..687a242 --- /dev/null +++ b/scaleaddon/scaleaddon.c @@ -0,0 +1,1244 @@ +/* + * + * Compiz scale plugin addon plugin + * + * scaleaddon.c + * + * Copyright : (C) 2007 by Danny Baumann + * E-mail : maniac@opencompositing.org + * + * Organic scale mode taken from Beryl's scale.c, written by + * Copyright : (C) 2006 Diogo Ferreira + * E-mail : diogo@underdev.org + * + * Rounded corner drawing taken from wall.c: + * Copyright : (C) 2007 Robert Carr + * E-mail : racarr@beryl-project.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * + */ + +#include +#include +#include + +#include +#include +#include + +#include "scaleaddon_options.h" + +static int displayPrivateIndex; +static int scaleDisplayPrivateIndex; + +#define WIN_X(w) ((w)->attrib.x - (w)->input.left) +#define WIN_Y(w) ((w)->attrib.y - (w)->input.top) +#define WIN_W(w) ((w)->width + (w)->input.left + (w)->input.right) +#define WIN_H(w) ((w)->height + (w)->input.top + (w)->input.bottom) + +typedef struct _ScaleAddonDisplay { + int screenPrivateIndex; + + HandleEventProc handleEvent; + HandleEcompEventProc handleEcompEvent; + + Window lastHoveredWindow; +} ScaleAddonDisplay; + +typedef struct _ScaleAddonScreen { + int windowPrivateIndex; + + ScaleLayoutSlotsAndAssignWindowsProc layoutSlotsAndAssignWindows; + ScalePaintDecorationProc scalePaintDecoration; + + Pixmap textPixmap; + CompTexture textTexture; + + int textWidth; + int textHeight; + + float scale; +} ScaleAddonScreen; + +typedef struct _ScaleAddonWindow { + ScaleSlot origSlot; + + Bool rescaled; + + CompWindow *oldAbove; +} ScaleAddonWindow; + +#define GET_ADDON_DISPLAY(d) \ + ((ScaleAddonDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define ADDON_DISPLAY(d) \ + ScaleAddonDisplay *ad = GET_ADDON_DISPLAY (d) + +#define GET_ADDON_SCREEN(s, ad) \ + ((ScaleAddonScreen *) (s)->privates[(ad)->screenPrivateIndex].ptr) + +#define ADDON_SCREEN(s) \ + ScaleAddonScreen *as = GET_ADDON_SCREEN (s, GET_ADDON_DISPLAY (s->display)) + +#define GET_ADDON_WINDOW(w, as) \ + ((ScaleAddonWindow *) (w)->privates[(as)->windowPrivateIndex].ptr) + +#define ADDON_WINDOW(w) \ + ScaleAddonWindow *aw = GET_ADDON_WINDOW (w, \ + GET_ADDON_SCREEN (w->screen, GET_ADDON_DISPLAY (w->screen->display))) + + +static void +scaleaddonFreeWindowTitle (CompScreen *s) +{ + ADDON_SCREEN (s); + + if (!as->textPixmap) + return; + + releasePixmapFromTexture(s, &as->textTexture); + initTexture (s, &as->textTexture); + XFreePixmap (s->display->display, as->textPixmap); + as->textPixmap = None; +} + +static void +scaleaddonRenderWindowTitle (CompWindow *w) +{ + CompTextAttrib tA; + float scale; + int stride; + void* data; + + ADDON_SCREEN (w->screen); + SCALE_WINDOW (w); + + scaleaddonFreeWindowTitle(w->screen); + + if (!scaleaddonGetWindowTitle (w->screen)) + return; + + scale = sw->slot ? sw->slot->scale : sw->scale; + tA.maxwidth = (w->attrib.width * scale) - + (2 * scaleaddonGetBorderSize (w->screen)); + tA.maxheight = (w->attrib.height * scale) - + (2 * scaleaddonGetBorderSize (w->screen)); + tA.screen = w->screen; + tA.size = scaleaddonGetTitleSize (w->screen); + tA.color[0] = scaleaddonGetFontColorRed (w->screen); + tA.color[1] = scaleaddonGetFontColorGreen (w->screen); + tA.color[2] = scaleaddonGetFontColorBlue (w->screen); + tA.color[3] = scaleaddonGetFontColorAlpha (w->screen); + tA.style = (scaleaddonGetTitleBold (w->screen)) ? + TEXT_STYLE_BOLD : TEXT_STYLE_NORMAL; + tA.family = "Sans"; + tA.ellipsize = TRUE; + + tA.renderMode = TextRenderWindowTitle; + tA.data = (void*)w->id; + + if ((*w->screen->display->fileToImage) (w->screen->display, TEXT_ID, (char *)&tA, + &as->textWidth, &as->textHeight, &stride, &data)) + { + as->textPixmap = (Pixmap)data; + bindPixmapToTexture (w->screen, &as->textTexture, as->textPixmap, + as->textWidth, as->textHeight, 32); + } + else + { + as->textPixmap = None; + as->textWidth = 0; + as->textHeight = 0; + } +} + +static void +scaleaddonDrawWindowTitle (CompWindow *w) +{ + ADDON_SCREEN (w->screen); + SCALE_WINDOW (w); + + GLboolean wasBlend; + GLint oldBlendSrc, oldBlendDst; + + float width = as->textWidth; + float height = as->textHeight; + float border = scaleaddonGetBorderSize (w->screen); + + float x = sw->tx + w->attrib.x + + ((w->attrib.width * sw->scale) / 2) - (as->textWidth / 2); + float y = sw->ty + w->attrib.y + + ((w->attrib.height * sw->scale) / 2) - (as->textHeight / 2); + + x = floor (x); + y = floor (y); + + wasBlend = glIsEnabled (GL_BLEND); + glGetIntegerv (GL_BLEND_SRC, &oldBlendSrc); + glGetIntegerv (GL_BLEND_DST, &oldBlendDst); + + if (!wasBlend) + glEnable (GL_BLEND); + + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + + glColor4us (scaleaddonGetBackColorRed (w->screen), + scaleaddonGetBackColorGreen (w->screen), + scaleaddonGetBackColorBlue (w->screen), + scaleaddonGetBackColorAlpha (w->screen)); + + glPushMatrix (); + + glTranslatef (x, y - height, 0.0f); + glRectf (0.0f, height, width, 0.0f); + glRectf (0.0f, 0.0f, width, -border); + glRectf (0.0f, height + border, width, height); + glRectf (-border, height, 0.0f, 0.0f); + glRectf (width, height, width + border, 0.0f); + glTranslatef (-border, -border, 0.0f); + +#define CORNER(a,b) \ + for (k = a; k < b; k++) \ + {\ + float rad = k* (3.14159 / 180.0f);\ + glVertex2f (0.0f, 0.0f);\ + glVertex2f (cos (rad) * border, sin (rad) * border);\ + glVertex2f (cos ((k - 1) * (3.14159 / 180.0f)) * border, \ + sin ((k - 1) * (3.14159 / 180.0f)) * border);\ + } + + /* Rounded corners */ + int k; + + glTranslatef (border, border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (180, 270) glEnd(); + glTranslatef (-border, -border, 0.0f); + + glTranslatef (width + border, border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (270, 360) glEnd(); + glTranslatef (-(width + border), -border, 0.0f); + + glTranslatef (border, height + border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (90, 180) glEnd(); + glTranslatef (-border, -(height + border), 0.0f); + + glTranslatef (width + border, height + border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (0, 90) glEnd(); + glTranslatef (-(width + border), -(height + border), 0.0f); + + glPopMatrix (); + +#undef CORNER + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glColor4f (1.0, 1.0, 1.0, 1.0); + + enableTexture (w->screen, &as->textTexture, COMP_TEXTURE_FILTER_GOOD); + + CompMatrix *m = &as->textTexture.matrix; + + glBegin (GL_QUADS); + + glTexCoord2f (COMP_TEX_COORD_X(m, 0),COMP_TEX_COORD_Y(m ,0)); + glVertex2f (x, y - height); + glTexCoord2f (COMP_TEX_COORD_X(m, 0),COMP_TEX_COORD_Y(m, height)); + glVertex2f (x, y); + glTexCoord2f (COMP_TEX_COORD_X(m, width),COMP_TEX_COORD_Y(m, height)); + glVertex2f (x + width, y); + glTexCoord2f (COMP_TEX_COORD_X(m, width),COMP_TEX_COORD_Y(m, 0)); + glVertex2f (x + width, y - height); + + glEnd (); + + disableTexture (w->screen, &as->textTexture); + glColor4usv (defaultColor); + + if (!wasBlend) + glDisable (GL_BLEND); + glBlendFunc (oldBlendSrc, oldBlendDst); +} + +static void +scaleaddonDrawWindowHighlight (CompWindow *w) +{ + SCALE_WINDOW (w); + ADDON_WINDOW (w); + + GLboolean wasBlend; + GLint oldBlendSrc, oldBlendDst; + + if (aw->rescaled) + return; + + float x = sw->tx + w->attrib.x - (w->input.left * sw->scale); + float y = sw->ty + w->attrib.y - (w->input.top * sw->scale); + float width = WIN_W(w) * sw->scale; + float height = WIN_H(w) * sw->scale; + + /* we use a poor replacement for roundf() + * (available in C99 only) here */ + x = floor (x + 0.5f); + y = floor (y + 0.5f); + + wasBlend = glIsEnabled (GL_BLEND); + glGetIntegerv (GL_BLEND_SRC, &oldBlendSrc); + glGetIntegerv (GL_BLEND_DST, &oldBlendDst); + + if (!wasBlend) + glEnable (GL_BLEND); + + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glColor4us (scaleaddonGetHighlightColorRed (w->screen), + scaleaddonGetHighlightColorGreen (w->screen), + scaleaddonGetHighlightColorBlue (w->screen), + scaleaddonGetHighlightColorAlpha (w->screen)); + + glRectf (x, y + height, x + width, y); + + glColor4usv (defaultColor); + + if (!wasBlend) + glDisable (GL_BLEND); + glBlendFunc (oldBlendSrc, oldBlendDst); +} + +static void +scaleaddonCheckHoveredWindow (CompScreen *s) +{ + CompDisplay *d = s->display; + + ADDON_DISPLAY (d); + SCALE_DISPLAY (d); + + if (sd->hoveredWindow != ad->lastHoveredWindow) + { + CompWindow *w, *lw; + + w = findWindowAtDisplay (d, sd->hoveredWindow); + if (w) + { + scaleaddonRenderWindowTitle (w); + addWindowDamage (w); + } + else + scaleaddonFreeWindowTitle (s); + + lw = findWindowAtDisplay (d, ad->lastHoveredWindow); + if (lw) + addWindowDamage (lw); + + ad->lastHoveredWindow = sd->hoveredWindow; + } +} + +static CompWindow * +scaleaddonCheckForWindowAt (CompScreen * s, int x, int y) +{ + float x1, y1, x2, y2; + CompWindow *w; + + for (w = s->reverseWindows; w; w = w->prev) + { + SCALE_WINDOW(w); + + if (sw->slot) + { + x1 = sw->tx + w->attrib.x - w->input.left * sw->scale; + y1 = sw->ty + w->attrib.y - w->input.top * sw->scale; + x2 = sw->tx + w->attrib.x + + (w->width + w->input.right) * sw->scale; + y2 = sw->ty + w->attrib.y + + (w->height + w->input.bottom) * sw->scale; + + if (x1 <= x && y1 <= y && x2 > x && y2 > y) + return w; + } + } + + return NULL; +} + +static Bool +scaleaddonCloseWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + CompWindow *w; + + SCALE_SCREEN (s); + + if (!ss->grabIndex) + return FALSE; + + if (state & CompActionStateInitKey) + { + SCALE_DISPLAY (d); + w = findWindowAtDisplay (d, sd->hoveredWindow); + } + else + w = scaleaddonCheckForWindowAt (s, pointerX, pointerY); + + if (w) + { + closeWindow (w, getCurrentTimeFromDisplay (d)); + return TRUE; + } + } + + return FALSE; +} + +static Bool +scaleaddonZoomWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + CompWindow *w; + + SCALE_SCREEN (s); + + if (!ss->grabIndex) + return FALSE; + + if (state & CompActionStateInitKey) + { + SCALE_DISPLAY (d); + w = findWindowAtDisplay (d, sd->hoveredWindow); + } + else + w = scaleaddonCheckForWindowAt (s, pointerX, pointerY); + + if (w) + { + SCALE_WINDOW (w); + ADDON_WINDOW (w); + + XRectangle outputRect; + BOX outputBox; + int head; + + if (!sw->slot) + return FALSE; + + head = outputDeviceForPoint (s, sw->slot->x1, sw->slot->y1); + outputBox = w->screen->outputDev[head].region.extents; + + outputRect.x = outputBox.x1; + outputRect.y = outputBox.y1; + outputRect.width = outputBox.x2 - outputBox.x1; + outputRect.height = outputBox.y2 - outputBox.y1; + + if (!aw->rescaled) + { + aw->oldAbove = w->next; + raiseWindow(w); + + /* backup old values */ + aw->origSlot = *sw->slot; + + aw->rescaled = TRUE; + + sw->slot->x1 = (outputRect.width / 2) - (WIN_W(w) / 2) + + w->input.left + outputRect.x; + sw->slot->y1 = (outputRect.height / 2) - (WIN_H(w) / 2) + + w->input.top + outputRect.y; + sw->slot->x2 = sw->slot->x1 + WIN_W(w); + sw->slot->y2 = sw->slot->y1 + WIN_H(w); + sw->slot->scale = 1.0f; + } + else + { + if (aw->oldAbove) + restackWindowBelow (w, aw->oldAbove); + + aw->rescaled = FALSE; + *(sw->slot) = aw->origSlot; + } + + sw->adjust = TRUE; + ss->state = SCALE_STATE_OUT; + + /* slot size may have changed, so + * update window title */ + scaleaddonRenderWindowTitle (w); + damageScreen (w->screen); + + return TRUE; + } + } + + return FALSE; +} + +static void +scaleaddonHandleEvent (CompDisplay *d, + XEvent *event) +{ + ADDON_DISPLAY (d); + + UNWRAP (ad, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (ad, d, handleEvent, scaleaddonHandleEvent); + + switch (event->type) + { + case PropertyNotify: + { + SCALE_DISPLAY (d); + if (event->xproperty.window == sd->hoveredWindow && + event->xproperty.atom == XA_WM_NAME) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + SCALE_SCREEN (w->screen); + if (ss->grabIndex) + { + scaleaddonRenderWindowTitle (w); + addWindowDamage (w); + } + } + } + } + break; + case MotionNotify: + { + CompScreen *s; + s = findScreenAtDisplay (d, event->xmotion.root); + + if (s) + { + SCALE_SCREEN (s); + if (ss->grabIndex) + scaleaddonCheckHoveredWindow (s); + } + } + break; + default: + break; + } +} + +static void +scaleaddonScalePaintDecoration (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + ADDON_SCREEN (w->screen); + SCALE_SCREEN (w->screen); + SCALE_DISPLAY (w->screen->display); + + UNWRAP (as, ss, scalePaintDecoration); + (*ss->scalePaintDecoration) (w, attrib, transform, region, mask); + WRAP (as, ss, scalePaintDecoration, scaleaddonScalePaintDecoration); + + scaleaddonCheckHoveredWindow (w->screen); + + if ((w->id == sd->hoveredWindow) && + ((ss->state == SCALE_STATE_WAIT) || (ss->state == SCALE_STATE_OUT))) + { + if (scaleaddonGetWindowHighlight (w->screen)) + scaleaddonDrawWindowHighlight (w); + + if (as->textPixmap) + scaleaddonDrawWindowTitle (w); + } +} + +static void +scaleaddonHandleEcompEvent (CompDisplay *d, + char *pluginName, + char *eventName, + CompOption *option, + int nOption) +{ + ADDON_DISPLAY(d); + + UNWRAP (ad, d, handleEcompEvent); + (*d->handleEcompEvent) (d, pluginName, eventName, option, nOption); + WRAP (ad, d, handleEcompEvent, scaleaddonHandleEcompEvent); + + if ((strcmp (pluginName, "scale") == 0) && + (strcmp (eventName, "activate") == 0)) + { + Window xid = getIntOptionNamed (option, nOption, "root", 0); + Bool activated = getIntOptionNamed (option, nOption, "activated", FALSE); + CompScreen *s = findScreenAtDisplay (d, xid); + + if (s) + { + if (activated) + { + addScreenAction (s, scaleaddonGetClose (s->display)); + addScreenAction (s, scaleaddonGetZoom (s->display)); + } + else + { + CompWindow *w; + + for (w = s->windows; w; w = w->next) + { + ADDON_WINDOW (w); + aw->rescaled = FALSE; + } + + removeScreenAction (s, scaleaddonGetClose (s->display)); + removeScreenAction (s, scaleaddonGetZoom (s->display)); + } + } + } +} + +/** + * experimental organic layout method + * inspired by smallwindows (smallwindows.sf.net) by Jens Egeblad + * */ +#define ORGANIC_STEP 0.05 + +static int +organicCompareWindows (const void *elem1, const void *elem2) +{ + CompWindow *w1 = *((CompWindow **) elem1); + CompWindow *w2 = *((CompWindow **) elem2); + + return (WIN_X(w1) + WIN_Y(w1)) - (WIN_X(w2) + WIN_Y(w2)); +} + +static double +layoutOrganicCalculateOverlap (CompScreen * s, int win, int x, int y) +{ + SCALE_SCREEN (s); + ADDON_SCREEN (s); + + int i; + int x1 = x; + int y1 = y; + int x2 = x1 + WIN_W (ss->windows[win]) * as->scale; + int y2 = y1 + WIN_H (ss->windows[win]) * as->scale; + int overlapx = 0, overlapy = 0; + int xmin, xmax; + int ymin, ymax; + + double result = -0.01; + + for (i = 0; i < ss->nWindows; i++) + { + if (i == win) + continue; + overlapx = overlapy = 0; + xmax = MAX (ss->slots[i].x1, x1); + xmin = MIN (ss->slots[i].x1 + WIN_W(ss->windows[i]) * as->scale, x2); + if (xmax <= xmin) + overlapx = xmin - xmax; + + ymax = MAX (ss->slots[i].y1, y1); + ymin = MIN (ss->slots[i].y1 + WIN_H(ss->windows[i]) * as->scale, y2); + + if (ymax <= ymin) + overlapy = ymin - ymax; + + result += (double)overlapx * overlapy; + } + return result; +} + +static double +layoutOrganicFindBestHorizontalPosition (CompScreen * s, int win, + int *bestx, int areaWidth) +{ + SCALE_SCREEN (s); + ADDON_SCREEN (s); + + int i; + int y1 = ss->slots[win].y1; + int y2 = ss->slots[win].y1 + WIN_H(ss->windows[win]) * as->scale; + + double bestoverlap = 1e31, overlap; + int w = WIN_W(ss->windows[win]) * as->scale; + + *bestx = ss->slots[win].x1; + + for (i = 0; i < ss->nWindows; i++) + { + if (i == win) + continue; + + if (ss->slots[i].y1 < y2 && + ss->slots[i].y1 + WIN_H(ss->windows[i]) * as->scale > y1) + { + if (ss->slots[i].x1 - w >= 0) + { + double overlap = layoutOrganicCalculateOverlap (s, win, + ss->slots[i].x1 - w, y1); + + if (overlap < bestoverlap) + { + *bestx = ss->slots[i].x1 - w; + bestoverlap = overlap; + } + } + if (WIN_W(ss->windows[i]) * as->scale + + ss->slots[i].x1 + w < areaWidth) + { + double overlap = layoutOrganicCalculateOverlap (s, win, + ss->slots[i].x1 + + WIN_W(ss->windows[i]) * + as->scale, y1); + + if (overlap < bestoverlap) + { + *bestx = ss->slots[i].x1 + WIN_W(ss->windows[i]) * as->scale; + bestoverlap = overlap; + } + } + } + } + + overlap = layoutOrganicCalculateOverlap (s, win, 0, y1); + if (overlap < bestoverlap) + { + *bestx = 0; + bestoverlap = overlap; + } + + overlap = layoutOrganicCalculateOverlap (s, win, areaWidth - w, y1); + if (overlap < bestoverlap) + { + *bestx = areaWidth - w; + bestoverlap = overlap; + } + + return bestoverlap; +} + +static double +layoutOrganicFindBestVerticalPosition (CompScreen * s, int win, + int *besty, int areaHeight) +{ + SCALE_SCREEN (s); + ADDON_SCREEN (s); + + int i; + int x1 = ss->slots[win].x1; + int x2 = ss->slots[win].x1 + WIN_W(ss->windows[win]) * as->scale; + + double bestoverlap = 1e31, overlap; + int h = WIN_H(ss->windows[win]) * as->scale; + + *besty = ss->slots[win].y1; + + for (i = 0; i < ss->nWindows; i++) + { + if (i == win) + continue; + + if (ss->slots[i].x1 < x2 && + ss->slots[i].x1 + WIN_W(ss->windows[i]) * as->scale > x1) + { + if (ss->slots[i].y1 - h >= 0 && ss->slots[i].y1 < areaHeight) + { + double overlap = layoutOrganicCalculateOverlap (s, win, x1, + ss->slots[i].y1 - h); + if (overlap < bestoverlap) + { + *besty = ss->slots[i].y1 - h; + bestoverlap = overlap; + } + } + if (WIN_H(ss->windows[i]) * as->scale + ss->slots[i].y1 > 0 && + WIN_H(ss->windows[i]) * as->scale + h + ss->slots[i].y1 < areaHeight) + { + double overlap = layoutOrganicCalculateOverlap (s, win, x1, + WIN_H(ss->windows[i]) * + as->scale + + ss->slots[i].y1); + + if (overlap < bestoverlap) + { + *besty = ss->slots[i].y1 + WIN_H(ss->windows[i]) * as->scale; + bestoverlap = overlap; + } + } + } + } + + overlap = layoutOrganicCalculateOverlap (s, win, x1, 0); + if (overlap < bestoverlap) + { + *besty = 0; + bestoverlap = overlap; + } + + overlap = layoutOrganicCalculateOverlap (s, win, x1, areaHeight - h); + if (overlap < bestoverlap) + { + *besty = areaHeight - h; + bestoverlap = overlap; + } + + return bestoverlap; +} + +static Bool +layoutOrganicLocalSearch (CompScreen * s, int areaWidth, int areaHeight) +{ + SCALE_SCREEN(s); + Bool improvement; + int i; + double totaloverlap; + + do + { + improvement = FALSE; + for (i = 0; i < ss->nWindows; i++) + { + Bool improved; + + do + { + int newx, newy; + double oldoverlap, overlaph, overlapv; + + improved = FALSE; + oldoverlap = layoutOrganicCalculateOverlap (s, i, + ss->slots[i].x1, + ss->slots[i].y1); + + overlaph = + layoutOrganicFindBestHorizontalPosition (s, i, &newx, areaWidth); + overlapv = + layoutOrganicFindBestVerticalPosition (s, i, &newy, areaHeight); + + if (overlaph < oldoverlap - 0.1 || + overlapv < oldoverlap - 0.1) + { + improved = TRUE; + improvement = TRUE; + if (overlapv > overlaph) + ss->slots[i].x1 = newx; + else + ss->slots[i].y1 = newy; + } + + } + while (improved); + } + } + while (improvement); + + totaloverlap = 0.0; + for (i = 0; i < ss->nWindows; i++) + { + totaloverlap += layoutOrganicCalculateOverlap (s, + i, ss->slots[i].x1, + ss->slots[i].y1); + } + return (totaloverlap > 0.1); +} + +static void +layoutOrganicRemoveOverlap (CompScreen * s, int areaWidth, int areaHeight) +{ + int i; + int spacing; + CompWindow *w; + + SCALE_SCREEN (s); + ADDON_SCREEN (s); + + spacing = ss->opt[SCALE_SCREEN_OPTION_SPACING].value.i; + + while (layoutOrganicLocalSearch (s, areaWidth, areaHeight)) + { + for (i = 0; i < ss->nWindows; i++) + { + int centerX, centerY; + int newX, newY, newWidth, newHeight; + + w = ss->windows[i]; + + centerX = ss->slots[i].x1 + WIN_W(w) / 2; + centerY = ss->slots[i].y1 + WIN_H(w) / 2; + + newWidth = (int)((1.0 - ORGANIC_STEP) * + (double)WIN_W(w)) - spacing / 2; + newHeight = (int)((1.0 - ORGANIC_STEP) * + (double)WIN_H(w)) - spacing / 2; + newX = centerX - (newWidth / 2); + newY = centerY - (newHeight / 2); + + ss->slots[i].x1 = newX; + ss->slots[i].y1 = newY; + ss->slots[i].x2 = newX + WIN_W(w); + ss->slots[i].y2 = newY + WIN_H(w); + } + as->scale -= ORGANIC_STEP; + } +} + +static Bool +layoutOrganicThumbs(CompScreen * s) +{ + CompWindow *w; + + int i; + int moMode; + XRectangle workArea; + + SCALE_SCREEN (s); + ADDON_SCREEN (s); + + moMode = ss->opt[SCALE_SCREEN_OPTION_MULTIOUTPUT_MODE].value.i; + + switch (moMode) { + case SCALE_MOMODE_ALL: + workArea = s->workArea; + break; + case SCALE_MOMODE_CURRENT: + default: + workArea = s->outputDev[s->currentOutputDev].workArea; + break; + } + + as->scale = 1.0f; + + qsort (ss->windows, ss->nWindows, sizeof(CompWindow *), + organicCompareWindows); + + for (i = 0; i < ss->nWindows; i++) + { + SCALE_WINDOW (ss->windows[i]); + w = ss->windows[i]; + + sw->slot = &ss->slots[i]; + ss->slots[i].x1 = WIN_X (w) - workArea.x; + ss->slots[i].y1 = WIN_Y (w) - workArea.y; + ss->slots[i].x2 = WIN_X (w) + WIN_W (w) - workArea.x; + ss->slots[i].y2 = WIN_Y (w) + WIN_H (w) - workArea.y; + + if (ss->slots[i].x1 < 0) + { + ss->slots[i].x2 += abs (ss->slots[i].x1); + ss->slots[i].x1 = 0; + } + if (ss->slots[i].x2 > workArea.width - workArea.x) + { + ss->slots[i].x1 -= abs (ss->slots[i].x2 - workArea.width); + ss->slots[i].x2 = workArea.width - workArea.x; + } + + if (ss->slots[i].y1 < 0) + { + ss->slots[i].y2 += abs (ss->slots[i].y1); + ss->slots[i].y1 = 0; + } + if (ss->slots[i].y2 > workArea.height - workArea.y) + { + ss->slots[i].y1 -= abs (ss->slots[i].y2 - + workArea.height - workArea.y); + ss->slots[i].y2 = workArea.height - workArea.y; + } + } + + ss->nSlots = ss->nWindows; + + layoutOrganicRemoveOverlap (s, workArea.width - workArea.x, + workArea.height - workArea.y); + for (i = 0; i < ss->nWindows; i++) + { + SCALE_WINDOW (ss->windows[i]); + + if (ss->type == ScaleTypeGroup) + raiseWindow (ss->windows[i]); + + ss->slots[i].x1 += ss->windows[i]->input.left + workArea.x; + ss->slots[i].x2 += ss->windows[i]->input.left + workArea.x; + ss->slots[i].y1 += ss->windows[i]->input.top + workArea.y; + ss->slots[i].y2 += ss->windows[i]->input.top + workArea.y; + sw->adjust = TRUE; + } + + return TRUE; +} + +static Bool +scaleaddonLayoutSlotsAndAssignWindows (CompScreen *s) +{ + Bool status; + + ADDON_SCREEN (s); + SCALE_SCREEN (s); + + switch (scaleaddonGetLayoutMode (s)) + { + case LayoutModeOrganicExperimental: + status = layoutOrganicThumbs (s); + break; + case LayoutModeNormal: + default: + UNWRAP (as, ss, layoutSlotsAndAssignWindows); + status = (*ss->layoutSlotsAndAssignWindows) (s); + WRAP (as, ss, layoutSlotsAndAssignWindows, + scaleaddonLayoutSlotsAndAssignWindows); + break; + } + + return status; +} + +static void +scaleaddonScreenOptionChanged (CompScreen *s, + CompOption *opt, + ScaleaddonScreenOptions num) +{ + switch (num) + { + case ScaleaddonScreenOptionTitleBold: + case ScaleaddonScreenOptionTitleSize: + case ScaleaddonScreenOptionBorderSize: + case ScaleaddonScreenOptionFontColor: + case ScaleaddonScreenOptionBackColor: + { + ADDON_DISPLAY (s->display); + + scaleaddonFreeWindowTitle (s); + ad->lastHoveredWindow = None; + } + break; + default: + break; + } +} + +static Bool +scaleaddonInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ScaleAddonDisplay *ad; + CompPlugin *scale = findActivePlugin ("scale"); + CompOption *option; + int nOption; + + if (!scale || !scale->vTable->getDisplayOptions) + return FALSE; + + option = (*scale->vTable->getDisplayOptions) (scale, d, &nOption); + + if (getIntOptionNamed (option, nOption, "abi", 0) != SCALE_ABIVERSION) + { + compLogMessage (d, "scaleaddon", CompLogLevelError, + "scale ABI version mismatch"); + return FALSE; + } + + scaleDisplayPrivateIndex = getIntOptionNamed (option, nOption, "index", -1); + if (scaleDisplayPrivateIndex < 0) + return FALSE; + + ad = malloc (sizeof (ScaleAddonDisplay)); + if (!ad) + return FALSE; + + ad->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (ad->screenPrivateIndex < 0) + { + free (ad); + return FALSE; + } + + WRAP (ad, d, handleEvent, scaleaddonHandleEvent); + WRAP (ad, d, handleEcompEvent, scaleaddonHandleEcompEvent); + + d->privates[displayPrivateIndex].ptr = ad; + + ad->lastHoveredWindow = None; + + scaleaddonSetCloseInitiate (d, scaleaddonCloseWindow); + scaleaddonSetZoomInitiate (d, scaleaddonZoomWindow); + + return TRUE; +} + +static void +scaleaddonFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + ADDON_DISPLAY (d); + + UNWRAP (ad, d, handleEvent); + UNWRAP (ad, d, handleEcompEvent); + + freeScreenPrivateIndex (d, ad->screenPrivateIndex); + + free (ad); +} + +static Bool +scaleaddonInitScreen (CompPlugin *p, + CompScreen *s) +{ + ScaleAddonScreen *as; + + ADDON_DISPLAY (s->display); + SCALE_SCREEN (s); + + as = malloc (sizeof (ScaleAddonScreen)); + if (!as) + return FALSE; + + as->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (as->windowPrivateIndex < 0) + { + free (as); + return FALSE; + } + + as->scale = 1.0f; + + as->textPixmap = None; + initTexture (s, &as->textTexture); + + WRAP (as, ss, scalePaintDecoration, scaleaddonScalePaintDecoration); + WRAP (as, ss, layoutSlotsAndAssignWindows, + scaleaddonLayoutSlotsAndAssignWindows); + + scaleaddonSetTitleBoldNotify (s, scaleaddonScreenOptionChanged); + scaleaddonSetTitleSizeNotify (s, scaleaddonScreenOptionChanged); + scaleaddonSetBorderSizeNotify (s, scaleaddonScreenOptionChanged); + scaleaddonSetFontColorNotify (s, scaleaddonScreenOptionChanged); + scaleaddonSetBackColorNotify (s, scaleaddonScreenOptionChanged); + + s->privates[ad->screenPrivateIndex].ptr = as; + + return TRUE; +} + +static void +scaleaddonFiniScreen (CompPlugin *p, + CompScreen *s) +{ + ADDON_SCREEN (s); + SCALE_SCREEN (s); + + UNWRAP (as, ss, scalePaintDecoration); + UNWRAP (as, ss, layoutSlotsAndAssignWindows); + + scaleaddonFreeWindowTitle (s); + + freeWindowPrivateIndex (s, as->windowPrivateIndex); + free (as); +} + +static Bool +scaleaddonInitWindow (CompPlugin *p, + CompWindow *w) +{ + ScaleAddonWindow *aw; + + ADDON_SCREEN (w->screen); + + aw = malloc (sizeof (ScaleAddonWindow)); + if (!aw) + return FALSE; + + aw->rescaled = FALSE; + + w->privates[as->windowPrivateIndex].ptr = aw; + + return TRUE; +} + +static void +scaleaddonFiniWindow (CompPlugin *p, + CompWindow *w) +{ + ADDON_WINDOW (w); + + free (aw); +} + +static Bool +scaleaddonInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +scaleaddonFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +scaleaddonGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable scaleaddonVTable = { + "scaleaddon", + scaleaddonGetVersion, + 0, + scaleaddonInit, + scaleaddonFini, + scaleaddonInitDisplay, + scaleaddonFiniDisplay, + scaleaddonInitScreen, + scaleaddonFiniScreen, + scaleaddonInitWindow, + scaleaddonFiniWindow, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &scaleaddonVTable; +} diff --git a/scaleaddon/scaleaddon_options.c b/scaleaddon/scaleaddon_options.c new file mode 100644 index 0000000..05445ca --- /dev/null +++ b/scaleaddon/scaleaddon_options.c @@ -0,0 +1,647 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _SCALEADDON_OPTIONS_INTERNAL +#include "scaleaddon_options.h" + +static int displayPrivateIndex; + +static CompMetadata scaleaddonOptionsMetadata; + +static CompPluginVTable *scaleaddonPluginVTable = NULL; +CompPluginVTable scaleaddonOptionsVTable; + +#define GET_SCALEADDON_OPTIONS_DISPLAY(d) \ + ((ScaleaddonOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define SCALEADDON_OPTIONS_DISPLAY(d) \ + ScaleaddonOptionsDisplay *od = GET_SCALEADDON_OPTIONS_DISPLAY (d) + +#define GET_SCALEADDON_OPTIONS_SCREEN(s, od) \ + ((ScaleaddonOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define SCALEADDON_OPTIONS_SCREEN(s) \ + ScaleaddonOptionsScreen *os = GET_SCALEADDON_OPTIONS_SCREEN (s, GET_SCALEADDON_OPTIONS_DISPLAY (s->display)) + +typedef struct _ScaleaddonOptionsDisplay +{ + int screenPrivateIndex; + + CompOption opt[ScaleaddonDisplayOptionNum]; + scaleaddonDisplayOptionChangeNotifyProc notify[ScaleaddonDisplayOptionNum]; +} ScaleaddonOptionsDisplay; + +typedef struct _ScaleaddonOptionsScreen +{ + CompOption opt[ScaleaddonScreenOptionNum]; + scaleaddonScreenOptionChangeNotifyProc notify[ScaleaddonScreenOptionNum]; +} ScaleaddonOptionsScreen; + +CompAction * scaleaddonGetClose (CompDisplay *d) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + return &od->opt[ScaleaddonDisplayOptionClose].value.action; +} + +void scaleaddonSetCloseInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + od->opt[ScaleaddonDisplayOptionClose].value.action.initiate = init; +} + +void scaleaddonSetCloseTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + od->opt[ScaleaddonDisplayOptionClose].value.action.terminate = term; +} + +CompOption * scaleaddonGetCloseOption (CompDisplay *d) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + return &od->opt[ScaleaddonDisplayOptionClose]; +} + +void scaleaddonSetCloseNotify (CompDisplay *d, scaleaddonDisplayOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + od->notify[ScaleaddonDisplayOptionClose] = notify; +} + +CompAction * scaleaddonGetZoom (CompDisplay *d) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + return &od->opt[ScaleaddonDisplayOptionZoom].value.action; +} + +void scaleaddonSetZoomInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + od->opt[ScaleaddonDisplayOptionZoom].value.action.initiate = init; +} + +void scaleaddonSetZoomTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + od->opt[ScaleaddonDisplayOptionZoom].value.action.terminate = term; +} + +CompOption * scaleaddonGetZoomOption (CompDisplay *d) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + return &od->opt[ScaleaddonDisplayOptionZoom]; +} + +void scaleaddonSetZoomNotify (CompDisplay *d, scaleaddonDisplayOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + od->notify[ScaleaddonDisplayOptionZoom] = notify; +} + +Bool scaleaddonGetWindowTitle (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionWindowTitle].value.b; +} + +CompOption * scaleaddonGetWindowTitleOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionWindowTitle]; +} + +void scaleaddonSetWindowTitleNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionWindowTitle] = notify; +} + +Bool scaleaddonGetTitleBold (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionTitleBold].value.b; +} + +CompOption * scaleaddonGetTitleBoldOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionTitleBold]; +} + +void scaleaddonSetTitleBoldNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionTitleBold] = notify; +} + +int scaleaddonGetTitleSize (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionTitleSize].value.i; +} + +CompOption * scaleaddonGetTitleSizeOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionTitleSize]; +} + +void scaleaddonSetTitleSizeNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionTitleSize] = notify; +} + +int scaleaddonGetBorderSize (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionBorderSize].value.i; +} + +CompOption * scaleaddonGetBorderSizeOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionBorderSize]; +} + +void scaleaddonSetBorderSizeNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionBorderSize] = notify; +} + +unsigned short * scaleaddonGetFontColor (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionFontColor].value.c; +} + +unsigned short scaleaddonGetFontColorRed (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionFontColor].value.c[0]; +} + +unsigned short scaleaddonGetFontColorGreen (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionFontColor].value.c[1]; +} + +unsigned short scaleaddonGetFontColorBlue (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionFontColor].value.c[2]; +} + +unsigned short scaleaddonGetFontColorAlpha (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionFontColor].value.c[3]; +} + +CompOption * scaleaddonGetFontColorOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionFontColor]; +} + +void scaleaddonSetFontColorNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionFontColor] = notify; +} + +unsigned short * scaleaddonGetBackColor (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionBackColor].value.c; +} + +unsigned short scaleaddonGetBackColorRed (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionBackColor].value.c[0]; +} + +unsigned short scaleaddonGetBackColorGreen (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionBackColor].value.c[1]; +} + +unsigned short scaleaddonGetBackColorBlue (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionBackColor].value.c[2]; +} + +unsigned short scaleaddonGetBackColorAlpha (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionBackColor].value.c[3]; +} + +CompOption * scaleaddonGetBackColorOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionBackColor]; +} + +void scaleaddonSetBackColorNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionBackColor] = notify; +} + +Bool scaleaddonGetWindowHighlight (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionWindowHighlight].value.b; +} + +CompOption * scaleaddonGetWindowHighlightOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionWindowHighlight]; +} + +void scaleaddonSetWindowHighlightNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionWindowHighlight] = notify; +} + +unsigned short * scaleaddonGetHighlightColor (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionHighlightColor].value.c; +} + +unsigned short scaleaddonGetHighlightColorRed (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionHighlightColor].value.c[0]; +} + +unsigned short scaleaddonGetHighlightColorGreen (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionHighlightColor].value.c[1]; +} + +unsigned short scaleaddonGetHighlightColorBlue (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionHighlightColor].value.c[2]; +} + +unsigned short scaleaddonGetHighlightColorAlpha (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionHighlightColor].value.c[3]; +} + +CompOption * scaleaddonGetHighlightColorOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionHighlightColor]; +} + +void scaleaddonSetHighlightColorNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionHighlightColor] = notify; +} + +int scaleaddonGetLayoutMode (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return os->opt[ScaleaddonScreenOptionLayoutMode].value.i; +} + +CompOption * scaleaddonGetLayoutModeOption (CompScreen *s) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[ScaleaddonScreenOptionLayoutMode]; +} + +void scaleaddonSetLayoutModeNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify) +{ + SCALEADDON_OPTIONS_SCREEN(s); + os->notify[ScaleaddonScreenOptionLayoutMode] = notify; +} + +CompOption * scaleaddonGetDisplayOption (CompDisplay *d, ScaleaddonDisplayOptions num) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + return &od->opt[num]; +} + +CompOption * scaleaddonGetScreenOption (CompScreen *s, ScaleaddonScreenOptions num) +{ + SCALEADDON_OPTIONS_SCREEN(s); + return &os->opt[num]; +} + +static const CompMetadataOptionInfo scaleaddonOptionsDisplayOptionInfo[] = { + { "close", "action", 0, 0, 0 }, + { "zoom", "action", 0, 0, 0 }, +}; + +static Bool scaleaddonOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + CompOption *o; + int index; + + o = compFindOption (od->opt, ScaleaddonDisplayOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case ScaleaddonDisplayOptionClose: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ScaleaddonDisplayOptionClose]) + (*od->notify[ScaleaddonDisplayOptionClose]) (d, o, ScaleaddonDisplayOptionClose); + return TRUE; + } + break; + case ScaleaddonDisplayOptionZoom: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ScaleaddonDisplayOptionZoom]) + (*od->notify[ScaleaddonDisplayOptionZoom]) (d, o, ScaleaddonDisplayOptionZoom); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * scaleaddonOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) +{ + SCALEADDON_OPTIONS_DISPLAY(d); + *count = ScaleaddonDisplayOptionNum; + return od->opt; +} + +static const CompMetadataOptionInfo scaleaddonOptionsScreenOptionInfo[] = { + { "window_title", "bool", 0, 0, 0 }, + { "title_bold", "bool", 0, 0, 0 }, + { "title_size", "int", "648", 0, 0 }, + { "border_size", "int", "120", 0, 0 }, + { "font_color", "color", 0, 0, 0 }, + { "back_color", "color", 0, 0, 0 }, + { "window_highlight", "bool", 0, 0, 0 }, + { "highlight_color", "color", 0, 0, 0 }, + { "layout_mode", "int", "00", 0, 0 }, +}; + +static Bool scaleaddonOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + SCALEADDON_OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, ScaleaddonScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case ScaleaddonScreenOptionWindowTitle: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionWindowTitle]) + (*os->notify[ScaleaddonScreenOptionWindowTitle]) (s, o, ScaleaddonScreenOptionWindowTitle); + return TRUE; + } + break; + case ScaleaddonScreenOptionTitleBold: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionTitleBold]) + (*os->notify[ScaleaddonScreenOptionTitleBold]) (s, o, ScaleaddonScreenOptionTitleBold); + return TRUE; + } + break; + case ScaleaddonScreenOptionTitleSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionTitleSize]) + (*os->notify[ScaleaddonScreenOptionTitleSize]) (s, o, ScaleaddonScreenOptionTitleSize); + return TRUE; + } + break; + case ScaleaddonScreenOptionBorderSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionBorderSize]) + (*os->notify[ScaleaddonScreenOptionBorderSize]) (s, o, ScaleaddonScreenOptionBorderSize); + return TRUE; + } + break; + case ScaleaddonScreenOptionFontColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionFontColor]) + (*os->notify[ScaleaddonScreenOptionFontColor]) (s, o, ScaleaddonScreenOptionFontColor); + return TRUE; + } + break; + case ScaleaddonScreenOptionBackColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionBackColor]) + (*os->notify[ScaleaddonScreenOptionBackColor]) (s, o, ScaleaddonScreenOptionBackColor); + return TRUE; + } + break; + case ScaleaddonScreenOptionWindowHighlight: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionWindowHighlight]) + (*os->notify[ScaleaddonScreenOptionWindowHighlight]) (s, o, ScaleaddonScreenOptionWindowHighlight); + return TRUE; + } + break; + case ScaleaddonScreenOptionHighlightColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionHighlightColor]) + (*os->notify[ScaleaddonScreenOptionHighlightColor]) (s, o, ScaleaddonScreenOptionHighlightColor); + return TRUE; + } + break; + case ScaleaddonScreenOptionLayoutMode: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScaleaddonScreenOptionLayoutMode]) + (*os->notify[ScaleaddonScreenOptionLayoutMode]) (s, o, ScaleaddonScreenOptionLayoutMode); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * scaleaddonOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + SCALEADDON_OPTIONS_SCREEN(s); + *count = ScaleaddonScreenOptionNum; + return os->opt; +} + +static Bool scaleaddonOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + ScaleaddonOptionsScreen *os; + + SCALEADDON_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(ScaleaddonOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (!compInitScreenOptionsFromMetadata (s, &scaleaddonOptionsMetadata, scaleaddonOptionsScreenOptionInfo, os->opt, ScaleaddonScreenOptionNum)) + { + free (os); + return FALSE; + } + if (scaleaddonPluginVTable && scaleaddonPluginVTable->initScreen) + return scaleaddonPluginVTable->initScreen (p, s); + return TRUE; +} + +static void scaleaddonOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (scaleaddonPluginVTable && scaleaddonPluginVTable->finiScreen) + return scaleaddonPluginVTable->finiScreen (p, s); + + SCALEADDON_OPTIONS_SCREEN (s); + + + compFiniScreenOptions (s, os->opt, ScaleaddonScreenOptionNum); + + free (os); +} + +static Bool scaleaddonOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + ScaleaddonOptionsDisplay *od; + + + od = calloc (1, sizeof(ScaleaddonOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (!compInitDisplayOptionsFromMetadata (d, &scaleaddonOptionsMetadata, scaleaddonOptionsDisplayOptionInfo, od->opt, ScaleaddonDisplayOptionNum)) + { + free (od); + return FALSE; + } + if (scaleaddonPluginVTable && scaleaddonPluginVTable->initDisplay) + return scaleaddonPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void scaleaddonOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (scaleaddonPluginVTable && scaleaddonPluginVTable->finiDisplay) + return scaleaddonPluginVTable->finiDisplay (p, d); + + SCALEADDON_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + + compFiniDisplayOptions (d, od->opt, ScaleaddonDisplayOptionNum); + + free (od); +} + +static Bool scaleaddonOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&scaleaddonOptionsMetadata, "scaleaddon",scaleaddonOptionsDisplayOptionInfo, ScaleaddonDisplayOptionNum, scaleaddonOptionsScreenOptionInfo, ScaleaddonScreenOptionNum)) + return FALSE; + + compAddMetadataFromFile (&scaleaddonOptionsMetadata, "scaleaddon"); + if (scaleaddonPluginVTable && scaleaddonPluginVTable->init) + return scaleaddonPluginVTable->init (p); + return TRUE; +} + +static void scaleaddonOptionsFini (CompPlugin *p) +{ + if (scaleaddonPluginVTable && scaleaddonPluginVTable->fini) + return scaleaddonPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&scaleaddonOptionsMetadata); +} + +static CompMetadata * +scaleaddonOptionsGetMetadata (CompPlugin *plugin) +{ + return &scaleaddonOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!scaleaddonPluginVTable) + { + scaleaddonPluginVTable = scaleaddonOptionsGetCompPluginInfo (); + memcpy(&scaleaddonOptionsVTable, scaleaddonPluginVTable, sizeof(CompPluginVTable)); + scaleaddonOptionsVTable.getMetadata = scaleaddonOptionsGetMetadata; + scaleaddonOptionsVTable.init = scaleaddonOptionsInit; + scaleaddonOptionsVTable.fini = scaleaddonOptionsFini; + scaleaddonOptionsVTable.initDisplay = scaleaddonOptionsInitDisplay; + scaleaddonOptionsVTable.finiDisplay = scaleaddonOptionsFiniDisplay; + scaleaddonOptionsVTable.initScreen = scaleaddonOptionsInitScreen; + scaleaddonOptionsVTable.finiScreen = scaleaddonOptionsFiniScreen; + scaleaddonOptionsVTable.getDisplayOptions = scaleaddonOptionsGetDisplayOptions; + scaleaddonOptionsVTable.setDisplayOption = scaleaddonOptionsSetDisplayOption; + scaleaddonOptionsVTable.getScreenOptions = scaleaddonOptionsGetScreenOptions; + scaleaddonOptionsVTable.setScreenOption = scaleaddonOptionsSetScreenOption; + + } + return &scaleaddonOptionsVTable; +} + diff --git a/scaleaddon/scaleaddon_options.h b/scaleaddon/scaleaddon_options.h new file mode 100644 index 0000000..5227051 --- /dev/null +++ b/scaleaddon/scaleaddon_options.h @@ -0,0 +1,124 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _SCALEADDON_OPTIONS_H +#define _SCALEADDON_OPTIONS_H + +#ifndef _SCALEADDON_OPTIONS_INTERNAL +#define getCompPluginInfo scaleaddonOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *scaleaddonOptionsGetCompPluginInfo (void); + +typedef enum +{ + ScaleaddonDisplayOptionClose, + ScaleaddonDisplayOptionZoom, + ScaleaddonDisplayOptionNum +} ScaleaddonDisplayOptions; + +typedef void (*scaleaddonDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, ScaleaddonDisplayOptions num); + +CompOption *scaleaddonGetDisplayOption (CompDisplay *d, ScaleaddonDisplayOptions num); + +typedef enum +{ + ScaleaddonScreenOptionWindowTitle, + ScaleaddonScreenOptionTitleBold, + ScaleaddonScreenOptionTitleSize, + ScaleaddonScreenOptionBorderSize, + ScaleaddonScreenOptionFontColor, + ScaleaddonScreenOptionBackColor, + ScaleaddonScreenOptionWindowHighlight, + ScaleaddonScreenOptionHighlightColor, + ScaleaddonScreenOptionLayoutMode, + ScaleaddonScreenOptionNum +} ScaleaddonScreenOptions; + +typedef void (*scaleaddonScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, ScaleaddonScreenOptions num); + +CompOption *scaleaddonGetScreenOption (CompScreen *s, ScaleaddonScreenOptions num); + +typedef enum +{ + LayoutModeNormal = 0, + LayoutModeOrganicExperimental = 1, +} ScaleaddonLayoutModeEnum; + +CompAction * scaleaddonGetClose (CompDisplay *d); +void scaleaddonSetCloseInitiate (CompDisplay *d, CompActionCallBackProc init); +void scaleaddonSetCloseTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * scaleaddonGetCloseOption (CompDisplay *d); +void scaleaddonSetCloseNotify (CompDisplay *d, scaleaddonDisplayOptionChangeNotifyProc notify); + +CompAction * scaleaddonGetZoom (CompDisplay *d); +void scaleaddonSetZoomInitiate (CompDisplay *d, CompActionCallBackProc init); +void scaleaddonSetZoomTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * scaleaddonGetZoomOption (CompDisplay *d); +void scaleaddonSetZoomNotify (CompDisplay *d, scaleaddonDisplayOptionChangeNotifyProc notify); + +Bool scaleaddonGetWindowTitle (CompScreen *s); +CompOption * scaleaddonGetWindowTitleOption (CompScreen *s); +void scaleaddonSetWindowTitleNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +Bool scaleaddonGetTitleBold (CompScreen *s); +CompOption * scaleaddonGetTitleBoldOption (CompScreen *s); +void scaleaddonSetTitleBoldNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +int scaleaddonGetTitleSize (CompScreen *s); +CompOption * scaleaddonGetTitleSizeOption (CompScreen *s); +void scaleaddonSetTitleSizeNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +int scaleaddonGetBorderSize (CompScreen *s); +CompOption * scaleaddonGetBorderSizeOption (CompScreen *s); +void scaleaddonSetBorderSizeNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +unsigned short * scaleaddonGetFontColor (CompScreen *s); +unsigned short scaleaddonGetFontColorRed (CompScreen *s); +unsigned short scaleaddonGetFontColorGreen (CompScreen *s); +unsigned short scaleaddonGetFontColorBlue (CompScreen *s); +unsigned short scaleaddonGetFontColorAlpha (CompScreen *s); +CompOption * scaleaddonGetFontColorOption (CompScreen *s); +void scaleaddonSetFontColorNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +unsigned short * scaleaddonGetBackColor (CompScreen *s); +unsigned short scaleaddonGetBackColorRed (CompScreen *s); +unsigned short scaleaddonGetBackColorGreen (CompScreen *s); +unsigned short scaleaddonGetBackColorBlue (CompScreen *s); +unsigned short scaleaddonGetBackColorAlpha (CompScreen *s); +CompOption * scaleaddonGetBackColorOption (CompScreen *s); +void scaleaddonSetBackColorNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +Bool scaleaddonGetWindowHighlight (CompScreen *s); +CompOption * scaleaddonGetWindowHighlightOption (CompScreen *s); +void scaleaddonSetWindowHighlightNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +unsigned short * scaleaddonGetHighlightColor (CompScreen *s); +unsigned short scaleaddonGetHighlightColorRed (CompScreen *s); +unsigned short scaleaddonGetHighlightColorGreen (CompScreen *s); +unsigned short scaleaddonGetHighlightColorBlue (CompScreen *s); +unsigned short scaleaddonGetHighlightColorAlpha (CompScreen *s); +CompOption * scaleaddonGetHighlightColorOption (CompScreen *s); +void scaleaddonSetHighlightColorNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +int scaleaddonGetLayoutMode (CompScreen *s); +CompOption * scaleaddonGetLayoutModeOption (CompScreen *s); +void scaleaddonSetLayoutModeNotify (CompScreen *s, scaleaddonScreenOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/scalefilter/Makefile b/scalefilter/Makefile new file mode 100644 index 0000000..7b1da9f --- /dev/null +++ b/scalefilter/Makefile @@ -0,0 +1,573 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# scalefilter/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = scalefilter +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libscalefilter_la_DEPENDENCIES = +am_libscalefilter_la_OBJECTS = scalefilter_options.lo scalefilter.lo +libscalefilter_la_OBJECTS = $(am_libscalefilter_la_OBJECTS) +libscalefilter_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libscalefilter_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libscalefilter_la_SOURCES) +DIST_SOURCES = $(libscalefilter_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/scalefilter +abs_srcdir = /media/disk-3/src/compiz/scalefilter +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libscalefilter_la_LDFLAGS = $(PFLAGS) +libscalefilter_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +libscalefilter_la_SOURCES = scalefilter_options.c \ + scalefilter_options.h \ + scalefilter.c + +INCLUDES = \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) +module_LTLIBRARIES = libscalefilter.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scalefilter/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu scalefilter/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libscalefilter.la: $(libscalefilter_la_OBJECTS) $(libscalefilter_la_DEPENDENCIES) + $(libscalefilter_la_LINK) -rpath $(moduledir) $(libscalefilter_la_OBJECTS) $(libscalefilter_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/scalefilter.Plo +include ./$(DEPDIR)/scalefilter_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +scalefilter_options.h: ../metadata/scalefilter.xml + $(BCOP_BIN) --header $@ $< + +scalefilter_options.c: ../metadata/scalefilter.xml scalefilter_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/scalefilter/Makefile.am b/scalefilter/Makefile.am new file mode 100644 index 0000000..7424f50 --- /dev/null +++ b/scalefilter/Makefile.am @@ -0,0 +1,29 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +libscalefilter_la_LDFLAGS = $(PFLAGS) +libscalefilter_la_LIBADD = @ECOMP_LIBS@ +libscalefilter_la_SOURCES = scalefilter_options.c \ + scalefilter_options.h \ + scalefilter.c + +INCLUDES = \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) + + +module_LTLIBRARIES = libscalefilter.la + +CLEANFILES = *_options.c *_options.h + +scalefilter_options.h: ../metadata/scalefilter.xml + $(BCOP_BIN) --header $@ $< + +scalefilter_options.c: ../metadata/scalefilter.xml scalefilter_options.h + $(BCOP_BIN) --source $@ $< diff --git a/scalefilter/Makefile.in b/scalefilter/Makefile.in new file mode 100644 index 0000000..f8ac394 --- /dev/null +++ b/scalefilter/Makefile.in @@ -0,0 +1,573 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = scalefilter +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libscalefilter_la_DEPENDENCIES = +am_libscalefilter_la_OBJECTS = scalefilter_options.lo scalefilter.lo +libscalefilter_la_OBJECTS = $(am_libscalefilter_la_OBJECTS) +libscalefilter_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libscalefilter_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libscalefilter_la_SOURCES) +DIST_SOURCES = $(libscalefilter_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +libscalefilter_la_LDFLAGS = $(PFLAGS) +libscalefilter_la_LIBADD = @ECOMP_LIBS@ +libscalefilter_la_SOURCES = scalefilter_options.c \ + scalefilter_options.h \ + scalefilter.c + +INCLUDES = \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' \ + -I$(top_srcdir)/include + +moduledir = $(plugindir) +module_LTLIBRARIES = libscalefilter.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scalefilter/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu scalefilter/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libscalefilter.la: $(libscalefilter_la_OBJECTS) $(libscalefilter_la_DEPENDENCIES) + $(libscalefilter_la_LINK) -rpath $(moduledir) $(libscalefilter_la_OBJECTS) $(libscalefilter_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalefilter.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalefilter_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +scalefilter_options.h: ../metadata/scalefilter.xml + $(BCOP_BIN) --header $@ $< + +scalefilter_options.c: ../metadata/scalefilter.xml scalefilter_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/scalefilter/scalefilter.c b/scalefilter/scalefilter.c new file mode 100644 index 0000000..21a8ff7 --- /dev/null +++ b/scalefilter/scalefilter.c @@ -0,0 +1,910 @@ +/* + * + * Ecomp scale window title filter plugin + * + * scalefilter.c + * + * Copyright : (C) 2007 by Danny Baumann + * E-mail : maniac@opencompositing.org + * + * Copyright : (C) 2006 Diogo Ferreira + * E-mail : diogo@underdev.org + * + * Rounded corner drawing taken from wall.c: + * Copyright : (C) 2007 Robert Carr + * E-mail : racarr@beryl-project.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * + */ + +#define _GNU_SOURCE +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include "scalefilter_options.h" + +static int displayPrivateIndex; +static int scaleDisplayPrivateIndex; + +#define MAX_FILTER_SIZE 32 +#define MAX_FILTER_STRING_LEN (MAX_FILTER_SIZE+1) +#define MAX_FILTER_TEXT_LEN (MAX_FILTER_SIZE+8) + +typedef struct _ScaleFilterInfo { + CompTimeoutHandle timeoutHandle; + + Pixmap textPixmap; + CompTexture textTexture; + + unsigned int outputDevice; + + int textWidth; + int textHeight; + + CompMatch match; + CompMatch *origMatch; + + wchar_t filterString[2 * MAX_FILTER_STRING_LEN]; + int filterStringLength; +} ScaleFilterInfo; + +typedef struct _ScaleFilterDisplay { + int screenPrivateIndex; + + XIM xim; + XIC xic; + + HandleEventProc handleEvent; + HandleEcompEventProc handleEcompEvent; +} ScaleFilterDisplay; + +typedef struct _ScaleFilterScreen { + PaintOutputProc paintOutput; + ScaleSetScaledPaintAttributesProc setScaledPaintAttributes; + + CompMatch scaleMatch; + Bool matchApplied; + + ScaleFilterInfo *filterInfo; +} ScaleFilterScreen; + +#define GET_FILTER_DISPLAY(d) \ + ((ScaleFilterDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define FILTER_DISPLAY(d) \ + ScaleFilterDisplay *fd = GET_FILTER_DISPLAY (d) + +#define GET_FILTER_SCREEN(s, fd) \ + ((ScaleFilterScreen *) (s)->privates[(fd)->screenPrivateIndex].ptr) + +#define FILTER_SCREEN(s) \ + ScaleFilterScreen *fs = GET_FILTER_SCREEN (s, GET_FILTER_DISPLAY (s->display)) + +static void +scalefilterFreeFilterText (CompScreen *s) +{ + FILTER_SCREEN (s); + + if (!fs->filterInfo) + return; + + if (!fs->filterInfo->textPixmap) + return; + + releasePixmapFromTexture(s, &fs->filterInfo->textTexture); + XFreePixmap (s->display->display, fs->filterInfo->textPixmap); + initTexture (s, &fs->filterInfo->textTexture); + fs->filterInfo->textPixmap = None; +} + +static void +scalefilterRenderFilterText (CompScreen *s) +{ + CompDisplay *d = s->display; + CompTextAttrib tA; + int stride; + void* data; + int x1, x2, y1, y2; + int width, height; + REGION reg; + char buffer[2 * MAX_FILTER_STRING_LEN]; + + FILTER_SCREEN (s); + + if (!fs->filterInfo) + return; + + x1 = s->outputDev[fs->filterInfo->outputDevice].region.extents.x1; + x2 = s->outputDev[fs->filterInfo->outputDevice].region.extents.x2; + y1 = s->outputDev[fs->filterInfo->outputDevice].region.extents.y1; + y2 = s->outputDev[fs->filterInfo->outputDevice].region.extents.y2; + + reg.rects = ®.extents; + reg.numRects = 1; + + /* damage the old draw rectangle */ + width = fs->filterInfo->textWidth + (2 * scalefilterGetBorderSize (s)); + height = fs->filterInfo->textHeight + (2 * scalefilterGetBorderSize (s)); + + reg.extents.x1 = x1 + ((x2 - x1) / 2) - (width / 2) - 1; + reg.extents.x2 = reg.extents.x1 + width + 1; + reg.extents.y1 = y1 + ((y2 - y1) / 2) - (height / 2) - 1; + reg.extents.y2 = reg.extents.y1 + height + 1; + + damageScreenRegion (s, ®); + + scalefilterFreeFilterText (s); + + if (!scalefilterGetFilterDisplay (s)) + return; + + if (fs->filterInfo->filterStringLength == 0) + return; + + tA.maxwidth = x2 - x1 - (2 * scalefilterGetBorderSize (s)); + tA.maxheight = y2 - y1 - (2 * scalefilterGetBorderSize (s)); + tA.screen = s; + tA.size = scalefilterGetFontSize (s); + tA.color[0] = scalefilterGetFontColorRed (s); + tA.color[1] = scalefilterGetFontColorGreen (s); + tA.color[2] = scalefilterGetFontColorBlue (s); + tA.color[3] = scalefilterGetFontColorAlpha (s); + tA.style = (scalefilterGetFontBold (s)) ? + TEXT_STYLE_BOLD : TEXT_STYLE_NORMAL; + tA.family = "Sans"; + tA.ellipsize = TRUE; + + wcstombs (buffer, fs->filterInfo->filterString, MAX_FILTER_STRING_LEN); + tA.renderMode = TextRenderNormal; + tA.data = (void*)buffer; + + if ((*d->fileToImage) (s->display, TEXT_ID, (char *)&tA, + &fs->filterInfo->textWidth, + &fs->filterInfo->textHeight, + &stride, &data)) + { + fs->filterInfo->textPixmap = (Pixmap)data; + if (!bindPixmapToTexture (s, &fs->filterInfo->textTexture, + fs->filterInfo->textPixmap, + fs->filterInfo->textWidth, + fs->filterInfo->textHeight, 32)) + { + compLogMessage (d, "scalefilterinfo", CompLogLevelError, + "Bind Pixmap to Texture failure"); + XFreePixmap (d->display, fs->filterInfo->textPixmap); + fs->filterInfo->textPixmap = None; + return; + } + } + else + { + fs->filterInfo->textPixmap = None; + fs->filterInfo->textWidth = 0; + fs->filterInfo->textHeight = 0; + } + + /* damage the new draw rectangle */ + width = fs->filterInfo->textWidth + (2 * scalefilterGetBorderSize (s)); + height = fs->filterInfo->textHeight + (2 * scalefilterGetBorderSize (s)); + + reg.extents.x1 = x1 + ((x2 - x1) / 2) - (width / 2) - 1; + reg.extents.x2 = reg.extents.x1 + width + 1; + reg.extents.y1 = y1 + ((y2 - y1) / 2) - (height / 2) - 1; + reg.extents.y2 = reg.extents.y1 + height + 1; + + damageScreenRegion (s, ®); +} + +static void +scalefilterDrawFilterText (CompScreen *s, + CompOutput *output) +{ + FILTER_SCREEN (s); + + GLboolean wasBlend; + GLint oldBlendSrc, oldBlendDst; + int ox1, ox2, oy1, oy2; + + float width = fs->filterInfo->textWidth; + float height = fs->filterInfo->textHeight; + float border = scalefilterGetBorderSize (s); + + ox1 = output->region.extents.x1; + ox2 = output->region.extents.x2; + oy1 = output->region.extents.y1; + oy2 = output->region.extents.y2; + float x = ox1 + ((ox2 - ox1) / 2) - (width / 2); + float y = oy1 + ((oy2 - oy1) / 2) + (height / 2); + + x = floor (x); + y = floor (y); + + wasBlend = glIsEnabled (GL_BLEND); + glGetIntegerv (GL_BLEND_SRC, &oldBlendSrc); + glGetIntegerv (GL_BLEND_DST, &oldBlendDst); + + if (!wasBlend) + glEnable (GL_BLEND); + + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + + glColor4us (scalefilterGetBackColorRed (s), + scalefilterGetBackColorGreen (s), + scalefilterGetBackColorBlue (s), + scalefilterGetBackColorAlpha (s)); + + glPushMatrix (); + + glTranslatef (x, y - height, 0.0f); + glRectf (0.0f, height, width, 0.0f); + glRectf (0.0f, 0.0f, width, -border); + glRectf (0.0f, height + border, width, height); + glRectf (-border, height, 0.0f, 0.0f); + glRectf (width, height, width + border, 0.0f); + glTranslatef (-border, -border, 0.0f); + +#define CORNER(a,b) \ + for (k = a; k < b; k++) \ + {\ + float rad = k* (3.14159 / 180.0f);\ + glVertex2f (0.0f, 0.0f);\ + glVertex2f (cos (rad) * border, sin (rad) * border);\ + glVertex2f (cos ((k - 1) * (3.14159 / 180.0f)) * border, \ + sin ((k - 1) * (3.14159 / 180.0f)) * border);\ + } + + /* Rounded corners */ + int k; + + glTranslatef (border, border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (180, 270) glEnd(); + glTranslatef (-border, -border, 0.0f); + + glTranslatef (width + border, border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (270, 360) glEnd(); + glTranslatef (-(width + border), -border, 0.0f); + + glTranslatef (border, height + border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (90, 180) glEnd(); + glTranslatef (-border, -(height + border), 0.0f); + + glTranslatef (width + border, height + border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (0, 90) glEnd(); + glTranslatef (-(width + border), -(height + border), 0.0f); + + glPopMatrix (); + +#undef CORNER + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glColor4f (1.0, 1.0, 1.0, 1.0); + + enableTexture (s, &fs->filterInfo->textTexture, COMP_TEXTURE_FILTER_GOOD); + + CompMatrix *m = &fs->filterInfo->textTexture.matrix; + + glBegin (GL_QUADS); + + glTexCoord2f (COMP_TEX_COORD_X(m, 0),COMP_TEX_COORD_Y(m ,0)); + glVertex2f (x, y - height); + glTexCoord2f (COMP_TEX_COORD_X(m, 0),COMP_TEX_COORD_Y(m, height)); + glVertex2f (x, y); + glTexCoord2f (COMP_TEX_COORD_X(m, width),COMP_TEX_COORD_Y(m, height)); + glVertex2f (x + width, y); + glTexCoord2f (COMP_TEX_COORD_X(m, width),COMP_TEX_COORD_Y(m, 0)); + glVertex2f (x + width, y - height); + + glEnd (); + + disableTexture (s, &fs->filterInfo->textTexture); + glColor4usv (defaultColor); + + if (!wasBlend) + glDisable (GL_BLEND); + glBlendFunc (oldBlendSrc, oldBlendDst); +} + +static void +scalefilterUpdateFilter (CompScreen *s, + CompMatch *match) +{ + char filterMatch[2 * MAX_FILTER_TEXT_LEN]; + unsigned int offset; + + FILTER_SCREEN (s); + + matchFini (match); + matchInit (match); + + if (scalefilterGetFilterCaseInsensitive (s)) + { + strncpy (filterMatch, "ititle=", MAX_FILTER_TEXT_LEN); + offset = 7; + } + else + { + strncpy (filterMatch, "title=", MAX_FILTER_TEXT_LEN); + offset = 6; + } + + wcstombs (filterMatch + offset, fs->filterInfo->filterString, + MAX_FILTER_STRING_LEN); + matchAddExp (match, 0, filterMatch); + matchAddGroup (match, MATCH_OP_AND_MASK, &fs->scaleMatch); + matchUpdate (s->display, match); +} + +static void +scalefilterRelayout (CompScreen *s) +{ + CompOption o[1]; + CompAction *action; + + SCALE_DISPLAY (s->display); + + sd->selectedWindow = None; + sd->hoveredWindow = None; + + action = &sd->opt[SCALE_DISPLAY_OPTION_RELAYOUT].value.action; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + if (action->initiate) + { + if ((*action->initiate) (s->display, NULL, 0, o, 1)) + damageScreen (s); + } +} + +static void +scalefilterInitFilterInfo (CompScreen *s) +{ + FILTER_SCREEN (s); + SCALE_SCREEN (s); + + ScaleFilterInfo *info = fs->filterInfo; + + memset (info->filterString, 0, sizeof (info->filterString)); + info->filterStringLength = 0; + + info->textPixmap = None; + info->textWidth = 0; + info->textHeight = 0; + + info->timeoutHandle = 0; + + info->outputDevice = s->currentOutputDev; + + initTexture (s, &info->textTexture); + + matchInit (&info->match); + matchCopy (&info->match, &fs->scaleMatch); + + info->origMatch = ss->currentMatch; + ss->currentMatch = &info->match; +} + +static void +scalefilterFiniFilterInfo (CompScreen *s, + Bool freeTimeout) +{ + FILTER_SCREEN (s); + + scalefilterFreeFilterText (s); + + matchFini (&fs->filterInfo->match); + + if (freeTimeout && fs->filterInfo->timeoutHandle) + compRemoveTimeout (fs->filterInfo->timeoutHandle); + + free (fs->filterInfo); + fs->filterInfo = NULL; +} + +static Bool +scalefilterFilterTimeout (void *closure) +{ + CompScreen *s = (CompScreen *) closure; + + FILTER_SCREEN (s); + SCALE_SCREEN (s); + + if (fs->filterInfo) + { + ss->currentMatch = fs->filterInfo->origMatch; + scalefilterFiniFilterInfo (s, FALSE); + scalefilterRelayout (s); + } + + return FALSE; +} + +static void +scalefilterHandleKeyPress (CompScreen *s, + XKeyEvent *event) +{ + ScaleFilterInfo *info; + Bool needRelayout = FALSE; + Bool dropKeyEvent = FALSE; + int count, timeout; + char buffer[10]; + wchar_t wbuffer[10]; + KeySym ks; + + FILTER_DISPLAY (s->display); + FILTER_SCREEN (s); + SCALE_SCREEN (s); + + info = fs->filterInfo; + memset (buffer, 0, sizeof (buffer)); + memset (wbuffer, 0, sizeof (wbuffer)); + + if (fd->xic) + { + Status status; + + XSetICFocus (fd->xic); + count = Xutf8LookupString (fd->xic, event, buffer, 9, &ks, &status); + XUnsetICFocus (fd->xic); + } + else + { + count = XLookupString (event, buffer, 9, &ks, NULL); + } + + mbstowcs (wbuffer, buffer, 9); + + if (ks == XK_Escape) + { + if (info) + { + /* Escape key - drop current filter */ + ss->currentMatch = info->origMatch; + scalefilterFiniFilterInfo (s, TRUE); + needRelayout = TRUE; + dropKeyEvent = TRUE; + } + else if (fs->matchApplied) + { + /* remove filter applied previously + if currently not in input mode */ + matchFini (&ss->match); + matchInit (&ss->match); + matchCopy (&ss->match, &fs->scaleMatch); + matchUpdate (s->display, &ss->match); + + ss->currentMatch = &ss->match; + fs->matchApplied = FALSE; + needRelayout = TRUE; + dropKeyEvent = TRUE; + } + } + else if (ks == XK_Return) + { + if (info) + { + /* Return key - apply current filter persistently */ + matchFini (&ss->match); + matchInit (&ss->match); + matchCopy (&ss->match, &info->match); + matchUpdate (s->display, &ss->match); + + ss->currentMatch = &ss->match; + fs->matchApplied = TRUE; + dropKeyEvent = TRUE; + needRelayout = TRUE; + scalefilterFiniFilterInfo (s, TRUE); + } + } + else if (ks == XK_BackSpace) + { + if (info && info->filterStringLength > 0) + { + /* remove last character in string */ + info->filterString[--(info->filterStringLength)] = '\0'; + needRelayout = TRUE; + } + } + else if (count > 0) + { + if (!info) + { + fs->filterInfo = info = malloc (sizeof (ScaleFilterInfo)); + scalefilterInitFilterInfo (s); + } + else if (info->timeoutHandle) + compRemoveTimeout (info->timeoutHandle); + + timeout = scalefilterGetTimeout (s); + if (timeout > 0) + info->timeoutHandle = compAddTimeout (timeout, + scalefilterFilterTimeout, s); + + if (info->filterStringLength < MAX_FILTER_SIZE) + { + info->filterString[info->filterStringLength++] = wbuffer[0]; + info->filterString[info->filterStringLength] = '\0'; + needRelayout = TRUE; + } + } + + /* set the event type invalid if we + don't want other plugins see it */ + if (dropKeyEvent) + event->type = LASTEvent+1; + + if (needRelayout) + { + scalefilterRenderFilterText (s); + + if (fs->filterInfo) + scalefilterUpdateFilter (s, &fs->filterInfo->match); + + scalefilterRelayout (s); + } +} + +static void +scalefilterHandleEvent (CompDisplay *d, + XEvent *event) +{ + FILTER_DISPLAY (d); + + switch (event->type) + { + case KeyPress: + { + CompScreen *s; + s = findScreenAtDisplay (d, event->xkey.root); + if (s) + { + SCALE_SCREEN (s); + if (ss->grabIndex) + { + XKeyEvent *keyEvent = (XKeyEvent *) event; + scalefilterHandleKeyPress (s, keyEvent); + } + } + } + break; + default: + break; + } + + UNWRAP (fd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (fd, d, handleEvent, scalefilterHandleEvent); +} + +static void +scalefilterHandleEcompEvent (CompDisplay *d, + char *pluginName, + char *eventName, + CompOption *option, + int nOption) +{ + FILTER_DISPLAY (d); + + UNWRAP (fd, d, handleEcompEvent); + (*d->handleEcompEvent) (d, pluginName, eventName, option, nOption); + WRAP (fd, d, handleEcompEvent, scalefilterHandleEcompEvent); + + if ((strcmp (pluginName, "scale") == 0) && + (strcmp (eventName, "activate") == 0)) + { + Window xid = getIntOptionNamed (option, nOption, "root", 0); + Bool activated = getBoolOptionNamed (option, nOption, "active", FALSE); + CompScreen *s = findScreenAtDisplay (d, xid); + + if (s) + { + FILTER_SCREEN (s); + SCALE_SCREEN (s); + + if (activated) + { + matchFini (&fs->scaleMatch); + matchInit (&fs->scaleMatch); + matchCopy (&fs->scaleMatch, ss->currentMatch); + matchUpdate (d, &fs->scaleMatch); + fs->matchApplied = FALSE; + } + + if (!activated) + { + if (fs->filterInfo) + { + ss->currentMatch = fs->filterInfo->origMatch; + scalefilterFiniFilterInfo (s, TRUE); + } + fs->matchApplied = FALSE; + } + } + } +} + +static Bool +scalefilterPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + FILTER_SCREEN (s); + + UNWRAP (fs, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (fs, s, paintOutput, scalefilterPaintOutput); + + if (status && fs->filterInfo) + { + if ((output->id == ~0 || output->id == fs->filterInfo->outputDevice) && + fs->filterInfo->textPixmap) + { + CompTransform sTransform = *transform; + transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &sTransform); + + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + scalefilterDrawFilterText (s, output); + + glPopMatrix (); + } + } + + return status; +} + +static Bool +scalefilterSetScaledPaintAttributes (CompWindow *w, + WindowPaintAttrib *attrib) +{ + Bool ret; + + FILTER_SCREEN (w->screen); + SCALE_SCREEN (w->screen); + + UNWRAP (fs, ss, setScaledPaintAttributes); + ret = (*ss->setScaledPaintAttributes) (w, attrib); + WRAP (fs, ss, setScaledPaintAttributes, + scalefilterSetScaledPaintAttributes); + + if (fs->matchApplied || + (fs->filterInfo && fs->filterInfo->filterStringLength)) + { + SCALE_WINDOW (w); + + if (ret && !sw->slot) + { + ret = FALSE; + attrib->opacity = 0; + } + } + + return ret; +} + +static void +scalefilterScreenOptionChanged (CompScreen *s, + CompOption *opt, + ScalefilterScreenOptions num) +{ + switch (num) + { + case ScalefilterScreenOptionFontBold: + case ScalefilterScreenOptionFontSize: + case ScalefilterScreenOptionFontColor: + case ScalefilterScreenOptionBackColor: + { + FILTER_SCREEN (s); + + if (fs->filterInfo) + scalefilterRenderFilterText (s); + } + break; + default: + break; + } +} + +static Bool +scalefilterInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ScaleFilterDisplay *fd; + CompPlugin *scale = findActivePlugin ("scale"); + CompOption *option; + int nOption; + + if (!scale || !scale->vTable->getDisplayOptions) + return FALSE; + + option = (*scale->vTable->getDisplayOptions) (scale, d, &nOption); + + if (getIntOptionNamed (option, nOption, "abi", 0) != SCALE_ABIVERSION) + { + compLogMessage (d, "scalefilter", CompLogLevelError, + "scale ABI version mismatch"); + return FALSE; + } + + scaleDisplayPrivateIndex = getIntOptionNamed (option, nOption, "index", -1); + if (scaleDisplayPrivateIndex < 0) + return FALSE; + + fd = malloc (sizeof (ScaleFilterDisplay)); + if (!fd) + return FALSE; + + fd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (fd->screenPrivateIndex < 0) + { + free (fd); + return FALSE; + } + + fd->xim = XOpenIM (d->display, NULL, NULL, NULL); + if (fd->xim) + fd->xic = XCreateIC (fd->xim, + XNClientWindow, d->screens->root, + XNInputStyle, + XIMPreeditNothing | XIMStatusNothing, + NULL); + else + fd->xic = NULL; + + if (fd->xic) + setlocale (LC_CTYPE, ""); + + WRAP (fd, d, handleEvent, scalefilterHandleEvent); + WRAP (fd, d, handleEcompEvent, scalefilterHandleEcompEvent); + + d->privates[displayPrivateIndex].ptr = fd; + + return TRUE; +} + +static void +scalefilterFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + FILTER_DISPLAY (d); + + UNWRAP (fd, d, handleEvent); + UNWRAP (fd, d, handleEcompEvent); + + if (fd->xic) + XDestroyIC (fd->xic); + if (fd->xim) + XCloseIM (fd->xim); + + freeScreenPrivateIndex (d, fd->screenPrivateIndex); + + free (fd); +} + +static Bool +scalefilterInitScreen (CompPlugin *p, + CompScreen *s) +{ + ScaleFilterScreen *fs; + + FILTER_DISPLAY (s->display); + SCALE_SCREEN (s); + + fs = malloc (sizeof (ScaleFilterScreen)); + if (!fs) + return FALSE; + + fs->filterInfo = NULL; + matchInit (&fs->scaleMatch); + fs->matchApplied = FALSE; + + WRAP (fs, s, paintOutput, scalefilterPaintOutput); + WRAP (fs, ss, setScaledPaintAttributes, + scalefilterSetScaledPaintAttributes); + + scalefilterSetFontBoldNotify (s, scalefilterScreenOptionChanged); + scalefilterSetFontSizeNotify (s, scalefilterScreenOptionChanged); + scalefilterSetFontColorNotify (s, scalefilterScreenOptionChanged); + scalefilterSetBackColorNotify (s, scalefilterScreenOptionChanged); + + s->privates[fd->screenPrivateIndex].ptr = fs; + + return TRUE; +} + +static void +scalefilterFiniScreen (CompPlugin *p, + CompScreen *s) +{ + FILTER_SCREEN (s); + SCALE_SCREEN (s); + + UNWRAP (fs, s, paintOutput); + UNWRAP (fs, ss, setScaledPaintAttributes); + + if (fs->filterInfo) + { + ss->currentMatch = fs->filterInfo->origMatch; + scalefilterFiniFilterInfo (s, TRUE); + } + + free (fs); +} + +static Bool +scalefilterInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +scalefilterFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +scalefilterGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable scalefilterVTable = { + "scalefilter", + scalefilterGetVersion, + 0, + scalefilterInit, + scalefilterFini, + scalefilterInitDisplay, + scalefilterFiniDisplay, + scalefilterInitScreen, + scalefilterFiniScreen, + 0, + 0, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &scalefilterVTable; +} diff --git a/scalefilter/scalefilter_options.c b/scalefilter/scalefilter_options.c new file mode 100644 index 0000000..d06a41a --- /dev/null +++ b/scalefilter/scalefilter_options.c @@ -0,0 +1,471 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _SCALEFILTER_OPTIONS_INTERNAL +#include "scalefilter_options.h" + +static int displayPrivateIndex; + +static CompMetadata scalefilterOptionsMetadata; + +static CompPluginVTable *scalefilterPluginVTable = NULL; +CompPluginVTable scalefilterOptionsVTable; + +#define GET_SCALEFILTER_OPTIONS_DISPLAY(d) \ + ((ScalefilterOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define SCALEFILTER_OPTIONS_DISPLAY(d) \ + ScalefilterOptionsDisplay *od = GET_SCALEFILTER_OPTIONS_DISPLAY (d) + +#define GET_SCALEFILTER_OPTIONS_SCREEN(s, od) \ + ((ScalefilterOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define SCALEFILTER_OPTIONS_SCREEN(s) \ + ScalefilterOptionsScreen *os = GET_SCALEFILTER_OPTIONS_SCREEN (s, GET_SCALEFILTER_OPTIONS_DISPLAY (s->display)) + +typedef struct _ScalefilterOptionsDisplay +{ + int screenPrivateIndex; + +} ScalefilterOptionsDisplay; + +typedef struct _ScalefilterOptionsScreen +{ + CompOption opt[ScalefilterScreenOptionNum]; + scalefilterScreenOptionChangeNotifyProc notify[ScalefilterScreenOptionNum]; +} ScalefilterOptionsScreen; + +int scalefilterGetTimeout (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionTimeout].value.i; +} + +CompOption * scalefilterGetTimeoutOption (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[ScalefilterScreenOptionTimeout]; +} + +void scalefilterSetTimeoutNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + os->notify[ScalefilterScreenOptionTimeout] = notify; +} + +Bool scalefilterGetFilterCaseInsensitive (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFilterCaseInsensitive].value.b; +} + +CompOption * scalefilterGetFilterCaseInsensitiveOption (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[ScalefilterScreenOptionFilterCaseInsensitive]; +} + +void scalefilterSetFilterCaseInsensitiveNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + os->notify[ScalefilterScreenOptionFilterCaseInsensitive] = notify; +} + +Bool scalefilterGetFilterDisplay (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFilterDisplay].value.b; +} + +CompOption * scalefilterGetFilterDisplayOption (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[ScalefilterScreenOptionFilterDisplay]; +} + +void scalefilterSetFilterDisplayNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + os->notify[ScalefilterScreenOptionFilterDisplay] = notify; +} + +Bool scalefilterGetFontBold (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFontBold].value.b; +} + +CompOption * scalefilterGetFontBoldOption (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[ScalefilterScreenOptionFontBold]; +} + +void scalefilterSetFontBoldNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + os->notify[ScalefilterScreenOptionFontBold] = notify; +} + +int scalefilterGetFontSize (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFontSize].value.i; +} + +CompOption * scalefilterGetFontSizeOption (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[ScalefilterScreenOptionFontSize]; +} + +void scalefilterSetFontSizeNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + os->notify[ScalefilterScreenOptionFontSize] = notify; +} + +int scalefilterGetBorderSize (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionBorderSize].value.i; +} + +CompOption * scalefilterGetBorderSizeOption (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[ScalefilterScreenOptionBorderSize]; +} + +void scalefilterSetBorderSizeNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + os->notify[ScalefilterScreenOptionBorderSize] = notify; +} + +unsigned short * scalefilterGetFontColor (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFontColor].value.c; +} + +unsigned short scalefilterGetFontColorRed (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFontColor].value.c[0]; +} + +unsigned short scalefilterGetFontColorGreen (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFontColor].value.c[1]; +} + +unsigned short scalefilterGetFontColorBlue (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFontColor].value.c[2]; +} + +unsigned short scalefilterGetFontColorAlpha (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionFontColor].value.c[3]; +} + +CompOption * scalefilterGetFontColorOption (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[ScalefilterScreenOptionFontColor]; +} + +void scalefilterSetFontColorNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + os->notify[ScalefilterScreenOptionFontColor] = notify; +} + +unsigned short * scalefilterGetBackColor (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionBackColor].value.c; +} + +unsigned short scalefilterGetBackColorRed (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionBackColor].value.c[0]; +} + +unsigned short scalefilterGetBackColorGreen (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionBackColor].value.c[1]; +} + +unsigned short scalefilterGetBackColorBlue (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionBackColor].value.c[2]; +} + +unsigned short scalefilterGetBackColorAlpha (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return os->opt[ScalefilterScreenOptionBackColor].value.c[3]; +} + +CompOption * scalefilterGetBackColorOption (CompScreen *s) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[ScalefilterScreenOptionBackColor]; +} + +void scalefilterSetBackColorNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + os->notify[ScalefilterScreenOptionBackColor] = notify; +} + +CompOption * scalefilterGetScreenOption (CompScreen *s, ScalefilterScreenOptions num) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + return &os->opt[num]; +} + +static const CompMetadataOptionInfo scalefilterOptionsScreenOptionInfo[] = { + { "timeout", "int", "010000", 0, 0 }, + { "filter_case_insensitive", "bool", 0, 0, 0 }, + { "filter_display", "bool", 0, 0, 0 }, + { "font_bold", "bool", 0, 0, 0 }, + { "font_size", "int", "648", 0, 0 }, + { "border_size", "int", "120", 0, 0 }, + { "font_color", "color", 0, 0, 0 }, + { "back_color", "color", 0, 0, 0 }, +}; + +static Bool scalefilterOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, ScalefilterScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case ScalefilterScreenOptionTimeout: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScalefilterScreenOptionTimeout]) + (*os->notify[ScalefilterScreenOptionTimeout]) (s, o, ScalefilterScreenOptionTimeout); + return TRUE; + } + break; + case ScalefilterScreenOptionFilterCaseInsensitive: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScalefilterScreenOptionFilterCaseInsensitive]) + (*os->notify[ScalefilterScreenOptionFilterCaseInsensitive]) (s, o, ScalefilterScreenOptionFilterCaseInsensitive); + return TRUE; + } + break; + case ScalefilterScreenOptionFilterDisplay: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScalefilterScreenOptionFilterDisplay]) + (*os->notify[ScalefilterScreenOptionFilterDisplay]) (s, o, ScalefilterScreenOptionFilterDisplay); + return TRUE; + } + break; + case ScalefilterScreenOptionFontBold: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScalefilterScreenOptionFontBold]) + (*os->notify[ScalefilterScreenOptionFontBold]) (s, o, ScalefilterScreenOptionFontBold); + return TRUE; + } + break; + case ScalefilterScreenOptionFontSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScalefilterScreenOptionFontSize]) + (*os->notify[ScalefilterScreenOptionFontSize]) (s, o, ScalefilterScreenOptionFontSize); + return TRUE; + } + break; + case ScalefilterScreenOptionBorderSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScalefilterScreenOptionBorderSize]) + (*os->notify[ScalefilterScreenOptionBorderSize]) (s, o, ScalefilterScreenOptionBorderSize); + return TRUE; + } + break; + case ScalefilterScreenOptionFontColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScalefilterScreenOptionFontColor]) + (*os->notify[ScalefilterScreenOptionFontColor]) (s, o, ScalefilterScreenOptionFontColor); + return TRUE; + } + break; + case ScalefilterScreenOptionBackColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ScalefilterScreenOptionBackColor]) + (*os->notify[ScalefilterScreenOptionBackColor]) (s, o, ScalefilterScreenOptionBackColor); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * scalefilterOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + SCALEFILTER_OPTIONS_SCREEN(s); + *count = ScalefilterScreenOptionNum; + return os->opt; +} + +static Bool scalefilterOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + ScalefilterOptionsScreen *os; + + SCALEFILTER_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(ScalefilterOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (!compInitScreenOptionsFromMetadata (s, &scalefilterOptionsMetadata, scalefilterOptionsScreenOptionInfo, os->opt, ScalefilterScreenOptionNum)) + { + free (os); + return FALSE; + } + if (scalefilterPluginVTable && scalefilterPluginVTable->initScreen) + return scalefilterPluginVTable->initScreen (p, s); + return TRUE; +} + +static void scalefilterOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (scalefilterPluginVTable && scalefilterPluginVTable->finiScreen) + return scalefilterPluginVTable->finiScreen (p, s); + + SCALEFILTER_OPTIONS_SCREEN (s); + + + compFiniScreenOptions (s, os->opt, ScalefilterScreenOptionNum); + + free (os); +} + +static Bool scalefilterOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + ScalefilterOptionsDisplay *od; + + + od = calloc (1, sizeof(ScalefilterOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (scalefilterPluginVTable && scalefilterPluginVTable->initDisplay) + return scalefilterPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void scalefilterOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (scalefilterPluginVTable && scalefilterPluginVTable->finiDisplay) + return scalefilterPluginVTable->finiDisplay (p, d); + + SCALEFILTER_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + free (od); +} + +static Bool scalefilterOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&scalefilterOptionsMetadata, "scalefilter",0, 0, scalefilterOptionsScreenOptionInfo, ScalefilterScreenOptionNum)) + return FALSE; + + compAddMetadataFromFile (&scalefilterOptionsMetadata, "scalefilter"); + if (scalefilterPluginVTable && scalefilterPluginVTable->init) + return scalefilterPluginVTable->init (p); + return TRUE; +} + +static void scalefilterOptionsFini (CompPlugin *p) +{ + if (scalefilterPluginVTable && scalefilterPluginVTable->fini) + return scalefilterPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&scalefilterOptionsMetadata); +} + +static CompMetadata * +scalefilterOptionsGetMetadata (CompPlugin *plugin) +{ + return &scalefilterOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!scalefilterPluginVTable) + { + scalefilterPluginVTable = scalefilterOptionsGetCompPluginInfo (); + memcpy(&scalefilterOptionsVTable, scalefilterPluginVTable, sizeof(CompPluginVTable)); + scalefilterOptionsVTable.getMetadata = scalefilterOptionsGetMetadata; + scalefilterOptionsVTable.init = scalefilterOptionsInit; + scalefilterOptionsVTable.fini = scalefilterOptionsFini; + scalefilterOptionsVTable.initDisplay = scalefilterOptionsInitDisplay; + scalefilterOptionsVTable.finiDisplay = scalefilterOptionsFiniDisplay; + scalefilterOptionsVTable.initScreen = scalefilterOptionsInitScreen; + scalefilterOptionsVTable.finiScreen = scalefilterOptionsFiniScreen; + scalefilterOptionsVTable.getScreenOptions = scalefilterOptionsGetScreenOptions; + scalefilterOptionsVTable.setScreenOption = scalefilterOptionsSetScreenOption; + + } + return &scalefilterOptionsVTable; +} + diff --git a/scalefilter/scalefilter_options.h b/scalefilter/scalefilter_options.h new file mode 100644 index 0000000..611b76d --- /dev/null +++ b/scalefilter/scalefilter_options.h @@ -0,0 +1,95 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _SCALEFILTER_OPTIONS_H +#define _SCALEFILTER_OPTIONS_H + +#ifndef _SCALEFILTER_OPTIONS_INTERNAL +#define getCompPluginInfo scalefilterOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *scalefilterOptionsGetCompPluginInfo (void); + +typedef enum +{ + ScalefilterDisplayOptionNum +} ScalefilterDisplayOptions; + +typedef void (*scalefilterDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, ScalefilterDisplayOptions num); + +CompOption *scalefilterGetDisplayOption (CompDisplay *d, ScalefilterDisplayOptions num); + +typedef enum +{ + ScalefilterScreenOptionTimeout, + ScalefilterScreenOptionFilterCaseInsensitive, + ScalefilterScreenOptionFilterDisplay, + ScalefilterScreenOptionFontBold, + ScalefilterScreenOptionFontSize, + ScalefilterScreenOptionBorderSize, + ScalefilterScreenOptionFontColor, + ScalefilterScreenOptionBackColor, + ScalefilterScreenOptionNum +} ScalefilterScreenOptions; + +typedef void (*scalefilterScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, ScalefilterScreenOptions num); + +CompOption *scalefilterGetScreenOption (CompScreen *s, ScalefilterScreenOptions num); + +int scalefilterGetTimeout (CompScreen *s); +CompOption * scalefilterGetTimeoutOption (CompScreen *s); +void scalefilterSetTimeoutNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify); + +Bool scalefilterGetFilterCaseInsensitive (CompScreen *s); +CompOption * scalefilterGetFilterCaseInsensitiveOption (CompScreen *s); +void scalefilterSetFilterCaseInsensitiveNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify); + +Bool scalefilterGetFilterDisplay (CompScreen *s); +CompOption * scalefilterGetFilterDisplayOption (CompScreen *s); +void scalefilterSetFilterDisplayNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify); + +Bool scalefilterGetFontBold (CompScreen *s); +CompOption * scalefilterGetFontBoldOption (CompScreen *s); +void scalefilterSetFontBoldNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify); + +int scalefilterGetFontSize (CompScreen *s); +CompOption * scalefilterGetFontSizeOption (CompScreen *s); +void scalefilterSetFontSizeNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify); + +int scalefilterGetBorderSize (CompScreen *s); +CompOption * scalefilterGetBorderSizeOption (CompScreen *s); +void scalefilterSetBorderSizeNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify); + +unsigned short * scalefilterGetFontColor (CompScreen *s); +unsigned short scalefilterGetFontColorRed (CompScreen *s); +unsigned short scalefilterGetFontColorGreen (CompScreen *s); +unsigned short scalefilterGetFontColorBlue (CompScreen *s); +unsigned short scalefilterGetFontColorAlpha (CompScreen *s); +CompOption * scalefilterGetFontColorOption (CompScreen *s); +void scalefilterSetFontColorNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify); + +unsigned short * scalefilterGetBackColor (CompScreen *s); +unsigned short scalefilterGetBackColorRed (CompScreen *s); +unsigned short scalefilterGetBackColorGreen (CompScreen *s); +unsigned short scalefilterGetBackColorBlue (CompScreen *s); +unsigned short scalefilterGetBackColorAlpha (CompScreen *s); +CompOption * scalefilterGetBackColorOption (CompScreen *s); +void scalefilterSetBackColorNotify (CompScreen *s, scalefilterScreenOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/shift/Makefile b/shift/Makefile new file mode 100644 index 0000000..825ef9c --- /dev/null +++ b/shift/Makefile @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# shift/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = shift +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libshift_la_DEPENDENCIES = +am_libshift_la_OBJECTS = shift_options.lo shift.lo +libshift_la_OBJECTS = $(am_libshift_la_OBJECTS) +libshift_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libshift_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libshift_la_SOURCES) +DIST_SOURCES = $(libshift_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/shift +abs_srcdir = /media/disk-3/src/compiz/shift +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libshift_la_LDFLAGS = $(PFLAGS) +libshift_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +libshift_la_SOURCES = shift_options.c shift_options.h shift.c +INCLUDES = \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libshift.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu shift/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu shift/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libshift.la: $(libshift_la_OBJECTS) $(libshift_la_DEPENDENCIES) + $(libshift_la_LINK) -rpath $(moduledir) $(libshift_la_OBJECTS) $(libshift_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/shift.Plo +include ./$(DEPDIR)/shift_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +shift_options.h: ../metadata/shift.xml + $(BCOP_BIN) --header $@ $< + +shift_options.c: ../metadata/shift.xml shift_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/shift/Makefile.am b/shift/Makefile.am new file mode 100644 index 0000000..887a56f --- /dev/null +++ b/shift/Makefile.am @@ -0,0 +1,27 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +libshift_la_LDFLAGS = $(PFLAGS) +libshift_la_LIBADD = @ECOMP_LIBS@ +libshift_la_SOURCES = shift_options.c shift_options.h shift.c + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) + + +module_LTLIBRARIES = libshift.la + +CLEANFILES = *_options.c *_options.h + +shift_options.h: ../metadata/shift.xml + $(BCOP_BIN) --header $@ $< + +shift_options.c: ../metadata/shift.xml shift_options.h + $(BCOP_BIN) --source $@ $< diff --git a/shift/Makefile.in b/shift/Makefile.in new file mode 100644 index 0000000..cf4b53d --- /dev/null +++ b/shift/Makefile.in @@ -0,0 +1,570 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = shift +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libshift_la_DEPENDENCIES = +am_libshift_la_OBJECTS = shift_options.lo shift.lo +libshift_la_OBJECTS = $(am_libshift_la_OBJECTS) +libshift_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libshift_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libshift_la_SOURCES) +DIST_SOURCES = $(libshift_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +libshift_la_LDFLAGS = $(PFLAGS) +libshift_la_LIBADD = @ECOMP_LIBS@ +libshift_la_SOURCES = shift_options.c shift_options.h shift.c +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libshift.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu shift/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu shift/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libshift.la: $(libshift_la_OBJECTS) $(libshift_la_DEPENDENCIES) + $(libshift_la_LINK) -rpath $(moduledir) $(libshift_la_OBJECTS) $(libshift_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shift.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shift_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +shift_options.h: ../metadata/shift.xml + $(BCOP_BIN) --header $@ $< + +shift_options.c: ../metadata/shift.xml shift_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/shift/shift.c b/shift/shift.c new file mode 100644 index 0000000..7ab8e32 --- /dev/null +++ b/shift/shift.c @@ -0,0 +1,2621 @@ +/* + * + * Ecomp shift switcher plugin + * + * shift.c + * + * Copyright : (C) 2007 by Dennis Kasprzyk + * E-mail : onestone@opencompositing.org + * + * + * Based on ring.c: + * Copyright : (C) 2007 by Danny Baumann + * E-mail : maniac@opencompositing.org + * + * Based on scale.c and switcher.c: + * Copyright : (C) 2007 David Reveman + * E-mail : davidr@novell.com + * + * Rounded corner drawing taken from wall.c: + * Copyright : (C) 2007 Robert Carr + * E-mail : racarr@beryl-project.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include "shift_options.h" + +typedef enum { + ShiftStateNone = 0, + ShiftStateOut, + ShiftStateSwitching, + ShiftStateIn +} ShiftState; + +typedef enum { + ShiftTypeNormal = 0, + ShiftTypeGroup, + ShiftTypeAll +} ShiftType; + +static int displayPrivateIndex; + +typedef struct _ShiftSlot { + int x, y; /* thumb center coordinates */ + float z; + float scale; /* size scale (fit to maximal thumb size */ + float opacity; + float rotation; + + GLfloat tx; + GLfloat ty; + + Bool primary; + +} ShiftSlot; + +typedef struct _ShiftDrawSlot { + CompWindow *w; + ShiftSlot *slot; + float distance; +} ShiftDrawSlot; + +typedef struct _ShiftDisplay { + int screenPrivateIndex; + HandleEventProc handleEvent; + + KeyCode leftKey; + KeyCode rightKey; + KeyCode upKey; + KeyCode downKey; +} ShiftDisplay; + +typedef struct _ShiftScreen { + int windowPrivateIndex; + + PreparePaintScreenProc preparePaintScreen; + DonePaintScreenProc donePaintScreen; + PaintScreenProc paintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + DamageWindowRectProc damageWindowRect; + + int grabIndex; + + ShiftState state; + ShiftType type; + + Bool moreAdjust; + Bool moveAdjust; + + float mvTarget; + float mvAdjust; + GLfloat mvVelocity; + Bool invert; + + Cursor cursor; + + /* only used for sorting */ + CompWindow **windows; + int windowsSize; + int nWindows; + + ShiftDrawSlot *drawSlots; + int slotsSize; + int nSlots; + ShiftDrawSlot *activeSlot; + + Window selectedWindow; + + /* text display support */ + CompTexture textTexture; + Pixmap textPixmap; + int textWidth; + int textHeight; + + CompMatch match; + CompMatch *currentMatch; + + CompOutput *output; + int usedOutput; + + float anim; + float animVelocity; + + float reflectBrightness; + Bool reflectActive; + + int buttonPressTime; + Bool buttonPressed; + int startX; + int startY; + float startTarget; + float lastTitle; + + Bool paintingAbove; +} ShiftScreen; + +typedef struct _ShiftWindow { + ShiftSlot slots[2]; + + float opacity; + float brightness; + float opacityVelocity; + float brightnessVelocity; + + Bool active; +} ShiftWindow; + +#define PI 3.1415926 + +#define GET_SHIFT_DISPLAY(d) \ + ((ShiftDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define SHIFT_DISPLAY(d) \ + ShiftDisplay *sd = GET_SHIFT_DISPLAY (d) + +#define GET_SHIFT_SCREEN(s, sd) \ + ((ShiftScreen *) (s)->privates[(sd)->screenPrivateIndex].ptr) + +#define SHIFT_SCREEN(s) \ + ShiftScreen *ss = GET_SHIFT_SCREEN (s, GET_SHIFT_DISPLAY (s->display)) + +#define GET_SHIFT_WINDOW(w, ss) \ + ((ShiftWindow *) (w)->privates[(ss)->windowPrivateIndex].ptr) + +#define SHIFT_WINDOW(w) \ + ShiftWindow *sw = GET_SHIFT_WINDOW (w, \ + GET_SHIFT_SCREEN (w->screen, \ + GET_SHIFT_DISPLAY (w->screen->display))) + +static void +shiftActivateEvent (CompScreen *s, + Bool activating) +{ + CompOption o[2]; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeBool; + o[1].name = "active"; + o[1].value.b = activating; + + (*s->display->handleEcompEvent) (s->display, "shift", "activate", o, 2); +} + +static Bool +isShiftWin (CompWindow *w) +{ + SHIFT_SCREEN (w->screen); + + if (w->attrib.override_redirect) + return FALSE; + + if (w->wmType & (CompWindowTypeDockMask | CompWindowTypeDesktopMask)) + return FALSE; + + if (!w->mapNum || w->attrib.map_state != IsViewable) + { + if (shiftGetMinimized (w->screen)) + { + if (!w->minimized && !w->inShowDesktopMode && !w->shaded) + return FALSE; + } + else + return FALSE; + } + + if (ss->type == ShiftTypeNormal) + { + if (!w->mapNum || w->attrib.map_state != IsViewable) + { + if (w->serverX + w->width <= 0 || + w->serverY + w->height <= 0 || + w->serverX >= w->screen->width || + w->serverY >= w->screen->height) + return FALSE; + } + else + { + if (!(*w->screen->focusWindow) (w)) + return FALSE; + } + } + + if (w->state & CompWindowStateSkipTaskbarMask) + return FALSE; + + if (w->state & CompWindowStateShadedMask) + return FALSE; + + if (!matchEval (ss->currentMatch, w)) + return FALSE; + + return TRUE; +} + +static void +shiftFreeWindowTitle (CompScreen *s) +{ + SHIFT_SCREEN(s); + + if (!ss->textPixmap) + return; + + releasePixmapFromTexture (s, &ss->textTexture); + initTexture (s, &ss->textTexture); + XFreePixmap (s->display->display, ss->textPixmap); + ss->textPixmap = None; +} + +static void +shiftRenderWindowTitle (CompScreen *s) +{ + CompTextAttrib tA; + int stride; + void *data; + + SHIFT_SCREEN (s); + + shiftFreeWindowTitle (s); + if (!shiftGetWindowTitle (s)) + return; + + int ox1, ox2, oy1, oy2; + + if (shiftGetMultioutputMode (s) == MultioutputModeOneBigSwitcher) + { + ox1 = oy1 = 0; + ox2 = s->width; + oy2 = s->height; + } + else + getCurrentOutputExtents (s, &ox1, &oy1, &ox2, &oy2); + + /* 75% of the output device as maximum width */ + tA.maxwidth = (ox2 - ox1) * 3 / 4; + tA.maxheight = 100; + tA.screen = s; + tA.size = shiftGetTitleFontSize (s); + tA.color[0] = shiftGetTitleFontColorRed (s); + tA.color[1] = shiftGetTitleFontColorGreen (s); + tA.color[2] = shiftGetTitleFontColorBlue (s); + tA.color[3] = shiftGetTitleFontColorAlpha (s); + tA.style = (shiftGetTitleFontBold (s)) ? + TEXT_STYLE_BOLD : TEXT_STYLE_NORMAL; + tA.family = "Sans"; + tA.ellipsize = TRUE; + + tA.renderMode = TextRenderWindowTitle; + tA.data = (void*)ss->selectedWindow; + + initTexture (s, &ss->textTexture); + + if ((*s->display->fileToImage) (s->display, TEXT_ID, (char *)&tA, + &ss->textWidth, &ss->textHeight, + &stride, &data)) + { + ss->textPixmap = (Pixmap)data; + bindPixmapToTexture (s, &ss->textTexture, ss->textPixmap, + ss->textWidth, ss->textHeight, 32); + } + else + { + ss->textPixmap = None; + ss->textWidth = 0; + ss->textHeight = 0; + } +} + +static void +shiftDrawWindowTitle (CompScreen *s) +{ + SHIFT_SCREEN(s); + GLboolean wasBlend; + GLint oldBlendSrc, oldBlendDst; + + float width = ss->textWidth; + float height = ss->textHeight; + float border = 10.0f; + + int ox1, ox2, oy1, oy2; + + if (shiftGetMultioutputMode (s) == MultioutputModeOneBigSwitcher) + { + ox1 = oy1 = 0; + ox2 = s->width; + oy2 = s->height; + } + else + { + ox1 = s->outputDev[ss->usedOutput].region.extents.x1; + ox2 = s->outputDev[ss->usedOutput].region.extents.x2; + oy1 = s->outputDev[ss->usedOutput].region.extents.y1; + oy2 = s->outputDev[ss->usedOutput].region.extents.y2; + } + + float x = ox1 + ((ox2 - ox1) / 2) - (ss->textWidth / 2); + float y; + + /* assign y (for the lower corner!) according to the setting */ + switch (shiftGetTitleTextPlacement (s)) + { + case TitleTextPlacementCenteredOnScreen: + y = oy1 + ((oy2 - oy1) / 2) + (height / 2); + break; + case TitleTextPlacementAbove: + case TitleTextPlacementBelow: + { + XRectangle workArea; + getWorkareaForOutput (s, s->currentOutputDev, &workArea); + + if (shiftGetTitleTextPlacement (s) == + TitleTextPlacementAbove) + y = oy1 + workArea.y + (2 * border) + height; + else + y = oy1 + workArea.y + workArea.height - (2 * border); + } + break; + default: + return; + } + + x = floor (x); + y = floor (y); + + glGetIntegerv (GL_BLEND_SRC, &oldBlendSrc); + glGetIntegerv (GL_BLEND_DST, &oldBlendDst); + wasBlend = glIsEnabled (GL_BLEND); + + if (!wasBlend) + glEnable (GL_BLEND); + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + + glColor4us (shiftGetTitleBackColorRed (s), + shiftGetTitleBackColorGreen (s), + shiftGetTitleBackColorBlue (s), + shiftGetTitleBackColorAlpha (s)); + + glPushMatrix (); + + glTranslatef (x, y - height, 0.0f); + glRectf (0.0f, height, width, 0.0f); + glRectf (0.0f, 0.0f, width, -border); + glRectf (0.0f, height + border, width, height); + glRectf (-border, height, 0.0f, 0.0f); + glRectf (width, height, width + border, 0.0f); + glTranslatef (-border, -border, 0.0f); + +#define CORNER(a,b) \ + for (k = a; k < b; k++) \ + {\ + float rad = k * (PI / 180.0f);\ + glVertex2f (0.0f, 0.0f);\ + glVertex2f (cos(rad) * border, sin(rad) * border);\ + glVertex2f (cos((k-1) * (PI / 180.0f)) * border, \ + sin((k-1) * (PI / 180.0f)) * border);\ + } + + /* Rounded corners */ + int k; + + glTranslatef (border, border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (180, 270) glEnd (); + glTranslatef (-border, -border, 0.0f); + + glTranslatef (width + border, border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (270, 360) glEnd (); + glTranslatef (-(width + border), -border, 0.0f); + + glTranslatef (border, height + border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (90, 180) glEnd (); + glTranslatef (-border, -(height + border), 0.0f); + + glTranslatef (width + border, height + border, 0.0f); + glBegin (GL_TRIANGLES); + CORNER (0, 90) glEnd (); + glTranslatef (-(width + border), -(height + border), 0.0f); + + glPopMatrix (); + +#undef CORNER + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glColor4f (1.0, 1.0, 1.0, 1.0); + + enableTexture (s, &ss->textTexture,COMP_TEXTURE_FILTER_GOOD); + + CompMatrix *m = &ss->textTexture.matrix; + + glBegin (GL_QUADS); + + glTexCoord2f (COMP_TEX_COORD_X (m, 0), COMP_TEX_COORD_Y (m ,0)); + glVertex2f (x, y - height); + glTexCoord2f (COMP_TEX_COORD_X (m, 0), COMP_TEX_COORD_Y (m, height)); + glVertex2f (x, y); + glTexCoord2f (COMP_TEX_COORD_X (m, width), COMP_TEX_COORD_Y (m, height)); + glVertex2f (x + width, y); + glTexCoord2f (COMP_TEX_COORD_X (m, width), COMP_TEX_COORD_Y (m, 0)); + glVertex2f (x + width, y - height); + + glEnd (); + + disableTexture (s, &ss->textTexture); + glColor4usv (defaultColor); + + if (!wasBlend) + glDisable (GL_BLEND); + glBlendFunc (oldBlendSrc, oldBlendDst); +} + +static Bool +shiftPaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + SHIFT_SCREEN (s); + SHIFT_WINDOW (w); + + if (ss->state != ShiftStateNone && !ss->paintingAbove) + { + WindowPaintAttrib sAttrib = *attrib; + Bool scaled = FALSE; + + if (w->mapNum) + { + if (!w->texture->pixmap && !w->bindFailed) + bindWindow (w); + } + + + if (sw->active) + scaled = (ss->activeSlot != NULL); + + if (sw->opacity > 0.0 && (ss->activeSlot == NULL)) + { + sAttrib.brightness = sAttrib.brightness * sw->brightness; + sAttrib.opacity = sAttrib.opacity * sw->opacity; + } + else + mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK; + + if (sw->active && + (ss->output->id == ss->usedOutput || ss->output->id == ~0)) + mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK; + + + UNWRAP (ss, s, paintWindow); + status = (*s->paintWindow) (w, &sAttrib, transform, region, mask); + WRAP (ss, s, paintWindow, shiftPaintWindow); + + if (scaled && w->texture->pixmap) + { + FragmentAttrib fragment; + CompTransform wTransform = *transform; + ShiftSlot *slot = ss->activeSlot->slot; + + float sx = ss->anim * slot->tx; + float sy = ss->anim * slot->ty; + float sz = ss->anim * slot->z; + float sscale = (ss->anim * slot->scale) + (1 - ss->anim); + float srot = (ss->anim * slot->rotation); + + float sopacity; + + if (slot->primary && !ss->reflectActive) + sopacity = (ss->anim * slot->opacity) + (1 - ss->anim); + else + sopacity = ss->anim * slot->opacity; + + if (sopacity <= 0.0) + return status; + + if (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) + return FALSE; + + initFragmentAttrib (&fragment, attrib); + + fragment.opacity = (float)fragment.opacity * sopacity; + fragment.brightness = (float)fragment.brightness * + ss->reflectBrightness; + + if (w->alpha || fragment.opacity != OPAQUE) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + matrixTranslate (&wTransform, sx, sy, sz); + + matrixTranslate (&wTransform, + w->attrib.x + (w->width * sscale / 2), + w->attrib.y + (w->height * sscale / 2.0), + 0.0f); + + matrixScale (&wTransform, ss->output->width, -ss->output->height, + 1.0f); + + matrixRotate (&wTransform, srot, 0.0, 1.0, 0.0); + + matrixScale (&wTransform, 1.0f / ss->output->width, + -1.0f / ss->output->height, 1.0f); + + matrixScale (&wTransform, sscale, sscale, 1.0f); + matrixTranslate (&wTransform, -w->attrib.x - (w->width / 2), + -w->attrib.y - (w->height / 2), 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*s->drawWindow) (w, &wTransform, &fragment, region, + mask | PAINT_WINDOW_TRANSFORMED_MASK); + + glPopMatrix (); + } + + if (scaled && (ss->state != ShiftStateIn) && + ((shiftGetOverlayIcon (s) != OverlayIconNone) || + !w->texture->pixmap)) + { + CompIcon *icon; + + icon = getWindowIcon (w, 96, 96); + if (!icon) + icon = w->screen->defaultIcon; + + if (icon && (icon->texture.name || iconToTexture (w->screen, icon))) + { + REGION iconReg; + float scale; + float x, y; + int width, height; + int scaledWinWidth, scaledWinHeight; + ShiftOverlayIconEnum iconOverlay = shiftGetOverlayIcon (s); + ShiftSlot *slot = ss->activeSlot->slot; + + float sx = ss->anim * slot->tx; + float sy = ss->anim * slot->ty; + float sz = ss->anim * slot->z; + float sscale = (ss->anim * slot->scale) + (1 - ss->anim); + float srot = (ss->anim * slot->rotation); + float sopacity = ss->anim * slot->opacity; + + scaledWinWidth = w->width * sscale; + scaledWinHeight = w->height * sscale; + + if (!w->texture->pixmap) + iconOverlay = OverlayIconBig; + + switch (iconOverlay) + { + case OverlayIconNone: + case OverlayIconEmblem: + scale = 1.0f; + break; + case OverlayIconBig: + default: + /* only change opacity if not painting an + icon for a minimized window */ + if (w->texture->pixmap) + sAttrib.opacity /= 3; + scale = MIN (((float) scaledWinWidth / icon->width), + ((float) scaledWinHeight / icon->height)); + break; + } + + width = icon->width * scale; + height = icon->height * scale; + + switch (iconOverlay) + { + case OverlayIconNone: + case OverlayIconEmblem: + x = scaledWinWidth - width; + y = scaledWinHeight - height; + break; + case OverlayIconBig: + default: + x = scaledWinWidth / 2 - width / 2; + y = scaledWinHeight / 2 - height / 2; + break; + } + + mask |= PAINT_WINDOW_BLEND_MASK; + + /* if we paint the icon for a minimized window, we need + to force the usage of a good texture filter */ + if (!w->texture->pixmap) + mask |= PAINT_WINDOW_TRANSFORMED_MASK; + + iconReg.rects = &iconReg.extents; + iconReg.numRects = 1; + + iconReg.extents.x1 = 0; + iconReg.extents.y1 = 0; + iconReg.extents.x2 = icon->width; + iconReg.extents.y2 = icon->height; + + w->vCount = w->indexCount = 0; + (*w->screen->addWindowGeometry) (w, &icon->texture.matrix, 1, + &iconReg, &infiniteRegion); + + if (w->vCount) + { + FragmentAttrib fragment; + CompTransform wTransform = *transform; + + if (!w->texture->pixmap) + { + /* the fade plugin does weird things to + w->paint.opacity, so better use the atom value */ + sAttrib.opacity = w->opacity; + } + + initFragmentAttrib (&fragment, attrib); + + fragment.opacity = (float)fragment.opacity * sopacity; + fragment.brightness = (float)fragment.brightness * + ss->reflectBrightness; + + matrixTranslate (&wTransform, sx, sy, sz); + + matrixTranslate (&wTransform, w->attrib.x + + (w->width * sscale / 2), + w->attrib.y + + (w->height * sscale / 2.0), 0.0f); + + matrixScale (&wTransform, ss->output->width, + -ss->output->height, 1.0f); + + matrixRotate (&wTransform, srot, 0.0, 1.0, 0.0); + + matrixScale (&wTransform, 1.0f / ss->output->width, + -1.0f / ss->output->height, 1.0f); + + matrixTranslate (&wTransform, x - + (w->width * sscale / 2), y - + (w->height * sscale / 2.0), 0.0f); + matrixScale (&wTransform, scale, scale, 1.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + + (*w->screen->drawWindowTexture) (w, + &icon->texture, &fragment, + mask); + + glPopMatrix (); + } + } + } + + } + else + { + WindowPaintAttrib sAttrib = *attrib; + + if (ss->paintingAbove) + { + sAttrib.opacity = sAttrib.opacity * (1.0 - ss->anim); + } + + UNWRAP (ss, s, paintWindow); + status = (*s->paintWindow) (w, &sAttrib, transform, region, mask); + WRAP (ss, s, paintWindow, shiftPaintWindow); + } + + return status; +} + +static int +compareWindows (const void *elem1, + const void *elem2) +{ + CompWindow *w1 = *((CompWindow **) elem1); + CompWindow *w2 = *((CompWindow **) elem2); + CompWindow *w = w1; + + if (w1 == w2) + return 0; + + if (!w1->shaded && w1->attrib.map_state != IsViewable && + (w2->shaded || w2->attrib.map_state == IsViewable)) + { + return 1; + } + + if (!w2->shaded && w2->attrib.map_state != IsViewable && + (w1->shaded || w1->attrib.map_state == IsViewable)) + { + return -1; + } + + while (w) + { + if (w == w2) + return 1; + w = w->next; + } + return -1; + + /* + if (w1->mapNum && !w2->mapNum) + return -1; + + if (w2->mapNum && !w1->mapNum) + return 1; + + return w2->activeNum - w1->activeNum; + */ +} + +static int +compareShiftWindowDistance (const void *elem1, + const void *elem2) +{ + float a1 = ((ShiftDrawSlot *) elem1)->distance; + float a2 = ((ShiftDrawSlot *) elem2)->distance; + + if (a1 > a2) + return -1; + else if (a1 < a2) + return 1; + else + return 0; +} + +static Bool +layoutThumbsCover (CompScreen *s) +{ + SHIFT_SCREEN (s); + CompWindow *w; + int index; + int ww, wh; + float xScale, yScale; + float distance; + int i; + + int ox1, ox2, oy1, oy2; + + if (shiftGetMultioutputMode (s) == MultioutputModeOneBigSwitcher) + { + ox1 = oy1 = 0; + ox2 = s->width; + oy2 = s->height; + } + else + { + ox1 = s->outputDev[ss->usedOutput].region.extents.x1; + ox2 = s->outputDev[ss->usedOutput].region.extents.x2; + oy1 = s->outputDev[ss->usedOutput].region.extents.y1; + oy2 = s->outputDev[ss->usedOutput].region.extents.y2; + } + + /* the center of the ellipse is in the middle + of the used output device */ + int centerX = ox1 + (ox2 - ox1) / 2; + int centerY = oy1 + (oy2 - oy1) / 2; + + int maxThumbWidth = (ox2 - ox1) * shiftGetSize(s) / 100; + int maxThumbHeight = (oy2 - oy1) * shiftGetSize(s) / 100; + + for (index = 0; index < ss->nWindows; index++) + { + w = ss->windows[index]; + SHIFT_WINDOW (w); + + ww = w->width + w->input.left + w->input.right; + wh = w->height + w->input.top + w->input.bottom; + + if (ww > maxThumbWidth) + xScale = (float)(maxThumbWidth) / (float)ww; + else + xScale = 1.0f; + + if (wh > maxThumbHeight) + yScale = (float)(maxThumbHeight) / (float)wh; + else + yScale = 1.0f; + + + float val1 = floor((float)ss->nWindows / 2.0); + + float pos; + float space = maxThumbWidth / 2; + space *= cos (sin (PI / 4) * PI / 3); + space *= 2; + //space += (space / sin (PI / 4)) - space; + + for (i = 0; i < 2; i++) + { + + + if (ss->invert ^ (i == 0)) + { + distance = ss->mvTarget - index; + distance += shiftGetCoverOffset (s); + } + else + { + distance = ss->mvTarget - index + ss->nWindows; + distance += shiftGetCoverOffset (s); + if (distance > ss->nWindows) + distance -= ss->nWindows * 2; + } + + + pos = MIN (1.0, MAX (-1.0, distance)); + + sw->slots[i].opacity = 1.0 - MIN (1.0, + MAX (0.0, fabs(distance) - val1)); + sw->slots[i].scale = MIN (xScale, yScale); + + sw->slots[i].y = centerY + (maxThumbHeight / 2.0) - + (((w->height / 2.0) + w->input.bottom) * + sw->slots[i].scale); + + if (fabs(distance) < 1.0) + { + sw->slots[i].x = centerX + (sin(pos * PI * 0.5) * space); + sw->slots[i].z = fabs (distance); + sw->slots[i].z *= -(maxThumbWidth / (2.0 * (ox2 - ox1))); + + sw->slots[i].rotation = sin(pos * PI * 0.5) * -60; + } + else + { + float rad = (space / (ox2 - ox1)) / sin(PI / 6.0); + + float ang = (PI / MAX(72.0, ss->nWindows * 2)) * + (distance - pos) + (pos * (PI / 6.0)); + + sw->slots[i].x = centerX; + sw->slots[i].x += sin(ang) * rad * (ox2 - ox1); + + sw->slots[i].rotation = 90; + sw->slots[i].rotation -= fabs(ang) * 180.0 / PI; + sw->slots[i].rotation *= -pos; + + sw->slots[i].z = -(maxThumbWidth / (2.0 * (ox2 - ox1))); + sw->slots[i].z += -(cos(PI / 6.0) * rad); + sw->slots[i].z += (cos(ang) * rad); + } + + ss->drawSlots[index * 2 + i].w = w; + ss->drawSlots[index * 2 + i].slot = &sw->slots[i]; + ss->drawSlots[index * 2 + i].distance = fabs(distance); + + } + + if (ss->drawSlots[index * 2].distance > + ss->drawSlots[index * 2 + 1].distance) + { + ss->drawSlots[index * 2].slot->primary = FALSE; + ss->drawSlots[index * 2 + 1].slot->primary = TRUE; + } + else + { + ss->drawSlots[index * 2].slot->primary = TRUE; + ss->drawSlots[index * 2 + 1].slot->primary = FALSE; + } + + } + + ss->nSlots = ss->nWindows * 2; + + qsort (ss->drawSlots, ss->nSlots, sizeof (ShiftDrawSlot), + compareShiftWindowDistance); + + return TRUE; +} + +static Bool +layoutThumbsFlip (CompScreen *s) +{ + SHIFT_SCREEN (s); + CompWindow *w; + int index; + int ww, wh; + float xScale, yScale; + float distance; + int i; + float angle; + int slotNum; + + int ox1, ox2, oy1, oy2; + + if (shiftGetMultioutputMode (s) == MultioutputModeOneBigSwitcher) + { + ox1 = oy1 = 0; + ox2 = s->width; + oy2 = s->height; + } + else + { + ox1 = s->outputDev[ss->usedOutput].region.extents.x1; + ox2 = s->outputDev[ss->usedOutput].region.extents.x2; + oy1 = s->outputDev[ss->usedOutput].region.extents.y1; + oy2 = s->outputDev[ss->usedOutput].region.extents.y2; + } + + /* the center of the ellipse is in the middle + of the used output device */ + int centerX = ox1 + (ox2 - ox1) / 2; + int centerY = oy1 + (oy2 - oy1) / 2; + + int maxThumbWidth = (ox2 - ox1) * shiftGetSize(s) / 100; + int maxThumbHeight = (oy2 - oy1) * shiftGetSize(s) / 100; + + slotNum = 0; + + for (index = 0; index < ss->nWindows; index++) + { + w = ss->windows[index]; + SHIFT_WINDOW (w); + + ww = w->width + w->input.left + w->input.right; + wh = w->height + w->input.top + w->input.bottom; + + if (ww > maxThumbWidth) + xScale = (float)(maxThumbWidth) / (float)ww; + else + xScale = 1.0f; + + if (wh > maxThumbHeight) + yScale = (float)(maxThumbHeight) / (float)wh; + else + yScale = 1.0f; + + angle = shiftGetFlipRotation (s) * PI / 180.0; + + for (i = 0; i < 2; i++) + { + + if (ss->invert ^ (i == 0)) + distance = ss->mvTarget - index; + else + { + distance = ss->mvTarget - index + ss->nWindows; + if (distance > 1.0) + distance -= ss->nWindows * 2; + } + + if (distance > 0.0) + sw->slots[i].opacity = MAX (0.0, 1.0 - (distance * 1.0)); + else + { + if (distance < -(ss->nWindows - 1)) + sw->slots[i].opacity = MAX (0.0, ss->nWindows + + distance); + else + sw->slots[i].opacity = 1.0; + } + + if (distance > 0.0 && w->id != ss->selectedWindow) + sw->slots[i].primary = FALSE; + else + sw->slots[i].primary = TRUE; + + + sw->slots[i].scale = MIN (xScale, yScale); + + sw->slots[i].y = centerY + (maxThumbHeight / 2.0) - + (((w->height / 2.0) + w->input.bottom) * + sw->slots[i].scale); + + sw->slots[i].x = sin(angle) * distance * (maxThumbWidth / 2); + if (distance > 0 && FALSE) + sw->slots[i].x *= 1.5; + sw->slots[i].x += centerX; + + sw->slots[i].z = cos(angle) * distance; + if (distance > 0) + sw->slots[i].z *= 1.5; + sw->slots[i].z *= (maxThumbWidth / (2.0 * (ox2 - ox1))); + + sw->slots[i].rotation = shiftGetFlipRotation (s); + + if (sw->slots[i].opacity > 0.0) + { + ss->drawSlots[slotNum].w = w; + ss->drawSlots[slotNum].slot = &sw->slots[i]; + ss->drawSlots[slotNum].distance = -distance; + slotNum++; + } + } + } + + ss->nSlots = slotNum; + + qsort (ss->drawSlots, ss->nSlots, sizeof (ShiftDrawSlot), + compareShiftWindowDistance); + + return TRUE; +} + + +static Bool +layoutThumbs (CompScreen *s) +{ + SHIFT_SCREEN (s); + + if ((ss->state == ShiftStateNone) || (ss->state == ShiftStateIn)) + return FALSE; + + switch (shiftGetMode (s)) + { + case ModeCover: + return layoutThumbsCover (s); + case ModeFlip: + return layoutThumbsFlip (s); + } + + return FALSE; +} + + +static void +shiftAddWindowToList (CompScreen *s, + CompWindow *w) +{ + SHIFT_SCREEN (s); + + if (ss->windowsSize <= ss->nWindows) + { + ss->windows = realloc (ss->windows, + sizeof (CompWindow *) * (ss->nWindows + 32)); + if (!ss->windows) + return; + + ss->windowsSize = ss->nWindows + 32; + } + + if (ss->slotsSize <= ss->nWindows * 2) + { + ss->drawSlots = realloc (ss->drawSlots, + sizeof (ShiftDrawSlot) * + ((ss->nWindows * 2) + 64)); + + if (!ss->drawSlots) + return; + + ss->slotsSize = (ss->nWindows * 2) + 64; + } + + ss->windows[ss->nWindows++] = w; +} + +static Bool +shiftUpdateWindowList (CompScreen *s) +{ + int i; + SHIFT_SCREEN (s); + + qsort (ss->windows, ss->nWindows, sizeof (CompWindow *), compareWindows); + + ss->mvTarget = 0; + ss->mvAdjust = 0; + ss->mvVelocity = 0; + for (i = 0; i < ss->nWindows; i++) + { + if (ss->windows[i]->id == ss->selectedWindow) + break; + + ss->mvTarget++; + } + + return layoutThumbs (s); +} + +static Bool +shiftCreateWindowList (CompScreen *s) +{ + CompWindow *w; + SHIFT_SCREEN (s); + + ss->nWindows = 0; + + for (w = s->windows; w; w = w->next) + { + if (isShiftWin (w)) + { + SHIFT_WINDOW (w); + + shiftAddWindowToList (s, w); + sw->active = TRUE; + } + } + + return shiftUpdateWindowList (s); +} + +static void +switchToWindow (CompScreen *s, + Bool toNext) +{ + CompWindow *w; + int cur; + + SHIFT_SCREEN (s); + + if (!ss->grabIndex) + return; + + for (cur = 0; cur < ss->nWindows; cur++) + { + if (ss->windows[cur]->id == ss->selectedWindow) + break; + } + + if (cur == ss->nWindows) + return; + + if (toNext) + w = ss->windows[(cur + 1) % ss->nWindows]; + else + w = ss->windows[(cur + ss->nWindows - 1) % ss->nWindows]; + + if (w) + { + Window old = ss->selectedWindow; + ss->selectedWindow = w->id; + + if (old != w->id) + { + if (toNext) + ss->mvAdjust += 1; + else + ss->mvAdjust -= 1; + + ss->moveAdjust = TRUE; + damageScreen (s); + shiftRenderWindowTitle (s); + } + } +} + +static int +shiftCountWindows (CompScreen *s) +{ + CompWindow *w; + int count = 0; + + for (w = s->windows; w; w = w->next) + { + if (isShiftWin (w)) + count++; + } + + return count; +} + +static int adjustShiftMovement (CompScreen *s, float chunk) +{ + float dx, adjust, amount; + float change; + + SHIFT_SCREEN(s); + + dx = ss->mvAdjust; + + adjust = dx * 0.15f; + amount = fabs(dx) * 1.5f; + if (amount < 0.2f) + amount = 0.2f; + else if (amount > 2.0f) + amount = 2.0f; + + ss->mvVelocity = (amount * ss->mvVelocity + adjust) / (amount + 1.0f); + + if (fabs (dx) < 0.002f && fabs (ss->mvVelocity) < 0.004f) + { + ss->mvVelocity = 0.0f; + ss->mvTarget = ss->mvTarget + ss->mvAdjust; + ss->mvAdjust = 0; + layoutThumbs (s); + return FALSE; + } + + change = ss->mvVelocity * chunk; + if (!change) + { + if (ss->mvVelocity) + change = (ss->mvAdjust > 0) ? 0.01 : -0.01; + } + + ss->mvAdjust -= change; + ss->mvTarget += change; + + while (ss->mvTarget >= ss->nWindows) + { + ss->mvTarget -= ss->nWindows; + ss->invert = !ss->invert; + } + + while (ss->mvTarget < 0) + { + ss->mvTarget += ss->nWindows; + ss->invert = !ss->invert; + } + + if (!layoutThumbs (s)) + return FALSE; + + return TRUE; +} + +static Bool +adjustShiftWindowAttribs (CompWindow *w, float chunk) +{ + float dp, db, adjust, amount; + float opacity, brightness; + + SHIFT_WINDOW (w); + SHIFT_SCREEN (w->screen); + + if ((sw->active && ss->state != ShiftStateIn && + ss->state != ShiftStateNone) || + (shiftGetHideAll(w->screen) && !(w->type & CompWindowTypeDesktopMask) && + (ss->state == ShiftStateOut || ss->state == ShiftStateSwitching))) + opacity = 0.0; + else + opacity = 1.0; + + if (ss->state == ShiftStateIn || ss->state == ShiftStateNone) + brightness = 1.0; + else + brightness = shiftGetBackgroundIntensity (w->screen); + + dp = opacity - sw->opacity; + adjust = dp * 0.1f; + amount = fabs (dp) * 7.0f; + if (amount < 0.01f) + amount = 0.01f; + else if (amount > 0.15f) + amount = 0.15f; + + sw->opacityVelocity = (amount * sw->opacityVelocity + adjust) / + (amount + 1.0f); + + db = brightness - sw->brightness; + adjust = db * 0.1f; + amount = fabs (db) * 7.0f; + if (amount < 0.01f) + amount = 0.01f; + else if (amount > 0.15f) + amount = 0.15f; + + sw->brightnessVelocity = (amount * sw->brightnessVelocity + adjust) / + (amount + 1.0f); + + + if (fabs (dp) < 0.01f && fabs (sw->opacityVelocity) < 0.02f && + fabs (db) < 0.01f && fabs (sw->brightnessVelocity) < 0.02f) + { + + sw->brightness = brightness; + sw->opacity = opacity; + return FALSE; + } + + sw->brightness += sw->brightnessVelocity * chunk; + sw->opacity += sw->opacityVelocity * chunk; + + return TRUE; +} + +static Bool +adjustShiftAnimationAttribs (CompScreen *s, float chunk) +{ + float dr, adjust, amount; + float anim; + + SHIFT_SCREEN (s); + + if (ss->state != ShiftStateIn && ss->state != ShiftStateNone) + anim = 1.0; + else + anim = 0.0; + + dr = anim - ss->anim; + adjust = dr * 0.1f; + amount = fabs (dr) * 7.0f; + if (amount < 0.002f) + amount = 0.002f; + else if (amount > 0.15f) + amount = 0.15f; + + ss->animVelocity = (amount * ss->animVelocity + adjust) / + (amount + 1.0f); + + if (fabs (dr) < 0.002f && fabs (ss->animVelocity) < 0.004f) + { + + ss->anim = anim; + return FALSE; + } + + ss->anim += ss->animVelocity * chunk; + return TRUE; +} + +static Bool +shiftPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + SHIFT_SCREEN (s); + + if (ss->state != ShiftStateNone) + mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + + ss->paintingAbove = FALSE; + + ss->output = output; + + UNWRAP (ss, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (ss, s, paintOutput, shiftPaintOutput); + + if (ss->state != ShiftStateNone && + (output->id == ss->usedOutput || output->id == ~0)) + { + int i; + + CompWindow *w; + CompTransform sTransform = *transform; + int oy1 = s->outputDev[ss->usedOutput].region.extents.y1; + int oy2 = s->outputDev[ss->usedOutput].region.extents.y2; + + if (shiftGetMultioutputMode (s) == MultioutputModeOneBigSwitcher) + { + oy1 = 0; + oy2 = s->height; + } + + int maxThumbHeight = (oy2 - oy1) * shiftGetSize(s) / 100; + + int oldFilter = s->display->textureFilter; + + transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &sTransform); + + GLdouble clip[4] = { 0.0, -1.0, 0.0, 0.0}; + + clip[3] = ((oy1 + (oy2 - oy1)) / 2) + (maxThumbHeight / 2.0); + + if (shiftGetReflection (s)) + { + CompTransform rTransform = sTransform; + + unsigned short color[4]; + + int maxThumbHeight = (oy2 - oy1) * shiftGetSize(s) / 100; + + matrixTranslate (&rTransform, 0.0, (oy2 - oy1) + maxThumbHeight, + 0.0); + matrixScale (&rTransform, 1.0, -1.0, 1.0); + + glPushMatrix (); + glLoadMatrixf (rTransform.m); + + glDisable (GL_CULL_FACE); + + if (shiftGetMipmaps (s)) + s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; + + + if (ss->anim == 1.0) + { + glClipPlane (GL_CLIP_PLANE0, clip); + glEnable (GL_CLIP_PLANE0); + } + + ss->reflectActive = TRUE; + ss->reflectBrightness = shiftGetIntensity(s); + for (i = 0; i < ss->nSlots; i++) + { + w = ss->drawSlots[i].w; + + ss->activeSlot = &ss->drawSlots[i]; + { + (*s->paintWindow) (w, &w->paint, &rTransform, + &infiniteRegion, 0); + } + } + + glDisable (GL_CLIP_PLANE0); + glEnable( GL_CULL_FACE); + + glLoadIdentity(); + glTranslatef (0.0, 0.0, -DEFAULT_Z_CAMERA); + + glEnable(GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glBegin (GL_QUADS); + glColor4f (0.0, 0.0, 0.0, 0.0); + glVertex2f (0.5, 0.0); + glVertex2f (-0.5, 0.0); + glColor4f (0.0, 0.0, 0.0, + MIN (1.0, 1.0 - shiftGetIntensity (s)) * 2.0 * + ss->anim); + glVertex2f (-0.5, -0.5); + glVertex2f (0.5, -0.5); + glEnd(); + + if (shiftGetGroundSize (s) > 0.0) + { + glBegin (GL_QUADS); + color[0] = shiftGetGroundColor1 (s)[0]; + color[1] = shiftGetGroundColor1 (s)[1]; + color[2] = shiftGetGroundColor1 (s)[2]; + color[3] = (float)shiftGetGroundColor1 (s)[3] * ss->anim; + glColor4usv (color); + glVertex2f (-0.5, -0.5); + glVertex2f (0.5, -0.5); + color[0] = shiftGetGroundColor2 (s)[0]; + color[1] = shiftGetGroundColor2 (s)[1]; + color[2] = shiftGetGroundColor2 (s)[2]; + color[3] = (float)shiftGetGroundColor2 (s)[3] * ss->anim; + glColor4usv (color); + glVertex2f (0.5, -0.5 + shiftGetGroundSize (s)); + glVertex2f (-0.5, -0.5 + shiftGetGroundSize (s)); + glEnd(); + } + + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + glDisable(GL_BLEND); + glColor4f (1.0, 1.0, 1.0, 1.0); + glPopMatrix (); + } + + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + if (shiftGetReflection (s) && ss->anim == 1.0) + { + glClipPlane (GL_CLIP_PLANE0, clip); + glEnable (GL_CLIP_PLANE0); + } + + ss->reflectBrightness = 1.0; + ss->reflectActive = FALSE; + + for (i = 0; i < ss->nSlots; i++) + { + w = ss->drawSlots[i].w; + + ss->activeSlot = &ss->drawSlots[i]; + { + (*s->paintWindow) (w, &w->paint, &sTransform, + &infiniteRegion, 0); + } + } + + glDisable (GL_CLIP_PLANE0); + + ss->activeSlot = NULL; + + s->display->textureFilter = oldFilter; + + if (ss->textPixmap && (ss->state != ShiftStateIn)) + shiftDrawWindowTitle (s); + + if (ss->state == ShiftStateIn || ss->state == ShiftStateOut) + { + Bool found; + ss->paintingAbove = TRUE; + + w = findWindowAtScreen (s, ss->selectedWindow); + + for (; w; w = w->next) + { + if (w->destroyed) + continue; + + if (!w->shaded) + { + if (w->attrib.map_state != IsViewable || !w->damaged) + continue; + } + found = FALSE; + for (i = 0; i < ss->nWindows; i++) + if (ss->windows[i] == w) + found = TRUE; + if (found) + continue; + (*s->paintWindow) (w, &w->paint, &sTransform, + &infiniteRegion, 0); + } + + ss->paintingAbove = FALSE; + } + + glPopMatrix (); + + + } + + return status; +} + +static void +shiftPaintScreen (CompScreen *s, + CompOutput *outputs, + int numOutputs, + unsigned int mask) +{ + SHIFT_SCREEN (s); + + if (ss->state != ShiftStateNone && numOutputs > 0 && + shiftGetMultioutputMode (s) != MultioutputModeDisabled) + { + outputs = &s->fullscreenOutput; + numOutputs = 1; + } + + UNWRAP (ss, s, paintScreen); + (*s->paintScreen) (s, outputs, numOutputs, mask); + WRAP (ss, s, paintScreen, shiftPaintScreen); +} + +static void +shiftPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + SHIFT_SCREEN (s); + + if (ss->state != ShiftStateNone && + (ss->moreAdjust || ss->moveAdjust)) + { + CompWindow *w; + int steps; + float amount, chunk; + int i; + + amount = msSinceLastPaint * 0.05f * shiftGetShiftSpeed (s); + steps = amount / (0.5f * shiftGetTimestep (s)); + + if (!steps) + steps = 1; + chunk = amount / (float) steps; + + + while (steps--) + { + ss->moveAdjust = adjustShiftMovement (s, chunk); + if (!ss->moveAdjust) + break; + } + + amount = msSinceLastPaint * 0.05f * shiftGetSpeed (s); + steps = amount / (0.5f * shiftGetTimestep (s)); + + if (!steps) + steps = 1; + chunk = amount / (float) steps; + + while (steps--) + { + ss->moreAdjust = adjustShiftAnimationAttribs (s, chunk); + + for (w = s->windows; w; w = w->next) + { + SHIFT_WINDOW (w); + + ss->moreAdjust |= adjustShiftWindowAttribs (w, chunk); + for (i = 0; i < 2; i++) + { + ShiftSlot *slot = &sw->slots[i]; + slot->tx = slot->x - w->attrib.x - + (w->attrib.width * slot->scale) / 2; + slot->ty = slot->y - w->attrib.y - + (w->attrib.height * slot->scale) / 2; + } + } + + if (!ss->moreAdjust) + break; + } + } + + UNWRAP (ss, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (ss, s, preparePaintScreen, shiftPreparePaintScreen); +} + +static void +shiftDonePaintScreen (CompScreen *s) +{ + SHIFT_SCREEN (s); + CompWindow *w; + + if (ss->state != ShiftStateNone) + { + if (ss->moreAdjust) + { + damageScreen (s); + } + else + { + if (ss->moveAdjust) + { + damageScreen (s); + } + + if (ss->state == ShiftStateIn) + { + ss->state = ShiftStateNone; + shiftActivateEvent(s, FALSE); + for (w = s->windows; w; w = w->next) + { + SHIFT_WINDOW (w); + sw->active = FALSE; + } + damageScreen (s); + + + } + else if (ss->state == ShiftStateOut) + ss->state = ShiftStateSwitching; + } + } + + UNWRAP (ss, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (ss, s, donePaintScreen, shiftDonePaintScreen); +} + +static Bool +canStackRelativeTo (CompWindow *w) +{ + if (w->attrib.override_redirect) + return FALSE; + + if (!w->shaded && !w->pendingMaps) + { + if (w->attrib.map_state != IsViewable || w->mapNum == 0) + return FALSE; + } + + return TRUE; +} + + +static void +shiftTerm (CompScreen *s, Bool cancel) +{ + SHIFT_SCREEN (s); + + if (ss->grabIndex) + { + removeScreenGrab (s, ss->grabIndex, 0); + ss->grabIndex = 0; + } + + if (ss->state != ShiftStateNone) + { + CompWindow *w; + + CompWindow *pw = NULL; + int i; + + for (i = 0; i < ss->nSlots; i++) + { + w = ss->drawSlots[i].w; + if (ss->drawSlots[i].slot->primary && canStackRelativeTo (w)) + { + if (pw) + restackWindowAbove (w,pw); + pw = w; + } + } + + ss->moreAdjust = TRUE; + ss->state = ShiftStateIn; + damageScreen (s); + + if (!cancel && ss->selectedWindow) + { + w = findWindowAtScreen (s, ss->selectedWindow); + if (w) + { + int x, y; + CompWindow *w2; + + defaultViewportForWindow (w, &x, &y); + + for (w2 = s->windows; w2; w2 = w2->next) + { + SHIFT_WINDOW (w2); + + moveScreenViewport (s, (s->x - x), (s->y - y), TRUE); + + for (i = 0; i < 2; i++) + { + ShiftSlot *slot = &sw->slots[i]; + slot->tx = slot->x - w2->attrib.x - (w2->attrib.width * slot->scale) / 2; + slot->ty = slot->y - w2->attrib.y - (w2->attrib.height * slot->scale) / 2; + } + } + + activateWindow(w); + sendWindowActivationRequest(s, w->id); + + } + } + } +} + +static Bool +shiftTerminate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + for (s = d->screens; s; s = s->next) + { + if (xid && s->root != xid) + continue; + + shiftTerm (s, (state & CompActionStateCancel)); + + if (state & CompActionStateTermButton) + action->state &= ~CompActionStateTermButton; + + if (state & CompActionStateTermKey) + action->state &= ~CompActionStateTermKey; + } + + return FALSE; +} + +static Bool +shiftInitiateScreen (CompScreen *s, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompMatch *match; + int count; + + SHIFT_SCREEN (s); + + if (otherScreenGrabExist (s, "shift", 0)) + return FALSE; + + ss->currentMatch = shiftGetWindowMatch (s); + + match = getMatchOptionNamed (option, nOption, "match", NULL); + if (match) + { + matchFini (&ss->match); + matchInit (&ss->match); + if (matchCopy (&ss->match, match)) + { + matchUpdate (s->display, &ss->match); + ss->currentMatch = &ss->match; + } + } + + count = shiftCountWindows (s); + + if (count < 1) + return FALSE; + + if (!ss->grabIndex) + ss->grabIndex = pushScreenGrab (s, s->invisibleCursor, "shift"); + //ss->grabIndex = 1; + + if (ss->grabIndex) + { + ss->state = ShiftStateOut; + shiftActivateEvent(s, TRUE); + + if (!shiftCreateWindowList (s)) + return FALSE; + + ss->selectedWindow = ss->windows[0]->id; + shiftRenderWindowTitle (s); + ss->mvTarget = 0; + ss->mvAdjust = 0; + ss->mvVelocity = 0; + + ss->moreAdjust = TRUE; + damageScreen (s); + } + + ss->usedOutput = s->currentOutputDev; + + return TRUE; +} + +static Bool +shiftDoSwitch (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption, + Bool nextWindow, + ShiftType type) +{ + CompScreen *s; + Window xid; + Bool ret = TRUE; + Bool initial = FALSE; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SHIFT_SCREEN (s); + + if ((ss->state == ShiftStateNone) || (ss->state == ShiftStateIn)) + { + ss->type = type; + ret = shiftInitiateScreen (s, action, state, option, nOption); + + + if (state & CompActionStateInitKey) + action->state |= CompActionStateTermKey; + + if (state & CompActionStateInitButton) + action->state |= CompActionStateTermButton; + + if (state & CompActionStateInitEdge) + action->state |= CompActionStateTermEdge; + + initial = TRUE; + } + + if (ret) + { + switchToWindow (s, nextWindow); + if (initial && FALSE) + { + ss->mvTarget += ss->mvAdjust; + ss->mvAdjust = 0.0; + } + } + } + + return ret; +} + +static Bool +shiftInitiate (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + Bool ret = TRUE; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SHIFT_SCREEN (s); + + ss->type = ShiftTypeNormal; + + if ((ss->state == ShiftStateNone) || (ss->state == ShiftStateIn)) + ret = shiftInitiateScreen (s, action, state, option, nOption); + else + ret = shiftTerminate (d, action, state, option, nOption); + + if (state & CompActionStateTermButton) + action->state &= ~CompActionStateTermButton; + + if (state & CompActionStateTermKey) + action->state &= ~CompActionStateTermKey; + } + + return ret; +} + +static Bool +shiftInitiateAll (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + CompScreen *s; + Window xid; + Bool ret = TRUE; + + xid = getIntOptionNamed (option, nOption, "root", 0); + + s = findScreenAtDisplay (d, xid); + if (s) + { + SHIFT_SCREEN (s); + + ss->type = ShiftTypeAll; + + if ((ss->state == ShiftStateNone) || (ss->state == ShiftStateIn)) + ret = shiftInitiateScreen (s, action, state, option, nOption); + else + ret = shiftTerminate (d, action, state, option, nOption); + + if (state & CompActionStateTermButton) + action->state &= ~CompActionStateTermButton; + + if (state & CompActionStateTermKey) + action->state &= ~CompActionStateTermKey; + } + + return ret; +} + +static Bool +shiftNext (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return shiftDoSwitch (d, action, state, option, nOption, + TRUE, ShiftTypeNormal); +} + +static Bool +shiftPrev (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return shiftDoSwitch (d, action, state, option, nOption, + FALSE, ShiftTypeNormal); +} + +static Bool +shiftNextAll (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return shiftDoSwitch (d, action, state, option, nOption, + TRUE, ShiftTypeAll); +} + +static Bool +shiftPrevAll (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return shiftDoSwitch (d, action, state, option, nOption, + FALSE, ShiftTypeAll); +} + +static Bool +shiftNextGroup (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return shiftDoSwitch (d, action, state, option, nOption, + TRUE, ShiftTypeGroup); +} + +static Bool +shiftPrevGroup (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + return shiftDoSwitch (d, action, state, option, nOption, + FALSE, ShiftTypeGroup); +} + + +static void +shiftWindowRemove (CompDisplay * d, + Window id) +{ + CompWindow *w; + + w = findWindowAtDisplay (d, id); + if (w) + { + Bool inList = FALSE; + int j, i = 0; + Window selected; + + SHIFT_SCREEN(w->screen); + + if (ss->state == ShiftStateNone) + return; + + if (isShiftWin(w)) + return; + + selected = ss->selectedWindow; + + while (i < ss->nWindows) + { + if (w->id == ss->windows[i]->id) + { + inList = TRUE; + + if (w->id == selected) + { + if (i < (ss->nWindows - 1)) + selected = ss->windows[i + 1]->id; + else + selected = ss->windows[0]->id; + + ss->selectedWindow = selected; + } + + ss->nWindows--; + for (j = i; j < ss->nWindows; j++) + ss->windows[j] = ss->windows[j + 1]; + } + else + { + i++; + } + } + + if (!inList) + return; + + if (ss->nWindows == 0) + { + CompOption o; + + o.type = CompOptionTypeInt; + o.name = "root"; + o.value.i = w->screen->root; + + shiftTerminate (d, NULL, 0, &o, 1); + return; + } + + if (!ss->grabIndex) + return; + + if (shiftUpdateWindowList (w->screen)) + { + ss->moreAdjust = TRUE; + ss->state = ShiftStateOut; + damageScreen (w->screen); + } + } +} + +static void +shiftHandleEvent (CompDisplay *d, + XEvent *event) +{ + SHIFT_DISPLAY (d); + CompScreen *s; + + UNWRAP (sd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (sd, d, handleEvent, shiftHandleEvent); + + switch (event->type) { + case PropertyNotify: + if (event->xproperty.atom == XA_WM_NAME) + { + CompWindow *w; + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + SHIFT_SCREEN (w->screen); + if (ss->grabIndex && (w->id == ss->selectedWindow)) + { + shiftRenderWindowTitle (w->screen); + damageScreen (w->screen); + } + } + } + break; + case UnmapNotify: + shiftWindowRemove (d, event->xunmap.window); + break; + case DestroyNotify: + shiftWindowRemove (d, event->xdestroywindow.window); + break; + case KeyPress: + s = findScreenAtDisplay (d, event->xkey.root); + + if (s) + { + SHIFT_SCREEN (s); + + if (ss->state == ShiftStateSwitching) + { + if (event->xkey.keycode == sd->leftKey) + switchToWindow (s, FALSE); + else if (event->xkey.keycode == sd->rightKey) + switchToWindow (s, TRUE); + else if (event->xkey.keycode == sd->upKey) + switchToWindow (s, FALSE); + else if (event->xkey.keycode == sd->downKey) + switchToWindow (s, TRUE); + } + } + + break; + case ButtonPress: + s = findScreenAtDisplay (d, event->xbutton.root); + + if (s) + { + SHIFT_SCREEN (s); + + if (ss->state == ShiftStateSwitching || ss->state == ShiftStateOut) + { + if (event->xbutton.button == Button5) + switchToWindow (s, FALSE); + else if (event->xbutton.button == Button4) + switchToWindow (s, TRUE); + if (event->xbutton.button == Button1) + { + ss->buttonPressTime = event->xbutton.time; + ss->buttonPressed = TRUE; + ss->startX = event->xbutton.x_root; + ss->startY = event->xbutton.y_root; + ss->startTarget = ss->mvTarget + ss->mvAdjust; + } + else if (event->xbutton.button == Button3) + shiftTerm (s, TRUE); + } + } + break; + case ButtonRelease: + s = findScreenAtDisplay (d, event->xbutton.root); + + if (s) + { + SHIFT_SCREEN (s); + + if (ss->state == ShiftStateSwitching || ss->state == ShiftStateOut) + { + if (event->xbutton.button == Button1 && ss->buttonPressed) + { + int new; + if (event->xbutton.time - ss->buttonPressTime < + shiftGetClickDuration (s)) + shiftTerm (s, FALSE); + + ss->buttonPressTime = 0; + ss->buttonPressed = FALSE; + + if (ss->mvTarget - floor (ss->mvTarget) >= 0.5) + { + ss->mvAdjust = ceil(ss->mvTarget) - ss->mvTarget; + new = ceil(ss->mvTarget); + } + else + { + ss->mvAdjust = floor(ss->mvTarget) - ss->mvTarget; + new = floor(ss->mvTarget); + } + + while (new < 0) + new += ss->nWindows; + new = new % ss->nWindows; + + ss->selectedWindow = ss->windows[new]->id; + + shiftRenderWindowTitle (s); + ss->moveAdjust = TRUE; + damageScreen(s); + } + + } + } + break; + case MotionNotify: + s = findScreenAtDisplay (d, event->xbutton.root); + + if (s) + { + SHIFT_SCREEN (s); + + if (ss->state == ShiftStateSwitching || ss->state == ShiftStateOut) + { + if (ss->buttonPressed) + { + int ox1 = s->outputDev[ss->usedOutput].region.extents.x1; + int ox2 = s->outputDev[ss->usedOutput].region.extents.x2; + int oy1 = s->outputDev[ss->usedOutput].region.extents.y1; + int oy2 = s->outputDev[ss->usedOutput].region.extents.y2; + + float div = 0; + int wx = 0; + int wy = 0; + int new; + + switch (shiftGetMode (s)) + { + case ModeCover: + div = event->xmotion.x_root - ss->startX; + div /= (ox2 - ox1) / shiftGetMouseSpeed (s); + break; + case ModeFlip: + div = event->xmotion.y_root - ss->startY; + div /= (oy2 - oy1) / shiftGetMouseSpeed (s); + break; + } + + ss->mvTarget = ss->startTarget + div - ss->mvAdjust; + ss->moveAdjust = TRUE; + while (ss->mvTarget >= ss->nWindows) + { + ss->mvTarget -= ss->nWindows; + ss->invert = !ss->invert; + } + + while (ss->mvTarget < 0) + { + ss->mvTarget += ss->nWindows; + ss->invert = !ss->invert; + } + + if (ss->mvTarget - floor (ss->mvTarget) >= 0.5) + new = ceil(ss->mvTarget); + else + new = floor(ss->mvTarget); + + while (new < 0) + new += ss->nWindows; + new = new % ss->nWindows; + + if (ss->selectedWindow != ss->windows[new]->id) + { + ss->selectedWindow = ss->windows[new]->id; + shiftRenderWindowTitle (s); + } + + if (event->xmotion.x_root < 50) + wx = 50; + if (s->width - event->xmotion.x_root < 50) + wx = -50; + if (event->xmotion.y_root < 50) + wy = 50; + if (s->height - event->xmotion.y_root < 50) + wy = -50; + if (wx != 0 || wy != 0) + { + warpPointer (s, wx, wy); + ss->startX += wx; + ss->startY += wy; + } + + damageScreen(s); + } + + } + } + } +} + +static Bool +shiftDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status = FALSE; + + SHIFT_SCREEN (w->screen); + + if (initial) + { + if (ss->grabIndex && isShiftWin (w)) + { + shiftAddWindowToList (w->screen, w); + if (shiftUpdateWindowList (w->screen)) + { + SHIFT_WINDOW (w); + + sw->active = TRUE; + ss->moreAdjust = TRUE; + ss->state = ShiftStateOut; + damageScreen (w->screen); + } + } + } + else if (ss->state == ShiftStateSwitching) + { + SHIFT_WINDOW (w); + + if (sw->active) + { + damageScreen (w->screen); + status = TRUE; + } + } + + UNWRAP (ss, w->screen, damageWindowRect); + status |= (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (ss, w->screen, damageWindowRect, shiftDamageWindowRect); + + return status; +} + +static Bool +shiftInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ShiftDisplay *sd; + + sd = malloc (sizeof (ShiftDisplay)); + if (!sd) + return FALSE; + + sd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (sd->screenPrivateIndex < 0) + { + free (sd); + return FALSE; + } + + sd->leftKey = XKeysymToKeycode (d->display, XStringToKeysym ("Left")); + sd->rightKey = XKeysymToKeycode (d->display, XStringToKeysym ("Right")); + sd->upKey = XKeysymToKeycode (d->display, XStringToKeysym ("Up")); + sd->downKey = XKeysymToKeycode (d->display, XStringToKeysym ("Down")); + + shiftSetInitiateInitiate (d, shiftInitiate); + shiftSetInitiateTerminate (d, shiftTerminate); + shiftSetInitiateAllInitiate (d, shiftInitiateAll); + shiftSetInitiateAllTerminate (d, shiftTerminate); + shiftSetNextInitiate (d, shiftNext); + shiftSetNextTerminate (d, shiftTerminate); + shiftSetPrevInitiate (d, shiftPrev); + shiftSetPrevTerminate (d, shiftTerminate); + shiftSetNextAllInitiate (d, shiftNextAll); + shiftSetNextAllTerminate (d, shiftTerminate); + shiftSetPrevAllInitiate (d, shiftPrevAll); + shiftSetPrevAllTerminate (d, shiftTerminate); + shiftSetNextGroupInitiate (d, shiftNextGroup); + shiftSetNextGroupTerminate (d, shiftTerminate); + shiftSetPrevGroupInitiate (d, shiftPrevGroup); + shiftSetPrevGroupTerminate (d, shiftTerminate); + + WRAP (sd, d, handleEvent, shiftHandleEvent); + + d->privates[displayPrivateIndex].ptr = sd; + + return TRUE; +} + +static void +shiftFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + SHIFT_DISPLAY (d); + + freeScreenPrivateIndex (d, sd->screenPrivateIndex); + + UNWRAP (sd, d, handleEvent); + + free (sd); +} + +static Bool +shiftInitScreen (CompPlugin *p, + CompScreen *s) +{ + ShiftScreen *ss; + + SHIFT_DISPLAY (s->display); + + ss = malloc (sizeof (ShiftScreen)); + if (!ss) + return FALSE; + + ss->windowPrivateIndex = allocateWindowPrivateIndex (s); + if (ss->windowPrivateIndex < 0) + { + free (ss); + return FALSE; + } + + ss->grabIndex = 0; + + ss->state = ShiftStateNone; + + ss->windows = NULL; + ss->windowsSize = 0; + + ss->drawSlots = NULL; + ss->slotsSize = 0; + + ss->activeSlot = NULL; + + ss->selectedWindow = None; + + ss->moreAdjust = FALSE; + + ss->usedOutput = 0; + + ss->mvAdjust = 0; + ss->mvVelocity = 0; + ss->mvTarget = 0; + ss->invert = FALSE; + + ss->textPixmap = None; + + ss->anim = 0.0; + ss->animVelocity = 0.0; + + ss->buttonPressed = FALSE; + + matchInit (&ss->match); + + WRAP (ss, s, preparePaintScreen, shiftPreparePaintScreen); + WRAP (ss, s, donePaintScreen, shiftDonePaintScreen); + WRAP (ss, s, paintScreen, shiftPaintScreen); + WRAP (ss, s, paintOutput, shiftPaintOutput); + WRAP (ss, s, paintWindow, shiftPaintWindow); + WRAP (ss, s, damageWindowRect, shiftDamageWindowRect); + + ss->cursor = XCreateFontCursor (s->display->display, XC_left_ptr); + + s->privates[sd->screenPrivateIndex].ptr = ss; + + return TRUE; +} + +static void +shiftFiniScreen (CompPlugin *p, + CompScreen *s) +{ + SHIFT_SCREEN (s); + + freeWindowPrivateIndex (s, ss->windowPrivateIndex); + + UNWRAP (ss, s, preparePaintScreen); + UNWRAP (ss, s, donePaintScreen); + UNWRAP (ss, s, paintScreen); + UNWRAP (ss, s, paintOutput); + UNWRAP (ss, s, paintWindow); + UNWRAP (ss, s, damageWindowRect); + + matchFini (&ss->match); + + shiftFreeWindowTitle (s); + + XFreeCursor (s->display->display, ss->cursor); + + if (ss->windows) + free (ss->windows); + + if (ss->drawSlots) + free (ss->drawSlots); + + free (ss); +} + +static Bool +shiftInitWindow (CompPlugin *p, + CompWindow *w) +{ + ShiftWindow *sw; + + SHIFT_SCREEN (w->screen); + + sw = calloc (1, sizeof (ShiftWindow)); + if (!sw) + return FALSE; + + sw->slots[0].scale = 1.0; + sw->slots[1].scale = 1.0; + + w->privates[ss->windowPrivateIndex].ptr = sw; + + return TRUE; +} + +static void +shiftFiniWindow (CompPlugin *p, + CompWindow *w) +{ + SHIFT_WINDOW (w); + + free (sw); +} + +static Bool +shiftInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +shiftFini (CompPlugin *p) +{ + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +shiftGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable shiftVTable = { + "shift", + shiftGetVersion, + 0, + shiftInit, + shiftFini, + shiftInitDisplay, + shiftFiniDisplay, + shiftInitScreen, + shiftFiniScreen, + shiftInitWindow, + shiftFiniWindow, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &shiftVTable; +} diff --git a/shift/shift_options.c b/shift/shift_options.c new file mode 100644 index 0000000..2d8a242 --- /dev/null +++ b/shift/shift_options.c @@ -0,0 +1,1391 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _SHIFT_OPTIONS_INTERNAL +#include "shift_options.h" + +static int displayPrivateIndex; + +static CompMetadata shiftOptionsMetadata; + +static CompPluginVTable *shiftPluginVTable = NULL; +CompPluginVTable shiftOptionsVTable; + +#define GET_SHIFT_OPTIONS_DISPLAY(d) \ + ((ShiftOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define SHIFT_OPTIONS_DISPLAY(d) \ + ShiftOptionsDisplay *od = GET_SHIFT_OPTIONS_DISPLAY (d) + +#define GET_SHIFT_OPTIONS_SCREEN(s, od) \ + ((ShiftOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define SHIFT_OPTIONS_SCREEN(s) \ + ShiftOptionsScreen *os = GET_SHIFT_OPTIONS_SCREEN (s, GET_SHIFT_OPTIONS_DISPLAY (s->display)) + +typedef struct _ShiftOptionsDisplay +{ + int screenPrivateIndex; + + CompOption opt[ShiftDisplayOptionNum]; + shiftDisplayOptionChangeNotifyProc notify[ShiftDisplayOptionNum]; +} ShiftOptionsDisplay; + +typedef struct _ShiftOptionsScreen +{ + CompOption opt[ShiftScreenOptionNum]; + shiftScreenOptionChangeNotifyProc notify[ShiftScreenOptionNum]; +} ShiftOptionsScreen; + +CompAction * shiftGetInitiate (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionInitiate].value.action; +} + +void shiftSetInitiateInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionInitiate].value.action.initiate = init; +} + +void shiftSetInitiateTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionInitiate].value.action.terminate = term; +} + +CompOption * shiftGetInitiateOption (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionInitiate]; +} + +void shiftSetInitiateNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->notify[ShiftDisplayOptionInitiate] = notify; +} + +CompAction * shiftGetInitiateAll (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionInitiateAll].value.action; +} + +void shiftSetInitiateAllInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionInitiateAll].value.action.initiate = init; +} + +void shiftSetInitiateAllTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionInitiateAll].value.action.terminate = term; +} + +CompOption * shiftGetInitiateAllOption (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionInitiateAll]; +} + +void shiftSetInitiateAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->notify[ShiftDisplayOptionInitiateAll] = notify; +} + +CompAction * shiftGetNext (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionNext].value.action; +} + +void shiftSetNextInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionNext].value.action.initiate = init; +} + +void shiftSetNextTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionNext].value.action.terminate = term; +} + +CompOption * shiftGetNextOption (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionNext]; +} + +void shiftSetNextNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->notify[ShiftDisplayOptionNext] = notify; +} + +CompAction * shiftGetPrev (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionPrev].value.action; +} + +void shiftSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionPrev].value.action.initiate = init; +} + +void shiftSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionPrev].value.action.terminate = term; +} + +CompOption * shiftGetPrevOption (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionPrev]; +} + +void shiftSetPrevNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->notify[ShiftDisplayOptionPrev] = notify; +} + +CompAction * shiftGetNextAll (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionNextAll].value.action; +} + +void shiftSetNextAllInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionNextAll].value.action.initiate = init; +} + +void shiftSetNextAllTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionNextAll].value.action.terminate = term; +} + +CompOption * shiftGetNextAllOption (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionNextAll]; +} + +void shiftSetNextAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->notify[ShiftDisplayOptionNextAll] = notify; +} + +CompAction * shiftGetPrevAll (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionPrevAll].value.action; +} + +void shiftSetPrevAllInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionPrevAll].value.action.initiate = init; +} + +void shiftSetPrevAllTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionPrevAll].value.action.terminate = term; +} + +CompOption * shiftGetPrevAllOption (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionPrevAll]; +} + +void shiftSetPrevAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->notify[ShiftDisplayOptionPrevAll] = notify; +} + +CompAction * shiftGetNextGroup (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionNextGroup].value.action; +} + +void shiftSetNextGroupInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionNextGroup].value.action.initiate = init; +} + +void shiftSetNextGroupTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionNextGroup].value.action.terminate = term; +} + +CompOption * shiftGetNextGroupOption (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionNextGroup]; +} + +void shiftSetNextGroupNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->notify[ShiftDisplayOptionNextGroup] = notify; +} + +CompAction * shiftGetPrevGroup (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionPrevGroup].value.action; +} + +void shiftSetPrevGroupInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionPrevGroup].value.action.initiate = init; +} + +void shiftSetPrevGroupTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->opt[ShiftDisplayOptionPrevGroup].value.action.terminate = term; +} + +CompOption * shiftGetPrevGroupOption (CompDisplay *d) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[ShiftDisplayOptionPrevGroup]; +} + +void shiftSetPrevGroupNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_DISPLAY(d); + od->notify[ShiftDisplayOptionPrevGroup] = notify; +} + +float shiftGetSpeed (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionSpeed].value.f; +} + +CompOption * shiftGetSpeedOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionSpeed]; +} + +void shiftSetSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionSpeed] = notify; +} + +float shiftGetShiftSpeed (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionShiftSpeed].value.f; +} + +CompOption * shiftGetShiftSpeedOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionShiftSpeed]; +} + +void shiftSetShiftSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionShiftSpeed] = notify; +} + +float shiftGetTimestep (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTimestep].value.f; +} + +CompOption * shiftGetTimestepOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionTimestep]; +} + +void shiftSetTimestepNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionTimestep] = notify; +} + +CompMatch * shiftGetWindowMatch (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionWindowMatch].value.match; +} + +CompOption * shiftGetWindowMatchOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionWindowMatch]; +} + +void shiftSetWindowMatchNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionWindowMatch] = notify; +} + +Bool shiftGetMinimized (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionMinimized].value.b; +} + +CompOption * shiftGetMinimizedOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionMinimized]; +} + +void shiftSetMinimizedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionMinimized] = notify; +} + +float shiftGetMouseSpeed (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionMouseSpeed].value.f; +} + +CompOption * shiftGetMouseSpeedOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionMouseSpeed]; +} + +void shiftSetMouseSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionMouseSpeed] = notify; +} + +int shiftGetClickDuration (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionClickDuration].value.i; +} + +CompOption * shiftGetClickDurationOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionClickDuration]; +} + +void shiftSetClickDurationNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionClickDuration] = notify; +} + +int shiftGetMode (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionMode].value.i; +} + +CompOption * shiftGetModeOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionMode]; +} + +void shiftSetModeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionMode] = notify; +} + +int shiftGetSize (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionSize].value.i; +} + +CompOption * shiftGetSizeOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionSize]; +} + +void shiftSetSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionSize] = notify; +} + +float shiftGetBackgroundIntensity (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionBackgroundIntensity].value.f; +} + +CompOption * shiftGetBackgroundIntensityOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionBackgroundIntensity]; +} + +void shiftSetBackgroundIntensityNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionBackgroundIntensity] = notify; +} + +Bool shiftGetHideAll (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionHideAll].value.b; +} + +CompOption * shiftGetHideAllOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionHideAll]; +} + +void shiftSetHideAllNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionHideAll] = notify; +} + +Bool shiftGetReflection (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionReflection].value.b; +} + +CompOption * shiftGetReflectionOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionReflection]; +} + +void shiftSetReflectionNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionReflection] = notify; +} + +unsigned short * shiftGetGroundColor1 (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor1].value.c; +} + +unsigned short shiftGetGroundColor1Red (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor1].value.c[0]; +} + +unsigned short shiftGetGroundColor1Green (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor1].value.c[1]; +} + +unsigned short shiftGetGroundColor1Blue (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor1].value.c[2]; +} + +unsigned short shiftGetGroundColor1Alpha (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor1].value.c[3]; +} + +CompOption * shiftGetGroundColor1Option (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionGroundColor1]; +} + +void shiftSetGroundColor1Notify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionGroundColor1] = notify; +} + +unsigned short * shiftGetGroundColor2 (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor2].value.c; +} + +unsigned short shiftGetGroundColor2Red (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor2].value.c[0]; +} + +unsigned short shiftGetGroundColor2Green (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor2].value.c[1]; +} + +unsigned short shiftGetGroundColor2Blue (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor2].value.c[2]; +} + +unsigned short shiftGetGroundColor2Alpha (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundColor2].value.c[3]; +} + +CompOption * shiftGetGroundColor2Option (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionGroundColor2]; +} + +void shiftSetGroundColor2Notify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionGroundColor2] = notify; +} + +float shiftGetGroundSize (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionGroundSize].value.f; +} + +CompOption * shiftGetGroundSizeOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionGroundSize]; +} + +void shiftSetGroundSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionGroundSize] = notify; +} + +float shiftGetIntensity (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionIntensity].value.f; +} + +CompOption * shiftGetIntensityOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionIntensity]; +} + +void shiftSetIntensityNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionIntensity] = notify; +} + +int shiftGetFlipRotation (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionFlipRotation].value.i; +} + +CompOption * shiftGetFlipRotationOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionFlipRotation]; +} + +void shiftSetFlipRotationNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionFlipRotation] = notify; +} + +float shiftGetCoverOffset (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionCoverOffset].value.f; +} + +CompOption * shiftGetCoverOffsetOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionCoverOffset]; +} + +void shiftSetCoverOffsetNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionCoverOffset] = notify; +} + +int shiftGetOverlayIcon (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionOverlayIcon].value.i; +} + +CompOption * shiftGetOverlayIconOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionOverlayIcon]; +} + +void shiftSetOverlayIconNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionOverlayIcon] = notify; +} + +Bool shiftGetMipmaps (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionMipmaps].value.b; +} + +CompOption * shiftGetMipmapsOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionMipmaps]; +} + +void shiftSetMipmapsNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionMipmaps] = notify; +} + +int shiftGetMultioutputMode (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionMultioutputMode].value.i; +} + +CompOption * shiftGetMultioutputModeOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionMultioutputMode]; +} + +void shiftSetMultioutputModeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionMultioutputMode] = notify; +} + +Bool shiftGetWindowTitle (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionWindowTitle].value.b; +} + +CompOption * shiftGetWindowTitleOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionWindowTitle]; +} + +void shiftSetWindowTitleNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionWindowTitle] = notify; +} + +Bool shiftGetTitleFontBold (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleFontBold].value.b; +} + +CompOption * shiftGetTitleFontBoldOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionTitleFontBold]; +} + +void shiftSetTitleFontBoldNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionTitleFontBold] = notify; +} + +int shiftGetTitleFontSize (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleFontSize].value.i; +} + +CompOption * shiftGetTitleFontSizeOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionTitleFontSize]; +} + +void shiftSetTitleFontSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionTitleFontSize] = notify; +} + +unsigned short * shiftGetTitleBackColor (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleBackColor].value.c; +} + +unsigned short shiftGetTitleBackColorRed (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleBackColor].value.c[0]; +} + +unsigned short shiftGetTitleBackColorGreen (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleBackColor].value.c[1]; +} + +unsigned short shiftGetTitleBackColorBlue (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleBackColor].value.c[2]; +} + +unsigned short shiftGetTitleBackColorAlpha (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleBackColor].value.c[3]; +} + +CompOption * shiftGetTitleBackColorOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionTitleBackColor]; +} + +void shiftSetTitleBackColorNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionTitleBackColor] = notify; +} + +unsigned short * shiftGetTitleFontColor (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleFontColor].value.c; +} + +unsigned short shiftGetTitleFontColorRed (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleFontColor].value.c[0]; +} + +unsigned short shiftGetTitleFontColorGreen (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleFontColor].value.c[1]; +} + +unsigned short shiftGetTitleFontColorBlue (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleFontColor].value.c[2]; +} + +unsigned short shiftGetTitleFontColorAlpha (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleFontColor].value.c[3]; +} + +CompOption * shiftGetTitleFontColorOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionTitleFontColor]; +} + +void shiftSetTitleFontColorNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionTitleFontColor] = notify; +} + +int shiftGetTitleTextPlacement (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return os->opt[ShiftScreenOptionTitleTextPlacement].value.i; +} + +CompOption * shiftGetTitleTextPlacementOption (CompScreen *s) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[ShiftScreenOptionTitleTextPlacement]; +} + +void shiftSetTitleTextPlacementNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify) +{ + SHIFT_OPTIONS_SCREEN(s); + os->notify[ShiftScreenOptionTitleTextPlacement] = notify; +} + +CompOption * shiftGetDisplayOption (CompDisplay *d, ShiftDisplayOptions num) +{ + SHIFT_OPTIONS_DISPLAY(d); + return &od->opt[num]; +} + +CompOption * shiftGetScreenOption (CompScreen *s, ShiftScreenOptions num) +{ + SHIFT_OPTIONS_SCREEN(s); + return &os->opt[num]; +} + +static const CompMetadataOptionInfo shiftOptionsDisplayOptionInfo[] = { + { "initiate", "action", 0, 0, 0 }, + { "initiate_all", "action", 0, 0, 0 }, + { "next", "action", 0, 0, 0 }, + { "prev", "action", 0, 0, 0 }, + { "next_all", "action", 0, 0, 0 }, + { "prev_all", "action", 0, 0, 0 }, + { "next_group", "action", 0, 0, 0 }, + { "prev_group", "action", 0, 0, 0 }, +}; + +static Bool shiftOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) +{ + SHIFT_OPTIONS_DISPLAY(d); + CompOption *o; + int index; + + o = compFindOption (od->opt, ShiftDisplayOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case ShiftDisplayOptionInitiate: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ShiftDisplayOptionInitiate]) + (*od->notify[ShiftDisplayOptionInitiate]) (d, o, ShiftDisplayOptionInitiate); + return TRUE; + } + break; + case ShiftDisplayOptionInitiateAll: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ShiftDisplayOptionInitiateAll]) + (*od->notify[ShiftDisplayOptionInitiateAll]) (d, o, ShiftDisplayOptionInitiateAll); + return TRUE; + } + break; + case ShiftDisplayOptionNext: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ShiftDisplayOptionNext]) + (*od->notify[ShiftDisplayOptionNext]) (d, o, ShiftDisplayOptionNext); + return TRUE; + } + break; + case ShiftDisplayOptionPrev: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ShiftDisplayOptionPrev]) + (*od->notify[ShiftDisplayOptionPrev]) (d, o, ShiftDisplayOptionPrev); + return TRUE; + } + break; + case ShiftDisplayOptionNextAll: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ShiftDisplayOptionNextAll]) + (*od->notify[ShiftDisplayOptionNextAll]) (d, o, ShiftDisplayOptionNextAll); + return TRUE; + } + break; + case ShiftDisplayOptionPrevAll: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ShiftDisplayOptionPrevAll]) + (*od->notify[ShiftDisplayOptionPrevAll]) (d, o, ShiftDisplayOptionPrevAll); + return TRUE; + } + break; + case ShiftDisplayOptionNextGroup: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ShiftDisplayOptionNextGroup]) + (*od->notify[ShiftDisplayOptionNextGroup]) (d, o, ShiftDisplayOptionNextGroup); + return TRUE; + } + break; + case ShiftDisplayOptionPrevGroup: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[ShiftDisplayOptionPrevGroup]) + (*od->notify[ShiftDisplayOptionPrevGroup]) (d, o, ShiftDisplayOptionPrevGroup); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * shiftOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) +{ + SHIFT_OPTIONS_DISPLAY(d); + *count = ShiftDisplayOptionNum; + return od->opt; +} + +static const CompMetadataOptionInfo shiftOptionsScreenOptionInfo[] = { + { "speed", "float", "0.110.0", 0, 0 }, + { "shift_speed", "float", "0.15.0", 0, 0 }, + { "timestep", "float", "0.150.0", 0, 0 }, + { "window_match", "match", 0, 0, 0 }, + { "minimized", "bool", 0, 0, 0 }, + { "mouse_speed", "float", "0.150.0", 0, 0 }, + { "click_duration", "int", "102000", 0, 0 }, + { "mode", "int", "01", 0, 0 }, + { "size", "int", "1100", 0, 0 }, + { "background_intensity", "float", "0.01.0", 0, 0 }, + { "hide_all", "bool", 0, 0, 0 }, + { "reflection", "bool", 0, 0, 0 }, + { "ground_color1", "color", 0, 0, 0 }, + { "ground_color2", "color", 0, 0, 0 }, + { "ground_size", "float", "0.01.0", 0, 0 }, + { "intensity", "float", "0.01.0", 0, 0 }, + { "flip_rotation", "int", "-8080", 0, 0 }, + { "cover_offset", "float", "-0.40.4", 0, 0 }, + { "overlay_icon", "int", "02", 0, 0 }, + { "mipmaps", "bool", 0, 0, 0 }, + { "multioutput_mode", "int", "02", 0, 0 }, + { "window_title", "bool", 0, 0, 0 }, + { "title_font_bold", "bool", 0, 0, 0 }, + { "title_font_size", "int", "696", 0, 0 }, + { "title_back_color", "color", 0, 0, 0 }, + { "title_font_color", "color", 0, 0, 0 }, + { "title_text_placement", "int", "02", 0, 0 }, +}; + +static Bool shiftOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + SHIFT_OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, ShiftScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case ShiftScreenOptionSpeed: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionSpeed]) + (*os->notify[ShiftScreenOptionSpeed]) (s, o, ShiftScreenOptionSpeed); + return TRUE; + } + break; + case ShiftScreenOptionShiftSpeed: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionShiftSpeed]) + (*os->notify[ShiftScreenOptionShiftSpeed]) (s, o, ShiftScreenOptionShiftSpeed); + return TRUE; + } + break; + case ShiftScreenOptionTimestep: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionTimestep]) + (*os->notify[ShiftScreenOptionTimestep]) (s, o, ShiftScreenOptionTimestep); + return TRUE; + } + break; + case ShiftScreenOptionWindowMatch: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionWindowMatch]) + (*os->notify[ShiftScreenOptionWindowMatch]) (s, o, ShiftScreenOptionWindowMatch); + return TRUE; + } + break; + case ShiftScreenOptionMinimized: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionMinimized]) + (*os->notify[ShiftScreenOptionMinimized]) (s, o, ShiftScreenOptionMinimized); + return TRUE; + } + break; + case ShiftScreenOptionMouseSpeed: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionMouseSpeed]) + (*os->notify[ShiftScreenOptionMouseSpeed]) (s, o, ShiftScreenOptionMouseSpeed); + return TRUE; + } + break; + case ShiftScreenOptionClickDuration: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionClickDuration]) + (*os->notify[ShiftScreenOptionClickDuration]) (s, o, ShiftScreenOptionClickDuration); + return TRUE; + } + break; + case ShiftScreenOptionMode: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionMode]) + (*os->notify[ShiftScreenOptionMode]) (s, o, ShiftScreenOptionMode); + return TRUE; + } + break; + case ShiftScreenOptionSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionSize]) + (*os->notify[ShiftScreenOptionSize]) (s, o, ShiftScreenOptionSize); + return TRUE; + } + break; + case ShiftScreenOptionBackgroundIntensity: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionBackgroundIntensity]) + (*os->notify[ShiftScreenOptionBackgroundIntensity]) (s, o, ShiftScreenOptionBackgroundIntensity); + return TRUE; + } + break; + case ShiftScreenOptionHideAll: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionHideAll]) + (*os->notify[ShiftScreenOptionHideAll]) (s, o, ShiftScreenOptionHideAll); + return TRUE; + } + break; + case ShiftScreenOptionReflection: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionReflection]) + (*os->notify[ShiftScreenOptionReflection]) (s, o, ShiftScreenOptionReflection); + return TRUE; + } + break; + case ShiftScreenOptionGroundColor1: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionGroundColor1]) + (*os->notify[ShiftScreenOptionGroundColor1]) (s, o, ShiftScreenOptionGroundColor1); + return TRUE; + } + break; + case ShiftScreenOptionGroundColor2: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionGroundColor2]) + (*os->notify[ShiftScreenOptionGroundColor2]) (s, o, ShiftScreenOptionGroundColor2); + return TRUE; + } + break; + case ShiftScreenOptionGroundSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionGroundSize]) + (*os->notify[ShiftScreenOptionGroundSize]) (s, o, ShiftScreenOptionGroundSize); + return TRUE; + } + break; + case ShiftScreenOptionIntensity: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionIntensity]) + (*os->notify[ShiftScreenOptionIntensity]) (s, o, ShiftScreenOptionIntensity); + return TRUE; + } + break; + case ShiftScreenOptionFlipRotation: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionFlipRotation]) + (*os->notify[ShiftScreenOptionFlipRotation]) (s, o, ShiftScreenOptionFlipRotation); + return TRUE; + } + break; + case ShiftScreenOptionCoverOffset: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionCoverOffset]) + (*os->notify[ShiftScreenOptionCoverOffset]) (s, o, ShiftScreenOptionCoverOffset); + return TRUE; + } + break; + case ShiftScreenOptionOverlayIcon: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionOverlayIcon]) + (*os->notify[ShiftScreenOptionOverlayIcon]) (s, o, ShiftScreenOptionOverlayIcon); + return TRUE; + } + break; + case ShiftScreenOptionMipmaps: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionMipmaps]) + (*os->notify[ShiftScreenOptionMipmaps]) (s, o, ShiftScreenOptionMipmaps); + return TRUE; + } + break; + case ShiftScreenOptionMultioutputMode: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionMultioutputMode]) + (*os->notify[ShiftScreenOptionMultioutputMode]) (s, o, ShiftScreenOptionMultioutputMode); + return TRUE; + } + break; + case ShiftScreenOptionWindowTitle: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionWindowTitle]) + (*os->notify[ShiftScreenOptionWindowTitle]) (s, o, ShiftScreenOptionWindowTitle); + return TRUE; + } + break; + case ShiftScreenOptionTitleFontBold: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionTitleFontBold]) + (*os->notify[ShiftScreenOptionTitleFontBold]) (s, o, ShiftScreenOptionTitleFontBold); + return TRUE; + } + break; + case ShiftScreenOptionTitleFontSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionTitleFontSize]) + (*os->notify[ShiftScreenOptionTitleFontSize]) (s, o, ShiftScreenOptionTitleFontSize); + return TRUE; + } + break; + case ShiftScreenOptionTitleBackColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionTitleBackColor]) + (*os->notify[ShiftScreenOptionTitleBackColor]) (s, o, ShiftScreenOptionTitleBackColor); + return TRUE; + } + break; + case ShiftScreenOptionTitleFontColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionTitleFontColor]) + (*os->notify[ShiftScreenOptionTitleFontColor]) (s, o, ShiftScreenOptionTitleFontColor); + return TRUE; + } + break; + case ShiftScreenOptionTitleTextPlacement: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ShiftScreenOptionTitleTextPlacement]) + (*os->notify[ShiftScreenOptionTitleTextPlacement]) (s, o, ShiftScreenOptionTitleTextPlacement); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * shiftOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + SHIFT_OPTIONS_SCREEN(s); + *count = ShiftScreenOptionNum; + return os->opt; +} + +static Bool shiftOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + ShiftOptionsScreen *os; + + SHIFT_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(ShiftOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (!compInitScreenOptionsFromMetadata (s, &shiftOptionsMetadata, shiftOptionsScreenOptionInfo, os->opt, ShiftScreenOptionNum)) + { + free (os); + return FALSE; + } + if (shiftPluginVTable && shiftPluginVTable->initScreen) + return shiftPluginVTable->initScreen (p, s); + return TRUE; +} + +static void shiftOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (shiftPluginVTable && shiftPluginVTable->finiScreen) + return shiftPluginVTable->finiScreen (p, s); + + SHIFT_OPTIONS_SCREEN (s); + + + compFiniScreenOptions (s, os->opt, ShiftScreenOptionNum); + + free (os); +} + +static Bool shiftOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + ShiftOptionsDisplay *od; + + + od = calloc (1, sizeof(ShiftOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (!compInitDisplayOptionsFromMetadata (d, &shiftOptionsMetadata, shiftOptionsDisplayOptionInfo, od->opt, ShiftDisplayOptionNum)) + { + free (od); + return FALSE; + } + if (shiftPluginVTable && shiftPluginVTable->initDisplay) + return shiftPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void shiftOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (shiftPluginVTable && shiftPluginVTable->finiDisplay) + return shiftPluginVTable->finiDisplay (p, d); + + SHIFT_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + + compFiniDisplayOptions (d, od->opt, ShiftDisplayOptionNum); + + free (od); +} + +static Bool shiftOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&shiftOptionsMetadata, "shift",shiftOptionsDisplayOptionInfo, ShiftDisplayOptionNum, shiftOptionsScreenOptionInfo, ShiftScreenOptionNum)) + return FALSE; + + compAddMetadataFromFile (&shiftOptionsMetadata, "shift"); + if (shiftPluginVTable && shiftPluginVTable->init) + return shiftPluginVTable->init (p); + return TRUE; +} + +static void shiftOptionsFini (CompPlugin *p) +{ + if (shiftPluginVTable && shiftPluginVTable->fini) + return shiftPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&shiftOptionsMetadata); +} + +static CompMetadata * +shiftOptionsGetMetadata (CompPlugin *plugin) +{ + return &shiftOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!shiftPluginVTable) + { + shiftPluginVTable = shiftOptionsGetCompPluginInfo (); + memcpy(&shiftOptionsVTable, shiftPluginVTable, sizeof(CompPluginVTable)); + shiftOptionsVTable.getMetadata = shiftOptionsGetMetadata; + shiftOptionsVTable.init = shiftOptionsInit; + shiftOptionsVTable.fini = shiftOptionsFini; + shiftOptionsVTable.initDisplay = shiftOptionsInitDisplay; + shiftOptionsVTable.finiDisplay = shiftOptionsFiniDisplay; + shiftOptionsVTable.initScreen = shiftOptionsInitScreen; + shiftOptionsVTable.finiScreen = shiftOptionsFiniScreen; + shiftOptionsVTable.getDisplayOptions = shiftOptionsGetDisplayOptions; + shiftOptionsVTable.setDisplayOption = shiftOptionsSetDisplayOption; + shiftOptionsVTable.getScreenOptions = shiftOptionsGetScreenOptions; + shiftOptionsVTable.setScreenOption = shiftOptionsSetScreenOption; + + } + return &shiftOptionsVTable; +} + diff --git a/shift/shift_options.h b/shift/shift_options.h new file mode 100644 index 0000000..e4e9e59 --- /dev/null +++ b/shift/shift_options.h @@ -0,0 +1,281 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _SHIFT_OPTIONS_H +#define _SHIFT_OPTIONS_H + +#ifndef _SHIFT_OPTIONS_INTERNAL +#define getCompPluginInfo shiftOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *shiftOptionsGetCompPluginInfo (void); + +typedef enum +{ + ShiftDisplayOptionInitiate, + ShiftDisplayOptionInitiateAll, + ShiftDisplayOptionNext, + ShiftDisplayOptionPrev, + ShiftDisplayOptionNextAll, + ShiftDisplayOptionPrevAll, + ShiftDisplayOptionNextGroup, + ShiftDisplayOptionPrevGroup, + ShiftDisplayOptionNum +} ShiftDisplayOptions; + +typedef void (*shiftDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, ShiftDisplayOptions num); + +CompOption *shiftGetDisplayOption (CompDisplay *d, ShiftDisplayOptions num); + +typedef enum +{ + ShiftScreenOptionSpeed, + ShiftScreenOptionShiftSpeed, + ShiftScreenOptionTimestep, + ShiftScreenOptionWindowMatch, + ShiftScreenOptionMinimized, + ShiftScreenOptionMouseSpeed, + ShiftScreenOptionClickDuration, + ShiftScreenOptionMode, + ShiftScreenOptionSize, + ShiftScreenOptionBackgroundIntensity, + ShiftScreenOptionHideAll, + ShiftScreenOptionReflection, + ShiftScreenOptionGroundColor1, + ShiftScreenOptionGroundColor2, + ShiftScreenOptionGroundSize, + ShiftScreenOptionIntensity, + ShiftScreenOptionFlipRotation, + ShiftScreenOptionCoverOffset, + ShiftScreenOptionOverlayIcon, + ShiftScreenOptionMipmaps, + ShiftScreenOptionMultioutputMode, + ShiftScreenOptionWindowTitle, + ShiftScreenOptionTitleFontBold, + ShiftScreenOptionTitleFontSize, + ShiftScreenOptionTitleBackColor, + ShiftScreenOptionTitleFontColor, + ShiftScreenOptionTitleTextPlacement, + ShiftScreenOptionNum +} ShiftScreenOptions; + +typedef void (*shiftScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, ShiftScreenOptions num); + +CompOption *shiftGetScreenOption (CompScreen *s, ShiftScreenOptions num); + +typedef enum +{ + ModeCover = 0, + ModeFlip = 1, +} ShiftModeEnum; + +typedef enum +{ + OverlayIconNone = 0, + OverlayIconEmblem = 1, + OverlayIconBig = 2, +} ShiftOverlayIconEnum; + +typedef enum +{ + MultioutputModeDisabled = 0, + MultioutputModeOnActivatedOutput = 1, + MultioutputModeOneBigSwitcher = 2, +} ShiftMultioutputModeEnum; + +typedef enum +{ + TitleTextPlacementCenteredOnScreen = 0, + TitleTextPlacementAbove = 1, + TitleTextPlacementBelow = 2, +} ShiftTitleTextPlacementEnum; + +CompAction * shiftGetInitiate (CompDisplay *d); +void shiftSetInitiateInitiate (CompDisplay *d, CompActionCallBackProc init); +void shiftSetInitiateTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * shiftGetInitiateOption (CompDisplay *d); +void shiftSetInitiateNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify); + +CompAction * shiftGetInitiateAll (CompDisplay *d); +void shiftSetInitiateAllInitiate (CompDisplay *d, CompActionCallBackProc init); +void shiftSetInitiateAllTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * shiftGetInitiateAllOption (CompDisplay *d); +void shiftSetInitiateAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify); + +CompAction * shiftGetNext (CompDisplay *d); +void shiftSetNextInitiate (CompDisplay *d, CompActionCallBackProc init); +void shiftSetNextTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * shiftGetNextOption (CompDisplay *d); +void shiftSetNextNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify); + +CompAction * shiftGetPrev (CompDisplay *d); +void shiftSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init); +void shiftSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * shiftGetPrevOption (CompDisplay *d); +void shiftSetPrevNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify); + +CompAction * shiftGetNextAll (CompDisplay *d); +void shiftSetNextAllInitiate (CompDisplay *d, CompActionCallBackProc init); +void shiftSetNextAllTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * shiftGetNextAllOption (CompDisplay *d); +void shiftSetNextAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify); + +CompAction * shiftGetPrevAll (CompDisplay *d); +void shiftSetPrevAllInitiate (CompDisplay *d, CompActionCallBackProc init); +void shiftSetPrevAllTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * shiftGetPrevAllOption (CompDisplay *d); +void shiftSetPrevAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify); + +CompAction * shiftGetNextGroup (CompDisplay *d); +void shiftSetNextGroupInitiate (CompDisplay *d, CompActionCallBackProc init); +void shiftSetNextGroupTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * shiftGetNextGroupOption (CompDisplay *d); +void shiftSetNextGroupNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify); + +CompAction * shiftGetPrevGroup (CompDisplay *d); +void shiftSetPrevGroupInitiate (CompDisplay *d, CompActionCallBackProc init); +void shiftSetPrevGroupTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * shiftGetPrevGroupOption (CompDisplay *d); +void shiftSetPrevGroupNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify); + +float shiftGetSpeed (CompScreen *s); +CompOption * shiftGetSpeedOption (CompScreen *s); +void shiftSetSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +float shiftGetShiftSpeed (CompScreen *s); +CompOption * shiftGetShiftSpeedOption (CompScreen *s); +void shiftSetShiftSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +float shiftGetTimestep (CompScreen *s); +CompOption * shiftGetTimestepOption (CompScreen *s); +void shiftSetTimestepNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +CompMatch * shiftGetWindowMatch (CompScreen *s); +CompOption * shiftGetWindowMatchOption (CompScreen *s); +void shiftSetWindowMatchNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +Bool shiftGetMinimized (CompScreen *s); +CompOption * shiftGetMinimizedOption (CompScreen *s); +void shiftSetMinimizedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +float shiftGetMouseSpeed (CompScreen *s); +CompOption * shiftGetMouseSpeedOption (CompScreen *s); +void shiftSetMouseSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +int shiftGetClickDuration (CompScreen *s); +CompOption * shiftGetClickDurationOption (CompScreen *s); +void shiftSetClickDurationNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +int shiftGetMode (CompScreen *s); +CompOption * shiftGetModeOption (CompScreen *s); +void shiftSetModeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +int shiftGetSize (CompScreen *s); +CompOption * shiftGetSizeOption (CompScreen *s); +void shiftSetSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +float shiftGetBackgroundIntensity (CompScreen *s); +CompOption * shiftGetBackgroundIntensityOption (CompScreen *s); +void shiftSetBackgroundIntensityNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +Bool shiftGetHideAll (CompScreen *s); +CompOption * shiftGetHideAllOption (CompScreen *s); +void shiftSetHideAllNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +Bool shiftGetReflection (CompScreen *s); +CompOption * shiftGetReflectionOption (CompScreen *s); +void shiftSetReflectionNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +unsigned short * shiftGetGroundColor1 (CompScreen *s); +unsigned short shiftGetGroundColor1Red (CompScreen *s); +unsigned short shiftGetGroundColor1Green (CompScreen *s); +unsigned short shiftGetGroundColor1Blue (CompScreen *s); +unsigned short shiftGetGroundColor1Alpha (CompScreen *s); +CompOption * shiftGetGroundColor1Option (CompScreen *s); +void shiftSetGroundColor1Notify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +unsigned short * shiftGetGroundColor2 (CompScreen *s); +unsigned short shiftGetGroundColor2Red (CompScreen *s); +unsigned short shiftGetGroundColor2Green (CompScreen *s); +unsigned short shiftGetGroundColor2Blue (CompScreen *s); +unsigned short shiftGetGroundColor2Alpha (CompScreen *s); +CompOption * shiftGetGroundColor2Option (CompScreen *s); +void shiftSetGroundColor2Notify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +float shiftGetGroundSize (CompScreen *s); +CompOption * shiftGetGroundSizeOption (CompScreen *s); +void shiftSetGroundSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +float shiftGetIntensity (CompScreen *s); +CompOption * shiftGetIntensityOption (CompScreen *s); +void shiftSetIntensityNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +int shiftGetFlipRotation (CompScreen *s); +CompOption * shiftGetFlipRotationOption (CompScreen *s); +void shiftSetFlipRotationNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +float shiftGetCoverOffset (CompScreen *s); +CompOption * shiftGetCoverOffsetOption (CompScreen *s); +void shiftSetCoverOffsetNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +int shiftGetOverlayIcon (CompScreen *s); +CompOption * shiftGetOverlayIconOption (CompScreen *s); +void shiftSetOverlayIconNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +Bool shiftGetMipmaps (CompScreen *s); +CompOption * shiftGetMipmapsOption (CompScreen *s); +void shiftSetMipmapsNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +int shiftGetMultioutputMode (CompScreen *s); +CompOption * shiftGetMultioutputModeOption (CompScreen *s); +void shiftSetMultioutputModeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +Bool shiftGetWindowTitle (CompScreen *s); +CompOption * shiftGetWindowTitleOption (CompScreen *s); +void shiftSetWindowTitleNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +Bool shiftGetTitleFontBold (CompScreen *s); +CompOption * shiftGetTitleFontBoldOption (CompScreen *s); +void shiftSetTitleFontBoldNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +int shiftGetTitleFontSize (CompScreen *s); +CompOption * shiftGetTitleFontSizeOption (CompScreen *s); +void shiftSetTitleFontSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +unsigned short * shiftGetTitleBackColor (CompScreen *s); +unsigned short shiftGetTitleBackColorRed (CompScreen *s); +unsigned short shiftGetTitleBackColorGreen (CompScreen *s); +unsigned short shiftGetTitleBackColorBlue (CompScreen *s); +unsigned short shiftGetTitleBackColorAlpha (CompScreen *s); +CompOption * shiftGetTitleBackColorOption (CompScreen *s); +void shiftSetTitleBackColorNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +unsigned short * shiftGetTitleFontColor (CompScreen *s); +unsigned short shiftGetTitleFontColorRed (CompScreen *s); +unsigned short shiftGetTitleFontColorGreen (CompScreen *s); +unsigned short shiftGetTitleFontColorBlue (CompScreen *s); +unsigned short shiftGetTitleFontColorAlpha (CompScreen *s); +CompOption * shiftGetTitleFontColorOption (CompScreen *s); +void shiftSetTitleFontColorNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +int shiftGetTitleTextPlacement (CompScreen *s); +CompOption * shiftGetTitleTextPlacementOption (CompScreen *s); +void shiftSetTitleTextPlacementNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/.deps/cursor.Po b/src/.deps/cursor.Po new file mode 100644 index 0000000..10acfe0 --- /dev/null +++ b/src/.deps/cursor.Po @@ -0,0 +1,209 @@ +cursor.o: cursor.c ../include/ecomp.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/sys/time.h /usr/include/time.h /usr/include/bits/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/X11/Xlib.h \ + /usr/include/sys/types.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/stdlib.h /usr/include/alloca.h /usr/include/bits/stdlib.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +../include/ecomp.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/sys/time.h: + +/usr/include/time.h: + +/usr/include/bits/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/X11/Xlib.h: + +/usr/include/sys/types.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/stdlib.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/display.Po b/src/.deps/display.Po new file mode 100644 index 0000000..24d9e9d --- /dev/null +++ b/src/.deps/display.Po @@ -0,0 +1,236 @@ +display.o: display.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h /usr/include/sys/poll.h \ + /usr/include/bits/poll.h /usr/include/X11/keysymdef.h \ + /usr/include/X11/Xlib.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xatom.h /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/Xrandr.h \ + /usr/include/X11/extensions/randr.h /usr/include/X11/extensions/shape.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h ../include/ecomp.h \ + /usr/include/sys/time.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +/usr/include/sys/poll.h: + +/usr/include/bits/poll.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xatom.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/Xrandr.h: + +/usr/include/X11/extensions/randr.h: + +/usr/include/X11/extensions/shape.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +../include/ecomp.h: + +/usr/include/sys/time.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/event.Po b/src/.deps/event.Po new file mode 100644 index 0000000..ef695e1 --- /dev/null +++ b/src/.deps/event.Po @@ -0,0 +1,229 @@ +event.o: event.c /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h /usr/include/X11/Xlib.h \ + /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \ + /usr/include/X11/Xosdefs.h /usr/include/X11/Xatom.h \ + /usr/include/X11/extensions/shape.h /usr/include/X11/Xutil.h \ + /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \ + /usr/include/X11/extensions/Xrandr.h \ + /usr/include/X11/extensions/randr.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h ../include/ecomp.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/sys/time.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xatom.h: + +/usr/include/X11/extensions/shape.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xrandr.h: + +/usr/include/X11/extensions/randr.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +../include/ecomp.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/sys/time.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/fragment.Po b/src/.deps/fragment.Po new file mode 100644 index 0000000..a4f97c1 --- /dev/null +++ b/src/.deps/fragment.Po @@ -0,0 +1,219 @@ +fragment.o: fragment.c ../include/ecomp.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/sys/time.h /usr/include/time.h /usr/include/bits/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/X11/Xlib.h \ + /usr/include/sys/types.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/stdlib.h /usr/include/alloca.h /usr/include/bits/stdlib.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h + +../include/ecomp.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/sys/time.h: + +/usr/include/time.h: + +/usr/include/bits/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/X11/Xlib.h: + +/usr/include/sys/types.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/stdlib.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: diff --git a/src/.deps/main.Po b/src/.deps/main.Po new file mode 100644 index 0000000..9239391 --- /dev/null +++ b/src/.deps/main.Po @@ -0,0 +1,263 @@ +main.o: main.c ../config.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/signal.h \ + /usr/include/bits/signum.h /usr/include/bits/siginfo.h \ + /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h \ + /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/bits/unistd.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h /usr/include/sys/wait.h \ + /usr/include/sys/resource.h /usr/include/bits/resource.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + ../include/ecomp.h /usr/include/sys/time.h /usr/include/X11/Xlib.h \ + /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \ + /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h \ + /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \ + /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/signal.h: + +/usr/include/bits/signum.h: + +/usr/include/bits/siginfo.h: + +/usr/include/bits/sigaction.h: + +/usr/include/bits/sigcontext.h: + +/usr/include/bits/sigstack.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +/usr/include/sys/wait.h: + +/usr/include/sys/resource.h: + +/usr/include/bits/resource.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +../include/ecomp.h: + +/usr/include/sys/time.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/match.Po b/src/.deps/match.Po new file mode 100644 index 0000000..1ff9506 --- /dev/null +++ b/src/.deps/match.Po @@ -0,0 +1,219 @@ +match.o: match.c ../include/ecomp.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/sys/time.h /usr/include/time.h /usr/include/bits/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/X11/Xlib.h \ + /usr/include/sys/types.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/stdlib.h /usr/include/alloca.h /usr/include/bits/stdlib.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h + +../include/ecomp.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/sys/time.h: + +/usr/include/time.h: + +/usr/include/bits/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/X11/Xlib.h: + +/usr/include/sys/types.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/stdlib.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: diff --git a/src/.deps/matrix.Po b/src/.deps/matrix.Po new file mode 100644 index 0000000..19cf237 --- /dev/null +++ b/src/.deps/matrix.Po @@ -0,0 +1,231 @@ +matrix.o: matrix.c /usr/include/string.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/stdlib.h /usr/include/bits/string3.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + ../include/ecomp.h /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/sys/time.h /usr/include/time.h /usr/include/bits/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/X11/Xlib.h \ + /usr/include/sys/types.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/alloca.h /usr/include/bits/stdlib.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/stdlib.h: + +/usr/include/bits/string3.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../include/ecomp.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/sys/time.h: + +/usr/include/time.h: + +/usr/include/bits/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/X11/Xlib.h: + +/usr/include/sys/types.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/metadata.Po b/src/.deps/metadata.Po new file mode 100644 index 0000000..363cf6a --- /dev/null +++ b/src/.deps/metadata.Po @@ -0,0 +1,224 @@ +metadata.o: metadata.c /usr/include/string.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/stdlib.h /usr/include/bits/string3.h \ + /usr/include/libxml2/libxml/tree.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h \ + /usr/include/libxml2/libxml/globals.h \ + /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/libxml2/libxml/xlink.h \ + /usr/include/libxml2/libxml/SAX2.h /usr/include/libxml2/libxml/xpath.h \ + /usr/include/libxml2/libxml/xpathInternals.h ../include/ecomp.h \ + /usr/include/sys/time.h /usr/include/X11/Xlib.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/stdlib.h: + +/usr/include/bits/string3.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xpath.h: + +/usr/include/libxml2/libxml/xpathInternals.h: + +../include/ecomp.h: + +/usr/include/sys/time.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/option.Po b/src/.deps/option.Po new file mode 100644 index 0000000..cb251a7 --- /dev/null +++ b/src/.deps/option.Po @@ -0,0 +1,235 @@ +option.o: option.c /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h /usr/include/strings.h /usr/include/ctype.h \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h ../include/ecomp.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/sys/time.h /usr/include/X11/Xlib.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +/usr/include/strings.h: + +/usr/include/ctype.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../include/ecomp.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/sys/time.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/paint.Po b/src/.deps/paint.Po new file mode 100644 index 0000000..224f7f5 --- /dev/null +++ b/src/.deps/paint.Po @@ -0,0 +1,231 @@ +paint.o: paint.c /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + ../include/ecomp.h /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/sys/time.h /usr/include/X11/Xlib.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../include/ecomp.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/sys/time.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/plugin.Po b/src/.deps/plugin.Po new file mode 100644 index 0000000..cb94b6d --- /dev/null +++ b/src/.deps/plugin.Po @@ -0,0 +1,236 @@ +plugin.o: plugin.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h /usr/include/dlfcn.h \ + /usr/include/bits/dlfcn.h /usr/include/dirent.h \ + /usr/include/bits/dirent.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + ../include/ecomp.h /usr/include/sys/time.h /usr/include/X11/Xlib.h \ + /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \ + /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h \ + /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \ + /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +/usr/include/dlfcn.h: + +/usr/include/bits/dlfcn.h: + +/usr/include/dirent.h: + +/usr/include/bits/dirent.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +../include/ecomp.h: + +/usr/include/sys/time.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/privates.Po b/src/.deps/privates.Po new file mode 100644 index 0000000..f49c064 --- /dev/null +++ b/src/.deps/privates.Po @@ -0,0 +1,208 @@ +privates.o: privates.c /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h ../include/ecomp.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/sys/time.h /usr/include/X11/Xlib.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +../include/ecomp.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/sys/time.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/screen.Po b/src/.deps/screen.Po new file mode 100644 index 0000000..6373244 --- /dev/null +++ b/src/.deps/screen.Po @@ -0,0 +1,272 @@ +screen.o: screen.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/include/dlfcn.h /usr/include/bits/dlfcn.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/bits/unistd.h \ + /usr/include/X11/Xlib.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xatom.h /usr/include/X11/Xproto.h \ + /usr/include/X11/Xmd.h /usr/include/X11/Xprotostr.h \ + /usr/include/X11/extensions/Xrandr.h \ + /usr/include/X11/extensions/randr.h /usr/include/X11/extensions/shape.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/cursorfont.h \ + ../include/ecomp.h /usr/include/sys/time.h \ + /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/dlfcn.h: + +/usr/include/bits/dlfcn.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xatom.h: + +/usr/include/X11/Xproto.h: + +/usr/include/X11/Xmd.h: + +/usr/include/X11/Xprotostr.h: + +/usr/include/X11/extensions/Xrandr.h: + +/usr/include/X11/extensions/randr.h: + +/usr/include/X11/extensions/shape.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/cursorfont.h: + +../include/ecomp.h: + +/usr/include/sys/time.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/session.Po b/src/.deps/session.Po new file mode 100644 index 0000000..a29883b --- /dev/null +++ b/src/.deps/session.Po @@ -0,0 +1,259 @@ +session.o: session.c ../config.h /usr/include/stdlib.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/bits/stdlib.h /usr/include/stdio.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/poll.h /usr/include/sys/poll.h /usr/include/bits/poll.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/bits/unistd.h /usr/include/fcntl.h \ + /usr/include/bits/fcntl.h /usr/include/bits/fcntl2.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/bits/string3.h \ + /usr/include/X11/SM/SMlib.h /usr/include/X11/SM/SM.h \ + /usr/include/X11/ICE/ICElib.h /usr/include/X11/ICE/ICE.h \ + /usr/include/X11/Xfuncproto.h ../include/ecomp.h \ + /usr/include/sys/time.h /usr/include/X11/Xlib.h /usr/include/X11/X.h \ + /usr/include/X11/Xosdefs.h /usr/include/X11/Xutil.h \ + /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h \ + /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +../config.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/poll.h: + +/usr/include/sys/poll.h: + +/usr/include/bits/poll.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/bits/unistd.h: + +/usr/include/fcntl.h: + +/usr/include/bits/fcntl.h: + +/usr/include/bits/fcntl2.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +/usr/include/X11/SM/SMlib.h: + +/usr/include/X11/SM/SM.h: + +/usr/include/X11/ICE/ICElib.h: + +/usr/include/X11/ICE/ICE.h: + +/usr/include/X11/Xfuncproto.h: + +../include/ecomp.h: + +/usr/include/sys/time.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/texture.Po b/src/.deps/texture.Po new file mode 100644 index 0000000..c966871 --- /dev/null +++ b/src/.deps/texture.Po @@ -0,0 +1,221 @@ +texture.o: texture.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/bits/string3.h ../include/ecomp.h /usr/include/sys/time.h \ + /usr/include/X11/Xlib.h /usr/include/X11/X.h \ + /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xfixes.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/bits/string3.h: + +../include/ecomp.h: + +/usr/include/sys/time.h: + +/usr/include/X11/Xlib.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/.deps/window.Po b/src/.deps/window.Po new file mode 100644 index 0000000..63cfa30 --- /dev/null +++ b/src/.deps/window.Po @@ -0,0 +1,233 @@ +window.o: window.c /usr/include/X11/Xlib.h /usr/include/sys/types.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h \ + /usr/include/X11/Xosdefs.h /usr/include/X11/Xatom.h \ + /usr/include/X11/Xproto.h /usr/include/X11/Xmd.h \ + /usr/include/X11/Xprotostr.h /usr/include/X11/extensions/shape.h \ + /usr/include/X11/Xutil.h /usr/include/X11/keysym.h \ + /usr/include/X11/keysymdef.h /usr/include/X11/extensions/Xcomposite.h \ + /usr/include/X11/extensions/composite.h \ + /usr/include/X11/extensions/xfixeswire.h \ + /usr/include/X11/extensions/Xfixes.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/stdlib.h \ + /usr/include/bits/string3.h /usr/include/strings.h \ + /usr/include/alloca.h /usr/include/bits/stdlib.h /usr/include/stdint.h \ + /usr/include/bits/wchar.h ../include/ecomp.h /usr/include/sys/time.h \ + /usr/include/X11/extensions/Xdamage.h \ + /usr/include/X11/extensions/damagewire.h \ + /usr/include/X11/extensions/Xinerama.h \ + /usr/include/X11/extensions/sync.h /usr/include/X11/Xregion.h \ + /usr/include/X11/XKBlib.h /usr/include/X11/extensions/XKBstr.h \ + /usr/include/X11/extensions/XKB.h /usr/include/libxml2/libxml/parser.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ + /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h /usr/include/GL/gl.h \ + /usr/include/GL/glext.h /usr/include/inttypes.h /usr/include/GL/glx.h \ + /usr/include/GL/glxext.h + +/usr/include/X11/Xlib.h: + +/usr/include/sys/types.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stddef.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/X11/X.h: + +/usr/include/X11/Xfuncproto.h: + +/usr/include/X11/Xosdefs.h: + +/usr/include/X11/Xatom.h: + +/usr/include/X11/Xproto.h: + +/usr/include/X11/Xmd.h: + +/usr/include/X11/Xprotostr.h: + +/usr/include/X11/extensions/shape.h: + +/usr/include/X11/Xutil.h: + +/usr/include/X11/keysym.h: + +/usr/include/X11/keysymdef.h: + +/usr/include/X11/extensions/Xcomposite.h: + +/usr/include/X11/extensions/composite.h: + +/usr/include/X11/extensions/xfixeswire.h: + +/usr/include/X11/extensions/Xfixes.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.3.2/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/stdlib.h: + +/usr/include/bits/string3.h: + +/usr/include/strings.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +../include/ecomp.h: + +/usr/include/sys/time.h: + +/usr/include/X11/extensions/Xdamage.h: + +/usr/include/X11/extensions/damagewire.h: + +/usr/include/X11/extensions/Xinerama.h: + +/usr/include/X11/extensions/sync.h: + +/usr/include/X11/Xregion.h: + +/usr/include/X11/XKBlib.h: + +/usr/include/X11/extensions/XKBstr.h: + +/usr/include/X11/extensions/XKB.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +/usr/include/GL/gl.h: + +/usr/include/GL/glext.h: + +/usr/include/inttypes.h: + +/usr/include/GL/glx.h: + +/usr/include/GL/glxext.h: diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..f532812 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,591 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +bin_PROGRAMS = ecomorph$(EXEEXT) +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_ecomorph_OBJECTS = main.$(OBJEXT) privates.$(OBJEXT) \ + texture.$(OBJEXT) display.$(OBJEXT) screen.$(OBJEXT) \ + window.$(OBJEXT) event.$(OBJEXT) paint.$(OBJEXT) \ + option.$(OBJEXT) plugin.$(OBJEXT) session.$(OBJEXT) \ + fragment.$(OBJEXT) matrix.$(OBJEXT) cursor.$(OBJEXT) \ + match.$(OBJEXT) metadata.$(OBJEXT) +ecomorph_OBJECTS = $(am_ecomorph_OBJECTS) +ecomorph_DEPENDENCIES = +ecomorph_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ecomorph_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(ecomorph_SOURCES) +DIST_SOURCES = $(ecomorph_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/src +abs_srcdir = /media/disk-3/src/compiz/src +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +INCLUDES = \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + \ + -I$(top_srcdir)/include \ + -DPLUGINDIR=\"$(plugindir)\" \ + -DIMAGEDIR=\"$(imagedir)\" \ + -DMETADATADIR=\"$(metadatadir)\" + +ecomorph_LDADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lGL -lm +ecomorph_LDFLAGS = -export-dynamic +ecomorph_SOURCES = \ + main.c \ + privates.c \ + texture.c \ + display.c \ + screen.c \ + window.c \ + event.c \ + paint.c \ + option.c \ + plugin.c \ + session.c \ + fragment.c \ + matrix.c \ + cursor.c \ + match.c \ + metadata.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ecomorph$(EXEEXT): $(ecomorph_OBJECTS) $(ecomorph_DEPENDENCIES) + @rm -f ecomorph$(EXEEXT) + $(ecomorph_LINK) $(ecomorph_OBJECTS) $(ecomorph_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/cursor.Po +include ./$(DEPDIR)/display.Po +include ./$(DEPDIR)/event.Po +include ./$(DEPDIR)/fragment.Po +include ./$(DEPDIR)/main.Po +include ./$(DEPDIR)/match.Po +include ./$(DEPDIR)/matrix.Po +include ./$(DEPDIR)/metadata.Po +include ./$(DEPDIR)/option.Po +include ./$(DEPDIR)/paint.Po +include ./$(DEPDIR)/plugin.Po +include ./$(DEPDIR)/privates.Po +include ./$(DEPDIR)/screen.Po +include ./$(DEPDIR)/session.Po +include ./$(DEPDIR)/texture.Po +include ./$(DEPDIR)/window.Po + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-binPROGRAMS + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..de035f7 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,29 @@ +INCLUDES = \ + @ECOMP_CFLAGS@ \ + @GL_CFLAGS@ \ + -I$(top_srcdir)/include \ + -DPLUGINDIR=\"$(plugindir)\" \ + -DIMAGEDIR=\"$(imagedir)\" \ + -DMETADATADIR=\"$(metadatadir)\" + +bin_PROGRAMS = ecomorph + +ecomorph_LDADD = @ECOMP_LIBS@ @GL_LIBS@ -lm +ecomorph_LDFLAGS = -export-dynamic +ecomorph_SOURCES = \ + main.c \ + privates.c \ + texture.c \ + display.c \ + screen.c \ + window.c \ + event.c \ + paint.c \ + option.c \ + plugin.c \ + session.c \ + fragment.c \ + matrix.c \ + cursor.c \ + match.c \ + metadata.c diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 0000000..ddc3712 --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,591 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = ecomorph$(EXEEXT) +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_ecomorph_OBJECTS = main.$(OBJEXT) privates.$(OBJEXT) \ + texture.$(OBJEXT) display.$(OBJEXT) screen.$(OBJEXT) \ + window.$(OBJEXT) event.$(OBJEXT) paint.$(OBJEXT) \ + option.$(OBJEXT) plugin.$(OBJEXT) session.$(OBJEXT) \ + fragment.$(OBJEXT) matrix.$(OBJEXT) cursor.$(OBJEXT) \ + match.$(OBJEXT) metadata.$(OBJEXT) +ecomorph_OBJECTS = $(am_ecomorph_OBJECTS) +ecomorph_DEPENDENCIES = +ecomorph_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ecomorph_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(ecomorph_SOURCES) +DIST_SOURCES = $(ecomorph_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +INCLUDES = \ + @ECOMP_CFLAGS@ \ + @GL_CFLAGS@ \ + -I$(top_srcdir)/include \ + -DPLUGINDIR=\"$(plugindir)\" \ + -DIMAGEDIR=\"$(imagedir)\" \ + -DMETADATADIR=\"$(metadatadir)\" + +ecomorph_LDADD = @ECOMP_LIBS@ @GL_LIBS@ -lm +ecomorph_LDFLAGS = -export-dynamic +ecomorph_SOURCES = \ + main.c \ + privates.c \ + texture.c \ + display.c \ + screen.c \ + window.c \ + event.c \ + paint.c \ + option.c \ + plugin.c \ + session.c \ + fragment.c \ + matrix.c \ + cursor.c \ + match.c \ + metadata.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ecomorph$(EXEEXT): $(ecomorph_OBJECTS) $(ecomorph_DEPENDENCIES) + @rm -f ecomorph$(EXEEXT) + $(ecomorph_LINK) $(ecomorph_OBJECTS) $(ecomorph_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cursor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/display.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fragment.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/match.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/option.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paint.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/privates.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/screen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/texture.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-binPROGRAMS + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/action.c b/src/action.c new file mode 100644 index 0000000..bfa6ccd --- /dev/null +++ b/src/action.c @@ -0,0 +1,41 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include + +#include + +typedef struct _CompAction { + char *name; + char *description; + CompOptionType type; + union { + Bool b; + int i; + float f; + } value; +} CompAction; diff --git a/src/cursor.c b/src/cursor.c new file mode 100644 index 0000000..7e49d09 --- /dev/null +++ b/src/cursor.c @@ -0,0 +1,196 @@ +/* + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include + +#include + +static void +setCursorMatrix (CompCursor *c) +{ + c->matrix = c->image->texture.matrix; + c->matrix.x0 -= (c->x * c->matrix.xx); + c->matrix.y0 -= (c->y * c->matrix.yy); +} + +void +addCursor (CompScreen *s) +{ + CompCursor *c; + + c = malloc (sizeof (CompCursor)); + if (c) + { + c->screen = s; + c->image = NULL; + c->x = 0; + c->y = 0; + + c->next = s->cursors; + s->cursors = c; + + updateCursor (c, 0, 0, 0); + + /* XFixesHideCursor (s->display->display, s->root); */ + } +} + +Bool +damageCursorRect (CompCursor *c, + Bool initial, + BoxPtr rect) +{ + return FALSE; +} + +void +addCursorDamageRect (CompCursor *c, + BoxPtr rect) +{ + REGION region; + + if (c->screen->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK) + return; + + region.extents = *rect; + + if (!(*c->screen->damageCursorRect) (c, FALSE, ®ion.extents)) + { + region.extents.x1 += c->x; + region.extents.y1 += c->y; + region.extents.x2 += c->x; + region.extents.y2 += c->y; + + region.rects = ®ion.extents; + region.numRects = region.size = 1; + + damageScreenRegion (c->screen, ®ion); + } +} + +void +addCursorDamage (CompCursor *c) +{ + BoxRec box; + + if (c->screen->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK) + return; + + box.x1 = 0; + box.y1 = 0; + box.x2 = c->image->width; + box.y2 = c->image->height; + + addCursorDamageRect (c, &box); +} + +void +updateCursor (CompCursor *c, + int x, + int y, + unsigned long serial) +{ + /* new current cursor */ + if (!c->image || c->image->serial != serial) + { + CompCursorImage *cursorImage; + + cursorImage = findCursorImageAtScreen (c->screen, serial); + if (!cursorImage) + { + Display *dpy = c->screen->display->display; + XFixesCursorImage *image; + + image = XFixesGetCursorImage (dpy); + if (!image) + return; + + cursorImage = malloc (sizeof (CompCursorImage)); + if (!cursorImage) + { + XFree (image); + return; + } + + x = image->x; + y = image->y; + + cursorImage->serial = image->cursor_serial; + cursorImage->xhot = image->xhot; + cursorImage->yhot = image->yhot; + cursorImage->width = image->width; + cursorImage->height = image->height; + + initTexture (c->screen, &cursorImage->texture); + + if (!imageBufferToTexture (c->screen, + &cursorImage->texture, + (char *) image->pixels, + image->width, + image->height)) + { + free (cursorImage); + XFree (image); + return; + } + + XFree (image); + + cursorImage->next = c->screen->cursorImages; + c->screen->cursorImages = cursorImage; + } + + if (c->image) + addCursorDamage (c); + + c->image = cursorImage; + + c->x = x - c->image->xhot; + c->y = y - c->image->yhot; + + setCursorMatrix (c); + + addCursorDamage (c); + } + else + { + int newX, newY; + + newX = x - c->image->xhot; + newY = y - c->image->yhot; + + if (c->x != newX || c->y != newY) + { + addCursorDamage (c); + + c->x = newX; + c->y = newY; + + setCursorMatrix (c); + + addCursorDamage (c); + } + } +} diff --git a/src/display.c b/src/display.c new file mode 100644 index 0000000..15374ea --- /dev/null +++ b/src/display.c @@ -0,0 +1,2433 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +#include +#include +#include +#include + +#define XK_MISCELLANY +#include + +#include +#include +#include +#include +#include + +#include + +//#define DEBUG 1 + +static unsigned int virtualModMask[] = { + CompAltMask, CompMetaMask, CompSuperMask, CompHyperMask, + CompModeSwitchMask, CompNumLockMask, CompScrollLockMask +}; + +typedef struct _CompTimeout { + struct _CompTimeout *next; + int time; + int left; + CallBackProc callBack; + void *closure; + CompTimeoutHandle handle; +} CompTimeout; + +static CompTimeout *timeouts = 0; +static struct timeval lastTimeout; +static CompTimeoutHandle lastTimeoutHandle = 1; + +typedef struct _CompWatchFd { + struct _CompWatchFd *next; + int fd; + CallBackProc callBack; + void *closure; + CompWatchFdHandle handle; +} CompWatchFd; + +static CompWatchFd *watchFds = 0; +static CompWatchFdHandle lastWatchFdHandle = 1; +static struct pollfd *watchPollFds = 0; +static int nWatchFds = 0; + +static CompFileWatchHandle lastFileWatchHandle = 1; + +static CompScreen *targetScreen = NULL; +static CompOutput *targetOutput; +static Region tmpRegion, outputRegion; + +static Bool inHandleEvent = FALSE; + +static const CompTransform identity = { + { + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0 + } +}; + +int lastPointerX = 0; +int lastPointerY = 0; +int pointerX = 0; +int pointerY = 0; + +#define NUM_OPTIONS(d) (sizeof ((d)->opt) / sizeof (CompOption)) + +CompDisplay *compDisplays = 0; + +static CompDisplay compDisplay; + +static char *displayPrivateIndices = 0; +static int displayPrivateLen = 0; + +static int +reallocDisplayPrivate (int size, + void *closure) +{ + CompDisplay *d = compDisplays; + void *privates; + + if (d) + { + privates = realloc (d->privates, size * sizeof (CompPrivate)); + if (!privates) + return FALSE; + + d->privates = (CompPrivate *) privates; + } + + return TRUE; +} + + +int +allocateDisplayPrivateIndex (void) +{ + return allocatePrivateIndex (&displayPrivateLen, + &displayPrivateIndices, + reallocDisplayPrivate, 0); +} + + +void +freeDisplayPrivateIndex (int index) +{ + freePrivateIndex (displayPrivateLen, displayPrivateIndices, index); +} + + +const CompMetadataOptionInfo coreDisplayOptionInfo[COMP_DISPLAY_OPTION_NUM] = { + { "active_plugins", "list", "string", 0, 0 }, + { "texture_filter", "int", RESTOSTRING (0, 2), 0, 0 } +}; + + +CompOption * +compGetDisplayOptions (CompDisplay *display, + int *count) +{ + *count = NUM_OPTIONS (display); + return display->opt; +} + + +static Bool +setDisplayOption (CompDisplay *display, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + o = compFindOption (display->opt, NUM_OPTIONS (display), name, &index); + if (!o) + return FALSE; + + switch (index) { + case COMP_DISPLAY_OPTION_ACTIVE_PLUGINS: + if (compSetOptionList (o, value)) + { + display->dirtyPluginList = TRUE; + return TRUE; + } + break; + case COMP_DISPLAY_OPTION_TEXTURE_FILTER: + if (compSetIntOption (o, value)) + { + CompScreen *s; + + for (s = display->screens; s; s = s->next) + damageScreen (s); + + if (!o->value.i) + display->textureFilter = GL_NEAREST; + else + display->textureFilter = GL_LINEAR; + + return TRUE; + } + break; + // case COMP_DISPLAY_OPTION_PING_DELAY: + // if (compSetIntOption (o, value)) + // { + // if (display->pingHandle) + // compRemoveTimeout (display->pingHandle); + // + // display->pingHandle = + // compAddTimeout (o->value.i, pingTimeout, display); + // return TRUE; + // } + // break; + // case COMP_DISPLAY_OPTION_AUDIBLE_BELL: + // if (compSetBoolOption (o, value)) + // { + // setAudibleBell (display, o->value.b); + // return TRUE; + // } + // break; + // default: + // if (compSetDisplayOption (display, o, value)) + // return TRUE; + // break; + } + + return FALSE; +} + +static Bool +setDisplayOptionForPlugin (CompDisplay *display, + char *plugin, + char *name, + CompOptionValue *value) +{ + CompPlugin *p; + + p = findActivePlugin (plugin); + if (p && p->vTable->setDisplayOption) + return (*p->vTable->setDisplayOption) (p, display, name, value); + + return FALSE; +} + +static void +updatePlugins (CompDisplay *d) +{ + CompOption *o; + CompPlugin *p, **pop = 0; + int nPop, i, j; + + d->dirtyPluginList = FALSE; + + o = &d->opt[COMP_DISPLAY_OPTION_ACTIVE_PLUGINS]; + for (i = 0; i < d->plugin.list.nValue && i < o->value.list.nValue; i++) + { + if (strcmp (d->plugin.list.value[i].s, o->value.list.value[i].s)) + break; + } + + nPop = d->plugin.list.nValue - i; + + if (nPop) + { + pop = malloc (sizeof (CompPlugin *) * nPop); + if (!pop) + { + (*d->setDisplayOption) (d, o->name, &d->plugin); + return; + } + } + + for (j = 0; j < nPop; j++) + { + pop[j] = popPlugin (); + d->plugin.list.nValue--; + free (d->plugin.list.value[d->plugin.list.nValue].s); + } + + for (; i < o->value.list.nValue; i++) + { + p = 0; + for (j = 0; j < nPop; j++) + { + if (pop[j] && strcmp (pop[j]->vTable->name, + o->value.list.value[i].s) == 0) + { + if (pushPlugin (pop[j])) + { + p = pop[j]; + pop[j] = 0; + break; + } + } + } + + if (p == 0) + { + p = loadPlugin (o->value.list.value[i].s); + if (p) + { + if (!pushPlugin (p)) + { + unloadPlugin (p); + p = 0; + } + } + } + + if (p) + { + CompOptionValue *value; + + value = realloc (d->plugin.list.value, sizeof (CompOptionValue) * + (d->plugin.list.nValue + 1)); + if (value) + { + value[d->plugin.list.nValue].s = strdup (p->vTable->name); + + d->plugin.list.value = value; + d->plugin.list.nValue++; + } + else + { + p = popPlugin (); + unloadPlugin (p); + } + } + } + + for (j = 0; j < nPop; j++) + { + if (pop[j]) + unloadPlugin (pop[j]); + } + + if (nPop) + free (pop); + + (*d->setDisplayOption) (d, o->name, &d->plugin); +} + +static void +addTimeout (CompTimeout *timeout) +{ + CompTimeout *p = 0, *t; + + for (t = timeouts; t; t = t->next) + { + if (timeout->time < t->left) + break; + + p = t; + } + + timeout->next = t; + timeout->left = timeout->time; + + if (p) + p->next = timeout; + else + timeouts = timeout; +} + +CompTimeoutHandle +compAddTimeout (int time, + CallBackProc callBack, + void *closure) +{ + CompTimeout *timeout; + + timeout = malloc (sizeof (CompTimeout)); + if (!timeout) + return 0; + + timeout->time = time; + timeout->callBack = callBack; + timeout->closure = closure; + timeout->handle = lastTimeoutHandle++; + + if (lastTimeoutHandle == MAXSHORT) + lastTimeoutHandle = 1; + + if (!timeouts) + gettimeofday (&lastTimeout, 0); + + addTimeout (timeout); + + return timeout->handle; +} + +void * +compRemoveTimeout (CompTimeoutHandle handle) +{ + CompTimeout *p = 0, *t; + void *closure = NULL; + + for (t = timeouts; t; t = t->next) + { + if (t->handle == handle) + break; + + p = t; + } + + if (t) + { + if (p) + p->next = t->next; + else + timeouts = t->next; + + closure = t->closure; + + free (t); + } + + return closure; +} + +CompWatchFdHandle +compAddWatchFd (int fd, + short int events, + CallBackProc callBack, + void *closure) +{ + CompWatchFd *watchFd; + + watchFd = malloc (sizeof (CompWatchFd)); + if (!watchFd) + return 0; + + watchFd->fd = fd; + watchFd->callBack = callBack; + watchFd->closure = closure; + watchFd->handle = lastWatchFdHandle++; + + if (lastWatchFdHandle == MAXSHORT) + lastWatchFdHandle = 1; + + watchFd->next = watchFds; + watchFds = watchFd; + + nWatchFds++; + + watchPollFds = realloc (watchPollFds, nWatchFds * sizeof (struct pollfd)); + + watchPollFds[nWatchFds - 1].fd = fd; + watchPollFds[nWatchFds - 1].events = events; + + return watchFd->handle; +} + +void +compRemoveWatchFd (CompWatchFdHandle handle) +{ + CompWatchFd *p = 0, *w; + int i; + + for (i = nWatchFds - 1, w = watchFds; w; i--, w = w->next) + { + if (w->handle == handle) + break; + + p = w; + } + + if (w) + { + if (p) + p->next = w->next; + else + watchFds = w->next; + + nWatchFds--; + + if (i < nWatchFds) + memmove (&watchPollFds[i], &watchPollFds[i + 1], + (nWatchFds - i) * sizeof (struct pollfd)); + + free (w); + } +} + +short int +compWatchFdEvents (CompWatchFdHandle handle) +{ + CompWatchFd *w; + int i; + + for (i = nWatchFds - 1, w = watchFds; w; i--, w = w->next) + if (w->handle == handle) + return watchPollFds[i].revents; + + return 0; +} + +#define TIMEVALDIFF(tv1, tv2) \ + ((tv1)->tv_sec == (tv2)->tv_sec || (tv1)->tv_usec >= (tv2)->tv_usec) ? \ + ((((tv1)->tv_sec - (tv2)->tv_sec) * 1000000) + \ + ((tv1)->tv_usec - (tv2)->tv_usec)) / 1000 : \ + ((((tv1)->tv_sec - 1 - (tv2)->tv_sec) * 1000000) + \ + (1000000 + (tv1)->tv_usec - (tv2)->tv_usec)) / 1000 + +static int +getTimeToNextRedraw (CompScreen *s, + struct timeval *tv, + struct timeval *lastTv, + Bool idle) +{ + int diff, next; + + diff = TIMEVALDIFF (tv, lastTv); + + /* handle clock rollback */ + if (diff < 0) + diff = 0; + + if (idle || + (s->getVideoSync && s->opt[COMP_SCREEN_OPTION_SYNC_TO_VBLANK].value.b)) + { + if (s->timeMult > 1) + { + s->frameStatus = -1; + s->redrawTime = s->optimalRedrawTime; + s->timeMult--; + } + } + else + { + if (diff > s->redrawTime) + { + if (s->frameStatus > 0) + s->frameStatus = 0; + + next = s->optimalRedrawTime * (s->timeMult + 1); + if (diff > next) + { + s->frameStatus--; + if (s->frameStatus < -1) + { + s->timeMult++; + s->redrawTime = diff = next; + } + } + } + else if (diff < s->redrawTime) + { + if (s->frameStatus < 0) + s->frameStatus = 0; + + if (s->timeMult > 1) + { + next = s->optimalRedrawTime * (s->timeMult - 1); + if (diff < next) + { + s->frameStatus++; + if (s->frameStatus > 4) + { + s->timeMult--; + s->redrawTime = next; + } + } + } + } + } + + if (diff > s->redrawTime) + return 0; + + return s->redrawTime - diff; +} + +static const int maskTable[] = { + ShiftMask, LockMask, ControlMask, Mod1Mask, + Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask +}; +static const int maskTableSize = sizeof (maskTable) / sizeof (int); + +void +updateModifierMappings (CompDisplay *d) +{ + unsigned int modMask[CompModNum]; + int i, minKeycode, maxKeycode, keysymsPerKeycode = 0; + KeySym* key; + + for (i = 0; i < CompModNum; i++) + modMask[i] = 0; + + XDisplayKeycodes (d->display, &minKeycode, &maxKeycode); + key = XGetKeyboardMapping (d->display, + minKeycode, (maxKeycode - minKeycode + 1), + &keysymsPerKeycode); + + if (d->modMap) + XFreeModifiermap (d->modMap); + + d->modMap = XGetModifierMapping (d->display); + if (d->modMap && d->modMap->max_keypermod > 0) + { + KeySym keysym; + int index, size, mask; + + size = maskTableSize * d->modMap->max_keypermod; + + for (i = 0; i < size; i++) + { + if (!d->modMap->modifiermap[i]) + continue; + + index = 0; + do + { + keysym = XKeycodeToKeysym (d->display, + d->modMap->modifiermap[i], + index++); + } while (!keysym && index < keysymsPerKeycode); + + if (keysym) + { + mask = maskTable[i / d->modMap->max_keypermod]; + + if (keysym == XK_Alt_L || + keysym == XK_Alt_R) + { + modMask[CompModAlt] |= mask; + } + else if (keysym == XK_Meta_L || + keysym == XK_Meta_R) + { + modMask[CompModMeta] |= mask; + } + else if (keysym == XK_Super_L || + keysym == XK_Super_R) + { + modMask[CompModSuper] |= mask; + } + else if (keysym == XK_Hyper_L || + keysym == XK_Hyper_R) + { + modMask[CompModHyper] |= mask; + } + else if (keysym == XK_Mode_switch) + { + modMask[CompModModeSwitch] |= mask; + } + else if (keysym == XK_Scroll_Lock) + { + modMask[CompModScrollLock] |= mask; + } + else if (keysym == XK_Num_Lock) + { + modMask[CompModNumLock] |= mask; + } + } + } + + for (i = 0; i < CompModNum; i++) + { + if (!modMask[i]) + modMask[i] = CompNoMask; + } + + if (memcmp (modMask, d->modMask, sizeof (modMask))) + { + CompScreen *s; + + memcpy (d->modMask, modMask, sizeof (modMask)); + + d->ignoredModMask = LockMask | + (modMask[CompModNumLock] & ~CompNoMask) | + (modMask[CompModScrollLock] & ~CompNoMask); + + for (s = d->screens; s; s = s->next) + updatePassiveGrabs (s); + } + } + + if (key) + XFree (key); +} + +unsigned int +virtualToRealModMask (CompDisplay *d, + unsigned int modMask) +{ + int i; + + for (i = 0; i < CompModNum; i++) + { + if (modMask & virtualModMask[i]) + { + modMask &= ~virtualModMask[i]; + modMask |= d->modMask[i]; + } + } + + return modMask; +} + +unsigned int +keycodeToModifiers (CompDisplay *d, + int keycode) +{ + unsigned int mods = 0; + int mod, k; + + for (mod = 0; mod < maskTableSize; mod++) + { + for (k = 0; k < d->modMap->max_keypermod; k++) + { + if (d->modMap->modifiermap[mod * d->modMap->max_keypermod + k] == + keycode) + mods |= maskTable[mod]; + } + } + + return mods; +} + +static int +doPoll (int timeout) +{ + int rv; + + rv = poll (watchPollFds, nWatchFds, timeout); + if (rv) + { + CompWatchFd *w; + int i; + + for (i = nWatchFds - 1, w = watchFds; w; i--, w = w->next) + { + if (watchPollFds[i].revents != 0 && w->callBack) + w->callBack (w->closure); + } + } + + return rv; +} + +static void +handleTimeouts (struct timeval *tv) +{ + CompTimeout *t; + int timeDiff; + + timeDiff = TIMEVALDIFF (tv, &lastTimeout); + + /* handle clock rollback */ + if (timeDiff < 0) + timeDiff = 0; + + for (t = timeouts; t; t = t->next) + t->left -= timeDiff; + + while (timeouts && timeouts->left <= 0) + { + t = timeouts; + if ((*t->callBack) (t->closure)) + { + timeouts = t->next; + addTimeout (t); + } + else + { + timeouts = t->next; + free (t); + } + } + + lastTimeout = *tv; +} + +static void +waitForVideoSync (CompScreen *s) +{ + unsigned int sync; + + if (!s->opt[COMP_SCREEN_OPTION_SYNC_TO_VBLANK].value.b) + return; + + if (s->getVideoSync) + { + glFlush (); + + (*s->getVideoSync) (&sync); + (*s->waitVideoSync) (2, (sync + 1) % 2, &sync); + } +} + + +void +paintScreen (CompScreen *s, + CompOutput *outputs, + int numOutput, + unsigned int mask) +{ + XRectangle r; + int i; + + for (i = 0; i < numOutput; i++) + { + targetScreen = s; + targetOutput = &outputs[i]; + + r.x = outputs[i].region.extents.x1; + r.y = s->height - outputs[i].region.extents.y2; + r.width = outputs[i].width; + r.height = outputs[i].height; + + if (s->lastViewport.x != r.x || + s->lastViewport.y != r.y || + s->lastViewport.width != r.width || + s->lastViewport.height != r.height) + { + glViewport (r.x, r.y, r.width, r.height); + s->lastViewport = r; + } + + if (mask & COMP_SCREEN_DAMAGE_ALL_MASK) + { + (*s->paintOutput) (s, + &defaultScreenPaintAttrib, + &identity, + &outputs[i].region, &outputs[i], + PAINT_SCREEN_REGION_MASK | + PAINT_SCREEN_FULL_MASK); + } + else if (mask & COMP_SCREEN_DAMAGE_REGION_MASK) + { + XIntersectRegion (tmpRegion, + &outputs[i].region, + outputRegion); + + if (!(*s->paintOutput) (s, + &defaultScreenPaintAttrib, + &identity, + outputRegion, &outputs[i], + PAINT_SCREEN_REGION_MASK)) + { + (*s->paintOutput) (s, + &defaultScreenPaintAttrib, + &identity, + &outputs[i].region, &outputs[i], + PAINT_SCREEN_FULL_MASK); + + XUnionRegion (tmpRegion, + &outputs[i].region, + tmpRegion); + + } + } + } +} +/* +static void +mapWindowIfHidden (CompWindow *w, + void *closure) +{ + if (w->attrib.override_redirect || w->hidden) + return; + + if (w->state & CompWindowStateHiddenMask) + XMapWindow (w->screen->display->display, w->id); +} + +static void +restoreWindowGeometryIfSaved (CompWindow *w, + void *closure) +{ + if (w->attrib.override_redirect) + return; + + if (w->saveMask) + XConfigureWindow (w->screen->display->display, w->id, w->saveMask, + &w->saveWc); +} +*/ +void +eventLoop (void) +{ + XEvent event; + int timeDiff; + struct timeval tv; + CompDisplay *display = compDisplays; + CompScreen *s; + int time, timeToNextRedraw = 0; + CompWindow *w; + unsigned int damageMask, mask; + + tmpRegion = XCreateRegion (); + outputRegion = XCreateRegion (); + if (!tmpRegion || !outputRegion) + { + compLogMessage (display, "core", CompLogLevelFatal, + "Couldn't create temporary regions"); + return; + } + + compAddWatchFd (ConnectionNumber (display->display), POLLIN, NULL, NULL); + + for (;;) + { + if (display->dirtyPluginList) + updatePlugins (display); + + if (restartSignal || shutDown) + { + while (popPlugin ()); + //forEachWindowOnDisplay (display, restoreWindowGeometryIfSaved, 0); + //forEachWindowOnDisplay (display, mapWindowIfHidden, 0); + XSync (display->display, False); + return; + } + + while (XPending (display->display)) + { + XNextEvent (display->display, &event); + + switch (event.type) { + case ButtonPress: + case ButtonRelease: + pointerX = event.xbutton.x_root; + pointerY = event.xbutton.y_root; + break; + case KeyPress: + case KeyRelease: + pointerX = event.xkey.x_root; + pointerY = event.xkey.y_root; + break; + case MotionNotify: + pointerX = event.xmotion.x_root; + pointerY = event.xmotion.y_root; + break; + case EnterNotify: + case LeaveNotify: + pointerX = event.xcrossing.x_root; + pointerY = event.xcrossing.y_root; + break; + case ClientMessage: + if (event.xclient.message_type == display->xdndPositionAtom) + { + pointerX = event.xclient.data.l[2] >> 16; + pointerY = event.xclient.data.l[2] & 0xffff; + } + default: + break; + } + + //sn_display_process_event (display->snDisplay, &event); + + inHandleEvent = TRUE; + + (*display->handleEvent) (display, &event); + + inHandleEvent = FALSE; + + lastPointerX = pointerX; + lastPointerY = pointerY; + } + + for (s = display->screens; s; s = s->next) + { + if (s->damageMask) + { + finishScreenDrawing (s); + } + else + { + s->idle = TRUE; + } + } + + damageMask = 0; + timeToNextRedraw = MAXSHORT; + + for (s = display->screens; s; s = s->next) + { + if (!s->damageMask) + continue; + + if (!damageMask) + { + gettimeofday (&tv, 0); + damageMask |= s->damageMask; + } + + s->timeLeft = getTimeToNextRedraw (s, &tv, &s->lastRedraw, s->idle); + if (s->timeLeft < timeToNextRedraw) + timeToNextRedraw = s->timeLeft; + } + + if (damageMask) + { + time = timeToNextRedraw; + if (time) + time = doPoll (time); + + if (time == 0) + { + gettimeofday (&tv, 0); + + if (timeouts) + handleTimeouts (&tv); + + for (s = display->screens; s; s = s->next) + { + if (!s->damageMask || s->timeLeft > timeToNextRedraw) + continue; + + targetScreen = s; + + timeDiff = TIMEVALDIFF (&tv, &s->lastRedraw); + + /* handle clock rollback */ + if (timeDiff < 0) + timeDiff = 0; + + makeScreenCurrent (s); + + if (s->slowAnimations) + { + (*s->preparePaintScreen) (s, + s->idle ? 2 : (timeDiff * 2) / + s->redrawTime); + } + else + (*s->preparePaintScreen) (s, + s->idle ? s->redrawTime : + timeDiff); + + /* substract top most overlay window region */ + if (s->overlayWindowCount) + { + for (w = s->reverseWindows; w; w = w->prev) + { + if (w->destroyed || w->invisible) + continue; + + if (!w->redirected) + XSubtractRegion (s->damage, w->region, + s->damage); + + break; + } + + if (s->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK) + { + s->damageMask &= ~COMP_SCREEN_DAMAGE_ALL_MASK; + s->damageMask |= COMP_SCREEN_DAMAGE_REGION_MASK; + } + } + + if (s->damageMask & COMP_SCREEN_DAMAGE_REGION_MASK) + { + XIntersectRegion (s->damage, &s->region, tmpRegion); + + if (tmpRegion->numRects == 1 && + tmpRegion->rects->x1 == 0 && + tmpRegion->rects->y1 == 0 && + tmpRegion->rects->x2 == s->width && + tmpRegion->rects->y2 == s->height) + damageScreen (s); + } + + EMPTY_REGION (s->damage); + + mask = s->damageMask; + s->damageMask = 0; + + if (s->clearBuffers) + { + if (mask & COMP_SCREEN_DAMAGE_ALL_MASK) + glClear (GL_COLOR_BUFFER_BIT); + } + + (*s->paintScreen) (s, s->outputDev, + s->nOutputDev, + mask); + + targetScreen = NULL; + targetOutput = &s->outputDev[0]; + + waitForVideoSync (s); + + if (mask & COMP_SCREEN_DAMAGE_ALL_MASK) + { + glXSwapBuffers (display->display, s->output); + } + else + { + BoxPtr pBox; + int nBox, y; + + pBox = tmpRegion->rects; + nBox = tmpRegion->numRects; + + if (s->copySubBuffer) + { + while (nBox--) + { + y = s->height - pBox->y2; + + (*s->copySubBuffer) (display->display, + s->output, + pBox->x1, y, + pBox->x2 - + pBox->x1, + pBox->y2 - + pBox->y1); + + pBox++; + } + } + else + { + glEnable (GL_SCISSOR_TEST); + glDrawBuffer (GL_FRONT); + + while (nBox--) + { + y = s->height - pBox->y2; + + glBitmap (0, 0, 0, 0, + pBox->x1 - s->rasterX, + y - s->rasterY, + NULL); + + s->rasterX = pBox->x1; + s->rasterY = y; + + glScissor (pBox->x1, y, + pBox->x2 - pBox->x1, + pBox->y2 - pBox->y1); + + glCopyPixels (pBox->x1, y, + pBox->x2 - pBox->x1, + pBox->y2 - pBox->y1, + GL_COLOR); + + pBox++; + } + + glDrawBuffer (GL_BACK); + glDisable (GL_SCISSOR_TEST); + glFlush (); + } + } + + s->lastRedraw = tv; + + (*s->donePaintScreen) (s); + + /* remove destroyed windows */ + while (s->pendingDestroys) + { + CompWindow *w; + + for (w = s->windows; w; w = w->next) + { + if (w->destroyed) + { + addWindowDamage (w); + removeWindow (w); + break; + } + } + + s->pendingDestroys--; + } + + s->idle = FALSE; + } + } + } + else + { + if (timeouts) + { + if (timeouts->left > 0) + doPoll (timeouts->left); + + gettimeofday (&tv, 0); + + handleTimeouts (&tv); + } + else + { + doPoll (1000); + } + } + } +} + +static int errors = 0; + +static int +errorHandler (Display *dpy, + XErrorEvent *e) +{ + +#ifdef DEBUG + char str[128]; + char *name = 0; + int o; +#endif + + errors++; + +#ifdef DEBUG + XGetErrorDatabaseText (dpy, "XlibMessage", "XError", "", str, 128); + fprintf (stderr, "%s", str); + + o = e->error_code - compDisplays->damageError; + switch (o) { + case BadDamage: + name = "BadDamage"; + break; + default: + break; + } + + if (name) + { + fprintf (stderr, ": %s\n ", name); + } + else + { + XGetErrorText (dpy, e->error_code, str, 128); + fprintf (stderr, ": %s\n ", str); + } + + XGetErrorDatabaseText (dpy, "XlibMessage", "MajorCode", "%d", str, 128); + fprintf (stderr, str, e->request_code); + + sprintf (str, "%d", e->request_code); + XGetErrorDatabaseText (dpy, "XRequest", str, "", str, 128); + if (strcmp (str, "")) + fprintf (stderr, " (%s)", str); + fprintf (stderr, "\n "); + + XGetErrorDatabaseText (dpy, "XlibMessage", "MinorCode", "%d", str, 128); + fprintf (stderr, str, e->minor_code); + fprintf (stderr, "\n "); + + XGetErrorDatabaseText (dpy, "XlibMessage", "ResourceID", "%d", str, 128); + fprintf (stderr, str, e->resourceid); + fprintf (stderr, "\n"); + + /* abort (); */ +#endif + + return 0; +} + +int +compCheckForError (Display *dpy) +{ + int e; + + XSync (dpy, FALSE); + + e = errors; + errors = 0; + + return e; +} + +/* add actions that should be automatically added as no screens + existed when they were initialized. */ +/* #ifdef KEYBINDING */ +/* static void */ +/* addScreenActions (CompScreen *s) */ +/* { */ +/* int i; */ + +/* for (i = 0; i < COMP_DISPLAY_OPTION_NUM; i++) */ +/* { */ +/* if (s->display->opt[i].type == CompOptionTypeAction) */ +/* { */ +/* if (s->display->opt[i].value.action.state & CompActionStateAutoGrab) */ +/* addScreenAction (s, &s->display->opt[i].value.action); */ +/* } */ +/* } */ +/* } */ +/* #endif */ + +void +addScreenToDisplay (CompDisplay *display, + CompScreen *s) +{ + CompScreen *prev; + + for (prev = display->screens; prev && prev->next; prev = prev->next); + + if (prev) + prev->next = s; + else + display->screens = s; +#ifdef KEYBOARD + addScreenActions (s); +#endif +} + +Bool +addDisplay (char *name) +{ + CompDisplay *d; + Display *dpy; + // Window focus; + //int revertTo, + int i; + int compositeMajor, compositeMinor; + int fixesMinor; + int xkbOpcode; + int firstScreen, lastScreen; + + d = &compDisplay; + + if (displayPrivateLen) + { + d->privates = malloc (displayPrivateLen * sizeof (CompPrivate)); + if (!d->privates) + return FALSE; + } + else + d->privates = 0; + + d->screens = NULL; + + d->screenPrivateIndices = 0; + d->screenPrivateLen = 0; + + d->modMap = 0; + + for (i = 0; i < CompModNum; i++) + d->modMask[i] = CompNoMask; + + d->ignoredModMask = LockMask; + + d->plugin.list.type = CompOptionTypeString; + d->plugin.list.nValue = 0; + d->plugin.list.value = 0; + + d->dirtyPluginList = TRUE; + + d->textureFilter = GL_LINEAR; + d->below = None; + + d->activeWindow = 0; + + d->autoRaiseHandle = 0; + d->autoRaiseWindow = None; + + d->logMessage = logMessage; + + d->display = dpy = XOpenDisplay (name); + if (!d->display) + { + compLogMessage (d, "core", CompLogLevelFatal, + "Couldn't open display %s", XDisplayName (name)); + return FALSE; + } + + if (!compInitDisplayOptionsFromMetadata (d, + &coreMetadata, + coreDisplayOptionInfo, + d->opt, + COMP_DISPLAY_OPTION_NUM)) + return FALSE; + + snprintf (d->displayString, 255, "DISPLAY=%s", DisplayString (dpy)); + +#ifdef DEBUG + XSynchronize (dpy, TRUE); +#endif + + XSetErrorHandler (errorHandler); + +#ifdef KEYBINDING + updateModifierMappings (d); +#endif + + d->setDisplayOption = setDisplayOption; + d->setDisplayOptionForPlugin = setDisplayOptionForPlugin; + + d->initPluginForDisplay = initPluginForDisplay; + d->finiPluginForDisplay = finiPluginForDisplay; + + d->handleEvent = handleEvent; + d->handleEcompEvent = handleEcompEvent; + + d->fileToImage = fileToImage; + d->imageToFile = imageToFile; + + d->fileWatchAdded = fileWatchAdded; + d->fileWatchRemoved = fileWatchRemoved; + + d->fileWatch = NULL; + + d->matchInitExp = matchInitExp; + d->matchExpHandlerChanged = matchExpHandlerChanged; + d->matchPropertyChanged = matchPropertyChanged; + + d->supportedAtom = XInternAtom (dpy, "_NET_SUPPORTED", 0); + + // nope, this is not a window manager anymore :) + //d->supportingWmCheckAtom = XInternAtom (dpy, "_NET_SUPPORTING_WM_CHECK", 0); + + d->utf8StringAtom = XInternAtom (dpy, "UTF8_STRING", 0); + + d->wmNameAtom = XInternAtom (dpy, "_NET_WM_NAME", 0); + + d->winTypeAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE", 0); + d->winTypeDesktopAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_DESKTOP", + 0); + d->winTypeDockAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_DOCK", 0); + d->winTypeToolbarAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_TOOLBAR", + 0); + d->winTypeMenuAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_MENU", 0); + d->winTypeUtilAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_UTILITY", + 0); + d->winTypeSplashAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_SPLASH", 0); + d->winTypeDialogAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_DIALOG", 0); + d->winTypeNormalAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_NORMAL", 0); + + d->winTypeDropdownMenuAtom = + XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU", 0); + d->winTypePopupMenuAtom = + XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_POPUP_MENU", 0); + d->winTypeTooltipAtom = + XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_TOOLTIP", 0); + d->winTypeNotificationAtom = + XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_NOTIFICATION", 0); + d->winTypeComboAtom = + XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_COMBO", 0); + d->winTypeDndAtom = + XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_DND", 0); + + d->winOpacityAtom = XInternAtom (dpy, "_NET_WM_WINDOW_OPACITY", 0); + d->winBrightnessAtom = XInternAtom (dpy, "_NET_WM_WINDOW_BRIGHTNESS", 0); + d->winSaturationAtom = XInternAtom (dpy, "_NET_WM_WINDOW_SATURATION", 0); + + d->winActiveAtom = XInternAtom (dpy, "_NET_ACTIVE_WINDOW", 0); + + d->winDesktopAtom = XInternAtom (dpy, "_NET_WM_DESKTOP", 0); + + d->workareaAtom = XInternAtom (dpy, "_NET_WORKAREA", 0); + + d->desktopViewportAtom = XInternAtom (dpy, "_NET_DESKTOP_VIEWPORT", 0); + d->desktopGeometryAtom = XInternAtom (dpy, "_NET_DESKTOP_GEOMETRY", 0); + d->currentDesktopAtom = XInternAtom (dpy, "_NET_CURRENT_DESKTOP", 0); + d->numberOfDesktopsAtom = XInternAtom (dpy, "_NET_NUMBER_OF_DESKTOPS", 0); + + d->winStateAtom = XInternAtom (dpy, "_NET_WM_STATE", 0); + d->winStateModalAtom = + XInternAtom (dpy, "_NET_WM_STATE_MODAL", 0); + d->winStateStickyAtom = + XInternAtom (dpy, "_NET_WM_STATE_STICKY", 0); + d->winStateMaximizedVertAtom = + XInternAtom (dpy, "_NET_WM_STATE_MAXIMIZED_VERT", 0); + d->winStateMaximizedHorzAtom = + XInternAtom (dpy, "_NET_WM_STATE_MAXIMIZED_HORZ", 0); + d->winStateShadedAtom = + XInternAtom (dpy, "_NET_WM_STATE_SHADED", 0); + d->winStateSkipTaskbarAtom = + XInternAtom (dpy, "_NET_WM_STATE_SKIP_TASKBAR", 0); + d->winStateSkipPagerAtom = + XInternAtom (dpy, "_NET_WM_STATE_SKIP_PAGER", 0); + d->winStateHiddenAtom = + XInternAtom (dpy, "_NET_WM_STATE_HIDDEN", 0); + d->winStateFullscreenAtom = + XInternAtom (dpy, "_NET_WM_STATE_FULLSCREEN", 0); + d->winStateAboveAtom = + XInternAtom (dpy, "_NET_WM_STATE_ABOVE", 0); + d->winStateBelowAtom = + XInternAtom (dpy, "_NET_WM_STATE_BELOW", 0); + d->winStateDemandsAttentionAtom = + XInternAtom (dpy, "_NET_WM_STATE_DEMANDS_ATTENTION", 0); + d->winStateDisplayModalAtom = + XInternAtom (dpy, "_NET_WM_STATE_DISPLAY_MODAL", 0); + + d->winActionMoveAtom = XInternAtom (dpy, "_NET_WM_ACTION_MOVE", 0); + d->winActionResizeAtom = + XInternAtom (dpy, "_NET_WM_ACTION_RESIZE", 0); + d->winActionStickAtom = + XInternAtom (dpy, "_NET_WM_ACTION_STICK", 0); + d->winActionMinimizeAtom = + XInternAtom (dpy, "_NET_WM_ACTION_MINIMIZE", 0); + d->winActionMaximizeHorzAtom = + XInternAtom (dpy, "_NET_WM_ACTION_MAXIMIZE_HORZ", 0); + d->winActionMaximizeVertAtom = + XInternAtom (dpy, "_NET_WM_ACTION_MAXIMIZE_VERT", 0); + d->winActionFullscreenAtom = + XInternAtom (dpy, "_NET_WM_ACTION_FULLSCREEN", 0); + d->winActionCloseAtom = + XInternAtom (dpy, "_NET_WM_ACTION_CLOSE", 0); + d->winActionShadeAtom = + XInternAtom (dpy, "_NET_WM_ACTION_SHADE", 0); + d->winActionChangeDesktopAtom = + XInternAtom (dpy, "_NET_WM_ACTION_CHANGE_DESKTOP", 0); + d->winActionAboveAtom = + XInternAtom (dpy, "_NET_WM_ACTION_ABOVE", 0); + d->winActionBelowAtom = + XInternAtom (dpy, "_NET_WM_ACTION_BELOW", 0); + + d->wmAllowedActionsAtom = XInternAtom (dpy, "_NET_WM_ALLOWED_ACTIONS", 0); + + d->wmStrutAtom = XInternAtom (dpy, "_NET_WM_STRUT", 0); + d->wmStrutPartialAtom = XInternAtom (dpy, "_NET_WM_STRUT_PARTIAL", 0); + + d->wmUserTimeAtom = XInternAtom (dpy, "_NET_WM_USER_TIME", 0); + + d->wmIconAtom = XInternAtom (dpy,"_NET_WM_ICON", 0); + + d->clientListAtom = XInternAtom (dpy, "_NET_CLIENT_LIST", 0); + d->clientListStackingAtom = + XInternAtom (dpy, "_NET_CLIENT_LIST_STACKING", 0); + + // d->frameExtentsAtom = XInternAtom (dpy, "_NET_FRAME_EXTENTS", 0); + d->frameWindowAtom = XInternAtom (dpy, "_NET_FRAME_WINDOW", 0); + + d->wmStateAtom = XInternAtom (dpy, "WM_STATE", 0); + d->wmChangeStateAtom = XInternAtom (dpy, "WM_CHANGE_STATE", 0); + d->wmProtocolsAtom = XInternAtom (dpy, "WM_PROTOCOLS", 0); + d->wmClientLeaderAtom = XInternAtom (dpy, "WM_CLIENT_LEADER", 0); + + d->wmDeleteWindowAtom = XInternAtom (dpy, "WM_DELETE_WINDOW", 0); + d->wmTakeFocusAtom = XInternAtom (dpy, "WM_TAKE_FOCUS", 0); + d->wmSyncRequestAtom = XInternAtom (dpy, "_NET_WM_SYNC_REQUEST", 0); + + d->wmSyncRequestCounterAtom = + XInternAtom (dpy, "_NET_WM_SYNC_REQUEST_COUNTER", 0); + + d->closeWindowAtom = XInternAtom (dpy, "_NET_CLOSE_WINDOW", 0); + d->wmMoveResizeAtom = XInternAtom (dpy, "_NET_WM_MOVERESIZE", 0); + d->moveResizeWindowAtom = XInternAtom (dpy, "_NET_MOVERESIZE_WINDOW", 0); + d->restackWindowAtom = XInternAtom (dpy, "_NET_RESTACK_WINDOW", 0); + + d->showingDesktopAtom = XInternAtom (dpy, "_NET_SHOWING_DESKTOP", 0); + + d->xBackgroundAtom[0] = XInternAtom (dpy, "_XSETROOT_ID", 0); + d->xBackgroundAtom[1] = XInternAtom (dpy, "_XROOTPMAP_ID", 0); + + d->mwmHintsAtom = XInternAtom (dpy, "_MOTIF_WM_HINTS", 0); + + d->xdndAwareAtom = XInternAtom (dpy, "XdndAware", 0); + d->xdndEnterAtom = XInternAtom (dpy, "XdndEnter", 0); + d->xdndLeaveAtom = XInternAtom (dpy, "XdndLeave", 0); + d->xdndPositionAtom = XInternAtom (dpy, "XdndPosition", 0); + d->xdndStatusAtom = XInternAtom (dpy, "XdndStatus", 0); + d->xdndDropAtom = XInternAtom (dpy, "XdndDrop", 0); + + d->managerAtom = XInternAtom (dpy, "MANAGER", 0); + d->targetsAtom = XInternAtom (dpy, "TARGETS", 0); + d->multipleAtom = XInternAtom (dpy, "MULTIPLE", 0); + d->timestampAtom = XInternAtom (dpy, "TIMESTAMP", 0); + d->versionAtom = XInternAtom (dpy, "VERSION", 0); + d->atomPairAtom = XInternAtom (dpy, "ATOM_PAIR", 0); + + d->eManagedAtom = XInternAtom (dpy, "__ECOMORPH_WINDOW_MANAGED", 0); + + if (!XQueryExtension (dpy, + COMPOSITE_NAME, + &d->compositeOpcode, + &d->compositeEvent, + &d->compositeError)) + { + compLogMessage (d, "core", CompLogLevelFatal, + "No composite extension"); + return FALSE; + } + + XCompositeQueryVersion (dpy, &compositeMajor, &compositeMinor); + if (compositeMajor == 0 && compositeMinor < 2) + { + compLogMessage (d, "core", CompLogLevelFatal, + "Old composite extension"); + return FALSE; + } + + if (!XDamageQueryExtension (dpy, &d->damageEvent, &d->damageError)) + { + compLogMessage (d, "core", CompLogLevelFatal, + "No damage extension"); + return FALSE; + } + + if (!XSyncQueryExtension (dpy, &d->syncEvent, &d->syncError)) + { + compLogMessage (d, "core", CompLogLevelFatal, + "No sync extension"); + return FALSE; + } + + if (!XFixesQueryExtension (dpy, &d->fixesEvent, &d->fixesError)) + { + compLogMessage (d, "core", CompLogLevelFatal, + "No fixes extension"); + return FALSE; + } + + XFixesQueryVersion (dpy, &d->fixesVersion, &fixesMinor); + /* + if (d->fixesVersion < 5) + { + fprintf (stderr, "%s: Need fixes extension version 5 or later " + "for client-side cursor\n", programName); + } + */ + + d->randrExtension = XRRQueryExtension (dpy, + &d->randrEvent, + &d->randrError); + + d->shapeExtension = XShapeQueryExtension (dpy, + &d->shapeEvent, + &d->shapeError); + + d->xkbExtension = XkbQueryExtension (dpy, + &xkbOpcode, + &d->xkbEvent, + &d->xkbError, + NULL, NULL); + if (d->xkbExtension) + { + XkbSelectEvents (dpy, + XkbUseCoreKbd, + XkbBellNotifyMask | XkbStateNotifyMask, + XkbAllEventsMask); + } + else + { + compLogMessage (d, "core", CompLogLevelFatal, + "No XKB extension"); + + d->xkbEvent = d->xkbError = -1; + } + + d->xineramaExtension = XineramaQueryExtension (dpy, + &d->xineramaEvent, + &d->xineramaError); + + d->nScreenInfo = 0; + if (d->xineramaExtension) + d->screenInfo = XineramaQueryScreens (dpy, &d->nScreenInfo); + else + d->screenInfo = NULL; + + compDisplays = d; + + d->escapeKeyCode = XKeysymToKeycode (dpy, XStringToKeysym ("Escape")); + d->returnKeyCode = XKeysymToKeycode (dpy, XStringToKeysym ("Return")); + + if (onlyCurrentScreen) + { + firstScreen = DefaultScreen (dpy); + lastScreen = DefaultScreen (dpy); + } + else + { + firstScreen = 0; + lastScreen = ScreenCount (dpy) - 1; + } + + for (i = firstScreen; i <= lastScreen; i++) + { + Window newWmSnOwner = None, newCmSnOwner = None; + Atom wmSnAtom = 0, cmSnAtom = 0; + Time wmSnTimestamp = 0; + XEvent event; + XSetWindowAttributes attr; + Window currentWmSnOwner, currentCmSnOwner; + char buf[128]; + Window rootDummy, childDummy; + unsigned int uDummy; + int x, y, dummy; + + sprintf (buf, "WM_S%d", i); + wmSnAtom = XInternAtom (dpy, buf, 0); + + currentWmSnOwner = XGetSelectionOwner (dpy, wmSnAtom); + + /* if (currentWmSnOwner != None) + { + if (!replaceCurrentWm) + { + compLogMessage (d, "core", CompLogLevelError, + "Screen %d on display \"%s\" already " + "has a window manager; try using the " + "--replace option to replace the current " + "window manager.", + i, DisplayString (dpy)); + + continue; + } + + XSelectInput (dpy, currentWmSnOwner, + StructureNotifyMask); + } + */ + sprintf (buf, "_NET_WM_CM_S%d", i); + cmSnAtom = XInternAtom (dpy, buf, 0); + + currentCmSnOwner = XGetSelectionOwner (dpy, cmSnAtom); + + if (currentCmSnOwner != None) + { + if (!replaceCurrentWm) + { + compLogMessage (d, "core", CompLogLevelError, + "Screen %d on display \"%s\" already " + "has a compositing manager; try using the " + "--replace option to replace the current " + "compositing manager.", + i, DisplayString (dpy)); + + continue; + } + } + + attr.override_redirect = TRUE; + attr.event_mask = PropertyChangeMask; + + newCmSnOwner = newWmSnOwner = + XCreateWindow (dpy, XRootWindow (dpy, i), + -100, -100, 1, 1, 0, + CopyFromParent, CopyFromParent, + CopyFromParent, + CWOverrideRedirect | CWEventMask, + &attr); + + XChangeProperty (dpy, + newWmSnOwner, + d->wmNameAtom, + d->utf8StringAtom, 8, + PropModeReplace, + (unsigned char *) PACKAGE, + strlen (PACKAGE)); + + XWindowEvent (dpy, + newWmSnOwner, + PropertyChangeMask, + &event); + + + wmSnTimestamp = event.xproperty.time; + /* + XSetSelectionOwner (dpy, wmSnAtom, newWmSnOwner, wmSnTimestamp); + + if (XGetSelectionOwner (dpy, wmSnAtom) != newWmSnOwner) + { + compLogMessage (d, "core", CompLogLevelError, + "Could not acquire window manager " + "selection on screen %d display \"%s\"", + i, DisplayString (dpy)); + + XDestroyWindow (dpy, newWmSnOwner); + + continue; + } + */ + /* Send client message indicating that we are now the WM */ + /* event.xclient.type = ClientMessage; + event.xclient.window = XRootWindow (dpy, i); + event.xclient.message_type = d->managerAtom; + event.xclient.format = 32; + event.xclient.data.l[0] = wmSnTimestamp; + event.xclient.data.l[1] = wmSnAtom; + event.xclient.data.l[2] = 0; + event.xclient.data.l[3] = 0; + event.xclient.data.l[4] = 0; + + XSendEvent (dpy, XRootWindow (dpy, i), FALSE, + StructureNotifyMask, &event); + */ + /* Wait for old window manager to go away */ + /*if (currentWmSnOwner != None) + { + do { + XWindowEvent (dpy, currentWmSnOwner, + StructureNotifyMask, &event); + } while (event.type != DestroyNotify); + } + + compCheckForError (dpy); + */ + + XCompositeRedirectSubwindows (dpy, XRootWindow (dpy, i), + CompositeRedirectManual); + + if (compCheckForError (dpy)) + { + compLogMessage (d, "core", CompLogLevelError, + "Another composite manager is already " + "running on screen: %d", i); + + continue; + } + + + XSetSelectionOwner (dpy, cmSnAtom, newCmSnOwner, wmSnTimestamp); + + if (XGetSelectionOwner (dpy, cmSnAtom) != newCmSnOwner) + { + compLogMessage (d, "core", CompLogLevelError, + "Could not acquire compositing manager " + "selection on screen %d display \"%s\"", + i, DisplayString (dpy)); + + continue; + } + + XGrabServer (dpy); + + XSelectInput (dpy, XRootWindow (dpy, i), + // SubstructureRedirectMask | + SubstructureNotifyMask | + StructureNotifyMask | + PropertyChangeMask | + ExposureMask | + LeaveWindowMask | + FocusChangeMask | + EnterWindowMask | + KeyPressMask | + KeyReleaseMask | + ButtonPressMask | + ButtonReleaseMask); + + + + if (compCheckForError (dpy)) + { + compLogMessage (d, "core", CompLogLevelError, + "Another window manager is " + "already running on screen: %d", i); + + XUngrabServer (dpy); + continue; + } + + if (!addScreen (d, i, newWmSnOwner, wmSnAtom, wmSnTimestamp)) + { + compLogMessage (d, "core", CompLogLevelError, + "Failed to manage screen: %d", i); + } + + if (XQueryPointer (dpy, XRootWindow (dpy, i), + &rootDummy, &childDummy, + &x, &y, &dummy, &dummy, &uDummy)) + { + lastPointerX = pointerX = x; + lastPointerY = pointerY = y; + } + + XUngrabServer (dpy); + } + + if (!d->screens) + { + compLogMessage (d, "core", CompLogLevelFatal, + "No manageable screens found on display %s", + XDisplayName (name)); + return FALSE; + } + + //setAudibleBell (d, d->opt[COMP_DISPLAY_OPTION_AUDIBLE_BELL].value.b); + + //XGetInputFocus (dpy, &focus, &revertTo); + + /* move input focus to root window so that we get a FocusIn event when + moving it to the default window */ + /*XSetInputFocus (dpy, d->screens->root, RevertToPointerRoot, CurrentTime); + + if (focus == None || focus == PointerRoot) + { + focusDefaultWindow (d); + } + else + { + CompWindow *w; + + w = findWindowAtDisplay (d, focus); + if (w) + { + moveInputFocusToWindow (w); + } + else + focusDefaultWindow (d); + } + */ + /* + d->pingHandle = + compAddTimeout (d->opt[COMP_DISPLAY_OPTION_PING_DELAY].value.i, + pingTimeout, d); + */ + + return TRUE; +} + +Time +getCurrentTimeFromDisplay (CompDisplay *d) +{ + XEvent event; + + XChangeProperty (d->display, d->screens->grabWindow, + XA_PRIMARY, XA_STRING, 8, + PropModeAppend, NULL, 0); + XWindowEvent (d->display, d->screens->grabWindow, + PropertyChangeMask, + &event); + + return event.xproperty.time; +} + +void +focusDefaultWindow (CompDisplay *d) +{ + /*CompScreen *s; + CompWindow *w; + CompWindow *focus = NULL; + */ + + + // if (!d->opt[COMP_DISPLAY_OPTION_CLICK_TO_FOCUS].value.b) + // { + // w = findTopLevelWindowAtDisplay (d, d->below); + // if (w && !(w->type & (CompWindowTypeDesktopMask | + // CompWindowTypeDockMask))) + // { + // if ((*w->screen->focusWindow) (w)) + // focus = w; + // } + // } + // + // if (!focus) + // { + // for (s = d->screens; s; s = s->next) + // { + // for (w = s->reverseWindows; w; w = w->prev) + // { + // if (w->type & CompWindowTypeDockMask) + // continue; + // + // if ((*s->focusWindow) (w)) + // { + // if (focus) + // { + // if (w->type & (CompWindowTypeNormalMask | + // CompWindowTypeDialogMask | + // CompWindowTypeModalDialogMask)) + // { + // if (compareWindowActiveness (focus, w) < 0) + // focus = w; + // } + // } + // else + // focus = w; + // } + // } + // } + // } + // + // if (focus) + // { + // if (focus->id != d->activeWindow) + // moveInputFocusToWindow (focus); + // } + // else + // { + // XSetInputFocus (d->display, d->screens->root, RevertToPointerRoot, + // CurrentTime); + // } +} + +CompScreen * +findScreenAtDisplay (CompDisplay *d, + Window root) +{ + CompScreen *s; + + for (s = d->screens; s; s = s->next) + { + if (s->root == root) + return s; + } + + return 0; +} + +void +forEachWindowOnDisplay (CompDisplay *display, + ForEachWindowProc proc, + void *closure) +{ + CompScreen *s; + + for (s = display->screens; s; s = s->next) + forEachWindowOnScreen (s, proc, closure); +} + +CompWindow * +findWindowAtDisplay (CompDisplay *d, + Window id) +{ + CompScreen *s; + CompWindow *w; + + for (s = d->screens; s; s = s->next) + { + w = findWindowAtScreen (s, id); + if (w) + return w; + } + + return 0; +} + +CompWindow * +findTopLevelWindowAtDisplay (CompDisplay *d, + Window id) +{ + CompScreen *s; + CompWindow *w; + + for (s = d->screens; s; s = s->next) + { + w = findTopLevelWindowAtScreen (s, id); + if (w) + return w; + } + + return 0; +} +/* +static CompScreen * +findScreenForSelection (CompDisplay *display, + Window owner, + Atom selection) +{ + CompScreen *s; + + for (s = display->screens; s; s = s->next) + { + if (s->wmSnSelectionWindow == owner && s->wmSnAtom == selection) + return s; + } + + return NULL; +} +*/ +/* from fvwm2, Copyright Matthias Clasen, Dominik Vogt */ + /*static Bool +convertProperty (CompDisplay *display, + CompScreen *screen, + Window w, + Atom target, + Atom property) +{ + +#define N_TARGETS 4 + + Atom conversionTargets[N_TARGETS]; + long icccmVersion[] = { 2, 0 }; + + conversionTargets[0] = display->targetsAtom; + conversionTargets[1] = display->multipleAtom; + conversionTargets[2] = display->timestampAtom; + conversionTargets[3] = display->versionAtom; + + if (target == display->targetsAtom) + XChangeProperty (display->display, w, property, + XA_ATOM, 32, PropModeReplace, + (unsigned char *) conversionTargets, N_TARGETS); + else if (target == display->timestampAtom) + XChangeProperty (display->display, w, property, + XA_INTEGER, 32, PropModeReplace, + (unsigned char *) &screen->wmSnTimestamp, 1); + else if (target == display->versionAtom) + XChangeProperty (display->display, w, property, + XA_INTEGER, 32, PropModeReplace, + (unsigned char *) icccmVersion, 2); + else + return FALSE; + + *//* Be sure the PropertyNotify has arrived so we + * can send SelectionNotify + *//* + XSync (display->display, FALSE); + + return TRUE; +} +*/ +/* from fvwm2, Copyright Matthias Clasen, Dominik Vogt */ +/*void +handleSelectionRequest (CompDisplay *display, + XEvent *event) +{ + XSelectionEvent reply; + CompScreen *screen; + + screen = findScreenForSelection (display, + event->xselectionrequest.owner, + event->xselectionrequest.selection); + if (!screen) + return; + + reply.type = SelectionNotify; + reply.display = display->display; + reply.requestor = event->xselectionrequest.requestor; + reply.selection = event->xselectionrequest.selection; + reply.target = event->xselectionrequest.target; + reply.property = None; + reply.time = event->xselectionrequest.time; + + if (event->xselectionrequest.target == display->multipleAtom) + { + if (event->xselectionrequest.property != None) + { + Atom type, *adata; + int i, format; + unsigned long num, rest; + unsigned char *data; + + if (XGetWindowProperty (display->display, + event->xselectionrequest.requestor, + event->xselectionrequest.property, + 0, 256, FALSE, + display->atomPairAtom, + &type, &format, &num, &rest, + &data) != Success) + return; + +*//* FIXME: to be 100% correct, should deal with rest > 0, + * but since we have 4 possible targets, we will hardly ever + * meet multiple requests with a length > 8 + *//* + adata = (Atom *) data; + i = 0; + while (i < (int) num) + { + if (!convertProperty (display, screen, + event->xselectionrequest.requestor, + adata[i], adata[i + 1])) + adata[i + 1] = None; + + i += 2; + } + + XChangeProperty (display->display, + event->xselectionrequest.requestor, + event->xselectionrequest.property, + display->atomPairAtom, + 32, PropModeReplace, data, num); + } + } + else + { + if (event->xselectionrequest.property == None) + event->xselectionrequest.property = event->xselectionrequest.target; + + if (convertProperty (display, screen, + event->xselectionrequest.requestor, + event->xselectionrequest.target, + event->xselectionrequest.property)) + reply.property = event->xselectionrequest.property; + } + + XSendEvent (display->display, + event->xselectionrequest.requestor, + FALSE, 0L, (XEvent *) &reply); +} + *//* +void +handleSelectionClear (CompDisplay *display, + XEvent *event) +{ + *//* We need to unmanage the screen on which we lost the selection */ + /*CompScreen *screen; + + screen = findScreenForSelection (display, + event->xselectionclear.window, + event->xselectionclear.selection); + + if (screen) + shutDown = TRUE; +} +*/ +void +warpPointer (CompScreen *s, + int dx, + int dy) +{ + CompDisplay *display = s->display; + XEvent event; + + pointerX += dx; + pointerY += dy; + + if (pointerX >= s->width) + pointerX = s->width - 1; + else if (pointerX < 0) + pointerX = 0; + + if (pointerY >= s->height) + pointerY = s->height - 1; + else if (pointerY < 0) + pointerY = 0; + + XWarpPointer (display->display, + None, s->root, + 0, 0, 0, 0, + pointerX, pointerY); + + XSync (display->display, FALSE); + + while (XCheckMaskEvent (display->display, + LeaveWindowMask | + EnterWindowMask | + PointerMotionMask, + &event)); + + if (!inHandleEvent) + { + lastPointerX = pointerX; + lastPointerY = pointerY; + } +} + +Bool +setDisplayAction (CompDisplay *display, + CompOption *o, + CompOptionValue *value) +{ + CompScreen *s; + + for (s = display->screens; s; s = s->next) + if (!addScreenAction (s, &value->action)) + break; + + if (s) + { + CompScreen *failed = s; + + for (s = display->screens; s && s != failed; s = s->next) + removeScreenAction (s, &value->action); + + return FALSE; + } + else + { + for (s = display->screens; s; s = s->next) + removeScreenAction (s, &o->value.action); + } + + if (compSetActionOption (o, value)) + return TRUE; + + return FALSE; +} + +void +clearTargetOutput (CompDisplay *display, + unsigned int mask) +{ + if (targetScreen) + clearScreenOutput (targetScreen, + targetOutput, + mask); +} + +#define HOME_IMAGEDIR ".ecomp/images" + +Bool +readImageFromFile (CompDisplay *display, + const char *name, + int *width, + int *height, + void **data) +{ + Bool status; + int stride; + + status = (*display->fileToImage) (display, NULL, name, width, height, + &stride, data); + if (!status) + { + char *home; + + home = getenv ("HOME"); + if (home) + { + char *path; + + path = malloc (strlen (home) + strlen (HOME_IMAGEDIR) + 2); + if (path) + { + sprintf (path, "%s/%s", home, HOME_IMAGEDIR); + status = (*display->fileToImage) (display, path, name, + width, height, &stride, + data); + + free (path); + + if (status) + return TRUE; + } + } + + status = (*display->fileToImage) (display, IMAGEDIR, name, + width, height, &stride, data); + } + + return status; +} + +Bool +writeImageToFile (CompDisplay *display, + const char *path, + const char *name, + const char *format, + int width, + int height, + void *data) +{ + return (*display->imageToFile) (display, path, name, format, width, height, + width * 4, data); +} + +Bool +fileToImage (CompDisplay *display, + const char *path, + const char *name, + int *width, + int *height, + int *stride, + void **data) +{ + return FALSE; +} + +Bool +imageToFile (CompDisplay *display, + const char *path, + const char *name, + const char *format, + int width, + int height, + int stride, + void *data) +{ + return FALSE; +} + +CompFileWatchHandle +addFileWatch (CompDisplay *display, + const char *path, + int mask, + FileWatchCallBackProc callBack, + void *closure) +{ + CompFileWatch *fileWatch; + + fileWatch = malloc (sizeof (CompFileWatch)); + if (!fileWatch) + return 0; + + fileWatch->path = strdup (path); + fileWatch->mask = mask; + fileWatch->callBack = callBack; + fileWatch->closure = closure; + fileWatch->handle = lastFileWatchHandle++; + + if (lastFileWatchHandle == MAXSHORT) + lastFileWatchHandle = 1; + + fileWatch->next = display->fileWatch; + display->fileWatch = fileWatch; + + (*display->fileWatchAdded) (display, fileWatch); + + return fileWatch->handle; +} + +void +removeFileWatch (CompDisplay *display, + CompFileWatchHandle handle) +{ + CompFileWatch *p = 0, *w; + + for (w = display->fileWatch; w; w = w->next) + { + if (w->handle == handle) + break; + + p = w; + } + + if (w) + { + if (p) + p->next = w->next; + else + display->fileWatch = w->next; + + (*display->fileWatchRemoved) (display, w); + + if (w->path) + free (w->path); + + free (w); + } +} + +void +fileWatchAdded (CompDisplay *display, + CompFileWatch *fileWatch) +{ +} + +void +fileWatchRemoved (CompDisplay *display, + CompFileWatch *fileWatch) +{ +} + +CompCursor * +findCursorAtDisplay (CompDisplay *display) +{ + CompScreen *s; + + for (s = display->screens; s; s = s->next) + if (s->cursors) + return s->cursors; + + return NULL; +} + diff --git a/src/ecomorph b/src/ecomorph new file mode 100755 index 0000000000000000000000000000000000000000..0c42f639d0733f6957c21a1ee4824d65899a3302 GIT binary patch literal 750241 zcmc$Hdt6ji_xC}W@u=vGie;rW7M6A~NGnY(ETYe@5>7!@3A7Zf>J6u)bo~^B3OQMp<~usxoXqheM+j(J%Ac zpjajHE0M>Lg$5ZoF80BY3Y?0*863b2M&9`2-dw=HJx2Wr$Pe$o3~e#6K8SL4LH^9E z3v#b2$S?HG?_cche~q4pp^5yIv6DsH94FgU5!wSJBFsYrr6O1V=MEVk$%ez8EX4OB z+=x2oBHV@i!3cjL+=P&Tw6Vy)7J*MJFrWK$((2!7D1Qin&p4eZH=z7Bq@9QGsmzmE z%Duqxvc2CC_aoyr(Dy*CpbHUM@dAV&QRqt9&Md^cA#Eb)0$KT1(77@m zjdCN9zZl^cq`e5rXB23rj1wm#{xRtAu(V0Qoq%7JY1f72HOTlUpwFY+0ff$oUk}RX zI6{9pM&g(Gk9@kI+|`I*2KprE8H5Q49|Kn*@VNLm^_GF&#dO)m=ZLe6AFVmPk z9ry*%^#~s!o`b+=s-y~NC*U_ks-g@FtNXi5O94G%l$U88!^(Yzw6{(9=g4yVk)DQl z56}-le?!QSd7pr;k@b3k#>#Y(6$nvCdk7&;mSK7~^m|TN-(MqdAaDsYRI)e<5s^=^E%UgvAK4s5?)lle`4{w!}lw_7zM+_yOtr zK`%#m9bpFWzd`wIM%;J`5XnJ!3TdNd;`1{9BZ(gZZ9?FFI2eIXUxaKC!=8uoeUUy3 z^hKoE5ym6b0do(&9r3xKJ3#p?MZ5yxAcLNy+$br@>qs|0J7vN!7DyBxbnz(4si@86QP0X>QIz7iYdNO#M$I>gV0XCVHe z3IE?f(~!6n|JR>m|3jw(O{2LUWv?`){U_KI)~jA3WzH9GB@UKu62?qe#CQ@rw~ILc8Z7^h7)c>GKiz3<3TU!H2--2}v2h3Skby zb*T3y=sPkmL(&PLwMZX?5J3DJ&_86}2E^S6ze z`w`A1z|&8bp8{Hl;MJ2`{o5kZBG6Sb{xj&eGH#IXjfkY((PuBjZJ;;Ee$r*$1;Brp z$`f8B)4I#@gb9eB2*Zye{v*N#Xm^S%|1|LUurfoC-bT(@7E#8EZ_;tV^V@l|8GbX3ayv*JDS>I{T~q4FoNgmu<^x( z#hDk4x>q426X4m2_#jgmJty>U6{1^0Fc_PIy6b?fVfAka=E7G&{5**ZCH11t7YKYT zI#GU-lw=#ilQN$;mH*(`fV5L#>3XW7oR*Ot|Bz>tnID$t2pelVqkyE3qg=nRd?sHa z^M;1CA(I5@9ajFr|4@bn{}q-uEUbZRP=71(@@3l0uslW`VfBox$7LiBdF>Fk8yR8r zTBLW7xF`DfAgrAd#QRJ9m87YXwwHAtkvObL<-k9rt(664BCjLjJ5JRX63ZQHFk zFO3vyF? zd&Epow0ir@h;?IA+f)vWjJY)O;nXc<{njRrD!HYNT5xgX=G}33N5rSTbjwU-P)wKF zHam;5isO~6Cp$b57`U|b?1=m0BbC1K2@x~9{nWqB1F>Bqs;c&6wN+~E?M5%}JHAYb z?vm8uzWXP%w_mK($1h*EcInfxCF66|t{2aY?5f+9qmmco z&v69f;hqyfIDug7HCJQpL*eK-c;QUva|mm?U@6=8AOXg*hi zUW35(%!j@s_s<~`)0e+V#uGpjWjqNq86idD(V$}x(h$bUH13g;5V+sd&zOcV9bpCn zeXA@4>NFp&Z$3GoxiU`dMBIgNn@ls-0`~^`5N-temOcbNb3tj3X&V;Gv_+EM1-cla z6rl`(Yjzm|{j7TtDiLT`RwF!!uol619!7i}!lMX}Av}&?JnIpE3Spy6dsfotC4B+3 z2H{1CH-j2`|Eq}8KEICe7D6q;4uqWu|McueI_(sFue}I{AIGx$fZs#l^8qOB=|O}K z5e_35&!;ke1oSh6&n0dI{aVIZ_Lz)+3)+Nm0^t+_ZR`&Se0~D`1>skO-w=LBFrGgU z{|kY(j}Lt$o)u{4xTo{n&GRbH{Kh>6eR%qCygT6?0{uGUq3x$1Mte*jIQ-$h%e|6z zpME!Oy|LFC_cy#V<+*};BJY;y3-f$n_$NG@8xQY?c?UThq1*Jt`);{3ruWq33ll0k zwtxQPhW;;(e6(|tbxz|Kr{WG<&-;Gg@OvjjKla-FKUB2lK`w!=@@A}a_uO4Wu zd?BO5-usU&`yb99=D*`$b(+6+T*Zz>_H{>>zcaS$iu!}AAA0b*bssd;)PH~3XJ6DG zJv!}=>mHn#`oSk#$8An~@b%f(&d=&_-Y?IseQMiF`<`BDJ+JMwoV>?w?CE>>%YR?~ zQSP3Y$%)^c{_@Yn1JQdemjw2W{jlrUT^HOwaQAZ^&it$6J)2K=Tf6P6Hy_XN6^(j( z^u24|8(x)qZKoU7bi8Kfk?$w=TzRyi;@TsJ9Hq-vT)L$5va`=Wzb&%uW#t_!y1bLQ zpx=;n-sK6&AD&Fv@N4dL_p@t$?Q-*1?Ys7T=jd}cU2@T{*G1GG`!Q{C@@w68#zfw$ z9{X@tyZujYdEt@=2X{aI?EJ;gy?kKchW9V?MJ()6x6SpH?}{vIQ_`gO+8r7F)Kg=f z%8$=lw=aFDd|)QB%1esF-T z=N+Bi8@S4Mv373sx8HBQ_vq7azdmsKu`g~v@%C%Vt{+d2O+V6U_1KBa$IU(Ondb{n zZdN@Rf$vXtc;Vc=ui4JKsJFXp&*m@Q_kDNp-<_?$%=_)m>7Re`S;3V@It&=mWz*=d zYiGAl{3t5=tHoaM&5lSfAq)^mGkd7wROx_H^0{M*qm)W-W%tB zt>TByz5nI!Rd?=9j~6}h(1auJef^l4I%Fl|XA^p#`PU`xua;i9>Cyd9yjT3em(7`d zuIv56(H>_$xZu#H0~woR+MIdr-2p$ou=q81&(nK8=yslV)62UasrQy#)@jT9x39Q< z_;0V@m67nshz;k>eEORXmrom=_mlnd@t3WNk3W2SM$bN@AFC*vblu{ZA@#pqh4x(i z&!%1Wo|3#hV#K%yN3?n6UvHE=I?R3XhM0Ln)=vF?+o-DE<=vkA^cH*mZ{JL~{=k`r zPa9|bprqEvp18dBtqE7(dv~7^$KNdMe|mfu^`}=(Jz;meRX@#l=e9Zb6fOULv{}|G|*&-nk>iI)24Vy*BhJx%`DK&pqOq z^hEQ5H20KUf1HRr_oYQwRps@#^ML(S#yNL2-CNQp>cdqfgIwP&dFseZJN$RFJ2U#u z(Z_#j`sKlK=lrP_#4Y{m$JmpT7vFW$p@Odlz5MwXecz0F`p8RXvdcGo)%k&;w;p;| z+xz*L=hAx5Ui>hxOIkf6c!49IuAo(s2GZa2e8&qP`7nQgaTr9L_>HiAig=^BeAr&V z{O)0gIpQtG;RkWzXawUS9%brp1`pWsVg3SB{;j6|r<>-NXTsrUJhu0#X}sB{@x5po ze}ySO(lnmK#z75jv;CE(`UgzdW*YxBCVA{v(TIH5-Wdac5-&34KW!S{rKa|IPi8z0 zMEV&3l=v}I`G-yIPcx1G7gPBpQ~AeDxVwozHKu%@3ENEic5SE7fI0tFCjIDa!re{f z%S_{~Gs(Y)DSr?TdGcX@F(&z}Gquk%z43_gnebbt`JFJ0cbbVm#yu|EWP53*@uisL zJ<-IkwWjvEoBCg1n%~bR{IRM1Z%sJY)LwyUJ@5=-JRHBzq(5Jn=D*F9|C6cx1E%tG zP53#}_{W;&|Fo&SXH5AEO!neMQ~Lu<{D06S|9I1Uhnn<1&ZW_-ort!aS z>VKkXJ*AlV^{T18JX8536aS}}$`3X5UuNP*ylFhqru^BaeB&%l9+5w}!aYp$+i8;5)h4{&#IL2M`gJD!gK0i1O#PoABjiJVbTF0Y z`x4_}zRkpsNk%3p^ADQ%{jG@~Z=3kn*3@4QQ~TRY>&b1J-{YqC{igP}nevVMA`YA5 ztv2za#H61?P5je#f4XVBZP4Xx+@uRn?zg?#J9yH}Y zVQTL_Q+_v7eV=K32Tb|AXEPq^)8(e}ytgtQ=HF?`pKh8@zG*y86aQLF_-a%6Z%yOl z_Z`N={!g3o2bspx*ChWkQ-2?uNyhsgcq}p#a5N?X_?=Ei2Wjq%5P$bZ@n1(-E2|$E|>V53vs{gu&OSJNA^K}s#SGJ z?Cp;6Y_zD9Ez6%q`G&hKYK+7scsU(=p+zNIm_HXU(W|Cd)Oiy7c;Jk;s?#OTLVh#G zYnM2cFM5_))P53|Vf@W6Skyxjzl8&o=W>hM0RtA}#XuTTtm+_{-vWNwS6fxS4`Y5` zwCB0WsxFoI5eIy>X%_V+iRXhK@$D??OA;rbKl?(f%5MQ!{{_6L&AP;*J|^??(0^7J zi^{uP=C=WV;xDzRkIVdRsNZ0>sLLh(0R20rTGaa`egpDq0DlW4?g#$G_O+<5OME%y zH_xh8wAI`Hs5j<6%c|zd{7SUfY_qD@!p^Y&aHFhu?g2)Y57YRvZ50oOK! z_;)VaONV}Lk>hhiPL8)MYK6qhp_p0F2Yyq+`rXm6{i)FSyqI6(yB4)TmM_3~s*un3 zhb(^q=2NxCs)FqT@4Fc77h6>NCCvXf##4ELMXi$fDio}lU{SA>csthn*59pSRoj&x zTGFA9v0?fg2YcfPn|}fHs~P(8yR5$k`cPA7RX;N@^%?qZ=>Hd3AC70N>S~!k5aYA^ zt!l2sqdC4zi#l53ekgB8|HgW;L7ugHtm>7Re;2&H)zDwbAdAZP51ikhz|GSwL3{83 z##e&&m&o?oL%-s!7PUp9YLAJu#oxEb66_zd2~X1p35xp{)M|uzjdiJy+`EUbG({ZBbXs^?8trILNA& z$?`Vp3*>2x=T_h>=;PHg|0eYB7z=wP+iL@U*KDw;@5uaY=u^W8tC}qFpUAI*JOC93 zT&%5;# zQJH^~_7UrMu*8SJ5BmcldwnkKch)$o`n()Zn~R}OVe4ZNaAUni-5~4RFtDuQR`D|> z9A7NfmnV!Lm6(qbV^J@c<(Fap%7+$}?`>Irn*;BrVGkma+y!6e>_L75_McBMPv&0_ zL)r}cZLCiX`dbrLJ_-7t6{g=c=)Yl3$UZDW`SfQkD(^Yj-py!Nxjtl{8^Esy?0;Z` z$S*>qIm#OBFBkkzhy5EN^J`K6%`pEU(E~2(=1<(`8L3w8T-Y*(O${V27k^~7Nfr!tRE~dQGPqtr)P^r{a)gs zu+Q;-fxqB8+xryypB~o#X<#J~;^#}Kuhd%9Es{UaU_71&L;GDb=3lkTq8^s*_W^Dm zW>qIj{5bfv4)Q=XA;0%2AMg`m5&f@+zSX>9Q5Q=*0sD6&+Q+m+{)>n-JYi9>tOV|X z`8%>K>a`NvF^`O}@vp*o9k*N5DUx5upf8OtSk+^){3Mjm>TOY1NW2>Bu{Jqmf6hmL zo+m^5Q#tgdrW)&6+LL}5pB?&M)7@n0WfN zR`p$pZD`K{`DFpqo>%wA`VQmY7T{X!SNF;C{IF|G*nEEiV>};ORKCBbJc}{jSolN6 zdU_1=Nq;G%f1^>~j{V_&+1@PJ$JiNG^?F&q4fx}MzmP8TU*>$bS=9D2e<|c?zr_-? zCkGwSC+I7>75(1@{i%e#HT3Nglvgq=>UT2#d-f0gH2Ae2{PK*p2HV##o|9NVNEZC~ z6Z#R~+p6}(zR&p`!}==eW>H_3?d1Vit_}Gc*%<%)FnxO*xEA*2Az8kT{>h8Rda)_r za=+?g4eq~RLC*1E{Otw##lk*~lJkET`d0&gJxR8=3+)%6JwS}Fv$7B4Eh(|6V`ctu z%(te*s)C5|uO+sH?Eha}-yVH^aDM&K(uT0{{lWDm_ZK_#<2CfxP!qC0^^i|9*2fjH z{eSlce`i_LSc$u0JRaz4g~Xq6AwvJNBz_c(j(y&u{vxpj^Rp*d)yWb&p|6dF7WIZU z`uHz_pwlN=gZz&GKOOH_)NPVKmtZ^tf5sY-L(6<-C&lO?&O9RTM-x#uY zpJBZ z+o*3}7TTX1A&-*%q4}P{{2cJ#a%BD8SWnHcm-k3K1M;m5voBAg{dAm%d@}#i-kARz z7WDy%-#~k{SYL+xUWUBF{fE8iKWnl@-7L#T!M<0aKSTfDf;>uwS=1!x9r?K! zziH4P1?RIHW&KjfzXbk*U*ZiYpB1(~22wufhwN!D^yj$Bs+LIp4##}r;lGcP^#Gf1g1gv#?(p^YNm7b6-o)f4%|oTOQ^Q%;J2&PjoBl|A>a{(8t9RuY>-1u-=p8 zdc2+c>vdS4GJh-9SLF@xALMw}cgK9&hR)~DLB0;~(;~~Cg}yuDa9)t*m!W*axfZol z=C8v1ribyP9s_gWylJf8sU4tiJ1y!FS$+@f#nv!?Y7XXKwH4j~)A6hQ#AAKKsK~^Vik z{AtGiwnLWh4?VYE8(J^fn7=aJst%C(>A+QwS%d4NFZkC`6Vk`o(3e{HvshL_UTGMg z1O6q734A^HQ5GiO6VSg#@E>dw`PR!C&*p{2t&(7WCQBw{^fP!pg^A40*tR zcvY4k1^L)<|1(MA4$zUkLuCL*8y#{s+iA_Ek%8ewSflm8(MMp*z9fs=3zS z_|Ad6N{(29`qLg8Nj&t$(C<{pt0qi8m!W=1sYPv&{jCOntHRD>kAfeu%R>G_5$cx= zwyIai`JM%C!2XJALjJwcep{!oPwT#dzHq zPsy9O50JP8IDQ(=KN8;t{jG)kjq_U`*1rStHT3NX@Iz58>QX2O?X!a4C6JNhp5t*B z=X;&}WddZCZm z#0f3 zVsDXqfoLKxf4;Mrj2QsNFy4BuB1vzP?BVo962_Y7D=KyujpPVqqHMQSLGuVi?TJpw zv5Bs1k5iVXsEV=+bBpxf`H(ST0tGcO2mcf%x(oC2XN@e(b1O(k=X$b{pl4%1Mb1L+ z1Tp^!6HGm``TRm>5x6AvKq6B)qmW3}yAjNun8s??DI;^7=|%1wXK`^F0w!O~B+O`{ z%jbm>6pnSya(nZ$y<`@05)0hLP7JURYQm(6b8^Oc#EimHFe5bTaTa;=(H@GRz19i; z(9Fc_xz3y2kb<)yFUei#q&!C^CI^R!Hb#z1E-G>trGl*m<0K;7G>$=FHU7hUeyn z1~@g_o8w|r^NS0-I;ZB(Dac6A_PS6A`stnMEy^#Pr63itoH-uGL_Xy;Zsu*6XfSE4 za~^7Wo%2P~Sa+^-4AvM07;Ge1HLRdWOP-rukUZa01U8d#=!G35xpNqm95YhIfaerk z!vSBz#6*`fXST6qfhRb#b4TPCI7ME8GrQ2|NzVrBikL96Fy9+OEIM)=(-}*1&T$us zwc^PxoaMeMu74~$iDi$o++wy@T@#)*$DQjdaJEiE*;WZDV|31Dn3WIHN^!d9IKAjH zW8#9s93=xuQ}T;_*%&3&A5b?B!@XePOrMvQ3ZiZ$Xkp`|<(XBG=q_*<4fGW&vkE5W zWEVK|5SiqhFP82#NdO73DM;}8ikv`W-9>Y<3kI-MVnMzqy&xO9HLD=GFncEWH>)6H z;=F86f-f%*1`%*f{w$X_Z!Ti#zG9a?Dgd;X=yn(7rn~bY|01M_VWeSo7UgFb=q12( z7)qu9PspbAO?MYx!>*H@1;~)2Vm~AD3-gOzh_D+pQOLhcwhv_*`IWubds=lp9pF%%NgVHq-u{S*j}$pIrHxiA<1CKNaeb4U0fcD-#~ z@FR-cb4DZt`_aWIc!ZG-FDlAjz{!JE$%S)8vx!jfAjcti3I~IbYYt7PWzTj>b1AY4 z!}vTgC%+hm9q9?M_=TWJPLJ0$0opIw$!?IWcgP9qa}7zFoEVu48RUBxFgxEl&*Lug zBAOxhh?FrILG{GQMnXkqIg5l6xjjK067vw#Mb!}nkUOZZhplC7T1UmfnWnovQdO`7 z=Wx+orxfQG=D3UVB;`8J(K9kfj)Oyxn_rmeD|Y58#jtLk1@II+uy@|P%pBKj#W_FU ztK`8_7c#q$)(^BO$5n)Kh~@f3LLn;_=g%sHqI-PaVv(7hGn;K>=4Iy>DA=Y83Si1m z$Lkh-dEEsHR;NsaA}Dj5bBdi_7Qz3D$6Zi>cJjhTlZUo*Sd87}<#4A#iMhpvVP&wC zWs^DC#ZC@*7S>haTolalF7P-rXJ(50;+*V4@Wh+zEE01GZ^Jp?nKM^Z^ybfTy7O|g zF*}rp^P|km&i8uqbCv7@k1HE`1NP(;dO6bK@KHGD%yG|kaxNS~W+u5Vy{|dh(6T(3 zc8Ve+E>0IlMoLlk%+byTGu_!mx$tLnpT+Pk5?xfs;n-5=I;GyRJlrfW*6Y-lIoC~6 zwl`bJKsz~Dbd%hO6fc+~5)eGVhAZ|Xjlf-YyZ z;s*RcZ&7xR*XUQTVT>saoSxt;&c8#tph^aNnkVLh&0>sup0mg(D>k6u)FjV!9~ovU zKQG^j&4BK!n5VvGjZtyc78MTny1`IgAkt^S-W43NlA(7cIjIXk@PHEG)>W7*^JdS~ znP&`iYIcz)IJ9(>6Jn8@VG^aQ$Jq#(KC%$&K_9!|D&`8g3U@vgE0}|VBVq6iS;h>5 zB2T^@`>atwpMoJ26#tuO!DoYyu;dM^!SN zxm>H6nKO%vb<2Px?27q3VN7xh=Pf%ocSKS4tT|Ye+$DuWjnkS}ax+8mnU7>(NocOH zy5hh$QMb&w*go}4x&0|TD#9C1b9%Em7^;}G5a?Nonqz%%Mw7_eHcX1UkZ9q`L(9h44Y;5FseHe&R3;WKOX!GmjN#!b8&+-z2v& z*kbTn&W*=g`p7U{1q<{hgyWJ2S59;a!z7l(IFBfot2;`1$>dyY>=+{)stIo4G`W3V ztR#I&kHujo54*V2o8WdA==G`Pa93Kjsi%>F=!=HgT_`)t1Ggr*^@AcOlV0G1UjYsn zYK+8OY05>G0v78wMnA7o!E`20_CPF7>@_f)h9XFIU~Pld7*j~x1E6u@P^>476SGR@ zX&5CrQp!XQLXMSumU6}p1J%@5U9K}P8xG?HC$_0#xI!2MSeu-kcvsIos>@h#pd$-d6MDv~d;)?t9om^5}!fZPGA|#fndGTv~kcY$VT0LQKXg zF?!Nh3a4S@@X#0%iSCedxsGuAf^05=>4sw>N8l-PW2c)lyl7UAB9+uo_Z;D8`-H!R6pS zS*+w^NTKDZ7f8}IWhAob>*@Oi!N!dB`qJU2I`$PH%^w@29pav4(-baSU4KSFJD zg^2RQ<;{nZBQHC!0Vwm3>z)@9OtB($m-E#XxWGM2URO{a6SHyDgV>EF6tt!K9CWUY z^JM4Hf2Y9ob!e;%9LdQ>+>haWS4=+ZhD2ZW3Ko^r5Ug=MM{pQ+VMKvD+bfqE2Ztmb z36;-r7dZ{pfwCKd;^`tE7cLw*Or%~xH#fS~3ZBtIy2j^hGbV%g|pr0^MMT zjJX_9un!1FtU|f4rp}R^ru3y*gkVDUENre&%v{+E*?G>X$(zG z3VgU>M8qhmXF)0D2)D4+u=J*M=SeoDmkKT9Fu^O(%rVZn&Vry#;XFBc{J<)BrQVbVMuOaNAxVD_&yxoUMQGdb=zhtts zu)-x#&NEmE0q$49Z?a!2PD?_aoY%0ahME~uLv zE>}1|?9w&Y^SfrmZr-+CWGezhJN zItkfU!*)n}oQ`v}u{{)v36Z+d}j` zKspe*cg(eKXn78A!Q_~P>xVr>Khg3&MqEJ9za~o+x7g&l0S9Mg(&8{tgB7i&>J&Gl z!EV7U*e}UcAxBh5;~7Behg3Sc8@hBb$Dp6#%Fi{71I%KfcZ^&3a)odvz)^h^t#p^o zgbydYF)S;&goXPZGSs)*Et`1B-LBb z5W9|UIfKU!r(CbXi5E&BIVnxw%?i9u=^F)kulpf}7b=hE!U1TtNDN;-bdXa_QVY6% z(z9_F&4%Za9db;QhOfg>jB;mCW4g^@-VOlaKS)>7v%H zLTk50>VjN<_U|=4J=IMbzX~ZM5^AAZlLvn3ae}ywn)=W0FPzH3_@l; zs2$v1;MWTOU2iXBmh_{Uc;5(5j)o%a_GDb1oHRHTwljwAkj$%t!#6CP@Jo4(@i+e= z+-aA_T<420y{+!E!tK7Utj1|%Q^5?rh!5H-PG zZAz0HI@pUl61?>eU8n?ChA!%Gqa8j7opHLs3LlENgf>L>PYNwHbq-#c>QSi?@@`SS zml#(l%L%V@Qg#tETN=S|!G$@*!rF?fx)8fDWAO_3Z<_5Zbh+Kq2!$7P6PvN;;WlqBY=F2z z)rTuQgphZm$Ns}LMX|72;>9`L4mtz8VAT)b^NQd*2;G)%2;e0b7U$vG+pwz>agBxB zT39MwKp_joWoDepu`*n*BdM_}EUt2YA6pkMnN> z>Hh^Y!Xl9(&XS>;Z54j!sz0IB;2)W2)tX+PWv#LX3BRLk{TS_VBz(*znA%qS{ST4- zw||WK%rM$uoFC?ypSB7|rPm0r_xEz)DWUS@SnG$J{rh9oFiMBG#=j`^zx`j^|MedK zw`cg@_xJyU|Ns5y{{NT!Z*`?3eu4*|;wlb=F8TTR@YSO9;}6B)iBQ@oWk_LuEP|e| zihQQoMfpf&K(M?;iIMFgTZtC=?UiB3XL-GTyI}opBHyZ{$b7xMwxT_j_nw!J#otC5 zFWYbaw^g;`J7fM_isga`@$*}jYJ5Q4jPJTZB1y53RZ=Y3C{h>-J1LfKG^rK81Dq7* zsV6DM>mWr>F{JpwzAtG<{0$6J{J>BwDflpu6yGHeBE|R2LrF2vcv5^%oJ5N6##2f0 zJ@Xh+erHaKp9h#kiVwCkNb!C2bW(iBokfc8w{uDHowkb<-_sY6;=6DUDZanL^>GXnUmgt-xo}Z55xncL-F&0r1*h^X3`t+x1mV!10APH znn+LjI(gkUwb_;a=^V(Pv=H(qbwmE79>|~ccF3Q!2=XT_hWtsrkUyyp z@+X}O`IF9r{7L6S{-g^af6_Z3f6_Z4e^Pwtf0A?&n=Wq>n-Vr2m5aNvj}#(rU<`^l`|abUoxxx&iVheFE|)eG>8~eG2j?-3a-U zJ`MSkJ_GraJ`4GiZi4(tpM(5KpNITOUx55cYaoBp7a@Prmmq)Ammz=B&5%Fo7RaCU z7093TRmh)oE96i58sty_3-Tx34*8STLjL$Un|3=Of6|?h zKj|*WpL93mPx?0GPr3*4C#{40N$Vkh(!G#B={s2er0+uhr28O$()S>L()S^M(hnei z(gw(%bU)-zdI0h#JqY=e9)kQyKZN{AKZ5*8KZg8C4@3T>pFsYkpF;kmM<9RFqmV!8 zXOKVX=a4_?7mz<`Bjiu|C4Pp-e|%!;$;bdWqD)(|Yx5rwini)(OG``n0k0*%-;@)0 zyEFc2d^1AHn6`IU%eAMmqqg)pi+@?CrH=xO>SDC15!G7yL=rQvsX<_s*iKw4a1?P5 z;u?YN#17&rfuo805?2b`gE*GBMBtvpgNQu>JBZ_nvjmPIP9;tkxG!-!alF7+5@!&{ z3LHzEMeGoGATcM@WEXf4v4>a@cqs9F;^x1Q&?la_gt$@QB;w`74FabUR}$9>Jcf8J zagD&~#8t#q0#72|NL(p!25}8>iNMo|w-S2<&LXZQ&JsA6xSlv&U>9)%alF6<#D|Gv z1@;g(5<3L;5(kLw0?#LICRPMqNPL>O`A^Qjgjk6HZWOqTSS4-{csViuyhKy2z$=J* z5Z4G?N$eo568Hh)zQmORuO*HpE)jSgF@FV1lSkkx;&|dLfj1DR5~mBikvN?=Uf@l{ z8N{&y*AQnBI|SZL>>{=cyp`BPtO)!j@qFTDu9H5s#3jUy0`DeXPTU}HJ#i&*t-$+; z*AmwV+(2AKTqW=!;*G?W0v{%>AubX4DDhTekHC$@wZvHhA0w_OP8T>p+&~;J@JZss z#IXW56E_k&1pb*gKx`NIG;uSrBJf$_)5OhxaQ+H*RF?un(bOn#Br*RiXj6m0Dlz}W zUQ?~WQN;YS3QaWv+ld{-RRTv7^Unr0RSMjLIF`6X;GV?%^9fBJfgQy0#90Ez5T_ES z3*47Doj6|LD~U6RV+D>S&LVaQJdoH$Y!`SCv4>a@cqs9F;^yDQ`X??SZWK6)csX%{ zz^TNQ#I*vCAzn*dBXBx#6>*iolZZDGR|=d#Tti$U@O0v>#2$gOh--u^Vh^z*@SDW*iJMQ0^-o+v+$ivF;^o8*0@o8) z64wg6k9aL{jld1WRm4>SA0pmJTq*Ej;u_)-fsYbzCH4s1NL)*tCGaugdg63}1H=u) z@dBSDK1>`da5Hfuu|wdWi37xTflm`R6DtCrB|c5u{F_++@Tgo$Bygj^k;MF+Oic{} ztHgHVT7jd8dl1(MY$tXQR|y$CvN^#tbgJX;zog!h?f&L2%Jh> zNn9)N7~-|WH3Fv-R}ohUJc)QCaizc+#5Kev0#7I2O6(Chi@26JOW<7Mdg63}UBnH< z@d6hRA100!*hAb%>=4*X93Zv}JfFCkSP^(3@oD1bU&Q(+#tjhWFK`(#epaBJi8U^NE{(7VDq5gt$@Q-Neg@8w9Q= zt|YD%cpvdv;u?V)h^vUJ1U^K(k+@Re!^AbjB?2EM-b(Bdm?t4uEpe8>$B65R(*+I? zHxS1Qe3JMuajd}2#Erxbfqy0r5ZeVlP25bZ2z-|KG;#A!V*TSJ;o?1iQ=`B^Caeq zC(aU>Co)$mak{`fnYq%5;|1mk&6PnMD=<%Lt}J4Qz&x?JT*P*Pd2(}kh!uf(f^*F$ zZvIiMf8rA2MuB;vb1f%s5SS-BS0!<+z&zo())LnU%#)t0invN(p7>lFi7N%>$d~?&(2#j+<@QM5WR{xi!$C}e8O>pt|Qn~oco5oLZ z@pmQ!)?+dKT-oZ8XVH>jNw}<4eDPZMR7AEeKV?;~D#JfJPPeJZXc_!z@kJH55y0O> zOo&*|5-ri?%+`w!{Z9~Vk$!h8Ek@GsW#H^n5GJgHy){RJ>v8!_HYmz=M>1Ij4 z{y^lTzo}Djx*m!Kv^Lu0D0EbZBL3uNE!pm$6r=i+VxlUNn?WK2cin@d_hi+-tD3*l z$)9|*I#$&|1Z!qyC{W{SLE5EjcQJ5!GmVmELs3 zu4=ESdbE1JppDfF1wB?>B50txOi(lp4%y0v!ONG;Pj1F|Bmdq-;Ci%O(X$7JfZ2VH z*_8$&{&5hG`B89S+qff@7158B{?SH@T+LsWiisk&Tf`a>s~53ji0u=x0AdXycG5eS z6P?^#x+}sM3|S}U%ZM6y27N^ADgC4KU61Gk`T+y#*Se6wl+GxtO>QnfP!VbM*#;-u z@9F>%?TKuol-5Q-5D{%kcMqL*Yvzny6kkGAh}Unx`BBJhrQd0Ip&5itu)eawXwrOuq|S za&n-mfG>7ubu^Ov$*1FLwHZ-jC1`2UTnBcn16Obzpgpj@XElGZrhj@&kBUc6!%gy! ziE&^I_6{#0H7O<<@hHB><+#`}Xe6<}XG~x)juq8>KZEKjGg!bM852nVx6Hr{IxvmP z zH~?`2GVoXdV%x%lX-^}qbQ`;isI!!y z@iKN`S%`m;t>o2Nm>?p{jmX_bMT|Gm!m@qOo%8!WRnqj z29cJXI8p_2gqZ3Fzb`iS1rD*i=`(4?`q=LuhDugM@YEhk~)g!Prq5gZ^vf zDIJ^rWrqI5?wiA%2Zoy!~R7WBQ-L^zDOKm6=E{=bxX1 zi5vVVS!P?wzm%z!vpZOz5!x2UphJNPP%VpsOfD54T$A!zfAUFhjNdC%F{*a65Tgq9 z7NX;%So8*{y0(pzD{rxt?Lul?%NuN`VoM_uIiJY4O6ww6_Ed9A%V1HqVtQNq;%~TI zJIJn%*~;!lyvmPe>f)n@UhQ2_7jO4CZyZ_|AI)!a z>f(FgCmV0v6W>$GtCaopjNvM}0TzWTh{KhuNf?5_J<#)rUHT{%@2hJ&^y*w^U1B7^ z@5!r6RMA*s2PLrKBxV^Ivo;+HHy?f~;{4T(f#s_ru*ciV__rM@k{i)7*Q~Be(D6$A zx;mriwkj6&PSKK2f~cJTg{Nq2jv3Gf$W?GH$0|FRwE^467HUZOueLJ&`A}^O6^SA` z5l08ZR?c6jzGOGoBJb^#o4Ko0WS=$cwXQ!xYgjW(_K)Mnv8e_B2z#$9(e?x?3s=@p zPx_{Z3g7!N%2jh6iS*~-ZJnx9}2 z?|=-b2SRDLk7s{)2f+Rc>XHMQz;%|*C^!$XrZg57{+QSU*w;dxKb)(uSeJd*(h^sz zb09eRyh^a}O0*CNz^~LZ<7$K1q5c=L|L%JKDRmb9hBmg`bO?43y+s|9ijFifQz;$7 zKtJp)|HOGYwfoq#9R<1W@U{--Wh>^zs!cvLA2_cUzOF~CD8637^V_FU{j7uHr5K1VNXtF!ReOA2N^6>9H&7U>!+QfstV z7An%nBDy{Dp_N>tmF!TF?^vXh(TbRY=;+2!k>6NED(WR+irOE%2-A78rm0=1nibk( zR72_T5dE=G{Yeq9~ zTgmranlSU)YGJM)D5nL4`{x&_O+_eRm{SM3CTA3 zpXOCAJXMiM-#XGC6%$zhjj;GTeU8^5{g%?*QT_(ut>#twckGFX@HZeycVFAVsg0oT zat4ZDq@YjeYSKsMl9YHw*IQan6o` za6}l(`5cSh&Z@7`Wq89A&~UXFX05lQ7^bb9zquYNfe}w!a;M;tcNjYt+=6T((4TDY zYdF8*SxP9Yo>_^adg*Tav|A0W(lG9c(OL;#)(qZhE2EMPYm1|=&!^p;1?$d@kRLs1 zcY7r|gCbhuAZDCGlpV4HX!uyBqC<=~0y6bpz%q=nOxU0X=!0VI6H|082QPJhJ~Z@B zD8*rlF&ZtfoSgOd+;EM2e_}LxWsA1*ZZvVD2h!luMbL}4JUFl)29h`sLstw|;CzEk zfhim*#oAh?M=_eFc`)vkOMd4(Y-O+N8%c0hVN#f(@A$#2un8wHD^V~->=k)j?@*6u zs>eio`2kS`G{ zjoNjIVx{RlNd0W3eg|P63#3CSrPe4Mf4JF zX+7dpl>yM6y5vJ2Ixy&^hmcs8eDq@gfAV2%X#=o7xlvoncg!2x*vft(jeMOR2==e! z=A#Z&OKui_ov<$X*hhf=8U-nbxZJhiBb-CB$sn)=bzfQE+v)&gjpHS6DHb2 zjuKGd6Km~G3_Fq>jdnf>puM9%e6km9(P(R%^@e`^B(tZjoCkm-$vqAaTZjRElG*o@ z%vh}*_JM4~q!f&-wxO&Kn3W2)b6Te2NoX*$kSv5R92t?Z1U8(2C)#T3@& zLsr2(i9DHE{|6nI4+9xj+q4CvqCLTVC8QaTi3aY+{zVn{;$-#rEf~ivvZM9RTg~me zEaesoNnme{XA*Pypvp=D4wb+akuB;Y&aYC#g_o4sEKInItQU1v% z{b_+6-?Xv4u!kn@6f}evhLexMH$Gr1dyg8L90ffZ4r>y31c!h+EQXup{&2>>v)>N5 zZ~l7Q3m>70wv&&wO%8xfDqLkMUZ58&p#SjT8By~NVD++#r$(U3$tSfm{X!C+P&u7G zT&b2ATbx)ID3T0=ak4H!XnWj&32_I~F_tf`j49o%euBmP$=*+H?l~b{Pmqd#bKg&H zjzujkf<}XXC;&j38uq>jrWXf7ZF01hMw<~$rX$}$7im&VPhQ}TiRr<9p~C8UB9m9W z)Iwchhl{mzi0(r2Nkd-d1r#p|eZj3jZ>rTA(wo@9+{vONW37l~lpyM^57jkt#Y)oa zmNS>#>x(IV5N4|H=%AY3`+cx$TG}x>o9BEXPcz1qsD2*BO=TdWJX!VGFntk?vXw1` zvZLv^0~~q0Fk5vv?$e0Hi$#R86EN;{EkerTmRK;md==_}cR}lwpifV0)3kug2kTH@ z54eMXhD2&J9GZ_(;O;sDn=W`C<)@yqtXmOyB5HGOJW3lYKf*n{O0k|1-tmJlzlc3}o85>k<(axBo2RnT#~OA!8I z+>z3gv2YhFl7D8Mie##jy!1zT!{KDLE3LwY+e>%H`VR}YZZrH7t{~RIM4MSv6Ahs% zyI-xrNbM-*v>qWartX+6sKdY?u!+T) zYl}Su{KJK(ehVq=96jCGL~v!gxV;QS^9mLPz~dRG>ypLkjBL(=mPmtPoNo+&2;NKL zP-;l6KXItns=Flh5Io$JHrwKza#8@PIb*M_+unm z_l+PZnud24zV;`2S8CV^z2}#H7cn^1PQCG+s@{YmGiS-_*F4DRIAImK448 zmb8+yyanok+c=#YIM!V+S44B$)W{QEC@%7eWzxK_5Tn2C_UL1I;JH% zAPuYyYIo0y$ko(hM3K=G<^-{59!G^Tvxrb;XmZPaDr_Wn9bNAybAB^+`F}OWXU5E> z;Ea4T*5#{e>5(`p_SWucfc?Qr=yIaFZoig_1k6Ecu&|1{~mF|RN!Yptb^-qWl`LOZjIEszsZDywiRE2nf>bXYvU7acz@LI zp#Sh|2h(QSe{0(D$3_1AJI+}9eWLZ+fWrQFcKm)3H2IzKBmTqQE|vY#@u#OC*xw|7 zF`02%B38}fRGtuU;GM{=Iz#JLe!$^(UF5ksdw2=Wad>4Nma#s7pl;xHfZRS zzpa0?>OWua4h(ovI|rvXe|L_3J;z(x>U`Q3wtGF>4ZM9AGZ%wwnv2zsUi{tIl%AA> zBp8c+2aRb~tZU2JHg#cHgBMM|abIYCp91EAQ|tno4542*I3e2C<-|}iZp3wYo#Wpx zBz_9Ud3PjituA-1jXy%W#m;NGJ{X^orL_@bK5-1|OF#en=#=$<7y^GDq3MOQbHqED z78wS36t+!2?jB&;6ETWteGW?e9(HhN!eF^6i{XTg^FIxaTimX|nvc-e5#ik1%K23{n&HeILQns7Q%&ch zqEwgQdAIar53TzHzlggeSf?o6?^LU6k%Tct2G$N121#fc?L8F$+a3Kv5djG%d!l(%n&^^PZ^D z16P5idsOM>1X7Hmr&v?!*fm|nTaDGVsBU}3I4@#+awEdXAu%DcJ7Ht0xkc28je^OB zTQBr^$;m1tVMfMF&!6$acXCwQ?#oe!?p30rZ72Sf7EISK5(n?}iv-(>uTc~0biF8= z7&CZ>ZN*lZ#2VH72Xf*{p>rvmWl(Wa0e2nMtcV10ib6t9Epd9qj0cdS51%`OmCE)j z^v+1tQ#K$4ipScK9yG6~7Jf{n^nIgsUyGJu)1yTf>r0H$tS>_ho|5s>b@-CqRj5s8 zE3XolOa4?SNu7lQN3zm17_btb2nhMx{8XVj3r8(-sp5fA7>S-Av=4A9ah;nHNxR^) zo#-X)EhX-?3;oA?w72?;wfCK2B87jd+n4{Ue*b@}FZB}*EW#b79b-V3M*q4>sX_y5 zu96yv{`G5OeZO0BQrw=*AY!&>smJ>B+{7k(gJCLYWEQ_H9N0)c>5MA!^o)6y}ir9w+S90crYAg2-ShHwjFN^yyxR>3G-BavgQDXPPPG+y( zXWG4py+ifQ7CY^Y(o^VsV)9_=CoKM(pMcFzcu4wssk5*Rv7c=vKQV9xgQ4>fC~JT! zh>aYpctdOd;KZxJ^#=K)231Ah{cNxLqI78mWo z&J+G#JXQGHR&NABf%T+28pX}NI7U#;m%i81@;V28g*bfd_^R#tO(@o{!9OU^?}>yr z)mp~7KU-&EKVrTQ2>uIk$V=m1{5}KXz5=Y@(bz^Tol^3I{k^gebJ@u|6>mrXDyE96 zIx|E5v9Ui)Ux9geK-FN}$K9Dh9rNns!c<%qv|OYgN29Z6f_A9NXyB zv>ebbC_RPY`QR``8OIQPKU{K>_mNt6j^8i>_;AL*nj3ZC>^m(j>vtn7@FQZ{FhZ04$~D4;eA`>g4{ zK@C>{UdES?#(7%np1~du*vdabGu8a?iI)v~0V?%&H1Vaw&vY>`lxB7&hEkDM$?FI> zg%Cg=sAK7(%HH!X(2^@#V#;f`<2yhtd8@wlCBM0zJBF;6TuHXqS-1sp?C>dC?mvq$ z>D!%1N3vqtm73;I2Gk2VuH+3vmeisF-&0!hX8%sSXI7LQzuWaqSaf)zLX;0o>?usk zZ$Tc4rKFGi&i!E6WPD{L463bs4EVcb_dfI=yeE}><6hyrpy`u#xOo@+tSilc%@FM8 z&edH@%z#;HqB**K0N6wa=7ip-b_*)o${t1C?euNy$}=z<&a$Zn|48}ZbSU<`&f3el zuxFG}7c{TEoQi%1zwiIiR>2QTwN>fB_&T9OT`6OHw9-k4VLkeH+Fn>S262Bm_v*p# zEb5_&Qm~?aJyIKCTM^k_Z?Ud?k{pPw;yBw8c<^a|>2$QQ(CXjDd``ty#=qOH=~&G4 zYfa38YJs1$#1%xDrVT|cZ58=4xZb~d4C>m-)-lt!Tw4{-+_HFn`6zgPSz+b* z#b5urIH`T7m9yrKGZ*dn-P-RR9@;MYZGZ3m?CE1Dckyd7yUtadLe-{i% z%UtVv&lC6@T<0toS2{IlMyO5b%N8vDY97m=K<)g816}wk zMJzMzj!1ro#Gg&mQlMY9vboq-wF-`Z@Jb5FwlbF~;QqhJeg81}>w^#5%9gO#wB_0w z!T0^PiUmj@-}m=BtRIgn)woELaT3GUBa!FkixaI>0YVrzNn>9?-l2=rut$+#RVU?4?;wfzu-w(8`Y36*f z{C04tD+55)!ZPpGJSv<e2|X&DRp%SGPy5mwvw&i?Ww7Tk_k zwyPQIw-dKM(ZFqRgy~lgKH0UDm@7mn4n;R@NRHA{a>+$ueOp$u$Bua^g5E#p*nlEx}m!>Bbu?*^LPlEs3IzU$CnT{T|(@K>EQ@gf=6VOCET4eC`O=mGQ-&^GV^XRXqvf$o)9Iz;0SDc zAC|JMUb1uv%S8BJWOI67rGg<5rRAJ|tQO9m6{r3WYu^JHRdMy3WETt?y-_1Z8Z~It zP|_A!Y*~XfBy2z-ib8}cQGB1x=O6l&>aN8~Aj#cLxDE@!0Mgb!SgF#A6)Q?qgaDBR zL>rK5K-8$I-8E5Dr6EO>_xqih-E0>4Uf=g#l)ZE3%-=I-&YU@O=3Fx3SJ-D5h;Boc zk?+LlEJXY$_pgC<5lTwVO4SydOg+C{3EJ7<_g+Oh(@e@K7_W3ylgI9e8WbAOF1$pq zheo}!!CF+pqbym(g3Wkea5HhOSH4~>2g5;yD9tQ@o}JdBb4Zu5RnP8q>lM&il!|z> zWH@g*jpSL;Pa)(P9&80ZV#!5d$MXh6T4+h!pI;9^!@;KSz%gy~_dSN+M>@|;m2sGo z1ylZeQld1Rh%?|g&&`42F6xLS)@0&I6Gg2M2uK5Hx%(WFLTu=Nfl?S7I+w9l@SigO zII4{OJL-&H%_QWPR$wOz2183Jg7$6GW;7h_c!8CThwf6#8NQ2*ys<*Kz&p_IF5np` zjYpP}aM*AE2jtc$@G4}s+rP56r>#zN#!t5bV-X?T5X6@r8eb$dIDRS{bM+1bvgf!{ zt>D?LcXE2AeOZbXJQ**Q_OILs9tHNTO~q-2<8!Ux7y4yj;rKi&_&29!@P>V zjW_N)A0z`(^|IFN@eNdu${IsWAb4ME^g$%kt83((gCeE|Psfl&S71PeFOR=fle4r` zH^kx*K z8j3hVkkfxkqM9~Urb=}tBDGG=9eEa`9UV`o%qVUZmcAnTqjd5TiZC?&qzLo2Z_z1u;2q?2I;7%;$X{L&+H!++My8;J6bj!!(aytj zfE2811J%tmRu+ZGu&qwp@cPlf=;U|YI8%1-o57WD;PCoUj2qb;j}@IOi76&!k$&+P zxn?6vz241|xtKo6(y)nK%o30xg9|A+1xP^_)AYzg+nD7vl$41t(x>R0*SnF)B&X_- zl#`KXa@>!O*iW+qpxDuPp!Nam;V*zs)AfiKEs1oaY|>Nommn+^B*Ti+Rl2Gbwx!SI zk3Jx5>rvn}auryGo^N_TXm=IBVh6fs4CW%}JaGJEx2I95`Jvk>?+$yr*mqb7bY2wW zr?jxPf?p%r_I9P(+X`@6h6_2?A~-bR$)B};UY2tyB_C`3O}WmN$0-e|qP)uCr9&zU zU&=vmDq%uotuM{N^ArE+)_QNGvat3%0IYx)ZLrpF6$GvKe!_vUHo?pQ^kQualg{4; zo#W&Txjw0Mesh5oSDVYsEXOewNO7Xqu>w~TH|6P}(sZcvGSOlTNEWDFMh)Tgl{moT zaJN#^zzyJ3NHFZ3>Dpp!=WxPMpf_RbFy0WsxGN6bq{k0sXePw=wSesq$Xd{wm?eqS z!hQiq@yf7UZ(wCa>C>Do0?Puwmu!?ck7-~mkFJsAgX)QyPd8v9{U=HxT?l>(HDZE) zL}X>5Aj=9qjF;#KOeP!0KKqAw$rZ~N!@`&9v!>L;5ls7em*;$CA?m};q{|j0< z!4kn6VWc{pHS6;WH}DqOun~pAIt=&Eq@P`oVu!U_FYKY{Lu(5p*Bjk5P%lp%y&F^w z4`5@9^RLha9*YX!`5Jst4vHN~V+9^%rNq@D9#TTjGqT6=nstP^YUM1q$Zfsg9ua8v z6^?wTGc!3J1wsiA#IiM7qK#x}QN_E~e+$L9ipbm@5TiW)=J|hUp!DP)C=yT_1gpZT zCVv+c@Gnx|s{HF}wx&=(c%L@uVxL*I0SdoURMiHq9N&78bTcE7ZZN{m7ucJq6>O~2 zeW*}n1bKoCUFvtDkpJx7)O+sW%iqn5pD&&I#i|pL6%n7tB6`t~nyR()@NNZ80m0!V zOI~_3WIkRXp9F`2hzFImn|T}^f>-drojg*zQ3IO*zeN?>(^9=F5zNd3fp5!SM= zYd%E9Uk_@<+Kwa8njDm41vn=(nNliU@jaAHMaCCc4;}z$P+427F-K5_@WY7`-x0k` zo(D7>{a;K&e&id@B1L}>{d-NrHC(ql><+f;h&1l$dQb9ys-*nzfFp?KOvi@tUjx(0 zkir8VLWqS!BNY#|AVfwI9?*ISA+VqDfHs75y1ntx!g!8`cqj$UE*dyM_`}mLiG;BA z@piP;3j8V)1z~BDCSbn0k%`P^rs0OXl7l6Oi6j4Yrzov1;Bix*dTI_ZQ`15W8dC@G z9c5RusVH~H^HN?0l~OF1UBH}^V@{AHSMmdBd*oxiv~{050Cz%lSn9k3k_NQSXw~FP z2H-@j6`}5n8QP1`?1?CSKpR5Ur3@WFsOTF)+Yw5MFw}ui>v;@C5NelD7ed_<>Snt0 z3Ej>RTQuMxLYX$p>qV%jmZ2jEjbI3UkW}Csd(k&iG;Pd_n>1HNx;ty za5{lSNx&lpID^0olYp5oNOh0TByeC7u)qLsB`~_Ne}lXRcpHJcl7P1u;4A{4Ndo@L z0A~~UKoW4d0s08^Cjp-|z&Qj?PXg{Tz_|n#CIOouA_A?CR}*+%67YZl1_(?|0{-0; zyMVwBiiQcJa>V3ZNMJY#=vuGqY#{KDNx*Xra4CVIB;ch6xPrjhNx(@4_z;0pl7N*4 zxRSshCIPDra20{)Bmo-@a5aHPuv#Ye^Kk=QL*V;Kz-J9`ErDB-fMEk%N8s<1fbSY$ z6M+kofL|Ek1_JL)0-oHYaobGb)k(l?18gC1WD>Bz0JjsEl>{7XfV&7h^m2bB++={Q z1ny4)-e-V&34A39*kFKd1g=a1K4pLh2(*)cEe6<5U}X|;p8<9dcx4js3j>T0Sdau9 z_@YK%7lBq1Fn6N{b`$soSbHKR3^6$m68P67;13P3m%yeZ;8g~Aguve>0cRRu${_&f zB?0{g=qB)%Bw)w@(+M1x1pK1`W)OHu5-@ClnFOAk1pL4Nvk3eY(pDl8dJHg|z}6(- zDKBaC5^$IS<`TF(3HW0J%p>sLB;XVS%qMV067Ws~EFkcTB;dUUID)_nl7Nd1 za1?<9l7NpH;AjFPP5qJZCj%Tq;A=_1O$Jy*;GdF!`wVa#flHErmZ9581p1PIohIjG z0;eSbzcRq71YVW|On+IA%5(zHO#+@{fHMe8NdkV`0A~{T(fa;K7;S*J61Xi1SZ08; z2>e45@D2lL;9LXr5%}{Y;9>)uL*R8uz$XlFE`gUO0beq}Y67#9fPXQ-0D)h< z(7&Gt3~&K~?-Yi_ zpReN|&&D%y`WgY!I7BuN=9w{CCr%$_66fI=3Z|I;M?OKB!RE(DAl3@-d<+fAIErh` z>>7;`*f4HD*tOS91IFnx-9@_0$fc}%z$Cn}Runge#RcDHaRVlpXzi1O8x!nXTo5QD zpZx*D0UJTo5V>F-ih$!2#Q!ekUjXh-01g1~cd3YdY&NnJxl>WJdM<$4LcvV-CAjb# z{64=FzsCNRsw#G7JC=ENhPx+r#$1?}9a1k=L+o!0C7-qUd2YRRNhb5@Xb&@2o6NEW zgQn;s43S#KItc}k_|fN6f7YD}u3&@MwecX>{-tK0pw!R_OPvxc^`Tg){{T*)^f^sk zek*Z;L!~j;hlYa(kU+W`q{jf7p2bY?Hi2+M%hs@fsd-f4<)`4%JDz!LKc2bfNzDx3 zMe&QLDB4?k0z)0S6S_N})dL)vFqwr(XNi}mt>z47@ z48EYK$g}8SNQ_D1Hgl2)MLz+uQ{}5oKb&PN(S^uAFtgbP84*K7ub>RXVd80e{n<0n zLaZdk#jQc9kNEIw4jwV7f-DR5aOQIO(3FfwDYB`cVA>QMz`%IIR)84L`|}uexnUX; zZ-&{MCsNpQtg_KxqrwJr%JAZ!WWrG!Vg*n=r8C0QF>%>~E2{610p}E0r5Q(jVD{qu*ntTw;JBHYH#q^Z zD6StW#-eUk^)zT8I_3yQ>r(2J#7d0k{J#cTRUADJYD&pifD+M@%qXWwWkY1XZdAtm z=zX*faYV&qeBl)=C1j@bG$w(tdsF3(2R)k!`?&H)qIeFF2xHy<$!gBBgB+TvdAXrw z5gp3GTXtw!mww9%E$h~y%+Ru49m)tTJEB9PSY`iS7h3VJUVhy6d1r|0kan&E({DsFF1@|+Z+QMr&vL%)d@%M7kNrDLw6l@_B;Q8{lhIr|7u555f2MveH*3Q)|W3DlnbUpm#!vS(&k;P z&Jt6_H$rY+%%=J*Jv45oU^wL7Nu~cBEM9USi@pV-L!JZ@Tsr^bYgq`dY6<8lh@1-2 zK7GH~;|lwFY#oyVDWdd@oh88ZJUKl_hYjKAtQ`j38S*eMNQ&yx$XnQ{?-0j)zz2+d z!zpwr0&G+a7&ENjeK5H%L?v)}hGz+FYOF_^F>ph-IC9ED#iqeawpfg1oljV^)Qyy8f@j#_A$}As848_y!?QXmMYo~a63=+Se zh4$DJrsH-O(T4QL*mu)p^lUT!AU)2xqi@UA13$)JTXx6pi#;|2_>@XudUs8F6|A+Db|L@B~(|8q+7udX++WvF~ z8j|ZN&h-62U586tvHUky5FfF7V&Snet(|M#&Qzf%t#W5FWrNzI0y9_6BzN$A!o1 z$uM5xbrHU;IwwIC(b}XW>$$wf?SbYyGc=%pZz~!HAfb zZEf0C=*^s;iPKv==cV(qEZj6U*in?`e^Dyn`Lu~ow2$Wa0f)HW%TdH>Ax9Cn0jjdl zj;uR{PZX#cUH`bWEXM^SvSZ`3oq@rl$B7^8oP?`MpxLvJDQbw^y*>T__VG`&9aA7v z2?p-;W)!GNnR#klX1;R@j=xB{{nrQ082a+VJB?h1z(H6JFN2AbLNzfr755+<+^^4a z`LjL$ns-*neHl!DPQyI&l;l~9Ye6iq6ZPhz>F4e~oO*c96m9K@8~QYQyl(_xt||Er z&OY-n=0kD9zx$iiFXoKV$?nTD=|(AUo@+`0()GLJVCYl~DE|fP4X3qpHT)FG`+a#j zVpBtEH)PR8_h4n!ErIblZjvIV?pL)F7JP64~@A0#{OoC z%hDXRoHT%rZ*?}`xuw8W$3ewmoU0fM;pN!-#2EhyRn2Ru`u-_tne%loVvd=w?*G$##kr$i zG2F((RQ)QLWxcTs|Dpc4Xkuz^OsLag?;Vk`h&#>OVC(11P7R? zjdlAys*&8%v(xt@@ICU&&KymDfNvqc^<}6u&-Tg&|7XBpnp1`)Cff1v(WCKo2!`n_ zqO-#wq;I~;eN|kxa*GTU`O{Qxmb+*z=Xwm#@iio2Pd#`NZPYf+P&2`l@cE-Zsx|lygM{;0#Z9uiky;h)-zl5 z#TGE9gU0?bGUgG^_JhtNY(I;73R`HoS`)7nd`UbTECFQXp6JiP9}?z&zVJIr42BC- z9jUb8TMIPq&qOF2m&mM5C4&n~bA6S-Gd}f{5?TIRAVOPxMfN{Pi>fI@kO(Ww#4P9S zVPPx_u)Qi7tWBs?X&%j~Xkz7#d<#Q_dCaC3{TjgpJ{LWIg_-vyLkdgt{7Y1oneR>& zWCeOuh-M&9OdiAd@%|NM!28LZ)D3yo`mtG+PAx5()YzQL;XeUW5`!BxHW#KzV$ihd z9mLT{$y(oxCSiq?6dXCc!nR4Wvw=r{M_Uo`K}9;%>#wtw9;xBt1MVP7Mu*(53Wa$i zW;Z_kQ5j0_0V}|zhDowOQed3E@2IV15o(^<&QXxlHfU38FN#j=>)!FlmM0gz~&Fq zobqLCSoTge7RZai$B~Ga=e>WcrVv;TKB4K*QPGZZ1V9A|)7WoePo7>*Ea##;?)OqI!2S<&^Foc8$Xh_gj;(;CrwrA4pM(^VCV|R*Rg@?GOVY(l zV20;877VWijSGNejMx~6Z zke*o1i%}!Ol5+^coh?L5vY!<6ucm7Oun!c6y$_+~aZl1mVC8Zx?vjPQ>v9q8cvow0 zYGJS3GYNY)AQs+dn)z^W1r~Vmw(uqF-7XKz5PXFWur(p?L!g_uPD_o|Gezv%o(5x6 z-XpQ=&1u+g!#?*(#A^J@{&5l)4D7Jr#0XblPjldAt-KWsMqN7s9^9Pr1J*Nm&2!2l z>e^9o<>r)kAjYmbkP1P`cdn{vv!3}$e(L+yf?`mpbJ*#nj93)`=X~F;>PW>Re`SI7 zOj*0C*qi#AwcrT*v>yT!Q*}9S4tve1*y|hyRL#o=a~<{-u8r&)wA%`>tE|U2CX|up zY#(0N%L=^P!Apk0x16`lcZh2dFYvk+QE>2-by*=A06P1J!*NvI2tZb+`UZh>q%NZA zq~<)Gf5zd>=`;c*l9a0kufD|m8-WF@YdL}Dx0lk>qj|Q z8Y+wtyl%C;MRdS4c`^?wEadu&`~OmSI3QbLcN zix*s|!gn2E7@2O*8-YRX25S-DM<2@H z-uXD_)}^|nR!!5b)=u%t;O$4{%c{pJ~jgz*loyoG7@jc`)S7{rvF)M{Yijh!#h3=&(Ey& zKRE+=GLasVXT?suV?$iA3zeoJKjNjbvsu?itZUP?(8r7&;@OYfZy=Oot-tcTsxuSQ zDWoI4-UA0IR&W4^9Scmw25WsW+UUX~v(hO+|B6qm9L}f`H^OHi%=m#k!O2@r(N%L$ zYkm0^*q(zowaQj~)1FiWyr0pZ`wV?hMag^#u`PHd!lHi%d1(HE{AlQAoxR&K*}sTo zM_x|b>ySNqCED76x^{*t+O19HJ5dcr#k(uD6+OVq7b0bo@1u>mi4~?rKa9~M>f44) z+fUS9Q{e}oF5TYfZO96H;`Q(oy`j)UT|F2Q3WHXLOKAbP6>Vo{&sz^@`^-~<>RsfrHcIxTh!;6}Go(WYz~Y)6-pn6zG+ z%8d}SL+?@n;!2CzOR>JZ0@=T>FYw06kKK=tM;peNYEn1H}pkz6n6l%eX@q(mBIpdKY-AE^(Oc|+47H$J>u!cV zL%Qg4_Pds|&){MzH8e4!5ZbATe-lW$u-NTiZ{Lxgsw9CLH-uIsK?j97y@y&|bu3)2 z?9mko#J-bRddNM5-I<1EQ%MS*i}p|IR&`P%lBJ;6hs1+)nj?``aICBaB-3yzu#ehO z6h6Du9pU##`Z~3EIQejF021^iLJt{Ki56$9#(g$iB&BR#Mm_0@95fly)uJUVwJMz+ zNHf%?Y{aTxz(-oQ^RLd+$d^QanE}6x_jpF){t@;-<8un3>HE7qHl61f+~iKCn)}Bi z-;uf9d8Vd&$QfUy`|>s1>2~(L*$!us5#cUX>6lNvpz~HYi2JK_|GowpTs!84zkv;b zq)^!q8h4{hYr^2qOEgJu)rp`1pY6PDL$RwW!>N%BuPKN93c0U@ugH+QR!z%>c70k7 zzOq8vbta2XFvT>|Xe&4#xa+jpk7D{*G|BJ%A-2PAP;`G#p&YRTBOdJ|_Wvn0U`03IK_`xer zKeP=^OM~VLseD&+`c}Zr0c%wgGecQLxVEzS!!*}}LMbOZce!zXCB4yUI3gL*Ja7q& zbWd?cs(;wX<~Sm8c=H8{iA`Pzv5o(d>Gj~q=FWYj4IG+o$&5UW1qD{KI?h&&B01eZ+i61ym|KvUGx8GWmVB2Xk{V)vapjC{;KY(Z zJRRh4Aqb4)lL4f}sFruD7n#_QN>vxzw(wTY9nnwxU(zwgiKJ}k_>E6vbR3(92CwCu zs+d`0GoqV`+r;nd8Ga4SG>kyQ;KSuE)sT-6z7C{)$%ChLeoK!B%L`}78e87&kqq-n zC|S5iL$&n*rdg;W6Cs>7bt&Iv+TaA;ZxXTG*KBWvr==s{s~@9p1Hb zaKD~8;K<1*pZuig64==|6z#Ftyc;x`Q~nycaX-Yv;Al)VhP6r(i#nW`B}_ z?)@BFIo^}Z#5KT+ael$8<-^5C9a*!r2`>wvGsGO^bdOxL7Ro9FP&D16>n>#3$BCQ| z2JJk`CdGzW=*IJ!@AHuR#u!@ExVm1JC#XS%@iJ%DfYEH~H~#uO0xZU#fgLysM)PMP zb1oZ$4KqFb;kBQ%#(GTIR0InnP<9J5kbA|{qt~GaSfTsu^wSz z@oXx0xvv8*!GK*h2PiCRR(S1#Z2&)oBF#nxedisaao5H8oRTc$ zr5B>}P>ajE72u9q*CIu*qRt1|QMLg2KgH^k`VSI$>(q6q#N1B6d+~X|GzYcuyugT|^`j`zu%*K@M1JkFBe5aQ>`z5-c3KAeIFs3gnT4zV*si47T3(TLc3X5quE5~|Eo`%hrOEwE&<~7xjNeUi$~q`Dxv-aqdrVbIbCqwa(%bNm z>yiIe1^!q%D_lB@bRgs`{wyy>yiYug{iRv&SK1%usyVq<@G^8oRjkBW9k;I)5v-u8Tb+tE*x5R7ZT{x` zLvIazEA>sMVy&}PJHpypShZ%JOI5AG&2Xoz8A2aEEZgjP-&!;fMd9AMwTS*1pr24> zs~|wbqQZdzvi4#V89Y~*A>`LKB)ZeP0l-xuHxx|MVQf*+45x^&wwMFO()1x%*UDGg z-lkOByAGdPX!6|8o?46k#NsPfI~5xgx?i?VHH<>M$~c+pWDS6DabJ`hDvQK*1zm{5 z)&_ovV9~P<*vIKrM+mkUnBV;slS=PfuBktIbaf^?$OU$T6R5J4>fT%j)*Ic!y%AuJ zx}Lx`LePK-&}>6e8;;_T-s47;;X%WoFQz8+J zFLDx}2qjUF&Oj()LCiR=CqDpl4VA!w$i%_8){etx1g8vf?sj8m z8ZMD_W7uY%Q9BdiB)+`VIF1EK8c>Jra#do2J?B0?N5Dzyp zN_>oCYg~Zu@7}q!0B%^oqfTeVmtnTC!(wuTOc4J(;_H0=+f;IWi(pWacNGoJZ5F6( zTGlv?R3Sm@{>T=%V}Q5)p{;gL$Ub3Q=sl9+*G$@ECq9Kj7N$9JIPA?OHj zu2bU1*Mx`^d(NyBE5Jo(UOD&hMouic4M?!oPtAr745w4;CuKt)TGn3anwp)CnD;7O zld@07R-b|!q#(dP4B^}X3X@2|uh4+QpEEMyV*bgX@|qSF71!?psj6reC_T6qiJ=cdFT(P5 zS#}599Io|JBKzmD_rB+JJ@|Mo(mL|RR7{0jq~Mg03l``+rY@X!(H}=4dO-O&w2ZN?hXs*nc|FkTxIEG{Yq1|qiax=% z%9j=WmU@L%!Af2^0vI`(En7K%!RQw|J@rvoSU}XdPr^b@)H7W)%N8G>eLn zsFZSVc1%CnAX)bKUxzjtr2cuhu0yEaj&U4&{I(12slzLK%6JFWA3dc6?;?iVUsn$hh0JS-s;F2wxqShRylpj6gc zyc-_^=5GPIr-2a9T<;kf7he`Xa25XPt~i=72(!@1e(klaysZ%vNdB< zg?LPpul^-QvRo+6fHKTe1RrM`@RX&BZ^i6H$Q@Y(f)SA(v-JW9+X)sFpm&V7*`Hr3 z^=q%&6$g2KCOSPZ-s3hSjG_|9>-cS<$4S$Ufw~>!C7H>I!RN4TjwgKwqD`#HKgU#n z*EnOYKYn^YO@OgSnGpY8WsJj~tm?)M6W)69OI$(p`TE9Ph;!;DK>Bv-CgHaa7h!Gk zLA&x|XhQtsALCbfX$G;p1(`zL?O`dAE!W<~g{d7~PF|)#q~g8;WAvX$uotpl@F2N0 z5=F08pmeg(pUp-Oz1vY~W2YnIA^y)n`0$UO{Bx%+TX4+;$X zymnRhY4=>7`)<_HoXIVf6TABN!a%gp)j zp>=9HuTY#xHbw+&zcMxn{~;QsD42Nsd;_MVXeZW>NUGFl1%3i(ypT6ce^^d+UpWn( z&ztt1C2Q^;|LM#kOB4Hg7R%@>`U#iW5*CE(T$26!P&m<#5!aYe5m_{6n9v`N2T~U0$WW%3lN<^rSqX=ga;;}(pplf zF7H-dUf;OgVzOV!QZee^=bYuy5PCq2e{dw$lwpXBjXR3QYIEsd&3Y0&l`srMpZr38 z2bCyjj|{h1z+oS;W3%5!b(I`!Wz_`plofLlNjUG&$XF=C|2oXh2_P}xgvGfT^F2|12@vg$|1@>dm@#9vh zcd3K#F?b(ps;sQM!tqu+-hks>;CL5ChJhbo7H{+20K6o8R}l39^`zM6P9>k=VHf|P zi4N8ADi&~&Nq#`IBb?rhnd)5aM$k>iPc#dD@d9!BbSl3FJ`3FvSu*nWEUB?{s_*aN zQdyDV2&)wG8_FylA!sfgr5~g9V~oH8+o&xv!L=qRF0s=6AF2?0AKEyZycOnjb=00q z+B)jY`KOjF#IIAD<7^JOtLdF`T-u1R990p_4MbQ@x8$ufTM0tLq6ubHxQ>cG9ioO& zhxUTU>riGqF3W^SxL1N0UaUrnaNPkUl@8U>$VG=}DbBxe>2yfBDdB;9aY|kysRD^W9rpH4w;?SA# zxLf0Kx5Y!VOz6v}LUmMS_6bF#j_RR^0co&JM9T%31fV123D>QP;h>K0wfPsW+b)E` z5G{Ol94|`f5I1Ae&V&++{tG2S%T~vAadKb)q_Qyxwbw9Igiym(*q7IhL#UMwzv}3K zwLOC&`kU^S5S?&Wk7f=!Rc!bkq0w}Ma!J%rE*39UqEvV>MKj<*r(RwL9}&CnWzW($-%*zReJTZd4!q@#A3f0)>m zdet({EWC(^#y{SzcQeDl;#KMF%5WWxLbzkC+b97HJKynF>D19sM3wpw+JcZMQOQyM zF^JJKoYI+2>8)fG-Ty>sb=Am3+US8oL(gYY49A(8Cvl=rD;~0W`5FKl7{wzSa}34K2<7650$U&s|U%k-xs2nB?N1dd>NGWy{b82T{Whr6*vdk zb(ONkN6`a-Jab3xy#vS+P8BL^qgIUVlmrySP+9hWB7wJ! za>E8p{bSM&Abw5Su1ch>Xroy1Fw#OK6Sit!ejC&WoWJSp5>s1Co6*+{BH}@qt6~MI zqounQxa)M(ffHBBC<`%?tU`y7+a16zA8mpd`a8^4HtB~*PPNMSQ8QDlWC}=BwFZ7a z;4l4!k=>EQA46K{V7QJnikJvv4oS=b9rG4rPTj&Z?K-A~G3QB4hmQF(W4l>%wZ4ry30<)QK%UKjt z{uyuV>mTt1XGSdl*xQAy61`mtZU|A~jF*1Ti0()xYIh`MxUMUfzOFkKLe7^=&Kq>j zyq8|rIp6vldeY9YWJFmlh;byZk|8o9gRxYYd`6|)h+|~TNQe@y^HWmfQbOc&83Gdc zQ&{K0^I{7Ls?XYq8bDm{2qpVY)=-jNsBSjWaUP(sAAqzYf5&kdcxOWHgQoEhOKvN0 zCQ&Kn>vSxK2rH6$Z;R!uyEPU<=|A48QTG$wf&y@2K$(+>{fU7Vni@Wimn13bW+jx= zVA5J9?TwO_DRkPou@K7LVbXqtK4HKny!0+3x+6Dt0PUYLT$h4rfS5AGsEvFH0{w10 zebgfj4%M+dgP#urz)u)67^^};i(D}Jfh5|gQ8HZkT_iOJG2Pcvq|#ANH3-y#MUig+Q(=iur4p<2!&A-)!n->__9l3<9cuiW7i=q&7 z7Gpk=m^>ZhVoa~Z)}jhJRKL{x`55YibVCgcR05$cS6=T(XO4HXi1 z9Lwk<#0jwyo}W7ZhFfnVHM zDf6aLO_yEWn3*uZlVe?fbqGeou|-1`F>p(M@LqGMqry!?I6jCiijqduHz#ppg=%yf ztaXJl5Izg{1$58~o(DYGuMm?^zzc${Kp0D(3KAV4OKJ2m<+tWa8~T-B)E~ z;9d_?bSlddeTli@cO{m8uFg&00YL?S`~^k{0@n}zLyQZ4idV49jFcU8A59fcI;s^8 zN?$kR@PCDl2xbU{NU6(Z`pdE8a=VzE9{c;>BRv=NTW*qku6Vwf0u>*R5h-si*&Yk1 z*6dJAgV2R)@Gn3q(RRp%whSh|+Cf}r=`kE?1%D3#6kO*t72?F89P)VuMnt5$koy4@ zsN-}azgazqt5O4|5{ZPpKOJfw?2A#k#JKaqb*(Xm6~8bWu4{|M5kuH$M?%ofqRDO- z09f6~93s3_i10X2YorP-K=?z3KS2N4Jzg?np2RC{e91QkGk5YHIkQ8 z%c!oO9ja{f8@r!}k6j^#B zkOlg!TbGZH;t%=?6B2DM==k*jlHBADmD6@4KUB6W0toNo7~S%C#7Aw9@*GTIm_ z+m6bhbJ_)N7b?@Wk3;Qnl?1@QQ9D^pV(qc%QheeD{LnPuFE{9M{b&t2RYzP7%!0># z6q)?7dhE}PaCp7!AUZgg(tryXmXBhK)H`1k1cCoX$n{GK2eaBHy-nH>oq zv)Js_8T&0ZSTRD)$Y@s0RAj<{$pQRiS zx_S0@U57=eaJq7B2g{16S^UGhmL`diWVI* z-vr)`wKHUM{9~n=eDbXl#P#pc3CnS$9BPIB-^v+_ax{ZLIqq?6D@fqCnQr$rla_TaWP#>C{97RbtyyJ) zlK(wJh6eo40%MK-&b)LHG7Km1SmsCHwIBfIpffsQ`1C->)kHrrhHtQMrHt@)l#LS1Yp?<$);~Ahz9U9$2>THns)uj9$Nfy zN%2N7%&_X~(2sUvj3zdt(SbPnin*i3f;bhcJL(5pAOoL-!>e*$w}KecrH`?4p!vq6 z&jTzM1;kk%OT{~l9{JQFjK1ePu9ng-E{n`S4J47sH&aE3`7U;N5MnM-xXHZ-&KJv? z3(H_CM|+=aIh&cdVsbI#0$pjeJKOxP(em<@O8^07ra*EmrVqj0QD{&#`Cl z1N4(jZOef+ViPI+={5-BP!^));+_kHau4)bboN0@0vO|==~x<|7iC-JR2mHh`q+#@ zqqW7CMR?>xzh?gLs_shQv!b)d7zS~&Ul?$J$pd54^_`tV^5mvCcb2dBPR%|ozs`b{n5d6@O z9Nn~R-86__+u2WcFobK}7!%gZVK2L$1A?zJ<50ACE?gNv6-Q*2?~UHYLS>(aqd<2a zyMUbT$WCM-1*Jljfu}nSVz6A_5MA(G&`~1PMJSZD`k?$K4JEB4<-UYay{Xhv_l;n9Krz51ZQ2NB~xICj7fd7_TXIHKjs& z?o7NN1^iD@#dDDODpj0?nOvf3eLDA`>X%3=DRV}st7v;HLIR9ghN>I#DKn5l@p^_z zE1Zy9bxPs%JnJC}0G(;L3M17Vr@x2?f%f$$`JLOY>bWSHH3PT~(h7)r!zFx>USe>* z9|wL+dF2^!p_U1f=-HBrugBv$O*L}%Y)OMN6|Av#K;GPZOLy!A@|MoG498xGH~Yg( zzGXUg1K!xLg!VVFmCoM~DSQs?gM9>V7y2{Q*|@`ado2%+iKx)RG$>e7czLg~p|BMG zLxJn_<>DtD*TDn>tF`}QDX`C;b$ssd(p+u3%W9jjTpiWWSbc(zNhih^?AO4}=y_2) zBg98A*+(Vk{k#Uhf`{*_hMh}oPK8fKTo=Su2AE{Ko@M`CwH-)62Zb*#4GXY}wX zRL!I~V zLGqVX`8vkK*^tV)jGt#NYo7bJSU=_(*QaLu!1U8_?Olr;Fmvj_z(D0h9S?+}E<7NI zbmMVcbrYEbSg>$NRXYR3kCYVaIZa7b;(6-LtB6r6cn#oC@bHv#9E0@M=6IWMu8TMO zaGF&I6Chl<$7iPL5@Nd(wx0PHya9!-N%QQ4(-o^W4RCEQTd|$e;w!{p*)FQs|BPVB z{mKM9IEwQpvre8z;?u#X6}+0G1jmG2C!}q)f_bF9`$|cRyB|@O2WhiGK%4c*Iytq_ zO{nr+P7RBI4Wu(=oKsT719Ia);;mM&2C@@6z%P+AmR!nii4QsD@4i4kLxyyHGUg9{nFib#FiX}u>)xobS$R{uV7@z*5om%Kb+dfL3~a#3=`Z=N=p?H z|9fzvL!zEGPLEixUTa6n@aY%Lu@dY#^C9_SX2&p%ovfWK)*v0O3{%2c&nW)aFz zwSibKYO8g~bmZM9#9%Z*o-qD5aaqAG!ce1o8Me5~)U5z+#BN5FXg=ox$I?epA76tR zb!J#{kw#Q4?bM7^$l(0-4!n)AtmwtN6Xu)o56IpAG5!II;fQUGIs?P5s#l^^<15g( z2-HpiRZ%9^6jllMfcmi=FDc+2eQp84sn6iRrW2xy^(_UIDm+t>8T9iI7~fAs<^$G$ ze*FJwFWd1yZSOl+S5DO4zX10CtG(uKCD05+9v{b`Gd*2SjNR`X(^~MI$R%v2_`m$0 z<1@K^$HD2p(Y_E?!T#7}`|1&^+o%0$LOApv!DkShw=gBHg<}6wSq9}?>(ELFk3R4; zE{qc6MGW?_B0ABTCLPm@yo?VB__xuBzc&`WPPP{)@EP3s15;T&vKjSuzN^z?J>qpW z&TjDk*j=@QC}AM{?S#EchZ0hXX|hV$B>S*;O|CrFVj1MN5C+bXA41d=J3qoVARdoq zc^DZcHZvUWx)7|O$vsde*_L$Y4y;$$QN~ zd;+Y|+vY#5riHQGn=-ira}ihAyL~WI##qSXMJP+Yv5u2p!6Q)2(ko3CR2O~-R$`%O1LCF#iJQux*aB#ZKcVQ(+l1beAzH?5B|98>4dDQxs{ zxtUFR43cdfwAQ*l!gv@XUlvHtkgYnk%h7w6| z>HrFYR>JC|7`?8@xO_H~2!UDp5M{UP8qJ6;#i_9K9OIPDBJ^0sF}(xS9Tos!3AbYC zKRebR!~gM-`UL(jvJ<2w5)6@e>>zE#%8a3v+$`L#Ci72KEBFY$Gw)fr(bXMaxfA*> z`fGr1!7R$IM}djtj=Xj&YXdT#krM)k7@i6p7)+CKhw=Sf-gSG5-6MJu?AT zA+XyLVkSzAcpo%%cqE3xu#^aa@j{qrD7zt{*0Utd(u5cnVu+xxK*t(s4a%O1LfE;F z5gENJE@<}Y6ZC!!!yV@yPd>!DMoYEj$r{F4Y-*;P@?{cMN zq2A#?Te^;^Zp++>xy%@<`;GrK9llU4la=5a`=nlMSznp_ms_&=jIl)Aa z?+HEm|F9M++~1h=LPxTFec^I6QrZ&m8G_(&#|T2w)Pgxgp&5mrR$ySn4!pr0Snlhf zsk9tP?QGDDt`8qteuI1yztr9=1=n)OjgCt8ZmL)?QG;mk#!wkN=CvXW-nN$yY@F2f zqtr&yDP6JRPH+eQeT;oIW2)9xI#m(WA!)tq0QyAVy@pq@J1c?X1>DV8n>H7E*Up14 zNiQ;Z-;)n*tmAt*vXp;lt@pQE>#IJj^n61vlx6QB;Q`#XeyP&4eeS)yI9}1M{U)J} zx-q%|XdBu9hO7M8<={*9m9DJ!P~rh+ccp9GdvrvJ+uW1hb35Bm9PV@b-XB;Q+*9fJ zKeQa^ppT-7Fwn;2ww!5vmD|wKNd~_Vwczz`{Z(+EeqBD4A1LlX$o>6L*4b<|uv_Uu z8_7WhudIUi!{xA3g!9ONG0;Vz@rz4Pr1CanCY++mn<=dR(IdiYf*uI_1-%mhkL6B4 z4$o!S5;w$qP!z7grQ(#vS~P*Py$adnzPrD<|LCcDj+tMoJ+#dEO+2XnK5SSg@y!n8fQ zgtrec#a@LMfl-bhw9!u5h&eRfQt2wmuXIhxt4#HF{T_?3ddfLs2ZZE(p7VW56630)eu{Vpw1W(-{|{VVu=4H(1uS&CGhtW>RK;TY8LWf zg*i<%&SnTo3h)ZK_;&>cK5VnS{8RPZSIs+n-!Nc|){7xQ~5nfl`}hMXWmc(Wl< zINfyi%;A(RD!j?DllSGN-kmQ}ABSJoBQm-9m>R0F9f^r0Rh;uq350?UW-iWcQw%tE zL|zf!C4qd$?v_A-V;_{jh__D(`*`zm@94>%gE}9LzsxyZx5^mvDIGewP5poPM3}P5PEXGdgg-uZo#M;z$1Y@#B zPwR3>b(BD`UzQv5McE+I3vfaHZfu-ES0~wWF}^{hCw%-T`defMJJ9p*zm{W^x8N)$ zkw3_KGK&&gRhH+z0xQrUn95Oi=cG1=vPQe`b)p^zswFU`AY~={WfEtqaW;QW&xQVG zHghCuf`rGemv2}2pbw77OGY^5yTDtZ0>z%(xvv2Jb@)*u$b$IT&~rqOGi3zzR^TX& z#34&M8$_t4KugjB*;u47E4Y=7DsLTDj?10d=nXEy46oXSk%VW*4a0DK6c=2fHc{o< zhv9q+HJVd1IrL$n55T~SB&WYWnLrd0jGax!gas=wm}7H{WZGT`40>C%awiuQgkxAL zcyJ6$wvJ=ic04GU;~2IB4=6@j@Bjmh3zr*4i3{T7}EX%M0yI97Qd@$`yAWBp;d=fFhJDM>J-uL2IiCl!S zl72_2Hza)+ImZg{44Q&^Yk!)y7EumY6KQgiMAmBwa1C!1vYrgG<~`xzioCebEn)MGoBcsSF3imW(Q)gFKd<&@;mgiONredE%6H-_!01QSmslym9PDi$GlKosIu z#^WY1E&ka0Ux7Ha%lTCQIjV%`awjXn2xeloEys({OSw2#8GtghAClu zKB=(m5@$KO8)K+gOn8XeopV@6^t4}(>s?@HXw8}C-w(PNX| zx1VR1&3+z@I94BHTpYxVU>`=iL%{+x5~*`S!4W!?jol4N0FzwFu_MdEny=&Fx=^+f z97s971k?yUzkUFC2(c8;)%loT$e@<7czpCA4=8YA*12-?RJn^GSVw>_;dU zME?8FK!F!>9*Q6Wy8vyD06FOL>X#{sK&rkSQ!zp7@!gsh4kK00pnv%97aUqa3-x#Y zF}6QK;rW>2P_B!_4AnJu2XCpcIqK3g)9WRSIEDAKCQOv3hWYXBoedOA)Tl z1yA8yMFx&qaQw3o?NC34|JSOFH1!DgZR(ngm<2{PZn&gXBi9b!4Go?*%=d_wFcl7< z{g>HaVU5VbTg_J~NM;4NEZJYB%6!!07i_hH`&q|wwxwqqGKfjd*i4)oYxz*DTdlxY zzm$KC^Foc_vDLbd5&3oc;b&d$txi`>o&?hz0)Yss-An>V&SK4yqGU z!-k}eds{4ayoDg%%V>>@Z$Gzl!6?xBab8ep#;lF6STU6cfiaw-pPNvp=wlKT|k*XcT5my*_C1^AH?$*u7f z{0-ibjuxTFhjvMPq!IE8-lN>*Fuu)h&xM(X(|yjKLwhbP?~44c6QsC5`X%5*AlBWZ zK%gMaAP~5VZUPvpIGB`izQsJ3?*Be|z6v19^Yjm+-NI0W6-PMZDca8pkDmiXg0`}m z*{QGQ%S}1Xqr|wnI@eiDjH~POoCk?`h;7|EiY(U`IK7ci zJ`q7|a6e%Z^I?QDeokj2zv`7BWk!!cZK6jcetsd+9r%4o4jOqVoSkw%jg|8$T%7N zK^?30Z7%N8tl-mZQlrd0?1!F_26FkwCc6i;xkU@Lhw!}zY#lc%k&Y|1czkFd_Rx?#s*9jd zI9OTe?Wy_}WH40t1@cf9qlh0l(hdAlUhh*V3;heeK8Z^`!OKa;NZ0w69u3qe{hxD> z(o*Ud&OcD8-Z=UXqMDvc&+fS+@Xb9o=pW9OL;Is+ScsNWv^XeDxED>3HBZ=_h=~$^ z3*vQlYrT9mM#|vDIn0NI{2r#0MxdwN_&`IvA%)muJGwE}Lhj&9YuFYFWhe*ZC;W5_ zgvNc|jD6nBecr5n-t71BiHNK41&td9w(Z(iwFf2d*%vtw-M3>MKCR(x-S@NB_bcAm z_cH?CnEbvwuWhSD?LyT1#cA)ozHh*-y9TBocy-_FZJYZg#vTvJ_q_({Ycr2dhl7CJFjJdueE)c0P?<}GxjU3>J1Db(!TfFzMXAb-#czaJ5bSkTl&E&P|f>Q zr*@u+{=eI%|BHRyP1I%`7&2%Mibpw{D_zt8mG4T$XFFh!R-PWpI1TjkS*5EuKa_P+ z$n7GT;&76bj1RUbQR846N%o6_K1|RQ$8S+3=yNG`MH%+fa0ZIVbCdr@$Tt z?mukS#qP#y()4}o&Sv2Ez;9)w*IETsC1@wtSTYO1TNt!EamMGU@c z1@o)=bp-C*eE1|-lpa{)bLg39LK zttz^45b!$~JM_S@zUEi>j=;7NP&dv~qE3TdMz^bW1M;vJAFoC8ntl6WuJQ8u!Om+{ zZ3@fG8sY5T{6Xfh-Dp@R8ngNEfMGk)gQy6Kx?J<^6=*9u7ifL~eIaH9{hYCvL|Yaf ze9Gktm>#uf4r+D0M?&J}D4S-cK=nYR!T4jp%Y~8W`TFqqyb+>UGkj6jlhM#8ov`?S zx7=-@*Bx6;dDz+FFvy<{M|Ae#qrS|ZI=0>AzgG<`oILvOyFAOQ@$S0=Kt~5pQUg7c z$N2w~g3^OnDREwSQzms{bxf)5-^K2D5B{4T{vZzM^9iwQ8jhy*EjY4{u$q;SXgVK^ zEfB^YL-aZ3L{PpX+p{^&SfCUCP zh(L}hcTwLmK#u`-VZnKc+8P4sLXLHo7~o$7h|UrCfdNi5z&{HR9VC!f{+M&R0WK3D zI!WM@1~~F$N_gX4CI6DfeFjjGT}j=9*ONm@1JTYypi(=A z9@d&-4+t=c9$qlOO#)1!hYbe!I{*d4H6QZ!gZ|cs5s3TSpA}G}6+12#1Ky7>0QpD^ z+KlPERH#)O_wE!JV+2M`m=$;yVXb@>SC$D<%Y7G8_^<-iNTIFf&fzNA@oh>t4JZYX zjBuR?KJD$stQB~Rz*!3-3IFI^z-@9Pedpl@x!vHKV)tg^3pG;GroW-5`Ejy%TpMOz#b?4si_6@||ze$UeXlzNWMBPqU4lw#4i<{}ZK{=~R9 zOyz8d?>&12y5Jk(pzoxhe_~B0erR1lB=^iSv8Y^ohI*Bll(1e=36WV3*Ut@;lJ^>*!{-=B0PpBXWGql zgD)c4IXaUj8(H7!ZxJjVCY9XR<)6^mB1I73BrdK1m9jqIfgxqXj*(6#g9O0zM?jAS zG8m@4EM5TfWQclM@IeV)i7n74`0g#fu_qEJ`UClLWV3#1{(&t-1yuisQ3LMQBvnL8 zx)f+b`Pgt(9EPex-$7wH|91bhl$CwFE}DL!=NarNUi+l4*&t!`Z>a9y5ZymqIzi{q z#Yigp$3rnM?#X5CfZk5`XDVi=KH>n*iF)9isD~NrK|El_+KY!+ev{3e5a%&XXdLZg zm2)6Rkde{Eor&Et72BT%JqN_xRfvCu)a`X;|jjy@};`4@gcqx;l~R6 z9K%%DxQY>+yH?;PiC8TWC>Eczm54PGfugMd_xy#8Yb63K&k78eh;G_YeVH*Kz5~MyDmalZ(XXIo=EOsD zyQz3 z>SrKCrux=p(xduzl!x!9p;s85>MNWdh3gL>ihtqy(eVPt#6v|0@g-b8As#n59yc`} zS`mlRyorC|dRklQ(2RJ9c2_#?)_6!xq!1adpB0ar9S_Zohvp!}mvDV`JdT!0{0rC9 zHcN+S@2^9Vc&obNq3(F-U_8_t4;_hzq$(5>uBQ%+f0f~SZi{JIBU@exJRvbo{RTXp z`eyvXMNWN-yluxX(!PKP=uPtAwMkyX^=tV=vElkP2=ULU--VEp6yf@n2on&lFNlXm zn2=N7ijb08!}XK;8n_zK5G(2@n<%G#uOwu{occBi>&6|BFq`Pqw=*m!4#5^^4#M>T zlRa_^PK7ZQ>NAnT3Rs}p$kiq)OQMb-eQ10hW^bJ5#m<$U&t+aK_!v7eK94;NkI&Z+ zb_s9n4<4g*RjeHd{Y@ z`Y}ht=JHKlGfLe&LQTVzTFQ6)h1`Rj#SI8J4=&*Emee+&F13#-p$W29wT%)sk*B^VApNH#|NIF+ldHSdvHC*Kqv^^A6UQ zo|!TeRsi|}b_}l}EGOWG;d+vXbfG?*4=F6ygq-o2I1ZXWIyYRO7YF8>5ZzGLyYYgf zwy@}SSdf}9jz=KHsGe&&ZANh3f<{E@;fPW_N*b`|k4p=efDA|uq(R)QSJPnou~&`H zgL|N`cNgn0rd!Yc&l`Y4Hsfz*XG?%+cKUe%)kloAI_4!l(56({(c9{ z+^Ii;VzDU0;X5#f!gMv=Y>8evB6wig?!W`fb~_$ewz-xc_rexdqxrG5L)CVmG^E65 z+bGMJyAT(lO?sI=1Gm)&!Y2_^LAcp)1^_0d{s_SfhuB1pLjU-UuQ8rz=f(8yFOhFr zmXd^&=$}O6MZ~rOw_+ak)bnI2e#2M>#-2|LjyI4{@es!fK84}=-^{%Yd{ou7_n(&` z3_3caMvaGzKu{x6%*b0*)H5bmWAy@3Yo70K?{g-T5Nz-B+~@iK`Do6Wz4zIB?X}ll zYwfkyUR#wFUqRAP-g=uA-d0JY*yjlRI{Y|h3lYYeznaj|rqe$FfJL2DW=A&U&BZ%O zpI*$Q?$Y_jHiKwNK%ZCYVVpx}HJb$i`O&6}KpoPfu)w$$I{WOp(yQCj*SP8dn{*~e zyasV8l+Wx^c0<{3n^@Ym=t^~$Lh9EEK$u!26c_p}3$DX<*)_IG>9^t&X8-;nP0j7B zh&Fx4yzMTOKgCygcgr+BNTcvBV7c`F!3e@o1{R2y4d zPG%Hx@4xy+v((UoP4C$dj3&_MrQdBvxq^xX;vs+SKg#B|WP`qF~E<;GaItdEEaze9c#gFBc&EW4(aBs2c^#n>Oe&(0EVcd+DosyJB`8a4p|gQ)|bk-YQI8 z9~zSE*;7|qlz4MbT`bJSM$;lqoBefhVyjzMQ9W^V@>#pk35)fCEZmo5PL8DOv{GbU zqlJ0zW`^t+!f8R5f3E{15ZoeufW5(K%R!jb|4KD&831 zt`S<#a?sW6D{v}~@rDmI{)kahF>diF$iw(nLkaCrLMZXHIe}v6I`L=u0z(SpMkgO} zaSb(tZmcy6M>9?8!)MfvYKr$H?_|UjHK4v*tW^?NW1|t7Y~1e@XS|o;Yl${qDGn`S z$x3^%@M(MnZ?y3;a)F}4rejj%w;6W>58;FP-E{p(ACE)_SH55z1&q-q)<#Ih7|~G# zM}>tWmLu10<0xQB*4`BfF3hc#w!J*MHF%?gY$~~!PyDc2Kc&}D`-{prJLVoO{8v3s zG?$gSJ%H1(PgYNwnOs@v`$<>dv0f3s@D5vDn0h~)d^{QN zCujeStU>P+)O^N&bGIFRu1%xEIU4A8&mZk_$NQrTDAcN2nGB_@ zH7T8`Y$03nF3#o29;{r)WlsSB+ka6;SwG6K>B-j_p+e2WSRwmbI-z9g<5~P7(%1XU zz=S6F`e)66u#;9-rXex+2?B@v#S3v)`WfrqpJ=?|-JcjYs%lL#-8WjI38UAU$-O%m zDoZsS-L_QIHCKH^u5d=1bE`XX!eAosgPM=(nquMQs;%m|or$wjt>aVkLPMI9Z@Cx2 z-4btLUC}jM9KN6t+Ur}Pi-Alq9bv3{H}iRN^}@LZo6)A{#Gau~(T8>EvF)63{-~z< z?r4*Y?O8g0@bN2mS8D1SP{Vs)T=<4&@Pg~6pg!FT7)=}CgvqjOig);Z(;i!Y;+noW zs`m57p-AHp$sY&T_p@Lhd^ghqGUcdxFcmHt&!Oc9+ z^=I9n{V7V&AK_a4DG#cf&%PpkTPxV>4Zkr+HjNqZxzAP%vlqeIl2~GSp6Hl{`|mfzOK(od?>wl1fs zL+|ELgws?G@Gg#9O_!OM5l++n=4GT~;(cNwXfr1*Et(`|nt|0Zevd?PYl}Z@ayX%F zl4n!E<>Hw5a_?U+2Kj57w#ls8^jn%t%u3@awOFqf9-r=^0=H%)qglhveq*eHe@Jh1p zn@Sd&$brIy_=5ZY4c`7f{r?HxjzQTK-u4XnD7-ae>ir13J^!~nyvgUaAKomb`7~A= z&{%CiW3>T|)gC}&jeRs$J2;KuY6Fcuf6+i(ePtkxvETE5L|@Oc^bnq&MFTiEeO<}E z+DG8Yv6Wc*D$p_{pT7R@4&xwi>D4|w#Ad8 zNV4Y|y>Tr`sUM6+zCX^JR7lNo!w6&rxPVc>^wG2&N`%v@h*2hGc)12XB`?|yQrfiU zYj#aJUz?0JUJe8CHOkl8npRSU*l61jX`_0x%*5xUoQxlYjn@1(*r?@~uqDGU%@KC5 z2?Figw!ZOdyoP5oa&ESkFX=|`SZcJ=gsW1 z+fn-`s{H#qmJsd{j?MT9>xgG}vBssU@o8!Ac#uOV0lu?u?z0?Q8}qRzf=X$s;Dul4&ArF`oitM>jklW|GouI~A_&Db>l1>P318|1w zXLJCf#u`6{E7P-C5g2`bfPLef5vbHzROMLWRcqGRo;KPZuxr_@yFr2``O^OM}b zfVdV~h9x(qm8^+$QB3{u=T5Xy7Gi$}c4e=mP+L<=ZZhf3U97+2o@bMLpE%+F11|W% zxdW%!_XbQeU#|`3*?)r%sz1!L3XOjLJkxmrNiPrCd~iN^13o$j@WF#sd4;Xg%CZP1 z+1ymJBod6$>8jM9N=q4E@v^oiEi?``l>$vlLP+e%dwPnQQ)?45ZPf$t^AGiEV_F)Z zSKnzk4>5XC@eVG}XJZ@k<@sQhoNp_!I0$1rwu05NYssYS5?Hhehy23pE=-##vkQ^r zEEenNM{8!i(#NseOwU0TxYGF_y;)XcS-AJ;poe!^%6U-Qh9u|%gK_CeY>W=z(t}mD`b|@rum2!OHD8VY%p^t5T&t^w zU(_-61vP?UO1q}_61wg_GKmD)-EP${cPzgu_h1_ut5YCt=ENsSh~2IHH9X%Q7dN=q zo*c|E^l-#%mr$a>+k-BJTM$79=5`BIaKa8=4@u#|eZ0M;%=FyuS;bhd!3{}&b&GqO zZ2*PDrwPXB+X3fa{E)O_Z~L;Vv*%Oa`ip+=c5@jg_~@rfc`7_LWC()c4gFl}8&F zY7wh|Dv4P2MU#9v6m9%LM9E`FZmGU#EI}^Wi!%GPA@9fKQoPK`8kSVmzepC>=HK`W2)cackq8i zepA&^6j8I~zu_r8+;~3Ss?UX7_WQIAE4Cm>8+J`NnEO8Xkl;x<99a3E>&+3Sa)^}g zRrL>lMLpT|{F46I*PpEM1QZa88Q?Bx6!C-MlTm?WyEHKTlYsF!b(;D@TqH@_R}Veh(5GFU4ER?u+qJB1Z#zxChHr{L3TLx z_d74?tGV|(&vVB2RDH$A^}m&k@`b{U-f4dn(uruiQVm}^;?%WH!*Zh6IvY=Y!8uPJ z4k6P`<3b~lze6A0yE^H%>@9 z-BYiHkr-Fs!Hc$TFu17yxpu2>45pVXRok)*qZL5#+| zb~wkRjF(OEq7Q7wt-YGd=P8bb@m?x64sCpK>+8xm_O!?LQLy@I;#j;$LS@Tow`udI znsb8pv}8AEzN2@zx8EYP-+mK+-HF4ajV>R-Y}`j0Ntxw@w!+V5Ipen$!RhtnaB@W| zrH=?THGXReAJJyhFkseg95@V_%>E8TobyMVn5Gib(sMU;mDu{DkCkq9T~&tjP)GE! z@y{w8*7jM&7d{&zRVM$?W|E+Ug6slxP0@2oI9AYw z<#f6&C6^SFzfpja|FO$-GX|vm8sr7(RI^)tf*A(VbM)SH}NpSKgA*#zHl6yL>34k4+q&N+}Qgg`Vc;Dd6#G zj7P_kbRl8GLz7~wA`tG0@`7L76~-d zb`%jh7DM|MKE3X@J`BG0wtp-D?OxRoe?mm}E?6}5M>Ktd=9Kd4h)`leG)i5m8_BFA ztk4qHX4$WjP30@FUU=W-e1Bfo=a~A5b3l>Q{Bn4~=Xm2=pTBu0zyYC~Y=xTWL)rKo zTtms&v!EQv5pVlhO3!LrAXgkdGf#RJagEsK%^aNYnbphB(NIeMKSE+%D}eq<>vR(! zMKo(;jwtiaC1m~!Q#TKSHRSYJdr?mUXQr>4d zCQ0kETEXq4S*K9WaN4r<_DyE;(%@v70&PGH`K9L7>2yM zN^-DoP)31!lW|mn)F0<}UtiW8*q3v_8hx?eNv^)W-S3N%j4_x*`XULbzI^EqwEq>- zto^R9LkmwZ2!yc5liSya90F@|efZ^5)N!I3>-)Sm_xTVq(hEkaJw_pY!zla4Mry8t zru(U2$GiP1(AfpJBM4omi~{%Wz*}oMzx&`360$mfmYVwnBz6~>5cAz4=AU!3Efb;2 zFuiEw9I_f)Y^0N@bNvUV;Lla?`xI<5lZDC(vX_w+=%G0nuR1;;sL_I_hVTv1##4C} z7E6C`pJN}i&k(<}5i-TLqN~n3CAtcAiJ8am5q9dG%n~=7Wx;P5poV4MW?K=r>Ck@(T&nYKdM99bPCmms8?GJ%jW|iW2u)W=LkWTx zWvA=c#8~zO3GW~@M0Omhpip3V|DuXb`)#&;HE2OFTEV#$dpG-vX8PjZQ(ws5rfG5R z@VzfMFF75kk|?M6hoDfN`h4~`%A4DwtI&JY`>-fu`6=o|-~P2ZugB@)8Kc}uBiyM* zrF3VE6qes&Wy$ePbGeDU(~N)GK>wzJzs-3Eg=8m$m`xPyl-`9i7m=6Ga!4BKu~Yo zOSD#Qp4Gf7v^A6ZEuVC3=tw=mGgGz;Eg_Ry>8G_QZAK`wAu~0sKM}Hv27EFj=9hoE zBW25%W~P==dPe!ck`;U&;t27;28OHjh|JWH{s+`#pqVjhV9C)cIVLk>Y^tTE>cwc& z=UJO^dlc@JGKFEfpCG=JD^&gRTJZbvwBijB8VwvzemYjtq0hU+y z^QyZ>D_rUk4_AIrF0Ug>_QIg@Bii~pZGm}nH}LQ1QuY|XUhHK-JaH2Vr=hGbHcpZI zSV+Wbk6qM;2zX%6Rn&(4a}%`@|Ih@SdC_*tYL{_QCojp8S*g$WCQ24=M2;8iSzF}X ztJO*3U-qumDV5~43tufL7*de@u6tX8bSB0f_!IOrJ3aj@V9hEXDlmq(TSMK&fl$Fzw+@+1cfESr}rr^g5QjI;U=-n ze_V&x2(e_p>?5v^|0tf2A_;M8*L&RlVDY!NRozSs`O^~Z11L~=qD1T2#4+X^F`Xoa zEnnG-bMW_G)X6ZSDvGMb)>T1a0SLsmJ&Y%N+oCy|H~ec`6rBD+;fuL<#lWA)f`=Te zg@E*3yY<5$;9DTTHJ<>(4dQ9Sl?}9Qmf1N}&8DP*F593^8h;qAZ^!(JWe+a4(WbBE z(zBZ0=yBHHcVV~es(a(5g>)K~URt{1J-E%f&eE}=#!Zw0xhl<`EEVZ>zDU>K;lf%Zp7$|W!?{M z&d9#iK$fpJ{gq-wER8-kAvAScXn2ZvH2+#4?<6$k2PeM#1)h;F9CGYgLgi0>{NsO< zzRi>g-2|VVNuZM_6M)rwSJ|lmz+|UXI)01Tg1cBblD+dUg_1$j+wd4!KF@SkD9g2f z%}v@G-ZEv+rAPDCqeJv7UJ9PVh?E7n0h z598=BXbWZ!naH!>W#DD-1Cy7uc~>6`p? zSnL9!Cv-zz=0jwfh6-xNE3Y{(@Ad(CKg`R!Hpp9Gzxz>M-j{>Ca8F!yUY(bB7I^~x z&jr`np52s}`SIXGztX$&@=9!;xae8xrN&n}!ny2-FwUzRSz_E(!07sM@I_IaEV6vW z8;>d0baN0~{}%T)llNeW8HapaHByg^V}GaxS?rNhZ{7wKAe zX8Peig%w1bE-Nl5_)~#J2|^|`VIWSsUiCXL2uhy|@_ay@Jd{2{UO+JUsQzhQ`j7L< zr$`5^=wm~tqSh8M3o}DB1-HMC?ocnMZcL|kZtmQ$^PS9)5Sbkt{Mb^fDb&!J84_0F z(*%ZU*qzzXaae?(gnMd`mDP}R;m7+(eKi5=hEa(>v`^A*j?iSordXV=`KLj^)A@y%`;M=@MA1jGIc8Q?P>qqpV z4s~US=}O7!E{JCveK59;U#3#ae>k%%eFxChG-+6fm7!mgS-`{sW>r@D@G^UWZfYNozv=uS6uvduSZ)+uMP z&39tcIXt}UOAj~9%XBM`&ND9=a$EzcTItu@YzWqf5hFn$-F~9+d-T=-FbG52Cc;;T z1`!^sg1nZHVRrcf|gdlH_ z0qNb@2V?$#yg~ZG24o|7s31g$>#sUw8oC4am(O%2XAGN5odscUhxanK*8cMY^OE*I z)L0QrvQ|ve>M52%2HY`7^D_0j;fewS@oZUpJ}fOA2OsA5m^T6Z`7&#}(g)EG){$;d zG>FW4AjlhJ7;hPnmp_cN)t0YwU*>$o*Q4#%M)NT8CEFmQy3xC- z^%eFyy#+4@v}DumxhW)Q^s!5GtP;rKlU`@7`2EnqndBR)C{Gdw4F6s_Pxo@d>!(x_ zH2yt^C;K5V&1w#kE+Z+Q_Xp`6>_TTJV6O4kS$(o;4Z=?i^p{Pe4XlI9rm+VB^}TI* zpdu7{#vwS*l;C6^B9AXij%LRoRY?!vdw@DkddWe`zbe%Cl@HS&Q~paf{eb%a?5F3U z)RfqFn3gqXQE0d=M83e%&XV$-9y__53Qtz8J#6Izl%Wx`aRnZzqVhBa+V zT*&=*98xH0HaFo_txbH)JvN<^W+K(*M;}Kf+PuE6&1aq4mFl;tO8VN=um|hmTd2gH zqF9JJ0mPkSyfw!@wz^GOHl~gd5b!@?k4#_^tPACeve->@Jjd70NoaQg;aHcloJYTu_C6jftLtB+;2oGDAN1@Aj)wRd76PY#qWE$rZEe)OT$)i(;c(c8X4b@&r35$|f)LIvru zi#0-S{gUF98VWbQW%bL&&XmU0uM|1;w`hU=fT~~4I*8nc=IE;A)6rGM(N)tz(N*UZ zImwRbsxOyRwa#VU@fu%WMexe){Hov1MaZq(AY0!#j|w}ZtEN0qm2sx*=2rt3dv;be zbVSpNP~j$bS0%Sc(<4p$Wr`gdzZ+i~{L6&*BzIDv2QMv--|b!##+Blh>KoJ>CwT|s z#JDj|9jR~MU6`7CH(M*on~5S0o`hew;SP6N$UW3)U-*h~tM+2f3s3_07{xa^>sRxW z@s2-hu36%Wruz1|Y!OVkIl5|XHJ#A4OA0B`ZmwPGG}kV5Qi}5N&DHVUN@&BtmxJPlQK zJiT*uM@=kK{#>Req?CwFDNVJMWoAAX!eh2-N^Jh~nGNogMlR|rjdCzHb0jOd3qt9u z!@J_o`s0)-WSuuI+_91R#>Fx-*Mu|ULQ0C*q*CaN)Ce~>RK;WS+ue9$<>qvxM8tgr z)m1_Y}c&3=%)Y<;kS$OKy!8+T)y3*9z ze(+FFLt{F0T&4`8eEPa@3Q9I39KR#1QI0l!Tsuzj=5XrUTMD6BA^B46K*pCsEDA?) zgJwnB4GZ`?^`w$;zT+2h*15zWH@k27IQvaqJ4G)62dH0fxWKLZ*@{tm*Ryv1!hke} zYYbWTAHyD%6TX50jIh^GGhpO)(Xn_VgO)BITG^603RF)ErKf4+%(_qGW(I660|st7 z#@Uft8;sOW@WLRaBga>64o2!?jg-${{PxX2R`TM28KLK{(VAiTyiMdEXpMjx8Hg!8tm-v|{yE~cH` zAJ{uAeHwO?KL|Ox1o3%fk;Ay?vL1}5L&r*pojL$s(bRXGM&x< zfU6)9*aik#>8IC`n(7RpjG6++ZD!tasT6lf8Fh8rGbrm^1ccu#Ox32hN;+ourlCS43U)yXi)(jw0+Xf!# zh|__={2(_5@aC)%by6sjHZDBEaqpd91vWa^bOKGL;_D0hnoXuze;BZL3yS1t3?IM7 z(u3gC?`Y%Gs=GY!r|GTlR^evFA00!LoPT!(K3lA^0g5c@0b!c0q)ZZZN0} zB&N3HBh7AnJKsj~u-fkatbGIxY)gC!IBmbp=$L&;t(mDb+kN*RxT}*!9BT zpQ*!uf%>K25Axf+ar>tYejAtSSN%HCMBim|KYz~n&o-vWq`Tg~-ORH=*Pmr)ljQvf z@9CzN`_y!_X)g3^myu>gp1Y63tmj4&+s2(}NcD2SbEik#Yte1Hi>F@byjwhD265Yi z1=;VOHAVunod12BS;At4=bMS)RErjUx~D`W)G0f%U4?l!wSU+<%^G_$4coWHyJh;0 zZ|^v-qGRF+_M<|XcxT6Xr5zK8XXwY5HW@1l;c!f3lb?AC^1gW&2yqwaX6e3OayE1U;YYp$??>5a`F_Ih7wW%LGi`(l}# zeRD@41Hdv;3t2zTMfMUMAftiK~KT7v@P=onNK>jlBwOUMNI?rJ5 zn`I%F0euZEl^&T1f3i^4kRn+GR!y2CtSfZ8G2YZ#&k%ZQ|CO+kUxq zb|D`G?O&#aWU}0i?QMnH3b=ib(Dd^Bn;LfNTimG;r+yvxHS40isinGNZ)zD!19vLk zfm__E6*z^;F{XaIJ9PxB8+YnRr+&9Pb(B-@xl>2Wy=CecDAuhRONjf#C-%0oMkz@A z``%VDvS?Eqe^cu&Qvf5JWz1}_S&1yiwEqZuJwv%Po~K#5{-vt#7&W?KuOX&6iiYplmxRF=N8Ea~baTi-EdV zW3qU(c?mm<$C#Ihvv{m|p^Th4G(L;Ro0l?YG20rXlsk(jo0ke_@l^9N++OCT;aWVy zq>OYH&onQioW+-!m(hFT`Dko zzS_<4-aBWCYsbq|osrbONaE`n04=R*N;92Mue~9Y&;OH!hu1CE0s8OY20*TnaeDks zQgH9QjIjZyYg59Y#41aN)nwh6;`)kb#J9=_uq$$(w8 zv5q&lO)U3!{WffySg~`%u8E}`Yj#aMzT+((wMXuJd;9B|XFK+1-r7;m5^hIB$Bue- z26Y9^j(U%T`iC>m?R+is^v?G(8+SCU%xv0G-=aV3GaEbJ?0A1iLo@01ckifQnt6Ih z{R5c|+kc_9cm9o^_sr&Phw(z#(Xe1g!%g1bL}zsPKDbjl-Y#wf!zvhswXK4zG#BmK zq(UVfW|Eryq#`Blf0|PE=5<@JSgE^74eGgjwRtxc++yF&mkaE>DWBl|U;}fZlsG^v z0K@~w1*jn_T98}qkT6m{eX8*{4Z||?YuYkt;#*{U?R3hxFIxCSK3j> z(gk`kmt*4WVm8g`r?;vWR+WGoSVKOF!h*9n_{5gFa!;;Vn$JI5NxgTP<`Ow_8^uhM0pTV>t0d>fIxk8;)HMkarX2bpmK-w$w7Y{eMp{C2|H}^lUG*?N`>2PZQ&}(D8!xtBj(Y*4c){-z}63D}q7d%-K zCT{u4hNtZFThH6)Nl>)XxBBVlaczZum)UgMLz?K^11(&!OzHs_S7Rx=hfVh0=%ckm zA^QrRLwJ_+)RBcUHV0v-u}@M5&j^lUIS;Vtqw6T4>vTd&7EdULPwV-f;n(}FIOAwF zljO1~wM(>h`r)-b1&cENT+Hp!%xxRfohbJ2QD1ONxx_S%8Yoz5;B&Muk$oskr*bpL zJd<22){RBCGd!%Fo%UHyaqb6Kq}3JWesL(4scH+FS;y~^)Vk45yTBQsZ&&t81slm` zIAHsBX*cxuiucSh2Q-6-fcWJ)>Fy9j>EDNwGpxRoIBTiiNOFrn{WrdpAA{Dot4zTX zT>{Izj7Or6mNjlm4EI9tS2xymr06^qj}%fq`sj&d4U7JH?Vb>mK1MbL2a@&z$=9zE9VhwmGedLqz!B)N+t`~?Fo3np$pduI-{(4 zPcRP#gI_Cn7=Sco1Gcl6z2jc@>QKP9df1};r}{C0?{fVxl@wvP_(UH-&c0}qZh~C6 zPK{bCf|*~o+l+reHHIY3EnBZiJz@avvGe;dXAS+_&LZAv>-vRjV9iI@jDG@MuQ11) zeJHhyO*O{(*Sm)ScJ>U|-xVLx%$SS0J@HvKOuM3nKB2MUDPll&6%q!rB-z8%k);GM z&oulhxii%oc34@)OH=D2c^&=VsXvro|5n2v{zvOC&aeL(zkYVO{-@wC%CG+zzy8dG zaHfGPD*p%YQqlOQ#Z~fng|BQa)`$;>#?ztgCNW9%Q!1cC)9S3V*m6)C3Uu+Xc ze7AeJ7+&F{2oTxeUK*}?H!%TA+Q%if&ZIhLqSf5``^ZaP$t)vQ*U2P+0%Ll=|8Y3c zI?GqkD9ro`e*by&BSwGe`mt}gKY-qnk)}QKYB&Ic%Y39c)mlhso~mSI-sx!YyI{=F zu=IBCJEleO*iZ_wAEAiEqabBxpCRT-7U99WuRr?ojTsYmYp|fr8(F!hvbS=Z)%(!1 zS_{!8-B4L-?I=x@i#bm*tc}uDv%~Xu^;Or$|I1SQOT_ovBm|QC5??`8OPrqCU(AJc zd6(--&ym`ncvIEhxKef{cF`e}%9Y}Z4< zK1ayEx42rX7~)9WY3m8}M`T<}*sO2|;P>$(#QR^XY?+P)@!kKpG^g(5?!yYs6R_X? zo}r3}J0YCDM3;CO-VyKgW=)onGjU{P%fS9A+JMhsE}viuZ4)UhW;LWG)C92J<4lOT z^_@oFMm9f5_yDA!;YkmE!FO%QotLP8T(Vhb7qBR()1rU~zYbwN=*jxN;|?N(0rd7QyQ*LT(H6g(?+dEO#iEV> z$xAv^v%1qjx8;wr-kDqkczkKJ@o$nya9u7+yeQ_53$v5oHm}Hev1hE68JY?5*EJ~57I6_rMSw38qB$rZ;a}}#X zf6YX{gtqjQhv^S)5$@b2hEm@Bg}$bLwPE*SowL4mDCG#}s2L-A##}gec?rRV-O%w) ze5E`7_>dESf(N71!Xv_V2alK&U(cfyF9IHAcnI(yEaVm*75G8$7>*YNj}cs4#$zPm zp0BMU^Z}7gDp>LOWGqm|h1^IP9=xocHz0|t<16V|e5D!pVN>q5^C!L%b<_zR&k zn26TF11zyRIUXWh&x1w%CLYK>Oe)921h??u;9Uog3N|2kVASj6F~U_WjpIkcCz*~_ z*M+0E6*DDWoG#XV%kUW~B^_X|n02ThDf{=>szA>$oG>nmWWPyy;p@P1$06JM%GDjT z-1%%-_LV!~pyh`3;^ipbF%$SyGxR1Zs`rs1!Y6M@Ms#*6XCQ~xn^|64iO=e$pU#8*Y zn+K_{avSV$Svk8z&;u17$~uQw_J!!Mdx7_JXnXF_%1#_%@R&ZQkj004WYy~AUW_B= zC~#t{5!v{X-&sSKXpNhzE%XMl1L6Nz(A>5}h3JWRZc{5@--r2`v1Yd7cz$h?H}}e-__3mz^%L>==1KsHWLa0 zC8r|z`p$iF!%(Nn=#)9_gxu=gOp=~cxuN+!VL+>|4{*72x)Ge}pBV<{wLpy0Uu*>k z9Er=`qZ?%-XkbSr#D>lt4}aKe^sPw}1V&XrzS7+1InY(9C0``;_mI}^;exZRZ9%RK z|M{RnCU+u4B8>hS>`t{}`ri#`C40sDgQ(lQ?zWsvvpK3W=>mKid-yus> zqO)~;$$lh!hcmj_?2UJ(;@bw+%EBlK zI^WsS_0)m)3m82Rp#?YkEd3dvFZuV?mje$55y?o&x>`s#+9*dr38e3HHrx4Ivb1YP zGfsvIMv_*JrnC((1mkGe&NxZvuCkRyZUsDzv})v;y9r!oa{hT|JOOGiiqNKhVyJ}H zM_9&DwJUjemmjCcGL?M3LGGIjRN(L$@E22+8tZyw0Ke`#Z{F9%>q4eSM`i!W7ou}b zPXC@Gb*mg`j>xqtT--;&AmMhyQCgBu3p&%=-~NN%#xd}iu86CC+0?U(QSWUJ`p@ci zMyP66;&i`1xuy=vkHN!B2jaom<=5EtTSGVgn0Eclub24=KEz-darPHtFo{D%f4^cD za=dda>wDhP20!0q?wOjsL9iOo&$}$XK$0o9y!}90 z3(9R&Ihy#~Z+HU5+y8+rwI!e)-AnVh#=mzfJPYV*BbIs+7pd?X3NwA2>q2cc;lBb+ zKf{`lw{t8A&m05^v;P1C*drZex!oW2LB0i$vy;Hsf%BF13BbpMHOy^hjp9{V+_kbI zh&Db&l~j>c7lj~B2p?NC{DE;q1SH9aN82+`Uouj zn}t4dJKt&2_8UsR_zeRiJZR-(b~MAiM=ucTXRm0jw*=H8+R!ZZap(}b)~^&piYnUw z;JIH`U=Jvp++y=0Ck-;HhBAB(^3G#gt{C>wwKPwjn)yC6z`}QlM8dcd8*78wqBBo2 zs6HlMfgh6DO6We}4`ZG%5s=lvu(5s?zon{?VpHy?v(XNlHy`+0jghz*yIg=skV3vuoWbypyH?2 z%{1EhtmgklBZRn81+;_t@TWc<`uDTF3{_}OvX)8Q%W{D*oh^xfcjI2=o<7&E_`~z! zZhd>x9tyan%})LDXrp#EDz|kVidI(jZZ!Q#e!8K1-TLKV*l5p>fh0u2u2j4ocie}o z;_Y+(SVGM{x*Rea0*Rq}nJjir#6X2z&&1Cv~O#}iKJV^}u2HrsUp{u&|uHnvUW zFSq&TaHF~ZccA{49M)CdEP0eTS_+#rJwdluSSVgYgLFCqHQd)fD-=k@6sF(Y z)+9jGkt%;CX#+ts^k1<}<8NZ(Dy@>78({Z-5V>ZU!-=n$Zxrj(yK z%^lSwF)ybGzlRbuMip$g{SPX$Ais%#)UVEwhQTXGByG}!2Pud)S>c?|%14=ocP z@vpWz`ZCpxljC2gDSgj-ENa_^)Q}dNL6?S%_uFV2GKsgI=}McNOPi{47b@+-T-prY zDool;KMm$Dm)ME|AmUjrxS^dg-b>XI&sdb!d0J_kH}dKqaO>f{Vc@<`SWH}Pu_Ls) z@%OGcV~F;rqD^=3ci}p9y>H$HpI?a};e8aa-6sn0rjt-TM6Zcyw9QARt%oln?{B{l zhJ_n7VK_@5!*2A6Gk@v_Z9EL?4D2>-rfOB%wM_HDI~K;qI@YY`h`hqeEXLwe>+x;L zv)#kKN@JMgvH!A?`M|6e&9E-}78x4#SN97h{ZgfEL-c{(`aUrH5xMD&6!>`*rcS7e z-SBV8)wSLslt^tXq*I1I)fp97YYTW?P#9xmT-us7>fq-Dzs&W|3l6oeYVQ+3eINw) zuj6>Ak1VJ@a;5)WeIM<5g^43l>q-s3_;RogCN~%bZw{qYdiXCX-B-}`&)_fY)nf(< z(7uC_%-`Q)J$*p?7lTA<{DVW$xf(Xzr*N1W6j-= z?aq`<_#>u6f9D&%-F+YAAk1aKm=vGH#jJxcmJP?)X=*`4yP=;r<98a1@Q;|@PH3lu z;;#9-4Ijau$n3z&s7Rb_kQEG96aA76oa%30Dol*E+ie5+m4RtQ56q4dAqqm-}gfFvtlzvdqbwqP2{sjI6 zPgEtzls_}?Zsc8e{JWvl`_XwrOl?&goYqx)xg3in^mEuvIVP$RU#2Nu_^x}Ddwob= z6DSt-o4mW2zwVTFgdfs-kG?3m*0%{j+SCw`ovx+3=n51(2SP(0l)LB`;N{0&> zz4aX3i|K;Cc)3Z&KMju-awwq8xW40^PoE1u4ZiDi$G;RJo3?{0SyfPxEg*PqlhDE4 z!`~f4-;!sTZ7S}&!U>%;mHi$?<^K!pb_1YrwOkm^#(fCJ*C$_t{HcYjowKI~44{90 z?c~(H=={T|$C-SCj%IP)qp61a@wZlxqlRqbPkj5Bt^wBi&ijfH5{VN&Vl{W5ykvY@ z;Tf3nLQR|Jl{0hU3vP)!zJt9q2WTX#tltOy=E)7uz;52%YNZs*~0Gl z<4`;j8~NUT=iO>E_O#%_zP>vLaW?N0oDHpPsrqd4$gWc?Kdc&kgW=pd@G!ybX|;Wcp?L=$xUOu&5=`iF?_|lnmH-H{tcd7%=sj@gMy-3 zfOd=I*;NG4oLTUWG1J*&Q%d79meOQk!Snl({j^eOa<_AX`p~t=uYupfPuI!;^2OL| zJG@o$vIwlTuS1QY7jOd~(gLooyNjq5y=_p(11bj^6r~ zsg0#Cc7W2#ZQR0`YXa_T*8?l`=46TwPgM!t@INmr+F0Pj=co>qW>M*^12M_ApXigR3^< z10>j;6}w3lm(z+Dn@jIvgSxcAM4|fE%sn5JVcw=pXA0fL>QmL!vgmD{1>sge8n06DrME8)gfN#iF9}2It{Pg7i_Y4a#!e+ z;&5Auz~QnKez_~w^Hy1BGjdSZkFh4GPqG+a;T0dnI(t8D4HXrOt?OL^aPN?gCmlpo5S9tbYe(c-w0! z#Pl+t4b$6zJOqGhetVFbQEB=d*U-UdmS6%S&Cfs1xwhmw7KO5 zz$0lhI~m*3)SHE(P;Kj*84lxe&E)s8tkT@Ys`~MvLQE0dK4dQoa$3>u8f&ycY_8Br zFYck3U@kad-~*h{N+0CtIX^?#Sx5t9n|_~TwfdviVGV(|(Q^y3&NTA7{PGU0)AUkyK_}|kBRh?}U{Dz*h_*C_J+kf2OzmM~m z$ZL-Nbczv9*`DTd;`nYrL;3T@Se)9a&Ar4}p?jmZJ|lXHZ?D{AoOk7)5pTEj#@*1N z-^+yu-IViC>2fJA8cjJoa1}Q$KhFEW94rv^Gy^j&h7rOm=cGc_UT4kxM}Y-EWasmm z1cPk5W@jHI4W)H^=$uPOxnswB_ zErZG8N1DI|&FBv{I7=i|7b!Fh-I-?Bf_A@Fu0#rpqP>H;A7~ZGmgzMcmQ1bDn_vmuu2biVdjsBY;v9aJB~57o*mYsVj#U+n19auZeeP5DBaxq;fEjYZ9jR zGR3F9pB{gN!2)fo)vjCp)p40EqmfRB@2<(;b|Bo-Jqpksu#Gl z#AC&mn!#U8f;~Zl=NH>T?Rh)p`RkQI+q)kgrS_7?4E)rNV?QXQ0MbK2Q4v5Q?41m8>#wCWPyuRr{D9-y0(D%N{DLYUrH*eD(^c&gh{u z`nOZxm1QjGz&*F%jo;vzliudOF#mjqT|xOMckk9h0b5?A>szKC?KgZyY{o~!-a8F$ z-vFVIXtSen^tY1d2(VEbO685uTk`-cHsQ7p_Sw(M&eN_E@S%Bs| ztqN5e>t(05EPCr@^xhw+%HFPVS~Q=+aC17ia6jbCN}QUUcc_VxcZ@tZ*B8sxOX2)5LHVz%Zz|SA0&GIt0+?VORTxMjP)3IoI6FT08la)^uMAyBCBC z|K>Dw_HW=9=pt(1eKpY#Q$6D#WOOOj&WC4*xn_z_-zUzJ1+3Vc-S-g;#C!y_C~VVE zjXoc-dbyqUKZXOQS`0J%Gcrdb)g5iz18`1j_C58EFJVK|LWTRJ*95&U_73$M0WN?d z)KWvt2SVk?j}a@gNP1a%p^y~LZWX&{zW;#AYMUz#GQygXpgF#&JqECihbt1E==n1KBoiC1Irb>%dOOH zO_q1D}!AAX>c>Z)VGSHOOd2q_FxLM_|d$MZnyp!Qn z>Clg~xS1GkD`3f1;LHvgZ6SLN-?M)_BiGK~7wNm?-Kyhx>cGel9JvbOkIP$RK>w}< z(WZZAbIZ;_`?t`Sq=WUZ$+Y{=_wO&x!TP6RI(Yv+me;>`sN;bCp`V)*w}^xuXG*u# zv&&Zu{|gKbwJ8m87(Clmp!Yj7ArcKJ;i(UYCjTO-P>X(GjLG8O_+~?8zr2ypT6IP; z@hN#f5Cnk8RpmRKqfl79^@t8w4HKl62$HCBxuW zqZe|0IoTjebn73Pa(bdo-!rT-&m(YFv-c-+D=7*eUql_j!ugi zz73Yp;K*hC%pE;l)7R`^?8(9RsmUX&PkPOh3KDc z({>?auQBUWPL&1$eZVBJKpHXvz+b{7nc5dv;4F63;IGsH8A~Wr%Q=5{u@GbPozM?0 zgd(m_cK6S8NB=M@6AE@9(_M-bQ6&3Yr5X8dkfeIwGYMT*J!R>f6_uOKNdSLc-mnCefvitVDzC1;W6s+e z0GT{fbMGKr;>)Tmj&r+VN$(<2-1=su`C7ziw6RmU=S^l^uwh=QUmwVKOodfX&-tqx zZ+0e$-yABOEw=*c*tUX`PabyxzGt?O_`Rp^JT5Ap|NH_e}8j}&ryJQ;HVDN4G zELP0*cewE--dk_63fbVNU)Gntm2?1Wt1Z=FI<*mR%ng7#S7C91u^`o^L!@?O!;CCt z-CEthW{NX$?0~z(i)OxUZ!!#96F!urzP@s(JN&qo^3W|KU|6V&CJdanj{|MOdw(6HWJ{kCPrvR zZab=}Af(=m3dQQ%sLPRRN|j!ksTr>H;R;wuIw2v;l+Je}ls+Q!bjPGfW=5oAQaM*6 zbxazWnK9BoH!)ayw6>7|4K!w=UyjOf8Ioy{=1j(Ln=v{wW3+9O_DseIo53wfV{Drn zXp*XUj8q`av0R^&+rSINw=WBuXXmnrdG1~oGf!_>sd;uUE91$)prEQ#Ly9Df-! zKkYc^g?OCS(x_^&$u6&72 z2da+swB4~DbjQogV}GV)$B>%8l!R>nTXX4~%DtmpGqxD&V?I z!zR_B5=%O=g!SUr6-zS>EqoVWl4)oMDnu+)kUj+t00_=_wwxIHh~%nvN+w z)VHBy%6mL!rbe-*(be51ZcT8mTk%46VE0U|OMJP3_#u76`6akP^yW+Wn;Xq0{j%dk zykO;U&BrDa$&7%F7VC=?rzq1xm?7}d(4OVeEBW>G)$v(V@0tGBE6vx$I5b}q|D?V{ zpK=kaDbO{{muG5;vUHsL&TQGyww3jaNS6Ict6$i(4%L7f-rJn1->&-Fv)|{J;2>lW zzn`$tL%Bb$vPFkY^7k+CZ!_jZX`0eH&k5}rHzUM}i~O@9D6{EgcY1Co+Y1+jFk%=5 zPVASJE1>}3fxSPx<#dVbWGj($+-Z?n{(bJV3jHhGC1Kd7O?vpqN$U8n8DgmQT^#kj z6?oxSvajm=VrWkdV3e>y&wO#u56^0g?_;O5E&c&KzxF~R%IX$^e5yAD`QfC6D-BG7apXy8~cPEZ^E{Zu5D%^=`3$}41!nqY4-{Hpy6D@6&^rEbyN@9zy`Z@@dyit-2(VI9sj0 z$w0ang=xl_hm~f8TCE+a#%f2YrP|SIrq(o5JC-&Sb`Nl9kk$}L2Cr4~V#(hJOLows z!+bR%oL@nH1f^6Kh@QkwgzZc^?VY+Hz`;|(0ju3hBdn#Ok6pn2G`rRHZ;=M-yD=NF zSIwSv*qJz)$05!{UHcGnCSJ&+#F;q5sEjsh)awn)3o4CQTcJ^ou#5Ugn-7GZ9dGFF^+^eXBl9 z)DWZDEd~#-;Fy){VoKq(evDhEElsns#m{DQTb*g$e9=~C^`bhX7bQ`-BUa^R0`>J5 z{lhA}{ZBU_w<%`eYqRi`1K*UM!~`Ec4C~Xv-Zl$fb+U&O>iO`!iTw#E7yu1q8mo}> z#=A;E28EL^6UBB?jZdebMaZzB`!xn1rJxvZ!@FhZsaE{|_StM~Hk?$c8A*B575!B^?so{^}58dtat9W^k^VvYGoKD;V>JV}0Y26Y>3TPqjuEL?z;^M;7{8t$J=T;Ux`oukf)4ENSNfh)xXY0F5IhWumoQP`eQ3l}V++gw@nE{eN%}q7r>EmXNEuo5d$0^i^ zdPVD4H3`j;5KwbTTs4LFASTp!C0wY4BN;b25G>-U#IGq)_AMMdL#cRd2z1z17wTMq zmJM&7eI66DF5Gp3!uy)}cDKT<$k>X+|}XQBAaX3tmbb3B~j6KYq+^@z7aV`le$&*VePcPj$E_LAkh zmakFwQ532AFxi>ot43de*0pl($F`2vS$oWn)51Q}GWRH={K&^lXL;8r>^5dVZ)2G) z@lN)?)%9rO=`0@P@j(<`yM>pnV=@bF_Uq3lghANwD+r0RRY#Mhu8&8`rCQ7tXJ5b0 z2(h(Je0O3tTxiwz7&^G#kX4GC!oJ+&-zI^571&*J$m2>(&Giaa>Ln3{?XA3;{N#|8 z-{k@M$-}cuUJx)hV>eBbt`P%&eS1^TV&@MSE=bk;9sq2ExTfruTJ~!&=g#deY{S?- z(d-nqA;`@on$*tbC>G93Vk?5dzR8U)1gCySv{1D)=)JF@zlU| zw8xI0Gq>B{g!mc>#;X7`jHoHzS(f@XyF~0J!5yNFk1&TcyxWw5_5%JwRGDfq2bfQ_ z(1AS;JN5k8U~hABh>1GG5d6tt57(A2hW4xmfqx1R_(vasFBksNBJhs}fe8>OW9Cc{ z$ZmpEh6RHm5FqYFanH5_oKNqVwLzij`%w&lnG=UXJnFmcaP|-pF^-LaL%0=(IeB5? zH=2F08txN@8NzMCf!iyfn0-ax%Hloz-4A;=Kxe@@7fYWxY1+-+AD4uHP^UFu>|Zqc zc^%t_HU0);7l>qR(Vz|IFjCh015ncPY&fXVog-EXc#;C=a`%CmbWVv@2mt7=C-Sv{uWlXVoAcMK3Zpi&L+Em>yqKEF?<7vo5WxzD@JiCFNvL0g}_9HO?5e zV}zJ#gy|`SJt}$p8m}J!M!wLV;ZN3|;193`zb}=zH5o4gR25GiGIZzD&Wvzy$hDt| z&GgPNu7EBicS5#bZw!#9_PiZOS0)H7pCmdoKg~hs#AkC@yw?(AHK1Uk29BKuth_H^&!lmR-%tZ&PN}Owb^r!jhNK0 zgySsOUy&rnOQdkUtuOlMRQy^B!74e4cNXkF*;yZLya;xTHNNn<=%dFH5^H=E{}@`)Aq+ z0J<_`?Zka>7z=C;g^UrU@5pY?}97TYP5nb&~bo zwZn|}g8g%%jn^`q3-+I)c^Pf|hPVUqR8|)jax)M*+>vUz=^T^XPV#~u6c!|R(5=Fa z^vGO{jDEG6`?|81Q^?|_HB<(7?vN84Y}qhjxbDvwK(}GLh+!{u%9#}~EL1!IR-AX> zBl>Z-Sgp^T1W8MwF|a$Wg=?JpP5^S}c6Oa)+gY&x)M(>#APaOOjSKgJao|mqH*QXR z3Y-(0!DOgAeqM4n1sBYx6C3G7dh8j_ySWj#oQV(Dz#rusE|J7JY#~Pub5vqeiql0!Y;`jDunLy0Td05A;9 z8QE^S-<-?yOF6Q6hXX`H(%0{qP}bP#QXZ6VG0%FsdLL_^uFg^iohC*R3_ zm0U9+N=H#5$=zoi3>l6Sk@UIH(}iagW;2+pjXrGsEA473+V~?Ci&Y<+oRhvvM;vOc z9?K@}}i>q;EYkP0AT-o^!(0 zlfsD-*o5K&;Zjm3MeGEC3l`@*;g>%D(wa<~%v+48dsJ2XoUy02YcGoK7t9-tgFTx% zrxP>|cYq>iZ8~&}p$su@%WG%x9bCyCC2l@-jdK(}TEXvp`Gkf|iRh%C+S(>PI7IlhU6r3-i`Xr@+VPK)WN{yz)#yXYKk5hN5 zx289y$M*+4M#GVqPKS!k%9{8z`DIO`4+f1+vSkZ7w5@P-c7pYdzikT zUMxJ$F4eJycQlPy%!G#T0Gt7>1fPG$eBM*o(X=@kt%}Fy9YPOULq&4eVTcNg0*hX= zt!m5f4_ehHEF|s^aA_`U>YaBM&T)INH^$9rvHF8RfM!hK+164~!uix-D52`Q$b6gz zV?L(n!ukWd;QayiVF|}{xG@U7_4~*>5Lj<6ANe#qNfT_Gpwx7>U*b~ckIevtxwWwz zoWBkluDY&t0Guxj0_P#7xVb+CzRLVJ>qYDrsJe3V!ar}ryi0(>s@0(tVgMqai6J-i zun-gZnh`Q<6Qe{#vJGRpxa*sSTODmqktIspBN@VvtMs40f+mDWnLq)pHwnx5n?7!4 zPbuLc{3R;taYOjYb>pPfpS@W~0(*^F+xn*5%cdMdYhvOhzjhv!GA5`CD>)#EOwvN0@QyAwxOZgYCPMoQ^d@tAkU%BUMi! zgc&!(PZxHN!U};!C2(Tq{5dl!Z4Q`YgO=}Ai55j;Ui9q%6c1J=X3dcD}`)B>1wEyr&w0|S? zlI#D$+h29%|3Uw~k7&Onul+|2GZ_^BXC2T!{_6~mJ=_kl*-_7@1T*w+Gc_6Vupbw| zI=lKq??TE!*Q*CK-FMjBTgNqoVQD8p9KdxY&N?!Z{bj~ zI(nNjFccXf-wM94d=SCl$D3VY^}nd|65NbRu(K9V4|yr3sCe7!{l8;;ti22s2m8CO zV)S%DOzzm^^}j{}06<@Vjr_Kb@i<;4BQ|a*hBWJ_o@yO0MBb`(zm5zYg#Z8h zf0O^gbYh>j%%ETYC6y$DgcHf@J7>{8&+h<-PI@>ciKE&kkXcY*>?my$jQN^lBZC8W z3V@mO8qg!gUV?hG!VT?C91$hQ8UIPG!Gh)K5M(*ca96g#_yQn`9-}5TaV((p9$oWa z7;*a|gfMOF`OvPH^Ugcj^-M$9!(5{ZTN5V*6(Y*1@(F}HD;>Dd9c#UR!RH~jObOua z^AFf6gB2T8ZN+*2 zaiwI=(CP`H`9-*Bu}VA4cBs!ImFu_dJnlDB`|}6In}*n*d%RXCvNL=ubG)snZ~eQ*T-n(DQh`*cr$?pF~&paM} zbE?#B#ftZ7Se$q86eF!Xn)50MVL0xR$9k1GWqaHuV{6Fp#S9wc5Q_r7d^4FMor}vb>nNP9Lld% z>ko9AmPYn`{|hP7Zfo9m4dhN5UYUU9O8iB1{Eeq`-1maM>O6cAKVjJ|6l5)Fpb~n; zA}hY6ic8ieNf0$NzZisXe*B)hTseP~)tzXoU4AvJRn=Uf&CrIL=LS&Eae ztOa3-U#IvaOPP}N(PwFyWnpez>332XP@LkM{qU zy^GRgwv7ohT|nPK816vj?OXbMB7Phk_ZXn>uV+M50(&8q6iAg!hAWUN$sqY!ARh@= zDXC%ClCy9;FcqbtabQ379e!5A#h98WEGt1~6tRg4hTU+)U05lrN7maiI1MKIB)Pq* zYcXDgrAjgGjuqoCk{Z4YVuY8VE0>)r7D9L@ZSoD&EEAU1LU~l&NiJRf_>}6_DWUmM zvHn&;IV4<0lVVJfv7U+f@rNjGmTEg!*RTYqP(-s2n<6D>#~gIu7Tbz{zPndU927AG zj3Sr*=4}5HMWB+>{>@}gCSlng^kLu}V`hyw0)+ZOX|snUTzMBlEiH7}_uq^cIbQoI zZ?A?(?F-Bm6ZVgk%LUQ$9LMFsQlrd*eJRC9FrDYaaG5%t4`8cgu~?V*Dq1y#w)gzWL=rcRN z$F)C+MUGo>Y(7#aJPzr;KZpvntl!dkF8ua0?Tz50SE$&kZM=2R@!&UnEjR(6io%bB z(E_EKKjiI;NS5~;S>Z;Mf`mL*`3~&s2X zFEjhlx1G_%Wmok$6+xXhxvN+j-lw!pDtCSD(qh#C$XDT9P{dcTFETzp;fgb;_lYOH zK&gA7RJyo9RYPidh}Cl3A>=yEx#Ia%c`qsB---Ihci1|tD#_pgxKab2J^*at&Hlw6kL! zu5j)DEb5LZpPJFg2R}Zw4NY@Z6{Q0Qguozu0a^ENAx{<)E)zsb7vc7BvKOMN_b->> zOgXlHFXadk5u3qql1Oq*a=DDL>-oQ<(eGH3+`Hp@>=9!<}xCsUO`bnbWz+ur&d|x)oyA=id`sS{A1`6}_ zCC8@s%Rf;f+HdbV+G><;e*xG_566Ws#IZQGqlC*EQQ$6WJrxn~W#lzDXPmcne-&wk zn^I4_gA5IWLj$gD9d95o8}|O86cpN@CTpo`YX{kn$?U;QWh!UVc6&*rNfd3}Prsu} z6#kYKe*qbc_lRL#pH}M;v=FBHqgjV|6@rH1iRz{yK2aEZ#S!MnE5d_d?9^59%7kTE zFpNgd_wl~RO>LT+)3K{RT%6d9cCY#)jF<7V%s4u@5PNRuF=i!xJ%s%f-ANA{IA?-G z?CQ-$Jpz6L4c~0Lu+K&L`1vTD#({*iNvGP4^xH|OGJhU$ zD)&cuzp@BFq4R%If4u+Dh5kAY{#W{=&e(&^2AGXJ8HA@gD1<7LK2uf>>L_*%b$6k3 zxG#psqg|Re6KMpY{PCE{lKlb>55p5o#ZQ%8O55`J>fFy#{<1Tw5t+H3foMW-T% z@v*nsHe!&7;OeXj{3uy%I@FBwLGnBKu+PZ;GoA2^e1DLBd}lo^d7=yd1!I;m=Q{EI z!F)UQ#zb4-MdilJ^M!O)X8#=ENMEi$;C=_bFH8G9WKS6Fg)y!DJG4p@GhFn@>(@Om zxjk7O2f}s`zI>uSISW6JEy}#Tq_!39`>0Uz6~iigQxxh+T#GRY62#dm{3v-IIu@)C z$PXez4;?s{LrvmtDr6d($B1{_EVaisbYfsat9-k~ebgI5354 zYeJW`wF*1J=sjNum;Jlil3ohQ{@eOGh=Eq;`nsT0*4Go%ACo`9_;1DgFuHUaW#bIU z4ygXJAJ>COW(38_ zu>+0PsirSP?IXN>^XpRg9T!q|&m}B-o%yq%98+5q4rFO&k7G$U>Y)4@GEC-z$YYLw^qZvHpu_#N zjmPFdCoKj+z{v0XZ6sT`9j%gouW7YPU)u8!^n>&h47996ornvbvg6BqDKr$jjTJEp zir^n2m;s|wL&lqkseU9P`3t4tKm1vSUJ#P{t)EwX-_Z-UOr!4?J9lb)V!Eo|*F8p|X!H5E;HOJ@!(>&z zK`%=G4okM*cELYzBKYv{;a*SC8|wLMJ5IS9AhjP_s+OYYtPF+ifGpa~OJ2MHzfs(g z1>>AC^VJuL*3~~+m$7NOmKO{Lf?B>W>}%Gh`GT!luD`Z@j#kw=uQjlsRm<|%1zOt1 zXVH?__^kS-P+PNa(ReLuxcQnDstfx4twiFttl=u~a1~V>9P$hq96H4_%riJN7N89q z*643;!(+Zb7-|Z%YBHcFGvkbmk)U$QcnkU)g8oqBu%IvO2io8Zg@-jXHHZB{Evw$& z;A?LVkIx4Y(lCaCgu)2g)LP#Z^w))vL~Ff2*wi`)#O6RC!&I3-ZAa8#AP^q50PzD0KnePxi#if4)Ivi0YMU9U zYi^>rP4(cl29QA*qEJDH4Xd3qtf|E}$8Rdw6KErj=j6emle=l8I4x_wuesenesCyj zxO&qH0)cv}!-Ynivk|ZaupH0^NOa&CALsPonF-JURUza+s`ku`sMC{MSW)WDo-vDP zrWBsi;sQyC)wHKPyE1Q9H;?*<&@pLg-n znwAr2Z?11WIqYd_Z3;K}nwu8;JyeCB7Jt}Rk0zxR2RsGd>G>0L0<8^Ab36@!pr_v7 z7H;$muGi)?PtOVZVcMll3tN0`o(5l2vtQP8n<8W`9K6s|=c5d2{hr!DduzQX9Potw z3&ZWO6Z*FVj>r6Gd4G0NNl~7bAzRjPX>lPm#NlXt!`nl_;mv_MU-R%#qc7-J%`{q; zK%2kS!)=gSE8ERDyw()wRn}Bgm6n#2SLWqvRh9XpYbq+s3yTXBYg$oFaW=A*;ebpl zEY2;NR#Q2nv`bn|ZeGQd%97Hq!q?=MKuyRJ1 zJZcsdle%Q(7G`@(qJ@hoPfc-2c~Q2v%UC2~WntIF$|)(DSkh&z+~VBM^peu-oGzrE zSYB8#sj@h)qM~zzitNfNwBEv!V#UeMsVtnD$Mp~iY*l+n`IPMPylll~R?XDHylGU+ zR%$^WjHhIFjmthIgcrYr8Sk=6;om@DTY;= zU62%r1({oE&dS#j#S6?mOq6Gby{c zAkVaq&RnbBIB~1uvb|6vEI~124XnJ1EmqbKu$t2B@=7$~NG??su+GZD7$;SjW44wY zZz0*Ux3Gd!i6M}sYYP z5<#eN7Fxxm5_r3UXe~{zK+7*FsjMkPTbfR9rA67L5-TdHEX=Qgc#{f?D=W0=^{w^U z3(&L3x4c#wt`W`a_sv(d(m)9PCB{QUt_b_W?IHP^8w|8*mD%M5c}S+Hikzr7Povs` zfJLPmN>f3;ExWP=D$XuM3$4k6M=dEYoy5}D6lE8q?dGCCYiXlw{L}~27*--4^qu}z zIp{2DuJ4kL;PpNlqQ!&-Ewre$&Pr)$TIdg1NzU?c}t=y09x|Qm^0=>Rj zH#rK;mz_R!>n*-k%2W+FF?g%jd>Ay&_t&&Fx6f&64Qb6y7}{oq7q$7vhr%?Z%^EHd zjRyoZ=FpgiESWrVY4I%_KN9bF#Ee%kWXHGzBMGP_=nF3L1pRYRA0Z4SO!;E_y4>=T zQgr0-N7TP|9j3ITw5pT?bd^Ri8A)M|>YQTIkWB_=hI-4bsL8IZL=&Vsu8`9TsKJBL zu{j(WI5;%W<7zL3WksY2+3RTwEQsFafXx zK(p&V3enKs+{_cplJ;<0dzf1L;QEDw>ra*cM+f7+W*VuZsn!LWF-?z5IJg1VHia>B zh|VN1%^+uBP9-q)sL7jNSrc&(!9Yumnp|kat0*X(Uei!pCnqPzQpmzvnnKi$D2oDr zxHK53%dW4-q&$>eK9PtMF&V7%FDxX7iL8iJ4tw^6{GF&}?f&4R+@NoPoF=Q}%z06W zlQ;3~F#KCB5o0GvU1S$4p;-=3Lwl>7ZAXQtvZ4>kuBi*OEvgB%*VfdwH#DGIq8vb~ zXs?|p2^7fGL(TlAdVipX{632}l?WBUp*JE;^EHJnv;uEU@zjX6Y5l?1I;Yu>6fMv$B1S4TjxXe7A#%J#ExMF1EEl@FGv~12oMu%6tQBX)dqrC7pbXh_O-MT4@Iho z$kCZe5nHg>g5Fe3J?AuM%f1P9ET^J#nselmhn31%HUxchTCg5c(-sWO3Hn-~x&nVI zOobwCc+jPnHEzZ0AevxAv-?{DX(>YsSl|kjo_#T3(HG0-A+shM$H0(wP3M} zETJY)I~UcZM9YuTL&~O=c*oL7#2BgyoYUy9n-@b>102PRA+zpA<|+#Zcyh2kW*TQN8fo6;c<}`+>ZN@HDXpJGPLRd&y)cK!g4g%&&exS`) z*Azxu2>aW#_ST?ZEtl0qJyVV9XhO(eF0|D&!A)pt;Gt2Ys0jyZ=GQj+TIXr4?Jc#W z!-g7OOQTq{=2a7r?k%J>1nSyDFaZC27y?EbH7&kyU881-Au)f5M>i5P2RCLAxfEuG zz)GFTm#(&pKW&%CIj>%ZbuoU@y9wL)z2veuX9r*tfOy{lX5*cbEBtf3a~2>r>Dn%6 zrJzxtGcP9WLZ)35LtEbk?G~oR#=Rf3&iTFy+WUZ5Sw86^+(FPf%kp~{;o@IDw(sl- z+KGVJJO*>P(_`q9m^Lkj78|Flcj_nUA3dp8#Mboh^u*dXjvy+!`84?^PEY#R72Qma z(&>t?Vn+XVmcz{73=zvWY5z`6GhZ{E*!YpIdX7Krncoy@_cddgupz)}fU-?7{g`gO zsTC2LXuO7@X$bv3{*`0xIg(CD4JthaUNecV`SpQzN=5lNe|>EDe=|0S?NzCtJGMi& zgwSY)h345L(~nHBLLTKT)L1iv%Fw9~YK0$Y3oKBcBfKD>RkXKZK7!#3mPx_%NTw&y z-~rQI_Kf!GGG7$K95q-pD_2?5F}%kZrYS^AsB;1|=*G~0K_ECUBdT+Bs`Z{)U){Vp zK{+UnU3`sMZH?5Y3~xG2=#&TKaXu>d%rpz=92xu*VdS7!rmYf4~ z;J(#Xjjwf)qQgr!)y)IqTZnb;Fg+Us!NnSud+V{l9GchE7WReakv#O?hM`+f^VJ40 zJFoROV{fD0k10ca$QQ<3S!Oy1Jz79XrcKT9R`{A_N2Z0^TZj1;gojNZF=E*CB1k_C z%0vPdx}uf(k%@(#E5$#SE|ZpIR;`-9)Q|N@9jk|2qlZbIEqfI1tf=_V6n2#~+N#lN z+rwd~EZo%M*XH>b)dlMPS_sWCge8ZVH|$I`Hr3brTeUf8W5`quV?1hS0@J4u?WZ8K zrT>U?5@_GXIY)noxzRu4oa?_=wC8?MPczK_t>-<+f6Z@k&bt^U*yAJbjYjmH_)aa} zx#{;f=T1N=-ifvl&usup8i+^uUJhfXP0wx2Bh~ne^pv3w;RSkRNxyo=H~L-^FO=#Y+BSnoisEDd|@qZaK^}mu>cAP=KtD6Re_lc z`3=(~%0G(-`2LCoO&FDo*DA3LH8B9&X`xrIzadP|avEx*1lR^R3_LL(Jir7%DPT6B4bTA|W%TJAIHU>K0eBAZ z3gAt^ZouaN1bOy>Kc9SN2F8iCTB%$^lDmv!X|qbTNpqgqnagW0ydi~cBP206lo1MO z=*(zgO+_d~cc#@hhZeQSZQXjzRpDTQ=B|^uZWXiPgmgM@H&Gmq3M$2m6*aQHLPi7c zR0zpqWHrT)xMmrQX3MeZK@pJvvM&zHm5>I^g=K~um~34n!S%Dw@|K%*n6Yrt;&e|Ze#U}m4wS%IC~IZj z^hmCzU{)1EpS0K@)j2ZvzmHR%ms3gh70t(LE-2@*S^VeWRr1=Gv*Fhn-imoA+RmDI z=UYDbd%#wF>z;mo<3+$bfL<@fJ3qp6BW~LK^~HGSu$+Eh|NV^P&tBM6KMn&rc(rjF zMrgqx7NM{hpyuo2G^*us+5qhWk9LxWtUW|$ZLpe4uk@dm#V1T!vDh(gpf*q%2ECxu z8?JccwSmKd@lhXko*X`U(kFVt2X89S_$>2~k9y*K0ge{5&KX|U*wkDS~%G5*RYL2Lst!}26dPYVbFkLYjfzdkyeWnGMcZstO4BGib8$nXGa%@>@h#dE*Rf7hcCaP(sQ3JgM<*-3<6qVl< zgCv$>V=D~JAVycb0Wh2^DON#UDfvH++f^OJ=Brkw|I=(^>Q?U9bQ!PfEdR5zTFUju zvXSooUB$sKqr=A*ncst5Bv=_m_&5J{-yQGV0$2`c1e5|ifR4K`#=0}!dDT7f&ieo% zz%;fr&?ZI;xo=foj-@pH9;C~wU zp9cQ_qya1k%XMY*No6NrX~IYR-X8>_J;2ZIaKwa9;^#m3IR=iI=m+>Y84j25bNJcD z&t?3)j-TDp6Hqw1tU=F*g?bLbkHZnZ3{ScVGwP7tiC3)|A7VpPt??4O6E_(Ho363T zK48i7cG(A%-fVZ$+R7|^xSxKgiu}DBK>w)kIP|UROQ@ru8#l)RdIQqGu{-HK8Bh9@ zIQ=kKF93B^Si26?AGFi=qXU%2cX)pKm0k8>K>w?MYyT15KUj=1tpscU+y~eWcnz=z zZ~$-w(CuG#=kb7{fU$tdfNH>8z+%8kzy`p5fbD?S0DAxj07n4benfo0P{3HgWI#1w zE?_ZWC13;KKEQUsYk)m~1ArrdZa*PDU?^ZLU^1W@Fc+{GuoAEVa35eh;5EP=zyZJ! zK)1t)4;Ts<3z!V32FwL42CM{Z0Ne-I4tNc)2XFvz1kmkg#0Lxoj0H>vR0HM$76VoS zHURDeYzMps*aJ8KI0EQ)1n~hw0b>D^0o8!HfW?57fDM5A0NVkt0rmh60FD5<{et*_ zp@6Y~$$)CWT)<+$O27udeSqzN*8qC}2LML^-HswYU?^ZLU^1W@Fc+{GuoAEVa35eh z;5EP=zyZJ!K(}8JA21X!7BCr54VVj93|I-+0JsmZ9q<}p58wdc2%y_yT zs0PdhEC#FuYyjK`*baCNum^Aea0JlpcfS0yY5d18fJp2G|2Q z05}5Zro}mr2Mh&_1xyB11Lgu216Bey0PX{92fPN@12_OU0_bK#e85n^SiodJHDE4a zF<>QN1K>WucED?ZJ%9s%BYJQo{uN_wF~j|;JFOX33#r;a|xc; z;7Jm$mrq^0RX*+7-SX+w9+uBUZHX7_rIWF)Iw|Ut5dD~cPhie%5}(7bm6>IStJX5# zi+9!o)&q6|%y8=2RXP6)T0u_ESkI8E+V<9PyJu9!X&EDjjcAwH=u;Gq4YU7GVMdJj z4-)!cp!WZ%;Qycs{uATf0&*ZO7h;u$_GVxUW!hp#yO^kCcIwpSTJ(K@dzc{DsjA#NXen+W| z^WR$@=X|TIGk?P;CV$K3IOpo@&ivF_I>(>zCHesQLrp4-O8<+uP5xdN))!9h9RJfS z!_0pa))Z;*$NyCPo9{RIOR%SO84W%y{GM+4xjoPlE90G)&;kViQ}O$HO#Y^7_(dXG z_(N}q@aM-nFH}__L#X&OZZ`Rz^W&ZL)4JwA#YeBp@^88*-g#Yu$u;Yz=iE3`KUc;( zmysdxKV>Ix9WeQ`G0vpym+{!z3^xET7~bO_*;G5ArmzI(p>Q{_1{*i^#L@l^Gg8Jh zbgrfy@xj~zbG+DcZmtZdV`$oMwUStbBayU8{9>I(Tl8(-z#NlQjG_%TI7obG zD@UFheFX$Q<4mVWv=4!Y8r#FUbiwm$AlQ?Tn@PA~htmkZf`Zct;e0v{p*9M&geFDH zl_%p(>HtvrAa#zqFFCD6I}Jpf0+81)%Okfh^FXEZAa!9nGe@V^rhx)Q=isb zx$?*ut@EC*Sh?y11#NGIv^Aj7ML*6+ZBc5sg34trSC>W0X>0$HD7jMY8sw{Mqc4I% z8$PrNEHCI$EoT9AjaF4Sg&Xr9HjFerY!v=VX|Lvc!A z;A|>?QCIRR5X_K@RB)?o_HYsm_5>)4A)os9htX7�lTA9CyG-UFzLHMR|kPj z%9AigdD$-)mk*->$G|8hS)Fo?GHxaY&h!r0t$rr$e$;ix%wgSfi7wo++ zGD#Z#)j>_VM$WPQ0$_7U*)44a{xI)emdMMlA?;@7OrukP`Sp2pDlnuS1a*E>kaj~W z1Lb~SGxp?*a8N}%9Tv&wH!1@l@)?iaAp7d;l_^vPI1lYa)UiBon5#}MvI!Ru8Cq1q zvrUn-Yd~KRMDyVy!&3a(@o4U}R$Lj7RPA=)QiGKN$sYq_A-*gCPDI0B1Y=3%{uXT3 z)NA)kVrxCD7U#I4nSKd+P==x8WGdQS%}QM=ZY2(_U^h_v6;u>58f;-pObwBlNP)^) z5gF&MgO$D@b_7f0xl3&&s5tP#n#op2FMgq*s1|ijH4s!czz4#7acQTm6vw3K#?A`h zq%L^?0uE1UF|+(w4<(E1r?CQH@Od;r^JFb&9V>2 z$v2V|B(@aoYurX6i44N^PG*Sz7u(z%yMySNz@QD;LQMoUR?P5@u*eL1aac<_tXrj)(}*+t{$e_Uw@4cb^86Pw9g{JBbi5d*HVLk{H6=wVm)smOD_{CTq2qR+I(eztBxA(e7`E_By8jdkmYoQ ziB@h`A)Z1A*>RBea-W+5H;euJ7I`4tt4)su$yM1Dm% z*r}`$?IT4lmdC+M8o2)sX#>MF0-EPnX>g&mDWF0zO`%3br^_KUFbIQQuQqfQBagO7 z9|TqPnK8sKK@3Up(F@@c03G7e`ok$GqSrhjKaEJRZlyx0EP0x;+<#s>dNJ)*@X28- zer3QcQRJdxEgTC4P*OhAjT#_!L_|0wzZpzm!ynK$pz6@ z3UJ0k#n*C{Vl5iy4OFcw4YB$0;(qK=e+sTK1C4DH(!!EfPLwgLIV0<{c zT0uuGPv{j&zMCvGks;Lls0c+=NiiDe#;UK!D*m#K;G2tMCuenZ9 zE9nfv86c_}Q$(dx(>u|D0A*c@TTVArwt-`uL%Hx_!ZT9&q_p z4#w{VzCf0|+)r0S*wb}yFv&$QdnTS6A(F{3@tFv*s&!73{AGkJ^=5ISC&=L++uC#% zqyfZ0D?0~v9ojM;D8f6dV9F9&G27C<0Z&Pe@c|3t#*i=|$3789%*o#j4%whW$+v~H zQRq3L%P2{^0$nC3rNKZrfFoHUtr$HW2t^B8)HLJ-bX1Wj$|C*>QoYp^Mk~aSqct@f zVoA~^DHMjGD#}E8=sMh)oGnje?*N%jt(XROh=Tc=LR=875nUL0rovX-Bh06Yt_*NS z+rT2Pmt!_-R#H5AE4sm>f<=5>2FN@I;RMbDC3-oCi7&`tQE#dJPNC$WONB6Jrs&|% z$taqdH%bHk=vcaT0=g=4G@L~_(3lKf2U^z@tZQ#Z)8rt1(Jx`z3WH?=U0%k;DaLM~ zo(N8g(Op1&)QLtDxC~uKtkmkxVS5H5OIZ^!n2^Yw?;GQ03O>mE$vY|3EhR_ zRt9~op#~iD_p>IX4ju%bW^|l*H*_PhvXrRXS=wsQ(aow*u*tU5Mr!};Ow)#=w~?K( zyl)USz4eN&Vk=Yq9i#=av6K6eBLaDuPRl^Aq!=<_3}L zocS!g*(bE(fl90JhbQ84jOx<0o=_fBF{NPQ8Bt}qYolbbw zK$^6a$_o{6wmfCmZs^QV#;$z{dPq)DNOl!1q@50PQ&cF26T=riKwTi+b8OfYI;mmC(sp zGnd}5D(IqKjmbEtd&xy$YQg9b=#0|w2fa~g#zu%$u|j$yWU3r9mvcdF<4>SaeGCWa z8f{Q?@2+X@#iItB@m;?P3<+uN_+*DFsfkk*mrhY=&*C`ro`0pXP~Vi#R}t9VRzW|Q ztDUjSDLr-^0P*Hi2S7`EgBmrG9= zp+_mvK0rGWWs?E(&cjxKEcgV}5gI*q{a#q2X=&WyV2_}FdP{RoBd)+|w{=0JM9r-p z<@V(o>NxHU3SdC8ONI*k&H%3Evai4*`qDlgD)4Cw8(2}=F zK4m&pzBNWKxC@GL3@4;L6~nTm_T3*aLfRx+aztumbxLfr3bpIy%uKN&#N#kWFvDBq zimg@c>OTqrLrBn(_wDT}yG4*A#w7Z#jY_Vl5 zx@&nBrZyC>Q;N!lwfC`()dg2>4^bmp0YFEHfAZt~nr$OqO8{GORE&UFy3KhdJ#>eQ z9(Kn>^%y64@oOb7?nFEcdmP5`n(mCdgNRPYXnNS=?!m)ucj&hG8}Jr)3jWyoUO|83 zjLq1DkEblP+W@*Y1%K_flZk+T!|9r2z4}`}d=4&))(sn(G5VsBnVF+APtQDEafXGl ziZi_Fw9#h_qY%UELhZxrFbB%0_^%S+wuxD;KR z1<_bzgOfDv3yeDGP|2k@II;&U{aXi$`FCjL*1d)_y*rf6dT`JG6lxHaA z8LYe)dt)qvwcKgic{}wz!5+uMPTy81-U&2GC-bxlz0U zqjHwoewX<+Yx<5MsJK(F1KQ1g_$)LJ{Bv4rA6(0QQ zmY)NH>m|T&ZiTP02?j`bd=?J`*$=7?*@LDck_fN*F{}QC3FBpl}2Kjmb1?fIdzFzLb zYqNa)9-+Fo$k&Z%&)v^Eld>3aJWA92C|;d+V_=x*+IqGfl&jP6=W(Ss%{34jcKwMM zdYawU1|xPoQ6({_YmxxA{aX?t&4n@?!CR87Qwq_GB7vGmq3=NkuBRx#aRoV=>o>YX z;IPlf-{enW88)}aW!QcLDjuOk?eZP^6>CNTjkDb#GqH<(FkF{lyK#!&P6gWCCKZzA z66c_uM9@UB1Lii?{ab6K4Kn>+tq{7evoD+_$l8|ial)?;N9(V^|BSjL8i6C zK}_bLn)uBF)Xk_}{7z_!45_D)rP&cDJ;yiCI)jhF7e*57&K9&lAxv&NEQjnF=!w0Fq*mRWV3K$3!y`7 zH_41VVilF=6y^>RZ$L)ZP%gj_aRViFs;vPk(9_bz6I8r(+lNxBOz|b2u3@b5QQ{x) zfvyZjM~l0u2*Ww$EU^aG7C|S7lLr9JWNxnb5Ph&~1f!Eg0Tpnh?J`)6p61n(e*lj5 zLW*yp)Ld1ZhSqyg6tOD>PGz1`DbPe+!tX+2)0ms6 z>UcV%$>Lqo$qd#>A5}HgTs8fa8J^35Jz@qaVK$?K#29o0E+3;qRHO2gCRX4iaTt!uHP_Uq z*h%@$W3*J9O=vU6trT>L#?>M{69 zWfVFU*KfA35Hsapl!`+qi*#qXiu7bOD^XSgVzJH+Q*4IYb(QFOQb@Zvf$}J2u2aYs zUnV2MXNn^j_qfV+)#4MCl~pjBEPf(xC8K@BrBoSJ`t7nI_9MHW%ISK@?oDKnpo?9u zY0MiU7L%7T(R7hcMl)T9C83#Riocx!bOxiNgh6&t&2dLV2?L<1locqkYo|JN6I<{`PFEJ(M7ZEh%;SQaC>MNg zq~MQIndVsw-pp}FYbg%u23z!#P{kXM7hWpM2kESWx7zOA&s8Kb$t=XMUmejQ@>d6i^_H9 zx-Qj^>tPmoDF@;rFS8c;GUjrTFSi!?3Tu&q1_0eQiV` zH*p+R$VRI|Ze}hku_9#F$3xca zAGT({#hU#i*6bgRWd9>|^pEK|(xD`4Df2MUbZyl)Qhq~Rf70)XnL)M|tn3nb%KwZxi*1Z8QdbhPi{Zl*hEa$7t9VFf) z5AqtLL&Os_278^+bSC2aq{ABiDF`7(u*ugRT zkgb_WKV@tCndecqW}<`CsPF)Dhp17~*Nmdl?x!YmP;Y{=ptXPK*G5Y5EeGOC`_5X5 ze=?UV?fXb629oLhU@gTVvlLp&yEG>Gmp&ZXz({`5lQ1n*T03mb?`La%N38k%V$JWU zHNRiY{KOa3(thK(Fp?~?+28eBRrWUH>PYswVHxlkhGoEGXD$~v&Y+PJ4R~a6;|+7b zBP-3pXtL6_lj9=$1(dxo`Xg6pySrh-`im;P%bI-;YxX^@*(XG@mo}4V&HgwudoAU? zQ;=VhaWmyN#FcE^8_CaY%`e58UvF!EeIohE;`X)Xcf6UOkkX_w+J{WGA1Bn0Ox8p^ zN-rlc4-U|cahR*W(F5Y4WAGRk!77zr23X}BXq7X~D(4`poP(`$o@B~Nf}PAUWm_^4 zZc9U$$8E_(xh~d=vE11ibT^T8(Y-v^2GEOziD4JnZu4x<>Djtqr z$Ti(qfLxJ%wb6vNTBYKd*6h!*W89d1zjyh zJA{BT0>=D4rZU>B(wt|NCTNu=WR)fyk>*osPVH7{=9|)JDYUfbT3{H+6;5}NF%Y9W zRTqn`*`IIC{sL?E7e=yw8{=2kMUm{EAyd0JQWsL1B`i%JaT|G|OBlt7j%G-gGU`#9 zTgtM+@lHg~;96!}O0o`eU2Z%Zk@X6ztjn#kuCU6wG9s%KZdF89DctIas-$phBC<;1 zu8hbk*8{F%;XGKZ!9uEQt&stlU{%)`MHnC{MP6$aZk<)Q>#V|E9}!Mk)eRBhT z9x$#3SL;!MKlCP7%Z1kCGT^tFxSht0w;5>|FsV}A&Y7{NxWihi&CF#_ai_IZcSTC& z84Nk^j;Q?PF+lI(xP3$^^|TKfGa!VXhEjcY0`P|n5(+xrVmuO&<`Jtjk6NX9%qq=R zt2B>Cr1>cW>HmoXCySxT$F+^oK58QLB%_e#Mq23EZVZPI?qt^vBNGcoN;gk)AWf|} zJ;V9g#beYMpEcxOK$=r6+C0ayy2P+FaGy8Mgx>YEMDfdMKwn_=I5mZMk;m&;*0t;%?nxm-1`S(Wj+sSGW}=0OI#j4Y&k{9_|EZMN$j<4iQ? zRJrE%u1qF11G972douIXztRHpUyb82ZcKfI)_2}FXsIgoO>%i37_^3y>ZdTf4O-kt zy%7D6>qCR)^{E@FZSOH?(wjP;s{JE_CYGt$wCwh=LDRF;2WSZMi9vIv)SXmSpBgle zN$pR1`^=!(Kh8UeNtyrzF*40N9s3}*H>~Rkh*XL-aBNEnfk$SyziIYSL(aux(>*`B=rn(fnQ5c zo;sTR>p|&OQ$L~F|3Z3G zCkguL+lKGOx_*##p;~DHYDKo%-df65)RgOxaWiVoVSf~+)X&+Yd@%x?un>QSsXE*I^Km{_9gerT#k ziQ*-@(oqQ}*2lFB1FIgTir3FIG6wUwdPBY*Wr{b*^&GsGi4Ae>g*o-8nt>454{@bK zZzeX%^#;i@RmID4y-Bh#Ho-;v06nHDUaqEpNI|EQB2u2Qv_f!ygKYe zaM)#O-obi%&oWYt{^AgLwIu;1zV0?7-{`H0%hlL6!J?s*w>muDpCJv_q( zBXdsx)tBHQ51;610sT17AvCch54C_^o^s3%l06RCx?9svK+vQsACuxwL81vP+@05v za08IE&69=kmF}4oN5Zuu1G{H4W;}78L&!efb3F>+@Ek(>bb8(-Kk69-(V_A(1Wnpf zigcVuVIx^dyEj4#5rz;+&-3=Wa{5Ux*hm+&lQ?WDxG&oBBMqlh#Ke}jtg zXGRm{G&JdDMw12Y_$Ix=Xdm$a+)&a^M*H=y57cQ%uiB2H5$I{2-nfU7w9B>}GU{oA zM9(yY{fq5E=s`~#A{J28H*8gS&_?2r?m*wTPqi?2{+ zN$)T^7S+9pG>`z}pOCcYR^+2J&}!8{z^Z{Zs|L>FQm_VsjIstoTqxE+*s6hcs|Mzq z8W2HJ*CG~UkT?W$Nm|V45b*=-Bk6ob)5Xa!(4-3(%@ntzPf5Cvg&ZaBBo$o5=xA{g z1-_UAXOYFD-kjs0nCVHMPz5Lz{DVWV5qxV^!FPP7gpJ^zRuz12RlyI8vI-6{%0}=n zM%f5{jHqBGndr~Fk2XjgPZfKF(IH|A27*bNPIX3Bu-gUH#%QMKi*h9C`jygxMu`tG z{7N!(Ww@ioQnZ95JEK{>n{a<4DNf&_QBo5`n*nY-qq)7S%Dq~Wg9A?ze}cgzIe9J1 zD-zM1lDg?F(ilsX^>ydCl~C@TkT3ZF{EaPTUL1lJOFgD^r|PY?(I~NhH@x=&LgucT z$t;@^oOOS$%_+-a7eAuOC)GsE?`S;G*^IhWz4^G_62)}*fuvf~{2)s*QgPU2p3~8m zGLx>5jY!2?X|3;7*7{x@$x}A^HC$(G@>ep-CVv&9T;FTCsd9Z^%_!IRHD-OwMt^Oj z(HFogC9SiOr=vzMoAq@pV>*hl4uwe>PtEyj8z~tFEl>vzyDkeU>+-K?CB3eNAJn=# zkW8=Z^;c2xy>68K)yL#+H^?Dre`4M=o~r*7w1r+9DT*%OSbN{;B|n_gTK9=pm6ktaO4Xe z_H@Y{M@)*}i>M&yNb!Lcgh6* zY*JM25fOT=qHOdP&_?p3Zy}Jw{yzRD&qlXr)4$U3`j{N{hoSA{t@8Cwc&p?;{VD?+ z=w_4uiC{Q$k$`t~lIKLc^`bvWj<$Df5@ zU+F(gR*60Y-MaVdW}Xfx zadCPKIzhB!6yiR_++6Vhnzs92j7}2wlM+qTE0$9ceqwH^C_fFTxhqjA2E)%s(COk6 zRD|2yl{iP-M%-UG?riZ4Ri25~ixfhC)$uDnsI5lvJmqWdN;HclRD7Lh>}}#z43FIg zqhXPRI(5e}x=?JQT5vFWfk;P};T94#(w5jn3$5gIV|5Y6XKB-)j>)sPax?e4kA$pcZyA;~mgHRo@WC58A{O(&s6Re`gaH zQ+`7kKV%apQd>Bc@xwN86((fvbjFX`L_8VkFvgeY;tF^ucLw9jbkW}dd^qFFb@37$ zq&t)G)w+0^^gn{}wYs>3>T@LH>vZ9<0Y8oL^}6_#@;{yNjk-uDeVoDgCSAl){4*Kf ztcwZ6AI;@Kdg(-$bKssKdKA*@U(j><4X*YPvNIAzRVE)$+t{re7PYOVS&Xx zgYngdNFsbD<7*A^0+nwT?jh^s)M%q1w$Rm4gX8smKyhHi5GQQOiA5wb?Fuu(Yy_~??7~f%tVdM?ZWBfTo zq)___GX9bw=!mmB#Q07_JdH7vTdma_X}b)OOZu44{I?8omH@th@%Ic7PxiTx@!f_v zK>lbE;~yJhKgqwC@x6vP8AE9I1&r@A#2707MFx#5jI<6zTu=JF*!X!e;Rg+|kLu?V zg9bT9+INQ7P5x`CTp={l4k0}G%gY!)Y>2x?0KeSmFZFlS5D$}mEjKb09w*MA_O`+p zCGjQkVqqrmm7M>^cyT?YzuKUae@5D-cySxavxf28;(G_$!kYUkBUi@X94{^qyFh$V}r!kJH)%6vb4m97acp`KW()t^>vfiAIZL3Y^DimdMQjn(tVRx}|CDHKgML z$6T0}o>nPJ$t6y5cx(pDXLZNPEvAt|9H!Fn_m0^ukJpdp7ewc8DodQ9j1^I>h(XyVN;C<&-{J zbKa@I>p4DJ^Fq?6pK-M25Xslz7>~MyJ{;mx8tpVX=xDQ%hSowq)8n4&_*|B6vs2Vj z>z>E)H%}4C>A+hUzh{cLmzqJq@q-Niz!Z^?0KDB{%%b!TP7zMZZ-Jwi#1Bsq%LrfO z=qvG~Q^apn-t#%VC0?dPIZl-6t@VmE z0{G<|f1Ou6MD@4aF&7yx%(J zzvLA`vajnH-{}>_RKDvO-{lpwN8!GK@wdFfPTqSxi>Nr!Dx5F!Xk|)^Y7$@9rGl^ag_YUPR2KuizVcbUUS?n`J2kcN}6rF?s!b%o6E&!vZq~+ zXC;15xwx6;#eZ?UF7XG-#lii)LuVyye09M zszo{BA35Tr|JzwDipZaR>=+{PUDe{xJ%E4W$d~wA)xscu_Nil$#NVqHb*BOU%<-DU zcO!pl|9c&D!vp2>Pqrjb6saLknWchw?;{MVO`fzv7dL)9Xe{NGoO#S%YUEncGf>2Ta3@uSsZ2lWs8 z9j{A#$xJbGX3Q<#c9dFzi|{x{_2^+P5SxP@%aqOZ|zKR z6Sa@;9BC3?H&ZMifAmjBmBiQ26wi>oeebwb;u~j*D$>Ufj;#{kG*e8b_V+Kx4^sb| zXNsK|6S#kL{4Vi(W{M8d_hH9#GW-KG#f#)$jyS%R_?DUC1L7Zb{37wKGu3G9H-{RH zZJVj-w~+yt^vJ?!Y!hDB>+TZjJmu{mcbYIqW3)x&9wgN8%PzNw+=Cf)ic_f8P8Mps z<-(#pX7Iv1@p(I`=oChi#Vb@JLmBO(I^0tQ)P(U$Kh@u+GwM;JnPEbWW(J9isWcff zAGwxu1>wUPUuF|yQh;YNzT76#sWpyZ9BVmulJ$*b9BVm)Dg0^D$zyD56RD$tj}kA+ z-U4eE%ZPuvST1WDYZup?4*U%9a~ahx)-L3@?M$&#dP}S|93pER&FN#U;X|0Idko`P zYoKjx_gJAuM_6m1jcoT>jAN}q4hypcjRRplx_FhWVI1RFYq*`PZ@kowk+xo!2S40r zGfry_WGxdI$6CW!vhHlgvDVPk7x+ZRvDWbLaNs$NW3Ax~k|&pOtTm*NHRZAVSZlbE z!>?A9n#yHj*mXbG_&N$W@(kc85#t-Y_XVP~y<5+9R8wLCvmIrGMCzAZ< zG9POVN2&GJFpjl`*JtP8pe=5 z=Wu>lYxsfWY2@^=)-aRwIag2{H`1`y@TWB3^BBL&5Es&DpqX*3J$z5~+sg4DFvKHd zKLN(E7V&rLEzT3Gr2TI-L>%ci$oMWp)RX?hEDz@Tw~)7qBLZi)#P5JC%D*1ye z7~g6anPkt)8Q*3Xd1TKk7~f$R17Rrcm5e`U7gtgIRgAxcyT?=?s~O*E7k7|8u4H_d zU92a4Ud8tImRr58B1oGM&NaVyRw$pUH(o8zj{y6Em3olA7z z$>?bDAl2PnjAm*2om7^x6o~8GjMqu-GBR7$1sHNdNuo;+ZkOX>nz%~`9>*vS{M<$k zuY4vYvI(z=?()r)h#o0mT;E+O%PHQcmU2V)r)ns!OMEgD=z8XQMFM4bBcr97{t?;zv~pzX+=JJ2_q4}J z06A#r?>OfiB>-JGc6)e%$1c_;0v#Zy4pi?jf;3j7ixyf2F_NgN^(2R?)?`heVj$x5 z=P0+ycy+m_|4g~jMO$~XO)VH{82Mu2Z2P5<^0xPGEdkofCls&OxAyhu3s>^~0119mR1A zUX0S@Xs8<(#;&^f?!5A&Zv4Al%vIOR+&vh@@Q3_!PdQt|VH-`~Pv$jqJ7w5`*FNr< z1M-pKfi#f!*hf_;JrAH>t8 zPLWde?t4IPBtGYh#nJrBXC6Ft>%TOQ93Nbxz%GYsu^iOq8hWLlzo{Ad$P?4AU8 zhb2zWR~Y+XHkZ(*D8-Owgr^OPROEp&V&23c|J$Fx@X*QD%bf)0&-2ICO*Md zf}s6pA|0oDqU~WI@@lp_Cvrc1IFfPa+K>Plv6gZUjkoe_ODWz&Xu|0(uzf}G=w`Ef zk~LmoG+qvAZL;kt1Wj4xz`NJ>JKm39iT6w(b(2uLwOH1dDfDeZr>x!@u#|73!xcEa z?LJ=~Eb3c_F4;EEK)siFkko~?ClNcff!yasHfr~&FOvaYY#Tora;N-_7{#^#0`=dE z_go+pLp76YWt!xk=zy<#oiq#D%|DLp=sFuMqtkltUz|X%w|#{qv7D-aU38-%|8)6Iss2VKpTVeI4UlI_JD^l$p0lJ8!OQigUs`vcD{F!}8>!S9 zsbD>=kLXUNHNWxT5tFHJu45e!62FqE)pHFD5wZ<7*i;+DEy5I-xVy~O4iO#p^YK@m zwIFBJOa8f&-pD?C-A`}iV-S*#Jvi*7E__7>e^WH-)0%8gBh2x?Lq&ankdKq+qup=o z`-@OlzE+gu9eqGC=yJ&Tu09{{ef{`Io%=m~HZ+a&9zis>%YB}0G?c1T5oGmiO8p_p zqS~Nupu59dI{M%V)l14vFduij&4&2>$3X8+_ocS^Kzh?J+q;)?aG>~+d-pO%Va8*r zjxMuJrg*<}Bky~K?deFo<CgY@i$AVK|P8Dy9YGM<9SLeU#y(i!lS4O9*7dZ`RJRR*MGg3j{A znlbGwUqdH#9yxOl=0t)#J8aZ zbdE0*Ax*~|I@$tMOWB!*M6TC+AdF5pQYw$>!3H`Y5lmXGV-Y>m?=MGfP|HIsy zhgnga{okigpL2R@YGCFRbq+WK%&-V3pvWdFDscm4M^wZGMBF8~?{VLEToW~lL=zJ= zBI1U|4fhzgxDZ$3Zq&HPJTaR0{@(Z9JyZQW&vpIY>;3)lUKi8Uw`*Uzy1J@PeF_~B zy)vRg{b%$FtNp(CXL8-QJH7fEYRkEQkmvq(_JIsxJAQ42=71j6W^!A*qxdcSolJdc zOYKhXOT^z@p}+LZfD#YB?kURPt3d`|>5&0Vh59MzlvfppQ=e47svDW_FJ4Gy+Bitp ze$kC|l{}*REY$C%mvQaE;_d9@Zn{cCc_DMg&5hmmJ!Lq$lhws0>f>Zw^l0%^a)`X0 z+d<(xRz&dV)3}R%yeM5Xbtk8i*V+?B1lza&P}KQT+*L|epANH{{;FSJRL`V4#Cq;S z)3qEsHl5W6P&l<`i@hi{^?v9sUM(I&=A?8YUHe6s(N%KFCNw&-L)z;L(Ue{<{+eCi z!mhEz%B~A_{Cu$XX7N$BeVT2t;3{FEIH+Z#d95ve$WA_EC)iyjPPoUwNTml%6lebq z+68|;#gBD#{#i#PN10(Ao%Mgn6@G=>Z3KDPCcRrJbi;cIUySN2;elu0?J2htYNwTs zB%7X#sQYIVRYRd0#uI0x9-0gF9Z)c5l;+Z{zF!Wc9~#uoE;Y=g`a57RvN(tLYVyN2 znB=)COXhP*N9{b74Q4AiK3`>%nM+BnU7)hXJc%ZEp-OMwz@vDPO8Rx^R}^jS;?fc% z;n59I_m`G1%OT%Tmz9EVsLNIAH`Em>OJ*#RaHWRYV6Mav=I1KuWI@>eLS>62@G6yb z6vtx}ZSCrkr&#;m*McN0E#Z@==P~s1yuO4&qeAF;Y!_APc?`Yim#JMt&tto&rk=FX zq4q1aYw3Ax7e%q%PchVPC|yYr)JLyR=G#iuS!f77>Dn*Ce0~qi{mMY3J`e-X6{XSa zWK(vsUFxJz9|GG|rCDq{hi$PyDgm&G``!^$VH5*CwCY1Jv+!W)4EAy!UFDfxnR#Q= zgOHdF?ZKgF0ITS3Ga5)zdJIOirTPgd?8i&5(2b<@23`9_SX7WS{I7x4r&EKhJzK)> z5UKyCYrlxj+3f0#W5zvlz%d<$2kXzJ3G8J%_OeUn1txNc@4)&d-O1rAr32XEV!FBr zk0w5~I9Y}Im;K1atEKbU#gfbgRy%sgQ+xngMN9csc5w&0Kv}+;y6C~C&T`TsdXwy% z(SYk$<3qPz{yPWoO%_0}*&0O;_REqBS_9}y_RWuPO#zI-Ag_0ML%NZa#?ZB2v{UAp zODn*CdS-6#Gmlpa^{+9w98kf= z>G}oDWFAyGjy;~t9sO;NhE}kvx_%@jtTwV@V4h5AsEw+u3-hHFGH+J- zBM0~bU0w7EUGXP@a@FVv^egH<>$l;Ha*N6j>?7VeeeSS6Dn8&!MoH|genSI!*s8Jt zIY>&Q*#joyuz=dd!)i)k4{Y)-)W1iIomlyRl3BkDuc=95wkX#fDwqnZ&q1J5#QY50 zOsfpS{g)|(+KdV|+SgC7k$H9nyX)&)jU@AK;{I9O-$Tr&crwouzkfy#zgGpD?dyHf z=oeJ5lfM2AMl}0L8irt~x~TF!XC~Su&3zl0q)n`#9O&r&21{-asSGAN`k5NL#SnHP z-16w28<7;!B!qi-Wk+_qE4xL>V^y__+b)5xz*ytx%IWOk+{^=(UArWti-%W{(-SIp zvWNRJ4_KG&jG<6J4Fz~oZ~~I{H;QLF`mk+DzCD;H|Z(~ z#mcRAAd~TmxTf-7?BYL}3#`p{$x8Of=mWeh^-#5Cl?}-i^?!7w{_lVA!QOBw)F*C4 zK5nY)#Xk09A6Vbb$03ey!w7LjFsq#F6Ns#21vtSOw)Bj2Z`@@hLo@#xyf`K#5=g_E`yw=uKE=Mr) z>FIB(y;iC3M#1nj=j&`nruI+B-5Y6Yc#8JTiY!=TcH<55U*C)T*WRkY-1i}h*4I9) zoPx04!rS7b3VKR}_4ihiA8QIrvdr+eG-qZXbVZ-2r1NU=M*37G%^p6C{Crj!LgDs( zkDNBteyGs0yv!Q^s7WeFssATUZ=wD^LM!i?)s<(gz zRn|rF)teKKbt^iqn0lk6g!Y`2@Ngt0G|HrOC);9ehy7za7W8z#qeI4(KMso{0TS3=;(dy7i-)*P`b=2BS zw>_!)@pi5C<^?)bKQA=(QQ061O?_3i$U;-QO8N-e7HzS^AcCZX;F1#d4bs7|c$e=P zk!`EpnD1{+S4r_KGD(W5V8~eq#yEZKp6qO4=In^nS)o1-9a3L=GP^jFuKl7*I&BZf z8?3`#%eFVr)kQ1mia(Bql7rQrz6+?|9AE2ie>;z|&E3EN{pnZ1EW#^eT|1Qgpp&@0 zH_1U3kzmqyN*|I#EE0}c8D2bD&mw`C^xd|FY=>IRu+glHIT;=7FpK#!%mMd--wiC@ z(^z4=3AP(ryoKqf(dMomBsa3CXZ$w$Vmv@2E$S3Mll&!$ceKS+B7POi`@YB6#Vkjd z{iuVjjkOqxV6l?-X>DvV+Ti)_y@!(ZIJ=5cnUs)cZg+nqgSN1~htW94*LG_fI6p0r z-P3g}nZejYWr>eCsqLw-HDUUkr>S~TRP$9*7j-xWPZm1J zc|66`)UTc9m+nN}Q-f=ItuLv&RqE%;*o2&35b^ZLYFK|q*3tQxzaZORQjHZS@a%H@PqJNa z-n_#L#VrsK8GlN~b;&3}ZjlDr8!^gce%zlr$-&o~$-#r^l((TMB1TbRRu_ z#eQP_uPmJ%NT-xQhvaKR6f-Cf7ttSrrsbc)h`Z_LFsO~Tru0P*ayS>0i&f=v12xpb zBjjo%e!LvrkF+06e!3FZ`BnNGbD)ZTQK2xlgYMi44>xT|K|MKeK4odi?83$q=)TA}tzpfSq{8N_>CQ0}<9+lOopvQGKA~H~*5dLqT?$*E8N>P| zI5}%rZ7;HEqzgUv_t0fE`PmYM{hx#~@r|Ph4vHpF2EL-dYbhPG7E<0R6Z;|)Pa~b2 zi~W$!LY(Gef8=5;B#uCe4uI`XNe-DX26cGwl^v8L&fp@+(MOAaGK5lbGP#Qm9kv@% zH3OGzaoLnEg~C?R_(f#z za{IM|GIL?l)#T!4`r9XSwSE^@VlGU&gIuhpzwI3icfo?4(I_`+NHPFS@@CPK$}o=G<*xE)*sosg~Peg+98NvvoFEOhKSa$$NBp z)Fm(qZmlghd_jNh`=Nc$ z{ENA;1G>7C$<=l6KR7yv9B*;v{4VzF@i@)#NU Wy41G(tdz1+}mzqACVcX1`=!lVvzF@pXkX0CSX z;!4bgNn4YP9qDgT=4!VtuEboJv@f|hivBLmT+Qp^O3Z~x=a7qE(BHk8tG&Cp5_4hF zL*(Ll`g=QbwSN~^VlGU6mt1^Jf6{^v?&3ns)Suv?cl1p0FycRjsXgd>E?M#}^%+q# z_2B^|E>Ur&A#tgQX)g{Y2ZQ06s7K5HRcV;kZ6KM4;9;gaD{<#@@*S;*r=9Mck2~Ae z$vjkjP5GAYEFVI5hM(WTZjOPQi|KKVHqblQ(4B4=e%_fTF)mD7Mq{C9!yD-ig?rQ2 zlSbY}*_eXSpv$7tNMapyfsel%9^%)y=Wk(zNBXp^tqap%Gf$h?W(nU6dB zz}IH#Ya#9orTMLByx!R#cRr@^Wwg28xd-XF5oNKp-gyXj4#(hU3%zqNd`(3@x70iL z!_CJCd4k?K1a6AR(MY|s9By{4(4A3Qf-7;S$GUW9JB*1b7Z+1`O}~Qf)K3{7(PWEjYC{8N$U*Tg)NwEM_ zMJXa#i2gQONKqFPC2Fgda>E^D#iXcWS5j1pff8!g{{c7Ze*i|ss?(yS3ppu5fL?T3Q9mwr4+s*AgI#F=nf89 zKv1Qz(Q1~H7z9-cK~SYh(N!FjfS^j-s}vAaX$O@8f+|f`DIlm)2!bk2(=-bRsx%{d zisL=F(0DK^NtsWjRVW4v=2PiDDUpH&^Qm;d6iCT}`BZvHY8X>DhmZ&QLZWmwEu#yv z(+xu<+(nzdAR(DZuNK&gUv0uO)M$-i>8yB0Lun?qzkp^DTFeB zV_2@w)L^oCF$<~vZA$fybjx!{9mvE|$hY9L-`6BRgTyw2s6W!SPC_5#-@?4=7AlQG4@l{&F-rT+;FCtW~gI8KV- zE}$H;;L0Hjt{k%9${`D`9J1ibAq%b?vf#=g3$7fp;L0Hjt{k%9Xrm*#bxaNHkILvD z{ejY-b^+yq`eaHMP);#W(gl=57F;=G!IeW6TsdUHl}GBcCtW~!Y=nkY93WjlIqU+; zAq%b?vf#=g3$7fp;L2eaP!3se|w`Uv9b1<5b@ZHSH26`=9@ZC&0M`JM+ zZtj8wy#y`zZszX3tQsu%Zf2EGF>tu#YKo@H-x+Y>;EC>bhimZN%zbdsLVP##<0f=7 zDS-gjgZXa0!^F`OBpHEbN^CCDTlfO%kW4v37m2sYk}e78&r-z}5EcQYa1 zjm|@v%XI|4+dzuG2ELo=9&Jlz-(-3)pN-jHCgi)Bknd*d>=MfgN$F1r2z)owGx`ex znqm4yb5H_+*O~rV=CBFf42bq5D`c)4Rh}6b9mRQ--QFhTyJb@NZYF)Oh3}S0;k%iT z?`DQX3ppa;yP1&hX4cmX2;a>NjW(o|qkp-(gHkmt!q248zkERdn~?8jLcW^``EHpM zzMBd8ZYCXK2;a?g^4)qU-wg$qlh(!IaJcQYa1&4he66Y||m z$agdQYT*mt&4he66Y||m$aga#-_3-4Hxu&R=oeBbQQ^BCNX1?Q-_86qI*QD`x4A9a zxj_m%MY=w@g+FHSpcc3(*1!ghKm1T0;iryP1&hW`1BRdK#(C;S;eo zng)>O$7nfusDbZhk|J89A8)1>-^AmLZQ*8GQTh>CM57-@bI(oBH27{N=Co) zI6>XaD#{Ztd^fYBO5wYi*(!zaW_BuKGd(RQpe$0PTL-Ek6#~FAyJ(68fR#yMewmQ( zW>{k2-if_D`SA3YL-L3n+f@D=0x>7 zj#kvs)K4nDLzU~dF{c(^Yf7^m^4(0xcQYa1&72u#`K&O@XNOrnC(QD>U9)^%*DR+( zvz!9mG|QUzrjzeh1K-VDQGA)Ip1QxQio1483*>6` zqtAQDcQYa1&0HH6$aPtPfbV9OYEZ&=Gs{%=q90n(GLpHe_yJXeA8l?eK9xoP`!M?3 z!tN&IyP4a==vQRXgYRbUC=TEb#nX?~XrO6U7WbiO{19_j@lcHR_$g2KYHM~wzMDxm zYwJ_KDva;GG(PlLDbmfO$4Z58(@Y9=@+(v8!Z3Qgye8i}Sem730{(sVLl&4he6 zlkNl`M!VHEq)4ABVy`_lu4jvPWx04R%tgp|Ga=v2ycp)<&uK0s`j<2);k%hmzFX~X zn%Oh26t|{WeJ``7I0%i6D?8-7nUL>hUe^${vfs#}=XcqgX=U?|r_5Vv^t4q3{pZ`o zM-U%TMT?(i@x2pf_ua74LcW`MKa20~RtoTgEIy9@LzNzN_>qR&3vDeGa)Oshfo^hw zS0;s8WYRNRh3{rQ(SWGZz;`pB7DrOzsnq^n+#Mr$F17T4ReeN4zMDx8Sk+SdD$519 zMCR)-7vH40pq;}5$@<&kKM`MV^Ih@vEWY$4RgEv?yP1D!k~O~X!}$Ik#`i-SAM@Qz zdXg&jK;XNX{}lJ9SSk7_o=ab)lHHK+W@X71nqf5^d`n3q*U5AemaXj%FVw(yGcLxj6R89A z@nJNzE!nMUqO`O_zMBd8Zl+fjA7^)+Fuv9_K0a9Aw5jZcCYvJNdZWpvLilc`lkY}9 z4ySbWjbA}JN1Kj#B3dQ4!jSJqM-~L*(2(zD28QWeH%#ZCG@VG;;IvYZuvF-?G(_$6 zSxTioOY5nv5Wvj(8mjQ!Oef#12EH4ezk4E;In4%a5WkRRD&)JFknd(fzMB~tW@=QJ zsnK0Cl_K4^gGfbh`kC4Kl#;RWj+6ju_2XikuqVYE^4(0xcQYa1&5X}d!p(g1EG0M= zz@$Jo;k#v$T0Qt~X3O|ZL_f~_Bp!`X2-j}NcQYa1&4he6vuzeVxBBg}=s7hLyB5Tx zuC<#At=$yprnQ?&t=*9CW+rQ>!gn(v-_3OL-D=>wnQ1Y8qD)0RBfcZcW5{Yk} zd^a;Y%OgK&JB4}NIn5*U-ApInt+pZFwR7SL6e~qPHy+tDE#i>xWS}u{7Dvl$aga#-_3-4H}kVB`WG-vJ~4|P2sLw3 zRu`O_lQlKMcQdD`6uz4|Ri*IV%xRid8hLJo7trbPWJ;nRXwHn!#z>Tl>MX4qeL;kL zH#&$;rU$g*&dt)wi90V#D<|&!tf;QX)Y}DFTETZS7iMYYYQ0Dk*FlptwAN}aj=w|V zI?N?8PDz)i2=8@x!Q3qO4ldBC(Ktw<(6l36VB%?VQ)oJa^ns}^ zVcd9q{3&V4RmgWUA>Yk}d^dArn5$oBxdKJQ{3a`MY;H0)rTrmqex%dK`ctGd=R%)k zw58MhK1QObjF-p9Vfe-kAmqE5knd(fzMEMYrsmEpHQ(WjFyyeoQ72`Xm z6?`}Ic8srq)-`m)tc@{JZw24Y{FR5zt>C+vcX$ljx)P1}T^?Vyg70SD<1t(-_-^KX z9{RL`??$uj7<{yX?`A&akw7c>ZssF?W46A!A(=ns*H`PG(L4N&-zBZ!yO~e8CvOGc z&3ww;YAg6|<}>cLTETZSf9GDJbr4j z7x-@GYpx4eW~zEw zklh+nvYQ>*MRiz^-5OJ}n+4e|RYUArYCMfQ^(Ggz5@Lr@iKS|^1=+1pS#IMk$Zn~c zU^k&Q&=`{48t0%OY7dmi#zvb^o@xDyu6>y7Mz_vDF<`HrovOuPL3Xn#+0BCNW~XmY z&jj_=7GyU&V>qjT?AFvD4|iKrxBl-VM3CLO4bZZ;7!q_#$!_)(%3imW?8b%LZ4mlk zgpb1Q7Lwh%4Y`6sY-_Ni5p8d3h&Cm=^(L}gDvG^{?3N0uzfPMQ5Z6Ll;&x8??&_7a?1b7OH`Zj6F+Ywn73+k?{A<8Rc-L^a^t znx}C&)_`+so*S*9;_kyZHxg*>{FA`uJt9fCjB=Xyj2`0WLU3-)^Rng#oLlpJm4b6? z4smYH3)1FC-QF`4N>buD=g_k>qWLU-h@`$loLlpGVSS&U#W`?mit_@kGi~x0s?;Wb zkxH%ai}g{}`d*?^>-&8dmP`8$A&!bqv zEqO`lI=a_=D~|qmbnS@lqO04OE|iFq`96Mn*L^k{acD+I^cG#+k+{G_?hd5?Xc?5Q z9ntr=5C0B#>2^eYdPmfou5z30*!M5QL4S5IF>?Ta4pHYW6xLL7)Q{k5JJJ8u2qEp0 zdLvt$Mcxsem)_|T9S6BRqGPyQb;T9rh;}N{wMQr1t$GKK`Ej0AbtM}CcdOpDnjJp{ z#|n3Qnar|{=Y29cTqrmiA=35B%+3xWJ5;A!)K!)4c0_|=hbdooD?)%P@(b2XM>Old z+jR*>oz5Xg-C-^Q?&hZKPg>w^Zp!Us=Eu?PV7Hu%Rw!^cH`#8q9i+hBTnKk_Q|+zu zV5@L9H}!rBN8xU6>ZTa8;`7&ipi|`ncXJ;WaSj*)1>DVra5tAO6bRhSg>bh_3fwJ| z0(WyE+%1y=cXKJtP2g^s6u6s97aIibmPvuTWm4d7E?s*NxSI>%Zke3Ga5wjj_MifH zb1BVD;BJ`|xSRV<9ShverArb5cgv)}-CVjPA#gYMz4{fnTP6kW=6)!?H66t+a5tAO zNeJA{74>sn;BGEfDR4JeRw-~dm#7rDn=>rw*TVvLbB(I$Kybj_oK;N+g5OCqDXvL1 z9S9D%o9m{U4g`NCCf!{%9SD9d+E24;g}b>H)z=8z%~e$|6}X#os&9xG?&f-^zDeM2 z&a1vf;BKy_dbz;eTwV1_fxEe$suk|$)=_;ySX;ij|$w)^;S)|mlAd5 zu8-D{wbANHrah4!D~etokE? zySX8%KNYx}TTk^D0(W!ktNupdZf>Y*g}b?7s_DRWz}?(%)h7$w&26BXem~wfA^Qzg z(}C-NySWjn>A-cs-P}g1>A>|<&>lvrrUTbIBGRK&|6Jg1Zj5RixQ_NUR`pVWySa^3 z-%w<@n;WN^4qQK;KL6Y%s_DRWz}?)Ys_DRWz}?(ts_DRWz}?(<)%OV8&26rl4qOM^ z&26FjA%VNOEmc1%a5pzWH66JABg$hd)pX$cEokrCsHOwg0e5rTs-^?i0e5o~Rj(1a zo7-MB9k~7ieQvtRs@DqK%}r7Lp1|GQG}UzAI^b?@x@tOb9dI`{Q#Bp9eo+VMS*q#4 zb->-+j;jADa5pzwH66GPxSQKqH66GPxSQKWH66GPxSN}!nhsnC+|BK(nhsod(7UOo z1J@s+IR>|fYC3Qoa5uN7YC3Qoa5pzkH66GPxSN}=nhsnC+|4aeO$V+6?&cQ8?@`Z} z!QI@!YEK8M1McR2s+tZ|2i(mqR(+4a-P|Fn?-#h6J5=>U0(WzVseV-8Ztif^PYT@4 z$wYkycXLOn{qq8Mb4ROwN#Jho7}aY8?&gkF{f5BZ+;OVc3f#?|p!z+5ySW_P&7BlK zM=#tA?&eO3F%rt)ZtgUm9?alw?hMs*Ks?}X?#%cbF28>Z+|8XGmuA5KzXk5*&WRgY zE8NZH;BM}Gg|jK#&0V1S`br&eH+NCo%KjDZ=9XxB74GIP(ex}AxSP8yzIP(xSGb## z+4c2P?w9eitQGF&u8Y59 zt#CKDG;W;&|0fIF%`J=RyNR^I-Q2I@OIR!1&D|Iu!Rb-BoBMVAOV$c^b2r6Xarr9T z&HXk$gtfxm-0$KGSu5Pl-4fr7Sna5q{8 zcNyG`mcd;JcXJ`!&4q9`7sB0K2zPVaCDW;HQ@ER(m<-4Cm%`m#2zPVaC$fD);BIaQ zl>&EjlT`}b%}q&Or{YTCZf+{uW^gw*EqQErv<7a5tBOySW_P&E?>3E(dpW zvlD!nQ0uMK0e5pbxSPwt-CPdt=H?_=9;DVQa5uMW@-nAa;chMmcXK(oo7+99Zw3Ds z3*61+;BGDlcXK(oo6Eu7Tn_H$_D;5+h42;b=5la1mxH^xeG{A_&rdVpZf^es`#Rho%5$~HA&M<(C1R=ArxIN+|8Yx^kI92ySW_P&7GSJVEd&4cXK(oo4X)c zkL?xi=5la1mxH^x9Nf+2;BM~H3E(dpWIk=n4 z!QEUA?&hvbHst&&+|4ab#;{hnn_HG_##-TS?uKNhXo0)A9Nf+2;BGDlcXKyu`%}1^ z%fa2;Z3&hoGPs+|!QI@7|74GK#kbKNq;co7Mq?P8% zGq{_3D4EP!;co8XWEa*7cXO+gy;&>V%{`hdX032H_gHc~YlXYH$CI;IE8NXJkzC4J z;co6p)e3iWPbb&0y~5qxACsF|E8NXJlibZ(;co6v$!gXLcXQ7s&#_jxn|m&Ko%PCD zbsUi4UPv%w1h|`wUjCfy#qCAmZtmseLw2ulH}^_%$S!cNa5uLmxt_Jc-P~W2Cs`}p z&ApzyJ`?U0?&jV|eq^n1H}_`JoBKzFyScZL>8us*=H5=0vR1g8TbsPfTH$W)ugRU< zz7+1}-bs$$5%DS9&Apr4!&>2P?!Dx{SS#Gky`OBv{uS=#K1f>Uz`w%X+=t0wtQGF& zK1!};t#CK@ak84V!rk28lJ{9F+|7NOoXX)V+|7NKY{&KrcXOX7ukVWZ6z=A}NZME{ z+|7NNOl7TbH}_R?9BYNUxv!I3SS#GkeVcs3<*#rz_mAW|)(UrX|4i;-_X>A&|4Ke& zt#CK@@8oON3U_lqCNdgJ;cjmFpJ@Q5a5py{FHeTMxdA2}jo}x8ZlICjm%!cJx+(?k z<}$b&P2m^Z5F_K27K3wD+Xs!Xvt!^{bG}i#Qn;UO14$R3E(dpWIk=n4!QEUA?&flEH3E(dpW z`xqJB(Od)IZY~FRb2+%1JJ8JI(KyXD+%3E(dpWmm4fl zQF|4*o6Eu7+?A#emxsdLTn_H$a&R}7gS)vL+|A|SZtgm>koz}QmruZkbAfySZPL(LJYdHy6U)TnKk_Ik=mf z`391H19cmd9E0BY08|(A2PKk@y+|&EySW_P&CTjZ?Oot*Zq|Wh<}){42zPTC+^r6{ zn+xG?E(dpWJ03~l^yq}Ux!GspMkn0O?R+I-Ww@K$x!X1rE8uSKQj4b_N#}?EGL-@* zaF?qTxSI>%ZthBZ$2|BIxSI>%ZY~FRbG!7SNCocZb~zpi;6X#*WHx;qAOQ_DC*eAD zf=A$Pt{;Copx&twWNZ&i_73{yb;D7*tD8Up~P@EmxH^xxy|%#->?@o z>0xf}kz|(Ep26LCG!(+!oYk2h`MJLf;chO3ySeWCwU)u%+-@f$LWaA!-9AKwe;Ysr z`&y}y2Eiz2P)pqFrF32N9~F{smPWCyz}?(iDh2N5-Y)ILwgPu^YgPKfIt+JnQMB%M z*Z@dJ$GIXOQP~S{Hz#nn*6#`wgTUQd0e5rdXehbQ;BN3-I}VAgL`d+!lIz8MwswZQ zwVznR-YJH=wKLqUo#Afn40mgfXaS+pE^xQnPQ56Ue$nO>B84&_x{(a+40mg1xLf<+ zVN?k10(Ywc?&gL>r-|$JBQud)Gu*A6;co2=cWY<3TRX$u+8OTF{xvPCJXB~OPTkJQ zQM?gy+5$a5r~SR3bNp8sKhjS~P|n^={cX@MttpV=lrbp)?REE2e*pQxeKB?BtVKbfuz}?)g zDh2N5cH?${P_d)f?ZJ(Rdbv8_Zf;Mmi4^YU=5Yb1a5tA8@E~wE7sB0K2zPV)M)C~O zPY3~bb2FpOD2YkwCv=s)7U--TUk-u^?b96!lWvK?wg)DX3xj1DS-3Q#wy;K}axu)=rCU3sU9UA>e z1}TcewD<+?<_>2o)CS;gt}EOP^-{Z5nZ9!pnP=)h;;JDC-VQ=o#XbRn{ z1NP=J*jpX2H`fV!t8Lnw!Z{;?_dX1Jb7w`DX8z9R21u1D{?1V;us3(E$_8SXH&QU? zMRUk!&n9;PHx{(z3po*J%NKF51p-Tv%ZsDy$YoN(E|3~vZ%$xuHNf6nPu{6e1MJPs zEdt~~r%KaR>a7Q@wn)9LpnN-&Ac4jj$hc>*o$Lq;Lf2}9y2N%B#}}^Xq4YG7{T@`a zHNf87g5pf}u?zb^#bfQKi;pf*0QTngE1t?8&dxkwai~jjx_Ee|m23_!-oYO3%{*ZB zs51tlH&CM7;^J%UY%N_oA}lC%bpqI%JFNHvJBg>jiKnYX3ln7u8^UXVy}2WcgXmUL z8paMWZIDl2*Jh6OpW6NFk)xA~d$PZUbd{pULY4T%c}%p;g)S(=E|-l^q&2|a+}Xuz z+5Zih|5yJ9{~QQPy2~b{d2dvhV|&Hb{76k$+>Q`lSxdvn(nU#CVUus1|p+hZegw6w@(z~0=l;>i?o zQaY2a9TAohrF3AT+xydhwcTh~6ZTdE?9JU#{3HA^?9JWDeT(?JEA*EhAW-7L*gZuVj5Ww$EImJ< zsZay#&8;fN)JN3-dvo^}7m}HF;nB4tI-ahQM|7u!+P&EE@L=&Qc5(q-rJ?*LbH>e$ z-S%PFn_FFchb(2B^k{JonUS}1J1CsTiU=Nk91oiwFG`n9-3efC?ujCT?ZdD)_Y`-X zlGUfftfoKl*B4g?d#mqLaDU?1u?ejP*qeK{_;(7k)(_pqtHo*58z-gNbnS=^#QTVQ z2{xh8ksZ=r1MJPcUOa(apUSSW+0O6M{`1#?De1l{Vxus3&h=`9irdvoXT z9!`GP29vvURSN9Qou^V@Z|;1R0()~8s1(?nyHKUT-rPkh>DRb`y}64^`ymModvlkT zFzX@TRF{>4Z>q~x>NnLDDh2lDuGCNk_U3-BQebcH7b*qz=B`pn=W+n{=B_UN4M||w zn_F7KCs3VWZ|?dM3XKY(PO!I3mFfh0bIa7Op-!;3Of}UB_U3-2b}jW|yC{kcus3%@ zX%R(G1MJP+R{D_4N$E4Xc0`!pcbE&7fk_RpH@BkHI15f%=t|pR>B>%soB-QZB@p70 z(gtjc1yc!tP2Bg6kfw&U(HdZH?!nS->}4;y$}@d#=8a94Lt=K+aVQ$V#dNnj8c0&Q z8b-9G8enhk@zO1HBPp$*Ye$4d21&#J8dz;Q`u}H3@3Oa#*;|P|jkwM zi$6ATq#7UAAZoi0A^XAQL)gnv>;(%i?1kR<2yngfg=~8n+hSSL@#Vjj0A@sLfW5g9 z<%ikJ6YS+pc;S}anO%BkURnN{EZTP-Lm6maOxK7|oAjT%stg}B;NV>E3buIHfP-^= zDm`~XUi;9s8vTddV9nFrPmd|_l+c~DS2kf6Thg^7!U||^w=|Dv3N_&1+<*$UTGuXU zCi9@mVeIi3_K2m?yhq-LT>}oz4Xt1wcI`;&y4}dib4cH0N`o6!`2^-mD`eiRvYG>Y zimuh@UAp2=0_DoX_=@s!4}9EKC#x+g-?ESI*$3QUMOA#jm5igh4h-(ktMiwCT+IBW|q)PRF?6Dv1Rq&48++$1pr2j_OEJc0Yb!MQ17#*fC`w90$9 z4;-AEQNb4d8gOuKb_M(LYrw&|-NZd`aBdGV0|)2kiC^I0++LOGaNie?#e&K{FarnY z_LDRK2j>=5zUIvQ7iR{!@39Nr=2o+Ul#c&_gL8*e+R2W_|8&*yKiu;8pFKz+0SD&} zuS{mQGubV|#X4*kw_O4U4$d82Ie|T#nt8xNZI^^}@cfR)_N7zn|Q z0z9em5<7d1t{u@QIVZruxl=3X>}$Zmxzj809OTi^wIjmXsw6?WDB$4SS(QQTWEfqg zE5{P4JnY=W#&uA3Ys2C8!pbamJ129Cv-(@ba zn%gBSoJLfuKES}ixn-5X%Dm&>sT?-(7aOd#3UqinR~p;M}v7QxFVK zVud(37vkVtCl0O#9GrWxvK{&Cvo{Tto7_v4ClL&Aa4y8bxmPOKQHD`IFGajs!O)s! zfM{Gz2Dhei0fJ#1oO`X(eK!h*C$C>;GX|T$!MO|v$CJ8mR%D4Ar@y{L{%gR&xwk4X z_j!mq9q&G@9E-4kgL5BM&{HBT;NV<{gL5Gc&V@KQ*NKCxJ&fM$vq}er+lO&*?uW{9 z5}c$THA#YlbDcQ28gOu~kemT;jDvI4WGkAOmwY-lBW*Yvz=b$CS4+@aW5Vq8I@#8B zHAHZ5F2upP5C`W%9GvTlgS(&7QUeaowIwhoC9EJMrAd@5#lg8@$!|$<-iEUgV_q8a zcH-c$R*=KNxh^=kCe+cr6b65eY+0zSLM3gK%%@vTs2nWTv0Vp6jdxcQTw{YB-=%Y# zQM%Y*$2uuAQS}zE1j`yYIM0d4N>@@sZ83+_IiU0#h8E8)`8Jm*U{uFpC+s6bI)vuy{|WI5@YV#aozuTFp2( zw~<9Xr#Lt_(xOgN9Gn|%G1-V;)dC0S#@KCH3J%VVwHS(|I5@Yl-I68EkOK$j#@Q8= zO2YF|p1Iv&DN9>eQfjAK8Wa`B(&%=0RQNkt4aOQ>G!z4s!FblAVHlYghD4i@qv9x` zll7lZw)fD>v$)Z6vK;*HF)(gT&l%IniW|{1RiUunQxx6|q5(Wce?O&QCy}@HU!|Lb z%v%2){=ZZh8vTNNM}LW;=gHZeYPsPma(Ws$9mYv{H9}e*r+dRVJ!>K)=-;Ht>u7jA zD~jfmw-bAm8}P&aXEU#-v)4W8o_IZjz1|GnOieC2Gr|!6pQI_Mn-J8&QFJl|Gs+Xt z$511ou252OAP2QO-IJgW;-F3-O}w?O;Pn$;FPT6-pX*5g1hTn{d~d*ccpq8#mTqmp zS@-}ss5O#o8%I7rMBjQWB-WOrkML0Z0rDk!lB16yBTMpP8YM@6gB(tB!|OXpeu@|N zDEklOov*;ax?yq(~MZzP7K)NBlQ& z{2dhcJo@{J;{Rn9|F44hZwTVQF^K=yLHxhb_$iM45yzVx$9xL^BKqq~!>(7eI9^ZV z7~Pj#zJXqw@<={+g3rg;=f&h}1fe{3AfG2Jq~hnM@DO|+MYp8t9!BzRg?t#5{s;zE ze}a4tay5qApFw)aM!?z(9=HtszA&^{}PoR>fLUM7kTm;EXKDMrR|sfj^MTa=h@)N<(){Xp93KrLtr-Ux6K?KZOY225M;H@+s#76K|8V_b8cq@&I*!VR) z;*E>h2=q#0Cwj$pL9f`AyOyXVmJFlIooUkX*=g^B1(FW*ioJU=D?zW=RfZK#fAVCK zLWYYLc%r-WU=Q?)y$=q05PHS_crKZe62N($(JRDHjwAfEo#`aD#AYfwMz7d%^lN09 zM#Aq+p>RUL-dO6ie5RAQd0+d#deRbAakwB_K5aEnlRR}A$rAz z=oMRMm-vKFN`1*s{WfY0wr8|HnQJp_zv#DA0+PA@S>~`s%npcdBP(PM=oLFKx}WnZ zd$DYYUdg1OS8Uo-2zn)xf?ly9dc_Wj?&OFBy<$W3id|nbAm|l4G&-4z0K@#dJ1AAd zqK`OLf?ly9dc}t56&s>gGAZa48=_b2M*LI)-ZXJIMbwF2@rqtS!4bt7WeW6)9Tgpp zGHtQrqHZ+qmNMNWD^sqkO*K$r+iy-@HdEPPE}%EA9j~&fQ2#v*dF|%W6BI{nyxl4) z(R|s)CgM4CiKF# z=|(7T2KOVmz1sFNEhyR@)NgMygz{x4tL!j97uqT6c%b=V2+66@8JvtE=1KUSrcw?v zw$s(|2!mrX?F_B7(dM8U$(hlcoTG7t`X?xrSrKS!wcYLPXfeI>iE3{%h7CdOGa*P7 z8!~J%DM%F?GHh(fu(7*p;}V9AovUqJ7&bO!*w~O^W7928!mzO+!^VaT8yhlgY{;;& z`)Yv*!^VaT8!I0Ozz!CuIBdwUu_438h721UGHmQ3E>U6F+(&Jz4u*~WY1Bf^tJd4z z7JZ=wo?>eXDDYHhf#0sRDGVE%N-gk^VPo&mA{B;>?PS>0!LYG+MyF7WwFdiav_+%T zb&9Rws8b;f8yhlgGFd6q!LYF}ME{o1zK;&0(3oLkLxzq0fvu=pqlfoLYIk)oZ0wKG z4&pxFzu zw}w2#9Eza&6lZgyhM5f@JJfcBc?9wHQ#sn4f~Ty%%5mll*bY!R-n@j4W1z|jrUOB( zTb#=wZ(|Nbyo1zsl6eM>2dkW74u|a!Et?r;7>y`0Iomvs4r@JiJjd*bc-L2;!R`j9 zyV{{D=bN$cJFF;g@r7mr|yyQCv}E?iKs8x{BE z92{fzgxitD6Ih;L#%xM*3|9i5dovWB>{w1DodXb=b&$%9Ri7Q1R_Jj>^i1&pI``&x z(3^0w>9BWS_9n_BobWKK$WANg~sZphtyc86gU zN+5N2Fq!E^GqrdCjih+zjt!|zHl#M$klJKtvPU#|oQrH{6=kp>)F!*5N})E{*(!zF zWOpjw&i#LH^zprlerJ~pH_*^t^~=c->&n@-20ehw9o z-K}`4WPDz60lgq4i4k z8BZ}yn(#zSh84XI7GliE~IFoIrGJf5nU>iW>)PBaLREQi!48&aF>5n+~(46}Sx znB}9xEFTkQ`Pi;mPC-qaX!x-pf=f)ia({wt!-mZ zE$&MVN3tAJn`}sJvLUs}o*8EOtT4-Ghgm)+%<{Qivz&sOILoQfET@=nhmsOss3e^v4QtU#_-Kicd=YLgAAP4?QbK(5OQ z1k@(GRD%*~lU=5=SD_ASlf9{U7{yu}ZEr2^GsZBPdHrbHcWN#0nUy(%*YLmUA zh)-v14y}XQWLFlyM0`W+UBw@=`0fs~8&aEWy6aM(@>OAc_oeZn$4Ws>9z9kngob28 zYEveKhGZYmBn&LnL2a@RGT5{>!aiJF-6JiRN5XW5)FvBJo9ts*Izer+j~Acdf@ncH zQ&1D9GZmW7Cp8kGHrZ5aI-g3@$=D7ag^SkWLw6dAnWZz1oFVsP8vTqlsQ8ZL(e=QzEUo(>3chr$SOChz%hSVneeik1< z8TNxLK92rFl^%8YQJPt_wNwa;#D1)H!Xn9}ut;or7^6^|>?i7&Dh<>o`)Tn3kbx@n^w?*tiqDJyvkvVc$l(6X$ zi5g!>ZL;YRi5lPcVSN7%KgDk(`Y6WP*ivaBwaLbD`ehAF zr46Y~wj5)mgaHp{w-ToV9*F7@_-bK%A+^bd)F#_2i;uIrP8eTn8Xr@e zY@5nnXtF7&sW+NzDumi(JE=`|P@8PucmXAkUJM;EHl0begw!V6KdhFJ+GGcY>0CEV z=b$v5NZ8=CQjoAz=(99L?etknr9MmRsjX0(?D`t2PIh!so9du8*8&aF> zwpsMt>bJ|H=hRH>S`d@E)@~}ac2i7~)@~}bc0+2Dovfh>waHG=a7UQ$>D6jGsZDiI zo9wjsBjmBSoe^(Iy@up5q&C@*+GIm&lbxOAk)O1k!aVMr=8>sQwv*aa2erx0iSa`w zihgeVKo)&SZL%S?$%fP>yJr?X7xBC>`uSn>oz$j!l^$HXAf8OIQd3_TPod91$$dy| zvLUs}?x*Fcz54!H^jxI}WYL4#WDkt5mVq5po9sccd^ifV$sVjhQF8~i$u5eYMrwN7 z#ql4r)P&R~8&aEWNNuu*hp9OtOASy&_Q)_bN2RGL)Uk=q9v#o2SgF%JHa@yfS{Na< z$%fP>8&aF>&$8%2ZL%k3(F2TRPs-|oQ**MWMyO5p6qQ14vZtyPYLh)p(@G;xP@C-O z@vBJdKznBFDQu~@v$Q<*bsSQg>^Wh@otveV6L(&gR!-dcSy5fzLD5~1r4`gBdtsJV zP@C*Unz#;{o{UIe9G^zzN3H6Tcv+UXklJKJYLk_7B(W!nmol!%634CT$}Dj_9sToI z))0J8P@8N>ZL*!zraGui_PV%(64A@s-^QsVcd9qd`x><VgR^-_JVQc!M1du#lAN(87)bx@n^?_(s2%6NHPp&F6~5K^0LNNutqwaKmwQ*&pQ8lKk+sZBPd zHrY;UQytVMyDC1NilpZ4{qY%DYC>w0eL&+AYLk61mU&a5HrbHcWJ79`4XI7GliE}V zwaGpjJBpQ}e?0ymi~fo5X$YxJ_Nnk`cseYMKc$fwaLB`W2&kR)F%6Cj5(Y(P@C+U7?T@qpf=gR z#Q3gn1GUM%7UQG04b&$4dW;XtHc*@F8!&z7^v;rVZ34`*w`4 zfwndHYF`^;q}~Qv23_$#Wlq=Y8PCsh`DH#E(9nVh*}=s}-bzyn1`0u-7uf>ZBFO_Nul zAo2Uqrj+0W=PAJn&I5u|(=-W42u`UIf>TpKa7vXBoSFiHQ>ujE)D#e$QY8eZrkz$& z4roD@2~MdJf>TpKa7vXBoSH&{Q_~z2L>&aDCL6s#c}_~N(p3mfbgK{Q1_Y;W0l}$T zKyd0d{dICi{WcSvy3N23g6JEoQ2ZzLPTl+C5%1m9-2Z5V1$I;O04;T9H#HC3k?Wwu z?55^*MOB#H)EuyznnQL|^N=AFV(*4-qxly|)Ev8|>?TL-rc@Liv71s+a>Q;*1#OoA zyQ$mQQ<31GQgiDz_GL0ACETEmwYUv-Q@5EYl%(`E<%9`NExk9UG$$qelCp29dKCCE z|9>DjRWFPwCG<-{x^~yZ-S|Ed_y3vTR9(K5!V!W~b_5OJ z&3AKB=;IPY|4{PeoJcBbl}t z_auT-^_gf5Dl{}lazx}!CRqba`Xv(b&z-(dRz2u{`K)Ugnpsv*It8WNnUT?tNK zpahuURDJF9!D$JE1gGlaumlbXOW;t=g_gi!DzyX-*Gy>%91)hlkzolOm6iY#oT?$g zsTvZTsv*It8WNnUKhs1C!Kr$pN+CE^yAqtfqVg1iQ}s<$fHZ=T;8guQEP{~WRQ)n6 zg0I3N_*$hF!8awnUXk-%drlEQ*~~12&GR5P9)IW`PVJgJt9fC4F9ToMsqkHLU5|i%bFhu zPSyD;h2T^T2~O1oY4f8lWFdu;lsL{g^y(Z@J&PYAsqc{BR6Q@O@AI=bL2#;GpmnBA z{z8@7nJjZEsy4QUzCt?yAJEGZiZF!k)P*VDmnbv&amPI}-16S-)h|B}+# zbnS?Kf&1{^g1dD4I=;OsyUlj&dt-6%5IcB3a{zxWh&p$nus)%?;5dCv|2IbnDW>;$ znp{KXj%dB~j-(<>O3R1H6my(=%+(;^_?829(V9pz!6mHJyx<29H$<4?ZuAw zgJb159ZqK16L=b#T5zG@Xv|30i!!_4!VZ-x7j<P;TPCNj$nPK7?u-9! z*CiMPNKXGjj=J;s1so?or9vZR;W+sz)5**arQgAROmpMdcyewlxteT2fWTX^P6G)a za-95ByKo_FmE+{6&ZTga zbu1hw|E)^lIAu~ePX0T!6^@fn7b%3}lu6+@`E-#&I8Oe1^(!2wObW-z|4_VpHfl>a zPCi|v5RQ{C>Ib}VoP4ZOI8MH-@))y}KBRo2QaDcDu*^74zEL&pX935_Th+9mq~PQF$3 zL&9U;I$IeWCqF_povjRxlix`7#lms&BURJc${i8ek5a81CqG8D za-95F)k}rrML14=Q`O6bItrlb@#gBjGst>8d{!j+39M`U~MW`B|#J5ss7JQMGcM{A|_Aaq>H>R*sY3 zMfK^zaq@FiE62(2s#-ZtemB+1aq@epR*sY3Q#GBf{2C3I{5;jlaq{z3E62$%P)%nm ze@^QoeqsCv>iIH`lRsGPmE+`ps#-ZtezEF%gyZB7QLP*&f2eBZIQhd=KPnt2f4FMp zIC+`6&p1y0D79CPlRsLua-94zs@Dj|$sem)IZpmK)yi@5C#Zf;I8Hvtaq=g{i|B=$ zah&`qF^_}>d=Z;9mdfWeo-oWfPW}wlbQUx?PX5gJPh5V=aq?%!IBg~4IQetpcUddP z$>%su{`?qQUunN##avJGZT2mioctx49_2Xs%i>+8 zz`b&uyv)C694CKee8?==E62(IB3>f-PfRoVudCvY8L*I zmE+{Ei?3#_94Egtew6je!g2D;;-NDUo^qW0ui}GPE62&-7*FN&D96eFIzEcEa-954 zaU17fIZpn!@%F5hPX3noT-Hm4vHl8t2yaGdsQ5@)(U^Q;w4l zIZl52L^f0i$I0)YQaDb2vP$7N`6Bi zlh1LSe2(Mfa~vn1<2d=*2|i4~aq0<C&3ROGLDnqH94Qts~jhv z<2d;o$I0)WtlSR%mE+`d94DXSIQbmM$>%suKF4wLdnf&OLHNpX@;Q!^&vBgmzR9xf zxjYgBj+5U%!QTFi|Qxe{>WqnYvnlkqmxHiE62$n zn>@){IZi&uaq>BilRs6guV zUCDc_mE+{^PO9{AO5}o><|i~MGzZ~V zC#|fN$H_mJT*7+gte)UF`4!NPX6uWSk}sM@@tdjtd-;B|C(IL?L|3G{+(pT9K@#_C;x7;gtc;< z{CmlZtd-;B-%lFZzjB=X2gwVZe&sm%50w+A94G%#GHVZnuN)`;adI4MBilh1LSe2(Mf za~vn1<2d;o$I0h7PCmzR@;Q!^&vBf5j^pHK8SH|~I8Hvtaq>Bilh1LSe2(Mfa~vn1 z<2d;o$I0h7PCmzR@;Q!^&vBf5j^pHW94EhzkL?*mE+_OR;?T-pW`_B9LLEYYBuHeuN)_Tm}=!X`5ec|A7xffM16b|n?3tc{70*% zZ};1JkUrKt$!{m+IQiqvv#gcl%su zKF4wLIgXRRNZXrooct0aUn|OS@;Q!^&vBgm8OO=zI8Odb^AeYba-4jQ56|Ce%{{EP?b1tJ_L zKVvb~J#Sd>zoa8;@KGupCx2}jQ#|;^Fmasxb!9A%(U*Ns;y7hWI8J_Pc>;}RQjU|q zUVRG3$uCnW94G&)GP>uK3dhOMM6>0S3w_KVlt?=Eb^DOx zI%pm2OA$H~tgh#Q?8 zC%-dDDZ+8`JKv00!Ey4JT0H$oIzRlEsgyIv{pBi!veq-OCJYF0FHt39Xi1y94Ft8KOIo-)Ce+;6DC?hj*}mh zNVO`*$@rLQqjLi#egFs2Em}MP-#$%wd%^t-3~3jB8-mu&!zU-|wmF%iOy^-(C0F z{k`vho~L{2RGm5%ySlonZ-4l$#s4tJNyu>udYF+mjh^OprtyE~I0-pULA4=W#d4g2 zfhIc~E%{D&1Qc?dg54Y^A;&2gVm@R%&2Ddac>7i+iR zdM`On!6k;v=3PzfCFl0GS5T2#gdQA~9UfsMF$Z-lLIMH&P zf=SvBXqE362Zw4W!YJ2}9H-zgZHbWM6im?y4mnOi_>mLKaS94KPC+5ZDVSyKHHaS- zlH(MNHh)AG{n*<$+jlKESe5B1MHl;LS$(>&UO`R1_JD80Yb-XBkmD50F)g6eSUFA* zIL7Jg(!ukQ%du>~Cpk{R3z6sGZbFVz@M47Te(p(*Q}9xxK9=TTbq_?_BNHq%SHoee zVv(zU%W(=8YYs0TA=n{QyIQ6@N7 zI}7{rd726K<@437C-+65d4cJRH2fIf0+FulPxd<{@=kBK?MF(4OsAlszO^7^It3FW zYccVadu@sDVOYp?3Z_TC z*BA!7H`Y4$f$GGllLVPg!4Z*;Q1D}2@)5XER3|%iBJihB!Q9B98sYGK1nwm5PQep0 zor3w1RjPIt&N;))rMfC)It7a&H>=98ROJDxXrbsrj`+H`km(dGjXbA{FRS7=c}2~d zo_2S6;hWOI36bBUX5=@0;a(mo#hwp7T84AZZ~>xBPaBa6yk}KIkqD?@Wu%8H_Ql!O z9rw6wp7?diGCi@%%XXihVhacnP{HcRGL64HAAjTj5MPb(>a6qrl4eDSfC?^+Y*ix< zWGHFgNOOJlG=e8oT5jers&pn_jV)-#?Wpn|(~ zShDf%DU26>jUcA;xGfPok4xHlT=+2pd>4!esNlZH8_YTpP{GznUkr7AY!J?P^$%xT zMvlbjQ3fgxMy9IDESzmeS(#VUuBEyb0TnzFxgUXciuGuuGu$lOSvlBwEJE`f9(Bg` zc*KtO7>S603Z972tVKWtPwA*@i~4k7QN!;AxO-k60o8D(7d)$}^Zhj;0xH-Zc>*?t z2&mwdNE-~~AO+x@GbE$flB$cH4q?o@5CIju9vQ3JlT@3#wW{q25m3RKk;NK%oQ87m z*4koqctQkJup@G*s$8uqd{N7)Y=TA^Cp~3!Ax-`mA#)YF5x3;^cHj_D+>%$B2&iN0 zL8}50xUsIjKtS;p$A?cB3j`Rnnngebr^fb1NW*!!bEpf=fRCM{QYym;^*td1DmV=@ zbwpDHRIoaBF9bzE1!wB(pL((Jf$S_NS_D*Zwi7J^Dmcf976BEU>qLuy3eIz)ML-4T zI}tzaD!jcVv zfXYjmhR0TT!3{2~tRWCkc?qcz0Trx|4MhS%1XOTmY#ZEu>~WkyPr|v3%gA<4BSb(2 zn_};&%Ezk0-2zqdgb1kMzL>$Ij34uH&Kd5tS_A6Rv6meO3Vdc0BA|i?W0e}E7tZ#Y zK0F^yT}M;o!fKgXaR%nVx0D^kk1e5-eMyLb3LcN01`j`WHqJT2{Rx|gpEV{#Kn2@l zTQ%Cl8tu)(XqqzpU{_OG6d=lru`e{r*BT`;K1_)&DDsg~h=2-Sjx~Z8-eJbMzTOG> z)aELV2&mwdSTEJ6&TDYvMDLeiA+T4J#V4!Abk$&8o*rtHscUyVxhgsb;ic@raux3A zfyCFUfgAD$p2!=}xGHKzI|I+sK>J!4AOb3A8h=X-?8G@|Vpw{z_j7e=<7#A{P*!$Z zAp$CB85ih+l!bH7a7o_AQ; zHW3P*@OMzbUWr|*@eR&7!>!Sx*Qj;A;>nksA+$>H9c?wJ-x z)EBgcfTy5Cf-h(b0Z&1f#5}r(ai-TbaVFgaJO#ZI$E(4WIM+8<;>^Pug~Lvqkl-PV zai<_gzr^hb04WV;d);xX)yANfoh9i!R|v@n1}5Ir2=8eGUDv~2WSt1yd@1Am;+_!j z6x1XJvMvdD3TmyJfT!Sq#7z1V@Pt>z)%^^0MkG$5KLJm{s082L7k*kLI5@!<_Jx3_ zV3O4*;3+uNx(Rp+rr5ar)CnDJ3!>}H`3T(N-JOCb1Uv;R5@)O08k}>6yO4EN z2zUxkNpL6^0-l0ZiThN2o2qlu)n>s?BM5j3&PcqeD(~TJi^jcEdnuz!cx6xHlJJCp zr{KIq>QGigeVnasJGkssT1S_Fr{JPQH`VQpbIuH>p3ddyf(fqW3IR{SrHR8-afT{# zqt`0(Qn5dK5CWcpD-)-y-Z?ni#JLIV1`q3B;3>E-ae~G^Sz~h-+s3x)1Uv=5wdw>s1rOS`C*Ub~D8bv91v~{$ zCjN}Lb~&pM@DvmRo`T(gCn4Y|cqVZVVp_mcusu;V1!i=0s}S%M6at=t-GC<{;3;?^ z@gvO~j%jcvcqy@hW(ar+3IR{S%L)6fUHhZTU^n1N2zUx!O$t@T9A~Zzk;CH@`7`HlhdtPr+LWx-H--_%Km16}AX?3O-73q@=CSS&@Z+ zr=Sq<6chrUg57{8d5ELgX9<#0EZ`~lF>wSE(JcMsvSa~I!EV5l5b%UY#y-%rfTy6` z{~PnBf!b>tpj1@Dwz2V$$weHFu%~ zJOz6>5f4EGJO#NF6Yyg+=g0U8qOZ?4LcmkdIQ@b8e~Posu{k`<@k9@QLcmkdEL{R` zOoMT@YOO*wPY8Glnx{LdMmL;uX29-H0-l0g`algm27o{^*u~r=VN< z3l%NkDd?W&R3rpE1wGQ7ZRpZD0Z&0ydJb~w$5>|VcgMrwdRVhX8E6EPGB4&UWO9ZR z2=)WJWbVY6emo^O%!x_6`aUJYm3UpI;zVky6U#hVOvBSMOv{hmi@S01>VD|lrrXe& z_<#Wi9MhdnB$Vc-Z%hyN1XO&QJE*40O35@=!%R=EBqEhG7sE`ijjCCe{sPk*)0;mh zuuEa@BeBR@BxCx}nS7}?@?Zwul236Eok)==2s1cLP?H#9lStYmhT0@DHi??!G>I~l zWE>6r0d`F-ovk110p~%+cppP*)0k2C5pvr zul z<9a;@#SUBchDT@CPzQ3oqMgaz=+JOaI`^@0)|R0V)wY1~BfwCzmKd=S&oqMfNhxuU%+YV2?*+ALM=&QjIx zELCZiI-9@J`c;Orabk5o!0{Dwxfap8a6j2x!6j_~th#Jr=e&}WIr5IW8ow9hcZ|UT zo3{(mIyQ?ZbBOT)qE>1j++o;5hQqJhGS9qg7;+S(?%+zjr{ytYQ0aHh1V75Gp}7qa zQvq`oFf|RwnT$Fc+#>YLo0M{YH+(9)$Dw+&e$0D^Gk1%w6PwX6lw<4OXALcYk&kfv z9ctG&LtE5PhXydj%|>I_QinmVdSMjg`_=F=$ld16N5b|4u4h5+epDzS-#x!&_Qqp;aCf;SCLLHZK7MWiBNaF&`P()Hng-=*V|moEGFW{YaUPTjpHdq+iMOoq%|Ik zv&z4QUk`Nac$}Rtm-W0px3@+#UuA5M^fsqgK|anm6)@2aM}H{Qz)UaX`dItBku|K^ z9_+aH_?AwNxGEU6&RgP6jN(Y}c zWqp-nRqDi`uQJK%r`VGtYZ@UR-*-mrW;P$sArG(M*aPF<_4#~AVLlob=A%(QADZx< zDci3zHsQujEbF_SRoujhE+0)(+%vKHXp76+w72=#fjoSOV*v8e^Qf>sS{CM`Rbf8% z&gVnxV;?8F`es%e zk0J60h-|y{GL8Ia_;p9GI!<4##dXx%9K@b5GG#^~%7Zw%V(Qd$ZW!%AjWz{-c2F6S z;wH}}ka;f|rCH$cVqLGm-|P1=FU@x&W*e-1m5XCP!t-u|#U8vlyc6Ngp(DJy;TH5> zgtw)!kgCS={$;4B z*CL*risJ`p{KzusKzOR*-MDQ-o9EN?{>Q|v>ty&>=`H+pwQ((EnBB%|sZ1FbmnJ{O z@mmBPJ1?x7PFgh|!>>}WwF>P$do_X_>4?boz29+^^=95B#oe>>DQj|FwZ}XGxs!H; zZd#d0`Zbp5y`&D&yO33&?UB8{=Wj>9vUQj!dyr52| zte5gTDqlxgujO}>yoMfvT&0Y}JP0-t; zvF8mw3<00u=%i)er2#{}K%*>!=M6Z_*U9P(n!4KH#J}EVPZsQ@q^UrGCgSJ^Lua8- zcIbLR3x)BzuU6lSN#2X>&F-BZhD zD)}CV*_`A;SgeU1QtwG}Odkqq@Odz_8AqoQ4$=>30D?F>@b-=;+vB(idM)Q;Xm12h zR*c zRobHGYW^>R+=rhTHRmO{e;r+O&I)vhcdOv@j;~AZE0N4^aqvmt9VUf4$lH1cd6TyB z>bu#YH;^A8@&@v*-az;s0k6~d^e2nGA;IpYy`!xyZpVfbAf4~=UM+vuYTmaO6{3x7gO0ry(pczu`)d=t!)t0Jy!L-S1J!rg)z?teOYA+0cTv&E8E>&90}} zKR`SHz4#_};;$hLJ0JGV%@d)TZGn;STR09t-E3h$9t$7VO*t>nql}Jq6-f3I948^H z(;`%?KFnBd(XH^a1JWGB$BTCY29g7i zhefP@ANSqi&vb$2Vg_+K8L%fl8&RWP`*?Cbj>c45jNE8#Jfm~mq44Xr2=}q=Do%hn zxE*w7;^1}gVuaJ|x$tg_X}0||KH#7?^@9078}mNQwMRB~F&iV$#(!ZOk3b*#l6`2z zg86h(YvldBh`wS;M!=GF9O)dRwooIB?q|N=2O1-HaBiwjZ`8{O>!e`~4FfxApmlqr zJ83`bqHk95DVWLjHa{`3xlywK#W=nyo?L+fY+M>%M)RWfGFrXD-ldP$k89oro$kD) z&yVWQ8`u1BQXjpL7DQRP=+fs-;sv}=AK%`Fa+UT%`$^x+kh7}SSm{>Y2ATD@ILg(c zvrwF>QJ74aCHla(fwJBeto$_OF>IPz_RCe#zb(OdFah#_)$kZJ9j<{#;nb}S982IB zN5={{j-%r&IIg1OA~@n$r5TWmAlfUC@Hd7JzoXz`UWs-`9aIm8TwTpmH=a7+G+;Ht z2abn})U1Is;8=}2s^=ZFjDDSPN2$QL*CTc~4V(tQ!J+5C^C8`&$_H#lB)fREK3TTyfO6oDVWn#zVJd`ptgV&0s>e?^>D{OVks3wKN;Kf9y?~X* zEF^afEa6-$kGLU?&G)+igWu+WVM9i?CyL&(hQ1xidu>;-MV7HE>uIGA6QifMfd^7=+ccV zs&uS8SW|d|Dd>n`<;c=%+l#FD9fAjY$oLQ(?5Y>*XP0{J$Lhq0TFpU6;yNa*gvz6% zOdL@wOCYmfLQXr2ncwz#Mp>XTzPefVq?=lZ~Ugs{L(;=GRk2B~Toi_}!*L7gDK z!`86!3dntWu|k?@cy!GV%lqtNcylLzyS&q8#@|cjs`YFD>%Jdx58^_|tNr51(*Eds zac3BEwH7-3bTn2431 zqP&n9I61*v@LrvfVV$m=k_bnLK7V0*oSGmYF}h~`@=m9-NmprFRY}&UbuUHS?$ejf z!ZbX=3XQH=eNvys)ID8wqieoe-e)cI8Opns_c@jK|1%QE2J}B&-VO7r)d^PZMX<(; z#7ZACU)!0Mm7{BREI){Ix`rd-$?iDJ_lX~lMU|AzM-K=+bz;{acLmfWC$hg9jt5&D z=DI`^WU$U;R)fbO=wt?;mFQI%JcLPY90{a44%5oF$%G!7%%PeLmOi&2wWWxzOP?!n zQ4L}BKMbrqI@?lEmQR4@<4~}VG7st9^=A0-@#_)2A#xzFu8-l*?)Ip5*(qINd#qX6 z69&&UD`D$K9M{12bJ**m*U34oJWOi6LrfF4^D28+g&qmdPeXV3X>8AmM#mE(?L7pD zG%w`gEt$=Je0YmT*MFTz4*vty`twE*k8Ytyl5JVdC$D()nJ?+Vj2yt*V?4T%8a?ST zjEhw9=#$hqmQ6PNR88u3X!x;-us3`Qz4e>C@#qFdj5Do~d@_qiA7#Xw=`otKp?LIS zYK&v{#&C#>N4L@A1Zo___aqR79#LvIk02tXAIY)DaTXwLE zI~c}HxDuvo6zyEG~KygWGiNKeuuLl){C8oiP#qO z$@JU?$W5L^&brC8z$0ejep^jm=HopfZMC%&%OsjW+QusdTXdLVUxf(x;xyzEnqwJD zFN1@=7ei3r7zR4^Z3AD9qV=hpJR^rwYAC<2o@tG|rE0E(H#Unh0cOXkJb7Gg)P^?p zvNp$uGRfnIK`4tn!t%{ofmEZ(*t{|LYU(eiiZ6sEM-^A6rHZT5QpMHz7iiU+r_TQ) zO1x7HMJqswXSgYpzJ~$WdCORo_z;znnOY2M>HFSh7FrP{{s~+S^rl6PEF;0U8?`M; zoC@WN5}yiByswXQ9hCUz5JQwW-P~e4w-RZ@%^8}=e-|Y_3`vG4@wsp-O1wuLdHR=7 z;?%UA>?;~_C~*(IiV|Ou2n*NJgoWc18c^b=A&48w4kf-;%lh9yiJz?r{Txc%79fuj zKSWy~j}m`MbM=1#CC-ZTV|`JNAxeCI)+tfq@8#>XXTDDVEtL3L7*dq@Yq*<*DDhuw ziM^jeiQCZs$5G<8(efzq2ed@^#hgQlf5BoCB|ZdKGG3U;)5GyT_-^4pf)cl#D~}Sl zef)nPC2lL^e*q=V8nr0#HK^neCH?`r7nnOty3%xly4n<4fF)^O2G@IAH~%$Ri`x_=--Lot#1U0pG$zvW5)*6^MfX;rVG zvOykjVj3?x4@Kk$%?nH~mVVmILVE05zta^)jOpxKp%C%pAj~S$&zONwQ`GrprytVI zRX-H|Rn$2N=dkv@`3R1mL7g)Q!!8DwmvCK#sPk>`4N>PDdK7hj2PVNG>O3609qN2D zf?(x8k2=@e^={O;74xWbEB+kn{Atb9e*<;?oLc@DQRlX9@~Cqw{(Go%JIk06qRy?D zN1aowKVpz(TL* zu@huDw?GfS4{krk`(=nae_8c7GiD8hdhf!msPnh+n5*x1{ZiC9Bl2~x@0udNV#u0;-o{|f4SCmL5#=Wk%(V?uIeWD=gMZH4?o)OkULT$`_u{`=vQS?Bul&!WyhLNh4p{CD}}eZ4_~T-CmH#u;c|m&jhv{*C6VlE96R7i7m`|e4 zdj?@XA1)k?{u$~#%%?-0Z_tYPUq+p;KqaGdZI5ipm*N+q&I?NMV#Jl=Uqqb`L8^*6 z=kG{uWB)?bd6>N3%iatd`{z*Sk1{=?&Ogtm_ikaM{WH{gn4Z#QKgg%2$$#j?|2FEp z5}8-j`C(WFw6zwpM%*Rx&rs)KDHPHBWnn443QLhkoqxylh&q2WpI%52aq0at)OkUA zKNP0-W0>C0q0Wy)sz}~MCpQd>`wLO$1<5C(;e7g`&=1%opkx zqRtBn)wQrtm30dh(#?Mcbv_muK(DWgj%gfL?=M81hdI%1-Z!5UzVVo6n+N($)4YhE z0y)(A+f1IQ^X^!lx2^jNQRiXu+Utkrlh@qT)UAk+Zmty(3jZGJJZxPb*X%z>ogapp zMHP>V-kmSwFGQV(Wz;KeY+)G>3Cs9%sPlnH70FMGR^my^R`D-HorlS56;CNlerjRz z|A;z&h{+Rm{%}6|Ux+#nlh-DllTY5E&QG)xyAXA5pPzmfbzY53pfcu12Q&*S;}@dN z3v#n0pBsldFUZX?QJ0%M>U=wsC+hsOeDc2#bsi?~Q0L)2#-Yxw7^EEP+~y{aI=5mT zb#BEx>fGjaH|qRAWKmJ)XJO;V_M0;bZxH_sbspx`q0Ym+I@EbsRoCTk5uFfEjl|Es9;OHo6LIvXjUX6J5HmnDRh&tzUeTX{eLvM&W=YwU4I_KkAh&t!9QiwX|b4-Xj=hHxl zI_FG1M4fZm9HP!ShYeBZoL`2hbI##H)H$azY0<3T!aWw=WGjml{SD&uiD+H z^Vw*SNM;Z=%a3h`&>#(`0U>+LC`iqY#nnC$v0J}g*Q-3M%j2xGhOOPxlBXU zPRVE+ws&S5+9H(NW_DmTv}9~2lmI^?&U8dZL#Z;eop}j)=b7I#FHWk?^hD1qDde4( zjAupou^y-erJk3h%@`QOPmFPHzBPtAgV!|>GJGYpG^Czq0yJgm2o8>X-C#9}SvqoW z+zha>o;eZSu5{Fo`%uc@hFY?x;g3X9FUFC9#>Vb2+BXJDn&jUY;D?4wn(A8#{FOGh zhfA6{F_YRk9HRZ5Eq|r`6KkuL+ZGE_lPe(Z?Zif@jd)d~WFIFsO zwr5U8+mwgMcI_GEA+lY2MtLE!y}a!#SZtastz>OA1G2p|M7B2rvON?c&46qVg;+Bn z+e0DYl@r-s+MTb0N0uSq&Uthtoz2lAevD!G5kECZZ!aCq##L^61IKOe2EDyv*<+r? z|6Bt^HMx&ELnn6w`cpLb0U9)xyASSoE{&Q`Z+{Eu8DS%-z_w4KmjPrcJI72Czu3HqOi~MFO$hdIZLEUm^KK?ot%M&wbUN znfpD4qEv2gWWAmj84cC!#`j>|r?VO{WL5B`uP`-pi}Mayl^ zK57_|yC>UGjO=4hvDFd}P#d+q2J@Ca7P2JfIX8 zX7*WAt;t$$dv?3|NJA~RJ^Op7Y`N{(LT-DuklUWE%Wdz9%Cg+{>}y@xg*8yfZO_gx ztbqlEHL%c?!qvbcC%PI~>|Y zq~*3}PjaH=wrA^d+q+jwYnk8IMRjO_H12ldmGf2a@(_iGOT1j_Bnj~*d-jXc0U5V|1 z65G?9x#A1AB(?{;iS5B|VtcTg*dAPs0o046FuVr4iS5BPv(VCx*zU&^I^GOEe(WTi zTNvIDvkh>9&m{G~6zBS#)Oj7wEzBmIv!i&T3wlHF&yPKTa|`o(`ZIo(zVQBodh>H~ z)?33gHot%e1-|p$!ZgA3W_P?SlP)?zwFQ(~0@dCQ{~H)u>KR5uXn(j{m?@!8o#dF6 z?A|z8RQn#Aj)amQTYz&NRQn#k)>#5k?R#uiCsFNt+;f>Kucfj>wci4_edqEwaAkRd zIaaqHdn_OJHpAGC_T;oUdjfPGVJ(coR4dDemF&r(F2a2HwlE$4F|3X;nuTf?DAm{5 z%L4Qa89orQ1-8rZv*FgOQ4UD&Ihvi&0^4O+Iz61C1-45euw4#JUo(@T4%jXSUJ5&{ zzRBVT7cn_7sDe?xK`9?Z>{FHnw#$c+8%9~9cc8;bA+TKvf$dTVY|o1p*q#?Huw4p) z?Rn7x+ocfLo);~!UBXQi3vADe7TBH_EwEh*f$dTVY|o1p*e+kWO(qL$mqK8BUbMh= zDFn7lxYc5T?Rn7x+ocfLE``AMyl8>#@?+%nv8;9rY?ne{yF}blj|H|%)QJ|@E^#MX zV7vHEw7_>XNV7u($WCv^)ak2xpOG76+V7u(;w&1GY;mC%<8V z?XtI%cUWM%w081N3v8D*PX5RO+oi3O9k5;6IoSc*rM;6Kuw6Ph*#X<7qmuzqOJH6u z`#O201-8q6PIka{>EvWU)Cg>s3MT`iMqs;icCrJuOBW{tqLwoV@9Ja+Y?p3McEEP& z?&NhA*e*Ss?11f3<>U<(*e*Ste7gmK4tBBww#y+-cEENS=j2ru z*e>Ip?11eu!O0HTj?dWJ@xuYzSPCOm+4LhM2*09 znGt;lBVQiaE^}SD1GdZ2PIka{neXH+7T7Keoa}(@ve3y6*e;8l{HO)C%VH-xU^_nJ zYs&}d+F;xq}b!vgNnHcDXV-3X_~XuwAZ>o~*J1w#(Y+29+JKU9OG(PGtvdmvzyv zR9z;?MIdcMjI*e*9l7ixYSuw8D7Ua7JJw#$ZSf305!Y?oW2^Hg@g zcDXfrw#p9JF1JVTP_m#db~#W(^T2i);omczy#aT70^6ks*e*rDb}0h3OA)YLih%8Mu+PVn zJg{AgfbCKQY?mTnyNvhwGm|{9T_*UCYknQDU5bG1QUq+5$^Nby#&^JWDFU`j5wKl~ zfbCKQY?mTnyBzKh9Z&lX*e*rDb}0h3%Pjw`1GGLYuw7>R{Dndu*e*x<&uIA^uw9CP z?NS76m-+r1s_%g9vef@nWe04RW&RH;J7BvU=SL1_dJfnwMZk6`0=CO3uKpdcT~2kf z1GdX)ep2l@V7n9n+hw(1s^JdUE=9n0Im-_;+yUFc5aUx{wAK3Iss7lIl5_pW8t#DY zQUq+5B4E1|0o$br*e)0O^`o@Eb$Dtp@3uw2b}0h3OA)YLih%7>1Z|MyKM4rM}hLdcKNkGO#7Pyw#(iA4;t=(?Q)Ob zd=m8?uwCx;hpFsL#gk8?eeOBp~?=} zE`RiYqp}0G%j^ED3^fL1GdZi{(c(Y0o&yR zKYbYEJ7Bwf=z!=B*e)OW=V-VCw#&!7sud3{T?ec@aQ)LHim!Et)8w-K$GV)iLfVEnO*~sM)8OfWc(p9BZ zDx8h+N8GY^%1*y5uwC|Xq6M~#`=BPkhxlrpv`vMt?GV^5?VM1ZCGMZk6`0=7%9l${-6t$|ze(%Z>cYap;)`lL7y%mdq{ zuamLXKw!HR0o$br*e*rDb}0h3OA)YLih%7>1Z1Z~s-zIuE=9n08S_0NT41}38N5G?5H}!&z;-DFwo4(fU5bG1a?nWFsRL}6gQwDC zH?Um}SqKjcY?nhmWU2(V%SCBk{mi;v{1-dX5(4ECCt6^;6aw4jvh@0yjBA1IQV499 zB4E3W`wKImz;+oo77x63zplAI1P=$y0N@ zb}7}TwLGw0CQU>l7T7M69%6z7g~)3$ACq9#Gx4GFdMw-*C9qxIj8$l;1-8puPPD*w zc{?^nLoKjfb~rI`z;-d_??^|1?NSHWE_HzIQU})d$8!6l=f-oU9$%f}riUQkn{EoQEwLzRnZX_lmG0@pENVu&z)M~dk?@{}?2=yMo7IP#w4&zEJcPLUz z=I*HAJ75zrg5`2wVpC_Em)jTD?Mjoo26q)Q&yE+?8#a9t^|U6z{(h^@eOImz(4S75uWFmFM}0^4PTGBKL(K-CR~ zz!>&2DFn95#o8@+t?|3Ia*5$GI@fy%Y?n*TWmqN81KVY!vcj9+j<@P6Af%95ZEqLw1PumyA%T3r4ZOIGu*qI zZS6HU%h+qs0o!G?*#imsu_id%H!e6>W%V?KF80stFuHI@rY2u|@MEklKgLEzpE@z> zBr&=Sv5tsL)(F${5x6;2Cp&c_5YjGlBj;*_i}De;d$ccdHscw!)1T07) zm|Y6N?6Nk(9C6;o51vaQm|d=o+&zk+1hX??1+&Y#h`Og^DMGG~EJwnA>{Ogv816LM z+Mx^HGx1Ns>~f6_ z{uV)s!0htt$dinxV0O7%haVg7p2B$Hw-Xf1E?XjYzGlJfQUqp~`yw8OF$J^B*2pxt z{TR{XEzGev+cI**^%Tr54@Oq03i;!XU0BpYFuT+Rv&*xZI$GR<*=2j= zPq3+Ac6lW-31+&Z9PPAZlImd|>%r56T(Sq6KJSSQ(yPWSt z{1BO7cDW!ngIRdA6Wjix7#BwDW7oy8g2%2)oai3AE_I>>v&&`9ss*#ltjbE0R^+mow1#8~?F zAG@4R_9X?g%j2Y)_n9nD+T7bitdCjtXX%mt%cYaUjkO3@=SSow^EAq0jl#VdR}~37SW3J2*&4b=L%DOA)zd%J02fUZ%q|u22Qmk-Nn3I4(jmduvlZ7a zT@p9Y2yyMwHSr+b#I;NB#AY>kAI=TTOE~keMv-wlokCg8VT?Nkr+$eKG{&bIgF4)3 zwK1q==T4l3d5UY7fr*At@MFzzZeX~o$DPJ!&4hg$c^yg;YexWu)~ zv_vbGvN_gSKX+En7*ow7WRbM|B6PF70xAwvKKcg$hs=TwaY094)BU=msN?cRQ)?u=a#F@ zf}LDE#%uA6L_>I^{c*O#H+N3$1+HBzi%w~A?Q&jXkm~NA*FBuNdhOQHC9WO)cfRT_ z#kqw!oq9UMqYKG#C0B9na%tjnRlG(Oxy@@8d8yc+J}9nTu1suGy~lC38RZtR8&-&G zm#Y)+s>Vlo4Q}$*DT?Ni&FU`TAsDyh`a~mW`LX6Ww=moWE{>tmc(S;5*^oFuV~o-m z+$jE^V&HsC=GOd>QqHBHOmvuvi4cLHQiyApLR`BP;o9Yy#4e=Tybroo zMz$vw(TuKb72?{Z5Z5k6xORCV(E~A?E3RE$O8kaqh-;TZT)VuSu-`MbzonE{5}ZzB zVF+_+EE3AAiIZq%DkhN`c`fmGn$eB$*VWAl=4>B&1-N#3GhuhW`LX!N5JhqA@>YWG z=G!pn1oC0x$Z4=eT)TXf;7CbZpR*zhaqUuwYnMV?yA^9$tQ7b7wCa!~^ zoAE!nELmK;6ye&%^N(S)(Wv#wQto%19+tC#x|uhAzfuZu?Xri@(VFXMt9UaIw@G4g z?NW$qmqJ{-6yn;YF0TDoOp3U6Y2wrE$GEZJ$9f`Lt$)L|Fw)V#5|Wl}Uv+Yxi)n5F zu3d_7?NSHVUcxrI6*lw{#Npbdvp*VMC2Sn-;b~Y7Npr)igxY-XPJQuBe%3DEyHnZs zN^lu@+?iFGxc0bao*Q6(jH8hsV}JHzyg2+AJEb2Rt3~4`k;dnHT^ir$xxZJ!Z85&R zqjG)w=rlc)9j;xHsiWcL$Clu1N2@d8vV*l9eP8E&qF(9}Rl5r37UuRsmF9!dHFMG= z^$q;(j#X3L>0|SgG$qZPXmRb*+=&*~E_*o z&7e6Va*lS zE|W4Pv%(4~#I?(z1-N!8#I?(m4A{ZOOj;ZIah%yY^rrJ(kp->~%25Mqq!W?kz=EBTh%c!XqO#qStin z7pIdws3T$FkrDf_Gj&kFc*Ft5x8~z0V7wy%k=di*>m6<4&fe8p5fi#ybQ?SiX}>^W{6Gl;x{f z+!89QN~zF($vmK-PP6{J**JH5fS^t%-^3u7rw&T{Y>B1>e2~=vH3hz zfjo6lCifTmLPVFRnU7uS_ByW{1mTo=#@iZZsva}NR94l~R5~aDJ>m%HyP#(4xk~F< z>#S;bomm2U*V3Ud+q0f-gLu7X+w%5M(`^;^R#lI_6_E_|de`G?z!eb;3Z_pz=9kI$ zwaMdw_&`wGmNTE1I)f{n!Hd;k7fuY!CH3fAaR&w!b9p_!cT6K!ghseK*7;L5#}*X! zacAJ3ItK1l1B`T^Mrv2N6J@RZBTw6LLj1w3xxYt@*MAO5G|w~NMfl1_m%jbs|9yl* zbeEmDMVKF~`)#(&kJdemY5%0|icxfXQR-KGHh8zYoOYalN5-{oblbIM*fn&F`z1(x zzbR7|dr@WF!+A8E`yhiIyJn!)kCT^fUMF)llPQTB?@DGD9WEVZ+jg1F#;B`0M20-Tu zqfa=5JblBXtLN=|BtU|E0l-{lXbq6E9$VPEFE^YblM7tM0(u9=YN&;Hn!&nQa$8~6_hT1S3S3vb9 zr+V6M)ln?iIaYNP)F$D0464sN)w6f2-bt$$TGgpgI||32q51<=F-on8bCl8y9Kfo$ z+^Q~s+6g$CVW??ylvTYfuiE>S5~yAqH!GoXD~|o4HU(<7#@2?(_n64eaZQ{nMp|QR z;Em9K6vtA;S&le8Z?QGz^)pl1$8JxW=Mek`j_aUuBU49B-KMS0jP^6a7T=sSJD}6( z;CS*`==}t}{@P%7spj9{*Ixm@o08nl*&CDl{>o$hb#fz`WhCTkRKVRjOdk))tJ-Up z=jC8;8jf?}({rxp_38r8-$3Zq2afmQ7*L7eDL4k!!biXOgN`(fMSa2E85SV$E*uSe zc-}3rF$np8PIEN~K7)9pcwTQ5^C2=5FKQ;vgEW|VsKSL|{*bI}inx_ooCd6dwL5VP zVUqakXFldYvm_i(|VR^!T4KhytWGEf1jCrTa!Kl@=%Q2?`S9( zwEfIIG`UC0Ooh4Nka&_&5sbd@uFT85X`_3+VpIX%N0%)=0?j{rY0!)Rnw!qOLP^|BH} zg{iP|1&*%}^pdkwzl4@@y-+S>vAl#G8|CV54jKwa&k`Nv*CA5Fak#pmHtuL!w(c5n z8GHtT=-5Li7?)83(XmRUM<7*W#OHaJG8(ojQtb-6kmSzi@dDnr0%J2ij!|kuMz|$Emi!YJWZ@oAITnMz1^M z+6&4cPb_8Jv5+wkVM0*`3(IiKhR=9d>D2(97enaP6pp9i7}5rgfn9O(&;kSd!_l0M zVQ}<;1HI)lUI0gwnw2orV^Tah5#IO17<Y3WlugbW2#~PdK`zsJG00pFIa>r6We%8Ls?!Is7CS;~DoV7ZQ->-BdpSwPD1cGOW&hAtS}7*d<@jn01KsIgSJ2-F&I7ia%<^&w87<~HQ)C_7nH9>!WP4H?K@u7@aiAc?+ zW5NjUYhA<#HR4kE=nP<+UPhNd9D3|b;N2h2@GYI_nu}K;13B7hm@zrn`2O&C@@}Y2 zKL#<;O4$tW`0vmThLJ#%-|qlO7)JI`>2yf_hv80PMCDH)S1*BbBNgin!%+PfreNjB z(%IEZ5P44x?Z?o*47D=4?8w>Zb=7#j+D|o(fJXH)n6u(lDk8oWUxdiI|0DXn`BmC@ zGvZ1A2+YRefAlhB6BouUXd-- zCFJN%4O^#Suw=!jRD>lfW=CMq(DGWjGi5EIl}AG!xtc|Ug@hJyA-t+#z)EW&4dyLk z9k0HUOyzzU(JS}CY2-He=xt#LZwq=$cnaEjOUUAa=U+eLu{y6znljWwHI62TJ_nbWDNh?l`qP|v@**gWIM!BTsaE2H@aeAuSN${x zt}iL;WT!06$xc&LG^?$FR$CuPHJV5^t%)ohHFOa=QCffTzGi$iXJ&h7olay#&djWM z9>n&%bz8ALr+wCm@_otcWog>%LKe?CGM;=G$~U-dF41g$&V>J(gxWD_uG&V{%osX- zKI(f}I*D9I)=cJo?^sQln{QrU-Z@P@yTWh*Y(6?Sp6rN_laI5-Pv}~~c=+_!l@(uC zDwa{!)s>{K8eB^G>1votseCu&nmaR))Ajg140?A>343ZrgE4EVo`)q%CpJS*t3E1} zMnf7k8O^+d-JoH;Dac9XIgl$?^0b7fBXRNuQ>iQlrG4uCj|!-=N7yA&Y4aS4HEv!! zc^Ztr=!%xqD!U6lqq&Ck22@5u#nekz-VAv_=rQmvhC&U0V_xG}*IQ?NQ=z;S#}^3d zdOU9AdY|dZi>%2(5cTn}*G7mn5D!Li`|##;Ag;{5yf7ERckDA=V6PvQE`W$dqd|}l zuV=Qw@T*71lfQxQY8dDBJWbo;efSL0)uidVniM@43Ftj`rnU_$7mYkiYq})@G55Hc zt^A^G4>z)F6*-j~Qn<)M%( z55j5Wc=!&P1J}T%I6cplyhB#QGYzZE!Y7)AFBmYGD`*>N=H+^o8JdXD#5S5}L=$`C z)MzXm6>v<41AqO@)$B9h)H6Bc_n1ZTBwy%y(B=6n&GWtRv3dSl^ZXvQxf?@zOa@%VMr z9*A^$O1Jg&@#|PN{8cHl5*ChG5>NgFE3diSU#?c#k3(Il8T(7Bsg$4NtmMiRHCIBe zy|pFeYc!eLA!7lXP|EIR7O#f=T?N7XpO#|13kn05+X@=0NwmaFu)k)lMzb~_au2Pb z+LUfNu1Svc;z;I!5||sI$!vuVhNlNvDYK*c>c}n_Uw91e)CgMV5}2iHaBU_a0X29; zlm>f2uH^*S92wB`2O6Xm5Ak7mA0B)#5evUVPdn3b?PdKu>V(3^Ua&H6U| z2;O%1G|wSs&O96$f}n=SVw8WxeJ~DE#cnCq@VMEYdDMmB8~E?AE3$`mg!>)qzN#JE@2b1)lKBhpG;IAJWWDUPZcgdV`|56w z8_9>(g`2i>P0PEc=Us>AT^RJNp4a=TY8Yx1HB(X1cO8eBBC2*L^2w2H4{gTAXev&< zBnpQ&h!QHMp-OWhjX#4?am+?EuDiCd>#l>ju-yn9$W%s0R^b1T(m6Oa=BYJLU2q!A zisF}vjUTOi6z<9`Jl)RII-V}(X*EwL;WTn8?K}t9kk@$H$InclT|G;jx z)oeqF;wNE*LOyFwwht!vbCkaq9tY3Ia}%G3Cg`(~I-^V1uNeM#TSR_<`eXmZI)4z# z-YYl_LseVq`qBl%P}$Bsmyasy&Q3y{mxdsYiqjxY&?mTuDqsS0%?bMa=A;=1a>ns6 zt*?OQft+xt^b{q|H&kjqnPH)HI;62Wi+O~Tm!l%}P|)5%8;= z%+qL`ym4H}UUFhQc?J&C#_WmG^*Z24&wCRFDhI;hjpNGgWeC23DjiK%s8lXF3Lztp zMYVIT)Y;g%QY{A?{*JZ`FbSxxPiq{|U<8f1sM7H8s4DU;j5buLAEdlO>0}esRCLGl>7T{{B7w7j( zuZ3o<_TO}T)IOfKi3VZu30`R*#mqM7pL8nrI^h2kEOH?FFvdFhGkgZ@K=48YTa%x~ zXtL?F(B$Van(PEw8(=0Bsce3XxduQ&CsZS$SJ9pb7_|y3{Lr4Y$|m%Rw&&6C8My&n z%l6jSqpYU;;c0v88~Po!$eQW_IYh6)QM+$9*nBriGuxquKfF!V3U|s@l?b@rXrnN( z$4@EwGpn<-#d+mT#fPS2HnI;9*(@}>|niG=9hWK zM^D2{8Ha&sc9nR9&x)@jh!;^pZ%%)M)8 zHM~c`++_ZY)f}RWIBUGgnzBVB;5qG3b3JcxBQz)88S!L09CH!##C*&HT};eP4q?Z+ zFs%#x6;ON_$K_Do_jD9kler*G?MLC)za#?XHEC`J?1WsimXR+?^ZowFnkBXSRztj4 zADdz`5lj+{lOt;u48?VSNqPv%h0CKxZ?;ZcGuvJ~m!_-tX6Rh*C0wS-V2D0!^(?Hx z#$jq*+UtB2(^wueW<4^RzbWiZmTiVV_`3dx5pKkw5F^* z%D6Gk>usoBwRh=N8(sR$@|sIn7r%~^v>sivVMT4Pp^!Jn`NGvrNTz1uV90mJx&0em zv+bnX8`)g<#QBxx*AQMCqyD{dzQEgQ7W6j`guKONYj#bR(L-@YEx#geeiLT_uZ4DP zE6Vr9D^RF+DR&qG`F<^ADIQ~L*E2OMA3*sbTDS5kl=W(|@+XjaQCMjx<|(zWvus=A zoTmmDx@%9Obt}(-T=UmBsbC0tdH7^)2mEjdE%DUxR*T)**jzxe1@EftRCqZ`+2dy zz`uG1rgT=Eek5|bgV(H;6S!H|UeGBo-%9z9crtb2ljlPI9qvF*ew6ZKEV+$8d>#hA zvINpN2DNjo&z9Q?zuH@v#yb6C*lUoHV_vVd&@>~H?;?wpy&;dB4Ud6C;3_>DQ}&T? zMAvLyF?A9gku}2y9)bS@8M0VCY6q^s|6}NJrg~HlyafO6fX66agBK)Ver@bgn%@Yy z@j<}#^DZAO}Iyc9-#y)O^MTlx23DeqelBtC{C?8j~(1W(w0uH*}`m`$;~-5?Wo%0SiG~M9KL?Tq?&Mu zIXlXs;d{sCW5o*!kZ=Fs}ae27{He?7qDO6`-V!%RBZ~%XP!7zBm<}FmH(83xQ7#C<$tFrs>#>b@c{wEX>ccQDanTBG8!6{Y+(ec z+rqWX7moA6WGmAYK`b1ngUP*3rIs~W&fzP$k4q*~&fzOBmX#Bgl5FilgYx=89kEgQ zofyfJZCq&6@{JVRnwFYSuKaA4r=1JkyL@{bVtZGBw&j=6R0s2!W}{>Iy)0fwJi{`R z73CkGFD3VNRbE;Cd3}icIkBqzW)`87v)rfrT=cfQSY6(x1;h#$I=K9gNr;`DSX*Ah z0(LRSYhw=g>VF9ts18<~AA5;)S}_P3U9qNwI-Q(6*j$8+XOH!gW1S5zd)#gzW-IUz z7nZaY7>b$lnHWcs<6LN&ZR7Dy49ZC-OHOcg(#ST=MAtM;Z8yY6D>SRQ@(HYjsZQLx zoM^S=G$*#TrJnA@j^$;n&%<4fRg|}7LNoI9xfrEQ&UDIEM%yAW1TmCJEqU4cbeU?ATbdPf4sPg_4=eoEDm-9BAoToJ!X*C`d z-WC~Yu)X#FN7t9YX*soV-`hO*^UO>$bDp_trgbJwH8N?+s3}9cwrLeop_Py%CA$!k zP)ec@ioCXvgzQ^Lg^)e3E!!((c?sYDf1T@jbid#C_501;`JZ#0b1mmO%YDvy?t|EA zZVkdk&64-K5t=a#zE<;z!81S&{(z>b!81?|{-CB7nKpElht#Bz>54%qxlU6{o%C0f z{$Y1D%u|$1ZgD3l>#c5ovAVF%0MFL-HWz)DG$m;)8JKX=cha|Bcgs--O8diIihy~$ zDI)h~R54v>>pvw4tq~?T1umbi!6=yg%bkV{>7Q9j=+PsK>XL)KbJ)vdV3nz&(~R;saT=5B-s)|pHD?TZ%_~f|aC&U#$abLx!Xt|E7jNTvp{7N~9{E5m$Mp zrmD)b;wqmRS9x|^<+I`{pS`cj=V-a2at5f%=W3d&oPnzHdH<-qA9On3yH~1S>-qxC z3zgrXt6%7?MCBIsNnY$N!>D0ZzC?*s<+*W{FV$34`Lejmm&a9}7gza;xXSbQRryLS zS5(dbRe6D?smd8xWq95rd6lMC8{Ybzyjr2EyjWqaxd8LCt68e~P>AUA2M8sz4s_8@e_x#a{c-kd=vN=M*zUMsLEs!Xo;I$(sf z>OKf|%t&sjO2RU)mH=i+icuc=xsFJ$GcWhecj*IjznBFg!al8T%epmJ`~G?g<0 zRnC_+wZia+(8*U6R+>jR2YXdvm6IOX0eG`_2!w}oZSiI{$XI);5~&v3;#$0}sj9^r zaV_4=XkpoJSK`RBe@h{p>k$k9$+tZhT#HJRJG{@b?B9*Ee=pAd{W$v%vg~Cn`!G}4 zwk>^>Veh2bc9I`^bI7kc`HA;0yh>Q-`gfe)r*VFt#rb`n<@X3*U%trl6ZT&!j97=e zG-oM&Ed!caU;9ea%B`#)`{OaA1<@Z~h-+$x$evk9}BhGJc zoZp`re&%zww7)bjoTQFE`?uEyT*2P;OVJ})bv>+VZ~~#~`hIM}6KJZco8xn)#0ih6 zoA5Ie9;r0!j7r0cthJMx7wl(~eac@=_NB=@e_ob-ew=-SIQxP)`@$@H@tLAHdy`@B zq_^)6erdk~Y|sHlel=!JR^5hievRV%O5*%Vv;0Ke#&Ld4GW?84(^O$8UACDP)Qm2h z0p->%%{2`jU_%T@$rk<+%2|^v_xVX+D`(5NocqP)Y!#QYA}(j^xSVY=a#FCinp4_R z254KV)HH2N8K`Y(e@(44*U^{TX{i{f%K;D2)M_W)zb$Z;Uk96GHQ+%1nygYClt_K8 zI<8blO;um(6j$n?xKcIyDs`~t6s0ntnUkK=4w7{C4FrJK*ZTYln>BCOxFp@;k{lA3 zq%JFoxcQ-3N#w=;FeQ#`50ruM`l}BB`|kd7vae0{^nc8&!4%iGYCk#7 z{)9OD6XWcsWZ6rVo|I)jlP_^6`^DO=%8TPEzI|~lwIlOXEeh`bVl}8w_4iVmX35k1 zKeN(Ik4tlUT$&kiY0ijCGczmAM{G{B;?kU%k;X}1PuH03&j(j@x@Y@$VbX1laZa55 zxpDUA#o3>qW&b(`=i~)h_D|B)F3i@2NHa&JDK)pU7rICxW^{Z*x>#YkedWGHWktu^ z3vDtv*H1yjqKf2Y{^6)dE9>QPS?9%Ny&^8_{H&}Z+?82bMYsi7Q;Bd_Wn~rNuFlFT z)q0HzSB}LRRCjWr|1gCsPhRV9&kDCVF5Hs1aM#6!TbdP4yz2U_aIzM)%(n}HQSr3N zvz_D$&8uE@vqE@PA${-`e*}bxqU2qEvJ_uFo!}(@<#PqR;TcZyZW}k%N#5g^BGt*| z$__)aKAv)NxfEEL!2#!uxBCAAwkF5@YDmvcL2i$0wJNUF>bO>SWVI@94LR@3nw&e? z$u(K6xcQyD*WU>(@W}wYk~Igu&!2-YJcD7i)BgAHVA*<^YyIc9!_CC^!ct-vWZpok-ZZ%=>Sd!6N1ZV2-IwK=y$vYho{z`_gk~i6PeJx{2NoRI}-$+kh!XM%$zm;yauX?e>HCRmopmsQ%ICB1FUK<0s**Me4$~(k-YJ zX|*LzdL3#ixyP@7j={=$>?kek27f9|=8i~UL9_8$PVN!fa2ucP%>(3D%6!O7JLUIk;kGSU!u_^g-sY?bGrS68ga);WqC{=}u&7jiMT+FU=huO4d zsZRT#@>B_iid^~@yuTv#G~6zODpNb*FS$p44n6t(k17~1gKAP+;4ZmG*?e`Wt*FEd z>XG7RKRD{!7PuoM5mH^5S?G{hC8j+shzM}?xPk3PO!5d;A4A{ zEB$1EV4hoxJYjGco=r9)CPLI)7Q+*Sd4tt>sR&VdLo5nX^I(>|q1Tm5(@&j;aUyTn zG(p_GV^DnDuA~4T`cW<+EYY1`S;m&rC!UXwXPu((Fce z)SyIRzUc)u8WP|8^f6Q53Jp5CJtg&U^D+FSK_~YXDY>6H6LxLT*}Y$2e^bt) zy1N$%alPSgX@mamYJnro`Gf-$jxuuz2PzzEt|T0!aGbf8u-;uKc_*2}P@N5isLWH$ zmJo25`>^nx>NJ~5mDVNK<9#Z>!DBQ-swMop!Q<8L6 zSr~9W9R`rX$z||aq>D+)oZxu4Vo@_T=rCY>i@=;Yx+OOG(6Athr?e!e#TyUPOF;StrCdC~FT61!bod z!4PE+pu&pEPDQ*a+k?J8UFM*96qk*N&>fV8XuS=cpgBm*)o(%~Y-gd+rYhX(hbdf3 z6z!JPadK0}L+XCnEHDVlR>9wM%JzVLqHHM?2+Q_x;3(V5?zyajU6>OL2dP;*9pxnV zq6exoJ2pZJGZR9XXVhoybih38(iYs}<~dyRoXato(+{43Gtaxs$km}OEZ_x&MY29( zUQ`$v9z`%ODJ(VoOoQ2^uvzh>(;|(wO$!vFE%q?) zJw-lZfoX9IoEEph^tc61S1r^6GZd-?&QPV)0yELP2sDME8Hx!zUcjKi$=!3{fFgE9J zTpBqH&P5%B!G5A7hpRAHjc4!{+Ddvc4CgcpY5JwX%bbbbK$74C^mpkSk;MsGFmXA@ zhu}lBi1Z3(2~y}@(>DoiF|*zL6KgsM8UlF9;M5W16T;F>|0V3x2$s7o@GQ6m5lGx6 z@$E>mQGy2x$>AjV5D^6of$j}S93hDlnaKPFj78!}5;HLx^kERS#L=85@P7lBCB2r(hSWC^E_Z**#8@e^q7*zpd4elomEs5g0#O(QmGJO! z7zEwmOApZx$w{@DuzE2*kObn@=(~#79{@6p%_RN-WZ-`&!uAB$V1x?z00pg%`&+VU z{3u}o?Qb7Sbv9zl-D{Y}&544B87kzxPSPIxzti?9h6RH3X%ID)%H>EH)o%k%o`zsi zRNr`i_!dX4Xkgx*gXo2hncoC(P~HuP69%Rc{4T1`yAx%}>o|-M4bE#hjxgT|ek~@h zKso#Uf?#D34Ze*XH;<7-U+AWeW11WS_@&oTcm(D?*f#pg%M`krf@QX}^39rZz;Ctt zDKbZ5!7ZW<>8 z>&-l>@T;Z{Gb0WH%xs>GG_BF=XCa0!R78~7JR56nW$GWAcbs{Wm6w5&Oe4ZSy~BsG zwx*b8$TzcjHr33b`kpQb4`HhT~wra zg=^kpepDbDpWkYwYmTD9(~4KQ<_=6NqhiHtTyr=bAyRygYdW#|8Y*7vnqSb)qehC? zxn>DoJ)#oD8(ecRU9_>{jjkC-=V+q%Y1e#7d7CPJ-Zh_7|7MCeL4NeVQFFzcU2{wt zxJ>aj*F1*qIBKbQyKBqnalB( z6dkB|u4h`H$BH^Ap68k8(LqMliWhk13EID-;)R~Mi1pb?@e(Q z!MryiEr+uy^mA8%s20`2R&Z#3g2|V7#)pM zyb}D_J5Nx&$~WJ${Z8`h(ewGO*7&9`{dKCQul3Cv%!4ZbN(0#8@G z(Kqec8=kKCY2P$r`dNWNsixYw{Lc^|GGpLvT*}C=-FRhs`xkG+|d#EGJmYtZ?A9er+>}!r&^q2 zIh|e5(rq6VuYy68P|Eh$! znEk;bmG_>|oI(3ttMaT34Sy~hE%96SXL;*F^9=22_l0l+d}zMp7<#?`_h6>)3JsTq zq8of(p91|uQ`jE(M*kzhyF>F8{e6XBSkLr5p(){-#7%x@!M}y375(cL{}{o0Lvt1F zx6;2@@SLRigZ8=2e@yV)q^YF8-R}P`cwW-H!}h+~|3KtfkTeb0zu)2K3?aXTNpm*q zca8tAp~Op)=3|aeclkR6FH4#Y^uK@kzX)EDG~H>>d;G>?ua!x|@1sQb`PW+eC7s|= z8hFUPh~94lf*adML#pdCv%8wm&b)M9c5wLG06V+;g<^IN*FkK~?iSGMT@>bDhAG~eFqgFg9A5q1jA%#wcD8nk!h|*zkg0%)c-+FBJhFtLfW9 zGaD98SvUQ)L`Bx1x zQ5Ep1iq{M>cd;3q7IqZ+dj^@pLf~0pPr=^~GD-5A9S#@#+aNQS`0Vg#!Fvapzo_rI zTHc&`vy8pdd5Y)O8;|8(toEN*Z(d_-zC`hYdeexrg-gR@rM!jp=BgC%Wtx9Uz2SGP zqj}*(NnciPPNDs-(DW53KOcC0c#@>AtT$g!pDQ(eRlVs>{#S*kN&1?4GnZ}kYE8eV z-tap%(KU+K)|+bj>mtSL>djdk?XFe4q29br{)@w>(3JdE8|w`>SfeGH{(QZeLI1i= z@uqq+g!(O2yt&>S&))ue#oOvlz}|bA;_daOH=ElHig(nTiXU0^%f5^_csT= zL(5w`-0)L-(Hh0;h8u^Y$z6&!3^)9=Sai4g-^SslA=~S{>fg@~H?Pwl?hm>Dh5li< zxt8*;)%=@>n~v;R9}G*5Wcs$@=JIObhr*R(iMJ0oPod#Q4~M+#&u_J3xH*CS^!o4& z!5<7a`?LHjp3hy_Y5~(Ioo(5>~Iv*e;aOEvpqf;juX6hxH*OPeL7quc+LpZiRsUT zHwm6Q!W_!>_FQPlSi<;9pKOQzccJE_=C~r zbo%QjVRNa^oukbx+T-8h$CCcpX!9-cr(yX>=HE5i3}gTMS;!BcVfHlI98G(E9^N2$ z_h@q<`>!v;aU%bo(WVdkzc0fLf`1!ro@f2+3O^CNceL5a@!_j5bqvd!Gsd(p0RB2W zK=9l#<|p>2--cgH`SZq@gCgMX!Ud9l!5Gt!_W3?+Ihy$wjxo#GK6Z!WCI6B!W;Xky zAHv0gmyIz`(%*gzpBB7gj5(6__$mBR@X9fUAB&HE4m(QutHzj3=*Xg9!b1hG8Dn`Tm6q(y- zqWu*{<|WohJB6ioz&#)Zw?NircD$`pSZ-%C?NfF(Q(-QoHU|nHSM$-Ft>FLe~KQ}qy}OT!)(Yk{DFORaOy>= zZLD2fdoXb4R2T7PtX;^wtxIY%D#>q!wT3lE z@TYarA&RlqAk)IS6z75P9?!f?Z#Y!(63^U5?>kJapXJ<iP)R&YG1eN&OMyqEcskQ>g|&wJ(!fV(eylaz+6nkb#aL^2lCF7_Vyrc6;^=X- zVyrb>!ro+*;yti0>5oy2wTA!F-lG*`t)XuX@K}{+j&I5+|8bg*wT8WHy~iuYTEnZH zJ&#Y_iDh_Z_ejzV5(xQJ^aY}ou>Kk@y!GDpVJg$E#luCEly9p zJe=iWErN&TqZx{^b})(dpQ-ZTUH@kG)@P&v^!Y{htYzrPsiXQwVbj_LCP z!>?UO=ccX{ydW@}nEyQGzc4V9Sl<_<_|sXm*T9_0+2(~A`2uqk`-96BuM12y{du0^ z4T0%Pf4)NT#=z{y*~EOsPY322=D$+$^Z1E8>tli9O@Xte+p1ZKc~z}Ka?K?Q$>K1^S#>7NDWDfX4urxuAl zcH!soY+uVX{oBBN!`a&nigyR*N8%e5?+HvT{b#x2-vV<3{c(ljy@44){x#OUqYBYYIot;0#?7tept?DSOFY=PDV~HW%Pl$F9>be`@g%%tXHdTFkyqyAqM`7` zUS4-@)tr%eiuG}u!cyBk-=4$nnPbUpwuV(X=pzAZ3_oTQtyWlT?q%KGp|B1cW7K7M zABdY=g<$_^INjC`0lvIYQgrFT1DOx=#a%k^9ECWNb}Ku)5m&H~l?WC^Bi>*k{CZQ= zQ0&M;_yxzPk;0&uA8w3F6ebP7=@^wN#KzS)Hj*PgL^*}WBj^U7wM4|o|1jcH1l^#7 zlZ>POCf7y?j*O0))dyUq^)Jq2>nB%f{7V#iw(Vc1FfgxiV!JfY8Y^kuW=pv~ukASI z%{L#80bHi3^`?*vZ%{bQ3ErpQA3X<5lkXu|6&?L41&~QYi}1#=RsjAkJ}TD*p1>?D z0&FR-4y<=LK`S+6J{MXl6cpKNZ4=sRjhtYRkBp=KLv8~R%#TL3?F(+QkvG+~3r6^U z4~%-MyZ=D)4vMD@1)Qem6|e|(9zFkJ<;^oJ~j2Xms7E=D;r8_HE>0z1U#>B^7&Fh!KF zsrFZpQ3HjT{;+>8khe9QqI80<=w4%Xk>M@`OQSJE4+q1qTOsBpDEdetenrME>f_)ENiDJyyPXPgY4+JDI*45ND)4DIedY{o!^yUP z!!yTE#U7k{j)SAQzv2-E^4*1!n^|6tyBPFND6caFwIV1RfOe8o=H~M3)Df7Yg--fNjxa6V)wYyYZi9Zv&-t2D zwgR5#mbFD5uWTsVdf=pcaeSQq+|xL1TH;GcZGX|;jwSIC#XGDNuE z<(K~(%}2NzU=aX*P!OFZB{Vz!hHak!#0z}dUVMiu8Ee2TW~j@ zpJ0owbGeMp_1@Q#fJ@!hg9vM#^u3&E4RwEFsrMjU4RHMcl$r}aiAG77ZQ(C!evHDv zPLRilAFx!JKOZYj#P=3{lRG+2YJ!7}81;BDFqe(WK1&P6oby&WQk!CiRTvli^E3gq!7L-fyrcNt)GjlVkkR>t5R-sH^eQpvN2D@d%g5l<`e(9pfjTg-&q0cQXqQ zgO5>0QGRr~djj%XQ_N8FJJ$SXND^z~$rHeKrfSC{t*nAk;~rra`%sHzIoz+s7#yh z3Wb50&LL~Q!laYli>%R=?$gK_jxo%Cbq0-}X(2yY4lo&rf9 zM1N{1rxVhZ90W>icp3DHMtfs~ay*{4-p)nH*4v%XyMPvS(({s_J+{8sXc#U5F2Z|KM5favRZV#}J~o;lK14AB3xg z5M$Ea(kqnRj_$%Kb1{UtPWpTdY0-V2LATJP07GFiS}Xm9?FSx^98~C$e9%3p8lb5b zf;M`{JBaz_pl>aT9+tkv=35`nm-*C1Ad|5To}G*(?PM(TrHgzgeGxn9$GlTeX!^zm z2ygT@BaBmcc$T}L;%Rkccj}}c#o!!0<$W(CKjUdDx)2p=$;91+w#h~9*_}M+4Md`y zCq3^yjV#n{emTl{!DI34<7C?OqG!8obSD=hYxI)GVw>!D0PFl^={l{duf$c&e2hW| zuFaVfW5tuPd@I~h<4(F2%89mk{C!KhCA*7vy!8l&!A3mG-8b;GDoBV(iNPDJ{ZgplCy+_Oa4OQ zq$`>FSg=r1mr5!(Ol<)Yg6BE~bR2Nti&wgmD-BNt&qPsfV31@RF4?BWvk7O$ zpVB`DqrUKWb2 zSqkoc6p++OpG2=H%K1hpeh>=Uvf)UjD3H)Ub~*@&;NKMKP3get<$UpNlv9O>FzAG* zHS|&00wk|MF|-yimIdtTjRFo1Q9!etQ>B12@GN&1XERGkDpxY|0XB5o^s$@)@0YV$ z^4%@@xUMdG6-Y>!DnIT)q{mhwOWT|slI0`G!i^U-MS=zHpYw~P?v+$-OBTrE|FQsA zMAGYWkfl0je~^Vi2RzH&zRV(?{g1low+-l;C3t{4-IJc#JaMe#nTTft$-^DZf(j5g z>8IFPlqD_{ic9e z^_3*li?j|dS2ou$?)H72JX}T!@)^kLIYlyXo6@|IG*J$w-Way znLvlUIKi$w{R2mVxrqTnj-U2{d>qL|HQNEbz*cv8VyckLz|)$H8=$r+i;K-IXVteS z?bV58LVI(TmYc7(mF`2kfiAr`@x0K!f@it=KIvpG#}E|Yf^7Opj!sJx-wEMQLde}( zOUR~Tf4h)Ajji&=L_?&Z|HIP?%AH*8Kn8J$Sdr)=6o+OhxL3Q6Dk3ARRU2^MYUH{t zajN7x15fmS|BoD!jSnZ?uOo7-N!%hiR!a`<_x>*rOME|Phz}+<3-KF5%+28cC1y8i z2hj8b2u2$c>?PBq*f1VT@D8jnD8jSc z$x#@o@}o_OImm0*q+U)?JkGjgP3je%s+L(ZzoQVns;QVYAI(8-bD}SDHmQSah**9&C7qcy1%LGZAm=`O)@7!59=1QslR?#qd(9=%L0T7Y?Qjr|_j9>J3MqVfVIZJiISD9@%lpl*PAkG_` z(K9V!%EnJfM3J5>4D9Yo!;rl-m&0VcyOHj7d`omOy59WF_w!PP!|YB-V}&E_ zPDm4l{OGL*_URF<#-<^|VZi-?Ft{4w){n9-+^8!29!PX+FG0x2jerBC9BlD>+zIHQ z2pi~f9IsmOJkQBx9sP|m#A=hXSgaP-l@H;n5!oq<540Ys5rwoHnC6#+UlAp)3B)==q?oKXu zw|EFgaG`xkdL)Ajuo6V4Nv57dR2aOBr|qpiLdbU3w)cIX<3w)iYa!c>XSwSh7bC&@ zeuGpi#FdTc4^7HS@N~--^g|7oeTcA+Pd{TGAEi^w*rX5qtvqU)Ivc=lQ#F(AJvxhQ zQ#DtZwA)lI6c*WSsxpOmW$H`MEl+hoL1Dn+!hoj^VJ)bhJ`VL1HOaeO;_t%K>h~l< zRzKVOl^24ndEP5Rwk=DxGehR2YuSCZ$op0(e#Eof{p+7pPOGBwyxil-xCqY%ZaJR( z6E=wDUQv??=w<7o{qh=)gWA$*w9+4rIp$OjFs<{hN2%;m9%u&GCXY&3kW0pWIe;FJ$MrZKJf6euxGImUZCpWa&b$Zaaa8C2w;I_1#=_>;?)3 zGHw@(u#vVCb0D|&P~>WJDP3(tDC@e;TEw))Weg9?8SP5B#$dgiL$2fre)kcHclLKD zvGi+mZLTevYf-NFd%LC34_D{8&X=0-q9+LlxW^4f%GW8^DM6P;MqkQlq_$_`-nCsR zj@NC^#BCT~NziF`DrIX9@?j*$y){kbXj5BIHAKjs>Ahs zT!n{I{l5`Tn>{pdb<$d=Xo6L>eUe6Kd)91R(|2H!v6cJ+xZ6SE+jG^??T8y0@h=Q` zSmFTpj)9090z-}`HMdILfgYD`+w!XNLGsngN`4f}t@rp-wMw}HXRv&~x4m3jWWU4h zbaW5t47WH)w)Xt%P+F%Am}z+(SA$!py$3VMPg!&-Y0Tg{3ej#Lwa5)z=YG()ojo2m zx&{nFJRa@p=r)IU`}XVW{&tpmP(C6~ZE;=acggR#uStDa<8GBb7^lW< zNG?wb;%yh_tj^PrUb1Qk6E5O*d$M-IJQcMdYWgukm1 zeI+t>foJs)X1JuRb~c@^r`_{e6m*55kir0Z@&fnVZp zC!$~1LWgGy{hF*txSYD;F5_Bmn7BtM#1)sWPcOr@d7N?WMk!72$Vu`Z`=Uwc!$gtM zl2(hjI-dA)#|WMX>>NsKmLtc>_`4V}ossLXPZ4<^K=gkL`0H?n<7_})+HRgtSEcQ0 z*aG$AZBX+J*a5e|%q?eX5)$xarhB*VmZOB;_#1;#zSmOj%9bJm{LAMH0WW^;?6zW+ zyp`h)LzboZyByg{CtJa{=aBhBh=HUV!O1Hw`kX@0tD8KeP!s!Z& zAUThQy61*&5z20ezX2#e?*v=^nc4DjIL4i=Wd>bvIL19I%VF=~DB)~{`L%_#@Hq;} zfrm}qOG39CrMJc(uKsh5Qw|r#ILwK0xG2k^5qS9PUAip=w`?zN#i3}sKi-)kuU3oU<9rhL%x z+^c&-=uQXCEd2c!bj?q+a$KLGtKCblUZ%ywVs6w{g91r9!l>y z95Ho1ohq3;2##|ea1ZHeQ_|Be2X+o!JI---BLCO;dkisiQAV%l5DAx{ud%M5uw&Y8 zkc_@7C;0`)z7$rty7O@v-_mE2Gj8kLDDV`(t{9r0%;o#`^FZzS^APu`T;}VIYmT0l zaoZh%ev{MK&bY@O>DzPNabPe5fA1hu!ztDbZ%Uz7pgOw7SyrGqpqucooTNY7ac%-F zb)PM?9T3w^TG-jb=yc$oJn`h7BN#UycjJjC_gsP3Ah`;k4RX&DSj9U@HHhyAWrDno z)W$;IF0}uoTz5M7@50}`C}O+HFi~W97cpI->SQT1I1AS9vzxgNl|E)SGS%OWeg+9O zC!r_5xfjw7;aJxjQ3wCk39xQ8ATCXJ`ofxr(U`mzsyjP_8xh-&KS^_YkZ1!S>We?V zbAL~{oUjf<>Fw^zNq&N)i%z!Y`Bml?4bFyZh&g_fi9&l~vB!S}9|PQtM;P5dQY`6G zV5+iLQg;*0#&x(BR-c3F{k02-EpESzP0fb;mxnOCToCBWCXBaeO1JhsknV|9h9PfH zxhK$Kbj4k9RiK~CS=n4B^1zv5Tp8a@2Jj&F7ffYWA-R7o%5T3W4VuDS9=5E)bz4Qb z)VAwMu#^!l&x5inZU?sV2!t|uc= zHO$%ieq2I`OhZnA(PT7E%KT#p;(Blnl9D;dG(f9)p3FnCn&-&ElXZlO$S9zjX{r&EFLY^){T9pzLP7aR+tok(T_ z`;duWxo$PY{}g|JA--g4MupF1^lx{bs_=!&*U^E1b$yxdOBuyaCccMO+9mipV5{QS zE@vR#qN%oWzY!0An#rP~#jpTX{MKG;Gi$0kjJtKy^qk3z@~@YnuCR={sA zg=MWwABP6xmi9yB-*zeiqUYDvwYujCbOJ5_)g11Imw&wmv^D#?9p;Alzd$f zBm6JkH(xI6`XuOqJcq8!NgfTVs%e)06v=l@v3^rtWigv**hClRrmn_ZNqhTSE6~WSabNPI45YH)zJ2Wdxp!m@4$ZE9J;1 zXUn(B&v_q1yy&nhv^HEo8y+hyB*&eOvW{J!liUHS#A#NCFJ&SZT*OYE#{VjZC(pe_ zJ^HVKyY!R`H-F9HtAxLZ_k4GD`_Uo;Lw6iXx)XngBkzGIjq{WNnfU?eR#A(+p1T$_ z9Uj3T3cAyk>mM@jy%{kBb|ASmlDo;3i+_9EuiA+Ovf?ou_eFRc(pTc|C&b^VMZ6&1 zR(3H6>+fXc8s8<&;te^;qY(S7(iO=B_hQm@cDJ#>f91Fb{kIa{C6;&x zG5w!rOMy`z$YGmpaEX=XLuP&nmq#Mw+mGiYJ0pJabZf>Jh06rQ^pxrMCVzQ3&Dg*9 z499)h=kgdw3x3-YkV|J5llCpTiN&}^l6~YW^10YmNMzS!5he%ycd#}N>I(90Lcw9M$oRg>v`}RF6ft!o(;|5#Xgn7M@z*f!VwG_e%4tmtuJheF zD5LNR+|3QD=6I)KGkZwNnT(hLk0H4Ml6z0U9Ke0dKUCspBBuQ;3T%G|flP1Eq@6;y92xF?Dkqt`)Nx+bOzp*&4n|B5&eZL~<;4Oq z@3kwJTLJ6%Qz6%`TsFH5SZ3B8Ws+P6Jb24EyxoPMIW+9>0m78_P8z;Ebk~CEFZde^ z!r~cL-xk7n9%6d%I`OiQ32y;*dz|97l+}lyfzkK#i|~iI7gDJuwzcEZ;^f26<|JEO zj@LZA^3Z};OKTs9m>$sN8d;ORo(PI86!ayKod7Ko++`lHOn|NxJePQHcd%J3cq8zT zWD?qeMb&ihST0M}U8iGKVS{@>(rqs5)#B(1;L&Wn7WV+|Jqs>pp|@yU745u2%CF+< zkPWt%cOebSi;xX><4?NWn-W~&J_}{_lzXCYwhQU-_4YlGe2bK}imbqCr66z7C}+Ud zXL6EBm`Ql<_=l$rvWlj$idrSyr$M#+IlQl+kn7c;`-wsSix@gle-K`ma#w=rtmo0$ z%y*p4O1MNkZwz9r=hE1vK=_ahT1#kdr(Sf9{0Ta1`C)_o;aN$j8@s zIK#NUHW%r|;O|aOb->{4bl|n=9a`ftAd}R+H;}*R9`wEtynG-8-<)(8BGbp4(1n59 zMR)ZmSY^$4Y1TC}R5Wg2=t4Bb=xm;S}aRpB2;t zT{3dkzm}8y9<=u&H^;|rk{eU2Iv!wh5AlC$gN>AHP+vU3|YM9?OhghqsQ(3_D3dk`$;64R^qY?iDB&d}aptDaca}busWEu7{ef>$+ z%1Z3zYzt@<`91p$LYY^1e9Q7?o#!0d2<|u?Wj~F-%TRs?ytnphjY!UoJIen-uR8fZ z*{i?&pWl5X|3~i5Zi22)S-!6U_t{BChq$lMv8U;3DcJnJ9Wyc{ z9f;TO9%tYOEbgf;mzB#FgS^IVz*h9JFmv9*y2#tO4IC+BKs`{XKO*r(Bp&H@XWdV5 zr-P_w2c|KIJpgaT17WK1oGE{bh$A0_m$(yKA{S;q{hn+9G-)WZH(ml`bbBW!ITU}- zqWq(a%aFEc9ny~8i56yq&QUv%{yF}>$kJT<4~+z!qrOA>@A%`j4z`@7|IkR#8Bhcf zo8!->-}q0u1gX#CtP*_p6hxEo*JTN=%SM5tk|E+paoq$yH0l~i?;b-HxZ+yl&Y{VM ziOr`Y*A4iah@4kta}L#iZu_-EYggoG3T)J=q`qALMOS=HrXPOpZ|VN zatk=0a(+g)WzswRjyTcn2I&o|ug}Q7T-PP0TQ68)hZ81?>=t90g^Of2$-2ZeCdwk2 z#b~N_k?dw!n7A6r{g**Pu0-4+rQe4r5qvELUxTr}#{Fslf~$qw9LQYo0ptc*8gn4K znsPhe%zj6dtfs8u457&~^bxYOcZXg4nb}V&`%X5nZcG%J1;X58Ao7}SY|))!?7Gj?BV`@sUzT#pSXy`!(;q??--umeW#AS;K3)Mo3S3U$OTD!7)&ZOA zT*QfO+XR&IbwK;h-&SzT8!&-KH`h*1Ky>3L9o*8KgCN)GNEym)z}X+?BujUqbvzne z0|Rup9dXW4!#>GLK7l{Z3++qi@4@nNw%|U_ke!e)2ZD4;^sLt z&ht`uglp|sU zH@wawjWhIN1b2UmH_6W+bf=s?Bz%b(2QzyQX77_@vrfrmy+^V-#}*gh{K_JJ@85Ng zeWn$_wH7!p&V+K#8726gAEZb6C#cxZ^H3lx|6YC~+4w*Z@Wy-p?P{d^LD&ob1wqb9 z(`EwYtYM^^#C**0y)fUB94e6s%t#QK1GbKz%(-3u3v2P8_Z%74PGPVqtQcH%7=!!m zkKom3BA63|-i4T_2G>c#Z%q)qp20*A1{?6d?b4(B{KG-$~*=T zH3aIvT2O%dH4yj>e|gM?b2P+Qxw5#}$saYKkCW(k1Y*7MY48~;!Am+K$aB?>w+3cQ zjF8}00}-6e+#a?=oWuzd{MtkC6bW879>J*+{Lx47R0*ztSre!CWnnF$P&oBL%5Y}_ zd!ymH7g1VjQ5B*e?m`M^z(Zf*dM4mtM`}9iFnr_#LCI8q_+t1Nuaw{qHNxN`gc`Wa zNs0nyLhNRy^BU*yaT4VB>+OVp{fbZ+{E27bM|ikJ<)JV4(#sw7VUWF}{;C=f=D00D z#FHhTp-&G}!hDwJ=5&M&|nfFkkbQnp5Bsp%s^RD}}+o z!6W@0ODu4GWG%`Mi{%D(xtu+WG$(!_Sq_?p3h{*j!bW;mJCD9yiOlKy;VEH>dp!#p z7PfTxYeuWwep%%>r43uT&5%Up_?{hB*l8P-Q&A-b0= zEH(F|^@VLUwV7E|^-47oMaB>~DTU zR}`L{v8UNYzNaW0Cih>4Q#J2M`F2rws#w%(#j}W&5G1{&4f0HLYY;AK7T)i2m4OCd ztNHL-nty;A`~girYrjRaGj>&Y}{9r{$Y1D%u|#Mx42ws zCF`y3cySP6odNbULE$zR-GekGuCQfc!b#sr{JL9?LQvWt?otHI+jt)g_hwWvT`B|ZXwHJ<*NrGy?mvZyW`EFVCZpSFcVJoP|1E*cK?Y?l<6=HxL< zQ|*mo;qdHrxV+*n9AV#LaTHEEfFl$}=2xbUR9Gsv0ftBJb3=J}l$Kl0YRCY4LwR_# zrr8_Hv(R439**+hNw8G4990gFQD|={4@Ya>S{Q*nclruE!ZF@D{0GI4_m-gLTE)jH zsXZqfj*lxoK~q)niE+gz#TB0%SNw#y;wSE__!KQy6wd%v{3K0N#WPS9KRK)TgVgDi zxZ+baFMcf_au__-yBD(#sC>G|%iFBVGn7bGJ|nL3OifjlXT?=MGp@3Iz2UJ(sq3@i zDxbZt%I9dgqH+eP%I9jDs+@tU@_GNLydQKr-{Z7{M;?9X7G9uvq4FDa^$Wd~sNAAH z;l&>BsIw|xqC~3l+_=h@YO1PySzP7I<0{Wns48C(S9$)vDqpGPipm+FDlgD9RXGE3 zuP^(Nt2DJ*E`klOR;Vg3R#y~U_{bbmK`yr|C_ zWVz;1gRF=f7{|}a?ly(!0zc+Bvc_A5YAC7+@AY{1on?Pt zoc;ZA_G{zpABeMmFw6cI4)hOsyTl#vgT_-Z(G1slt-z+JGF%TD^m%+>Xj^Ccw}IWs`z+@xtLX9lXAFKcRr*~%W|6@`^@ zeP#HnLVVt0Bqw2;y+a^8oNJ568y;=#ZdD@HVq08`*ELnOcq6XGn;9)E`|U~`S@v%! zgmXP|5ZJ%%x!_t<8t(9TsibB9Zk+vlarW=W*?*8_FJsw7xvLC(X7Ke(cR5 zzv}Q4?_YS8u>AfV=l5xx-)C`tpJ(~;&g1ZlEI(oYrNW4HxJz^LTInpX->we7(zJ3r zttnc-z$+;+U~d(KWM5}+K*W+cyV<2 zQ(TKZ87-Xjo1ByU?5&5f;3U6#H)Q$!7U%chIKSWH{QijZ+Z*TiXNI5ooNs%7XF*s8!eVV-p^qzao~ImrQs9O;vSsvRAB%x(T1_B|Q5tl@=lrGy$3u;D}&46-im*$#=4zM8xq_Bm* zgmTt|<#Ktem9u4B&i&$Ywu;MH5tp-dT+TKbIVo6M%_(gu1GFtwYMQpC4Ai!?zoyzN z+QW8QDhBFuC~<(MRy*nbZGo%&I=mBOHQ+$Gh1M$7L5Z|!RmYX;sHy5}o#ILz6j!Qd zU!@M#oT5|);9lc7?I1~KTw?)AnuWD;2dUD}fPHs=Ioa2SJ>}Y6%f45feeXE?K5_Pav+Tv|56`j}Y5MJJi2j;W43Pm^ zy8|>$Yc~V6b_Z&z*6tuJwaU(A>NU06{J~X&!76VJzP7@SW{BUUSWG-jt`oL84%a+d z*(2gQ9-*mP*(0+$N=rL3uH#V|9nDnm36IviFmVU;DB&poFUx+k++b|kkBPG%8)tuP zoc(cG_G04W$sF%?Ird$!yZZP}j_XMb*-{dsZr=V#f!j=?#+ zAj_V2+=mxt>q4ZNqqZqEx3U+yNFio)d_%feVY#*3B`PaA-d<>v;aoq3iF#2*c$wT} zZDqYYF6+FwtXITkou8Fegu5~;s|dFsTX7=XRasd@xT~|WO0{02!j)sO27_w2(0`c1 zm50~L)!J6L#c|=5#D%*qF5J?raNN-sLAtam;>#6aLHp%|Yl4C%oInO?AS1{8FSkx#RI*NY=+wPVQmA zyz5?YzbAI6x5u?w71wHYT&p{>T9vnkoOfnT&Yh%iO;#&z7=`!xJD~*^ ziPIlrk2<{1r%?h_za&^et~(2jqxd8_5!fR%pW(0Ppho?rhO~G zXZ*gfJEv!V90d5RLStVco>Q0xdpg|nKJSMB`xpIENNd@@lw~grHpPwcvZiV${z}{! zuV#$lq}_5b*z7+C28|x-gcB>_8*=Hpe7P@tQ;I1$5HC>Sc41!fR!fB6@^6Ljl{~=p zowt21Rh4X|bH3wq4X0!>X?FNr+$cGp@Bi=md^ags!M6RL&zIhkGgB-*n z1D~&FCHJrieCYFCsbmwY>LZ`;F(oZ%w~u|k4V3KQTl-F*Gxd^hSwWx3w7KMH=KZ(K zVN2GrUO$!jWl2|#O`pjeuH>-x2!Ae9pOSIp`-MzCO1>knFJ&fBf?to|bw)w5^iC zH3;t(&o0TQ-F^_iD*1~G)j#@NglIT@{3N`!NL|=g%0tQ0N=xv?7}Qj_$FG2nrOD)o zKakY;EGKz{zA!XC+ewbJ;lL^FpB%Ik%bfD_*q3UT=z3v5Rl*>Jrq*-=g2`oQKT8_4-%^g=bUk{Y zf}-pe#cX(WK|}XJka5FsVgX0r&=jNlIr69Pp`gmWNci?Jm$e0~)?J-GhGz;2I=Z7J^>Fhs z+G;^3w^T~*XU;@hDCq1~3hZynSyXp-fe_alZc`WZch?FWiQB~i2Phn6<`NE6IM!TA zI7s0*b1h-L3wuJNN#?Kv0f(r}Q_L1Lo`PZSfi0Oj)oC`BDy>VdN6X4Dc#LL9wM0c1 zJZ>%Gq`sou8?8ZtR08d>;A!h8+&zA)obFHn>E(O?)sdc+vGfUvJuDO3*71Hr;f4Eg zL@%u=toWAv*!~M!+cIs7DQvTEiz#fY{G|OCR%TiZ7eWj7?~bA{{HJ*SzOWrxVcwql z6|Pu#fX!E$S~nP|%A#h{nhM+7_EVmkaX8Wrl%GbRja=LvsDnjl^*hlC6jl#Fp{4mn z`yGy+D>c6g6NpwBX^+HsRa7xvY#pR7LX{Ws)HGyBNP8=4V^LDtTTxq!avkqI7E}3a zOAb4!8up2eF;=Dywgdp3vcPMMA6{lsg2wp0WdS4pOm$v`U>Gn0 zpJHM38<hiD@gyrpvlPFOY$n^Z^3*b>onTQ#>JFxzXi;UVnrTxks!F{v4Co|VN_A=v zH9gs)np8WconldK>M5p8wWu!jD$%L7lpd+qNI8uIsn@Dc>P4c{Eb5!eA)0Q{;i7V+fGte2_xPnHCLojxC6s{$Tc3aey zP`Lg%6mAxxgBGjM-g8>)0sBOYrBEPju?O?TWQ(nwptY!g=xAkBuXyc=cqaE^&Qe#r z;~~25ObYRg_L%l9p!ivr#2l#jxtQYT+_3_arlL3C^DZ;;gD_j5M)3;@i)2}}_(g@0 ze0Hk%C55H(wf*8v3Y*Dw1H~`9#rw0U@?!ijr+Bk_i=YZqfI2FE&3ztr;P+r=gJ1C$ zcPfn1wY7G0+;@5TPsWo4s%8K7m*bQcVgcc|~5Qo%?-&+sE zSqn^yTi~>~1*XR>aJp)t7MP(>EpUb^r52bOx4^8p1K2zb5ZpN6sigKC{!o-S)n??FIf}JN7WSnSI6fH(}WfK zyTVE{2*Y);$tV%610S3e5OnMxDFrT zg1hB-Yo*udVW#^?O(^VBeB_9Frx@Sy65{@5JsNj$QukKsO;HLk*PAQOILvxqp5`41 z<8Fj}g0qGF2V>*x3JKF66`I_V+Tna#Ux6R~O*9xw-Kh7-^Jp%I!ntbu` zS@+wU034?<-`3lBt+ygG3apDKWZVz39Dq{rNmBA0RgQ1&6kjfl$mW|LukS14^}Qg= zQyTqMT4(C=S1VMPzeb_f_d;!|THlKlYJFdusc&iYi?fZsA9|(YB`$k9HhO8+*QtzE z|A)DEkJoZa0og1_j;#jt)_%CHf}XO8y4)hMCF;Wrr)yUqbQcZ_xqd zUG#VPTZgdZJJIvDS~}lDPnMsXHO^kn!P-@0?!kM8gOn`WS>d zYT=%S(obq%1ddOIvplIS-^De@`OGgw zdJh#V>|`5RPz|`*bwA~D2u7|H=H)DuMGD)=Wb}f`mrl4+W}r+`SS>sYm;BTDc9muf?;-1%ZUOd^gUg!0KC+Q97dFTH%VP9*$+s@%fpRgdn!-VHHs&PB7U#Ra zEJQ<3zISk_+(+XSV69AJ7JhWTqosa#z`~yS7}>!zf#c;p6hu_mB* zg;#(_NkaIOzxNoH)^YMI(=F_opCnV5ec!DopC&KiBOwVKJWDES081P^Pv)`|A_p&& z9vDE9QiaOZcrrfdlNJtxt8p^AuB6Oia5X+cf8#K?8rxx@NLo4!uEw>DFXu408mCj$ zRu0ehBt)A`${n8L$=eK%0`$;Db(!nQSQ@;-;rX82TMpdX;RT)?z>1J}c%dh~S$u6A zUgXIS=w6e=;U%8T!iR6t*5Rd|?7=G9-r;4QOl0Ng;P7%!KBc}L9bVzd$IO4F!(ieL z(Z?s-IlRh~Lo0x*9A53o6X=eU?Hyj@Nd@|kq_e~8Joz)@>*6rDE7_eTT^-)w$ubsR zH;2Jpc`jSnjt*~v{aJi94sZ5kIPKZp;jcZpnCb20@D@+1*cNtnc&jJZqJ<|t90nI= zmX&lDho|^*MGN3v9mZ9jozPNiT|4e=3@*&`djcQoFt{))h#MUS7v^7?zr!2`7v}x6_u&qM3-fLEphq|i zF3g^o&?gfeo{RL@J5O>LT$o?6{T>zUhn_F!0`AKptgk0Ie{fyC&h$=k7+jbCV0${% z;iZAJ##d`{n#0Qi*@eB~=?*UsBw_nG!{HTyv|)Lk>F~-xp2FNIu{+5@7jS3pPkWr> z{8tCES1Ith4zCF$%ldhq!|MY1oc+=H4!;}7XVm}q4sQr#M@*=b3mpa*=K$vaqJT3C z<>I`F_PsdRbrkXDKsK^`E(tiv0kd`>>)3x?s{2<#mo0(tg3IJGhr!)>?{2`C2M4SD zwt>r&^=n!%+2RuE%l39w;%R_>xcS37)HR++1l zYlHJO{QRu^k^RASPTz%*oJsp#@AO#|$!ko1R?x1N@hyquS=!TX2M1j?M)E1g(3^uF z>gc~I(i>EhTY>{@{v&C%3;b^l-cwt3*&gIyGFjid|f*PX#= z#oHpen)aI;oUeFFEdQZ><^>Nao*GLH>)YMIH;Sjl@)q0sJ;58Q&x}}FvVXrf*rs@9 zEa$U)7X)`5%=Bl)@;=9>KL=!m0QYY!OIiQ^5`3w6PAvP%_1$;cfC6=rvRB0KYP^Rhjn6(j8I?gy&bH@XjMb9Og_R`2Ja zk;kdjfM_u)757-5WF6Zx(zztgYH*W18HgW~(6^n$eE|1%zV<{;vX6uIL{74=gI#e> zD;eZK4GxeczjL66d`80$cCeR>WVZHmu#cQ`AmIK{FV(2Odu-f~`s4 z$wlGhz~~!f%I`8pMzc#C8o{D~xS$Y`lU!~zjsn%ec&dMvSEu$UYkd@230M|LZF)OV& zTGczeDJ#Pm|G^G#&dOie+mDI(VS?71ZGFt7Q!~jS&VNf*?qT|49p0Li0jzD~9Nw0d zk2so*$M208eo7?$X^KOm3e|UNB-gPwY;f|^B3VU!8XcYy$(4+6LUi^43_mlH7t4VU zbN;I%Iky`4a4mezfKx z?2V6d;nAAUqdkvycr$tj>UT^ud6?QGlJ%VJ9H&g0K^L@^GpX+hQ9I4w{8%Qlb)V?M z&mS&%jxHxVykNNena$wTs7B=%4p$=Dnrmk47rqHe7z* z9{2(m-;`RJ-5U5pho{zx-wODT&i>PCe5LcBgZSAyPLC$4|J+*ng!#G3`OmMFeVP8%(J|`3pjM``tzP5& z7uE{*Xp?IlUQ{c+SYNMmcuB3C$IoAf%#F@ayt!6(V|$qw@g^Cxr&{Uj1J94Hv3RsR z$kF&-7vG{fxtDl>!%ONU!_nl=4lk`!CfDRXSO1pPNgKA;`(6EBQ75mlK0Fxxgh3nq zL!Det{TI3LtLkJo_N z{BE6eXZ(*vH!I#yC%f_3oNYW6b;EXM&}D0#?7;T;bTm%!wmLbH_FW!LQ#_?!dei^eXqMus z^|CkH+jG%e#nb8~ZV$X7TBvwNz5I*i`+T%i@yvR8i1~dXTA_GWz1+t9z8I}mJiA`D zvA=@LuTTlW3gkzokL; z-yZnW=t0F>8)OB`XH&FJ@wNt8#_{2^D03L&pVBD2fI0a*>a2KbqkPBybaV89#y_o5 zc4z*+j4sviGa980?ekUC?r?^m*(khRIr%youi&=zKNzQp4}+C$2j>m;${07 z4;qE{4kzD5pDCW(CEY%ZL${bUpePvM;mNte>XY>Yoy zPr8=c=~t*5M#&Bi#?qaowqt2OD2KH+@@OPArS6P~@REk4yMuXoktMQ|gYE2qyK^bb zgrJpnyzSv2h^JZHyOi45Ojo&>x!G0I(Y2f_hs>l=6}`)J9KC#6sBHVXQUGW9{2Vt%JF@ujc}jeI4dn18d75hq2bcTiBD|IgGUi-aDHNb{K07 z5B3D!&ta@J^rb%gJB+o4gtcji(;sUMw^08B9L8G1FC0A&bQo(5+cEy34r8t1X!cIS z9L8Eh3$~7f9L8G1zATU74r8t1_r$dhW36HRj=&=v##%#L+Gmv04{HrI#G@U?T0?a^ z;QCVTy$4;e*6;vliwC>#SZlb8qt_u0W3Az7R?V>vW36E&Yxy{bvDR=Ydz0}FW38bF zReU zg0+T6Ih#Mx;d=x5LkxV9!&rOxmgRej3%@Xshgg43br@?AA9A!fy>$5@j1OxOyecj^ z!(pr)97X$|<@CX~{vB+-=aim(Amuj&_FLs#hw<(HU~BlFUpjIU{ilV(ORJL$N_k%w z>=DXJhQH9IKQol0Sl$glwkstcs{51aw~q=w_*X_S&m2q6WowvUVn?MuN`RHz<6wWepJjKig99`EJ){Q)oH1kN$Z z*pr4LRc-w@l(F?QRc-vU9JCy<$&C(%@(L%mHhw1_>Y;|L2#O6e5YYZO*isR^6Y|9hE&hV$zJtHrX4EP zb8?D1uYg6U3t96I?T&Eq1#p_=P=2B-Z+3FLS&R-DCewp3$q6QNltvR92-j)FC32WoUdg%%|XrcI_=1wqSGjJ zlwb)TY#?3ZeQ2e3@{XhQYM*jXqviOW#$kX6I~|79;!Y2sQkQpXK(|%h={v-@Jkx0x zwA(3Or#qn26u;BaXcJSyPOZ>8Oo=;vin$NI<|doo`aAPVR;wmZTM^3H;2hepH`Cxg8;0D5sqvY)G_mg6wl-$Mkf#F>f- zoNo>B7BJjkSRzgi^h_&5!|(2R|LaC3=WvEaiJVWP#rnB^T&1qc)Q~Y*Lz=K zOSs9a97WhaQ*l3MTBAI27Ijz%cQ1fzMj+M}s3*yIb+gm^nK?hy!O%{S8?_!VRvzh1 z4%14+@0JsfM!$2omIMbIHR=&+U@jY%F}H;qh^pnFGQi2s#$Dwn19+4xff^-oPmb|y z8^mwidA&_i=iLewqi`;s_N)avtDHXmMi=X6ZZ%!~U^+@ttRJN%~wd*ds-Z_{wov;wj_)^Jxk7|LlJ zvZgx-lFe-hnq1{QhLCxaT&`qq7CZuwHj@v;t6yC$xQEONP_vRFS4>b>r)#& zolsG;9o%iLdv*`F8~l1ylqejJr!BWL;Iiem7}?Fyf|-hGtfPnf7pd%2m1SA-xJphR zTF}$cnh@7AL|kzO>(C^Bk%o9wL$Khv_tPXqlO*cc*&OThF25-JG!4Mbp(g4y39yP2 zvXlG@2%ymLwEA=RsF*^gf~J+ZWF&j~hx&MRJ^moZ(MUkx43YCPg$;bRhx$ zVyWU*7Q@;8Wh!`;3Ub-t*ZMWB<~t5TxMl1Vr}$54I5L`BRk=}R!v?7PIepNEx#D9c zOureY;Wshj-42o!}w@vQO=Wds^RMLJB_ zjm_>B|5?1Z!{@E)W_RPU>fGjz3x(pd_RMi-USh$I9kKZ9QzK5Q$Ptv>;f^Pk%U5~8 zJN-RTs`zODl4rsdhat6OuCH#MI!@;K@8f+GevD_8$8AKLJG$`tMf_LM7(nnI6~vfy zpY{r!?nZZ!>EvMu@iG;E$U))(KdwiU%V8*tlSSHJ*nZ$44Z#dOW+1oN`pTkk7IC7p7B3Xk{#og<{CG;QZo=LV#A8ii2pF%ff5%s>3&3aZ)sy7Vdor%J29i;c=y& z;nc>4*;z8(!BD<}9?4Y>#=<+{lNk;g;g#^o)ee@+N>;gR9L&qRy#cRv5O*1Ti)53T zA?Z~*tmw(IzaiwRhyA9S6*l{(y3s-RO?8ulq43)J-#yb1?SjnW-7Y2fymnW1nSbhmlX#o@WZR3hAR!vgimOY<#^gQ{aG4J zU0VpbI-1j1Tm)a?ZAVs+DEv2_tV?A3{ zb(B!6JD%3iBhm;otU@)ki{M~J@Wp|MU=L3EDoc*i2u{GW%A1}BRu>hrrNkJJ46AL$ zVVnVXE}5g@=4m*tt82b;>e57AdfbDkm{5ZtJC^)igS@Fhxbfmlk!6J4OTJX!@6?yu zk~w|+#sXXssaR5iAiYYeAr^(*@T~F%GKkjfVsMXR*S27jfafZ+(%Y)PvSGR(@TlPT>_=pDN z#^M84r+h~lPvpi*8aW=>I-q~I09?q%T?%9LrzJXJqy|S4G<}Zt9ORpMF{@F;i zXgG0#e_MulFhPiYvb{A#e+@wy?w8sSl+s4;^q8{WcC5dcVeZVl;u&>iVqFk$66g~TEKmBwpSzV z(HBqK7)HZo>x7Prc6L9%46>(XC#dWsmE{!nLdxpwUMrE>wqhvbJu^E^Wv@|LT9v!3 zO=O!yzL;~3bF+_YfM?PG+=gwUNRt3>F{c-1Ki2?XrvbQ6TTCHSaVZUWaaQme1&(Kx z$F0PsB9mAl|CnW0Uhz#i+*7lIRQv!H=gz5B!FE8;v(;UZovb3q<7rLC4N%*ZnbF)W zFnFe77s_6fy;fy!Ol7(GYFlX&*`=(~H)Nkw*=O;r@?NJLQ_azZ3~)iVfURX@iJ=jlojvK(e4>r_Cq?r z{cM)QSckC~sZ6pmdoIG-HK~`fRFAW+p6oIHmStp|HS_wEod$*vCZeYJ>xw#Mv z<_`!`aU{Yg>$7xsSdL`#$*0*z8P|G_7Mrr{DH+#4X~@rZWe|{dAIdCksQnyV53NZ_VW}k_sk?+v_m$7@Kcfw-{Y3zwrCKor9z8PDpzP z$Jm{a4i1io&He>lD(YE`9V5DEb54QMy z?gaF72pj0bcSU@?9G>Q9TJVs;4~RoQHulBJ4hw0w=ytqn!NTEIocdKG=}8zKTTq(E z=kzW30%%&DY|4#sxlsgr}{cH^naL3{)aVO^{)Wdc#i z=%R3>y4eL+9PYulL)l6C{tP^=##g{)HMad(HRm|nmEE9Xx1?f!E{J6+`m;moR7M(% zD0~vnD(}Uj@0lFIs>|L`-+$oQ()$cg{%JA@!`+__lhAJtOgfjXpNwp4H_*lX6f7er zbI91CY$C$2lX$2Suv-}uVXd!a9jz&&;#`%{&6MtCRFI3nL(1X1a~W6Ic+uJvcCbCl zxPHbp;q4f9*D{XN+;Ln$-=1Y0h4I5_d9*d)Ze=WIY~RRCHlW^REK~l7@^+fHPZ^gI z`J34r8Py(T^A+}zV|xMiE#p*#*GhNk1K6*OvkhJUp3GsQf7w^i66?drv(`IqRJj@! zg%=^$JKT@xywf}_3y^eXy1fO>y^}d}>BiM>?-cH!bW_%rQ@Q+{+2L|Z++c%DOM_fn z3^KDA*Hd=KnqBa$>C8u4Jg6O4w!1H8q)R;;>+|s0Nfmj-W3)SI@{j7W z{7xF#V;*D6be~HVKXJjfrNKUG5^SRl77v2t$GRM!>3-r!fUPdr=%Wj%ZD|th`zFDD z&|o&@A2sD2YraBaH6QWu7B$IqZ^1Z?Z*wp|jWhO(IVkmMj-6DM7JB2gjkCt-#n(6r?^Z1QMO6r-{@%QGfVB|R#n>JAI3$7n~w`DTBX@%I#yjK&d zl3%jo4pZ0>V*lhi^E5(L`zs1ROsJZFP2u+ed#m!_(qO$+_wT6s?yUbOAo=O|^M0&3 zk$ITN$02+igvah#JScJ@MP~h`GH3b-b5m_=!3GFT`V{QQa}e@4a4jJ_?S1B_AKvuU z{B+RjF_Bm^)KQmGXA!HCm0D$tV$ED%&D;gVnz?=&{!hf3x&9jd4PcwO zJ#FULfUk!t4^r`c{F=*|rQh>$3Llg3(9BV00cBeHzs+2Kk3Wp@+J#-t@c<{UzeXC9;Zi$d1*yII%Q6RNG| zQ+U_8g}QzZh0g%Ab^TApy1sxFVlV#c$@_CJ2!RiI;EvSmFGPuHsh|1G#SJ&IgTk>5s<>GJ?Hk+Z#9IV}6^7bWp&Q0|)(ZS9P;qnm>_ zwsw|kr}iYV+P8(4%SOdCaG6I751d!1jYj1s5NmC;^ON;^aU?BfR4RU>%0 z_J>R8t;QA|MEtW)8m!i?Q1~9a_g)91EP|5zotp7FY9iUYfxxI%sVa2^%Ir@QWy%oo zZr=a2&o#*Qz4-gD_W1+t^LuNb)v!&?mnHH3hNTwoa-^and8s9!`plk>eBz}mMOO@<$l{O_oMBW!tZtZU;e-CN14A-=D*ahDCDhAecngw z@#?J=d%=RA;BO;z{oN_ninVIR@_Pza9HCYjK&)1@SD2lwm{uI6wd^ipwc==%f0kHl zS)E$_1Kh|u1Szkvz_6}9N6L3G8bsF@Zhd=K~ z?|+(Bmauy-$5Vg9MG1aBAcUJG7^ z#}H1AR{dBK_umR_y|5?zYj!^dj~($C+7XW_e+FvBS0#8HFdnfC+ZV23!|~{M4J`5@ z!f(T$x7Pd3BqnnZQ#g&yFAlH%ZS2o9kA3EEW4|1l&82q#E%xEl{#_E!_zwuYZ$zfO zHv_gT^bE@pPdV~8I39%8SL%;aze7^C7EBM=s}JTKi=MsCxbt6-HU1!WKX4#k8}OTO zIA49uSLnTG1?;|$$E*F&ec!0@T>-?jVob{Fkrw4X)B7zJ!N;cjxem<#a^Wl*bzeb` zFLW5s98iN8tbCoud`&7*-$c`c^{23p!S8@U2tZB8sitr8)p)*w1`|}%@9>J69;WeC zE>unJ$1#gtKV>3(LhvTI+7oEHe%^9a!+n1)iHAVC_H+!aNT4?@aXMb~0_V71YI!RG zD98J7oZJYo8&7U}dk}WKA5iJy`w|`qxED{}d;RtInAeRT*k>rv0D7JY&rE-hKeF{Y zh29_}JP+iF*WvY`vur!4)Vae`cw^hab|KrreGk}-R)s8*YaX8@$UPcs-zA4`Qxj z2}UgjhbYIE2TQOGoOy+wTm^90ziz@{CG1>O@P#I?9LHK(K86J5~#=BV8!bTofaAiiE0^im6`xFv`btGP^3tx*F!QP9Ye1|jP z!^;!BkvbRK2A|E&*MT{w)-Q1|cd z%n*KyJp$i#`18IhxfcR87vNpyfL@5)W-8E3y~HFlBjVC*d<6d9p+-Eo>+M~_RhMt+ zJ>oL>+;VJ?P=eRSOeK!Eub8H2CL7(8e91z2s3;b zd``t*4^5|+4TDCqE&oDdFSS3OJ-`RMtN{%Nz?2B@|s3Uo4%j-%S&8An`8eV0aO|P;wyvjD4US(^( z#*SDvy~@@M-T^SZ%GU5I+iZH3t>IO++4L$~!>eqw=~cGoi?)F2Rkns#*=EzLY|R0v zh1v8fThqH5Fulsw@G9GEXRl?zZ1*y=(0;OAz19l*7+z(YO|P;wo0+5ZDqF*=Y_sWA zwuV>PX49)|&2cRN)2nO^ud>bd_S$RA2by!Rx}ELobyqml@G9GEdX=p?2X!l(US(@| zm2Eb?%GOLJOs}#vR}rRH*&1GDn@z8>HT$6UX49)|4X?7zj`n(Lx+i5?p2RGDEBCAg(O=nMa^M$be!Z{)(L&PZ{h8Zcsm3j zN7+{7!i^3*m=*3wXb}~;aHAp@ZdByLjgIC4d*#B7j#205O#MW4UVbE;C#jQMxY5b# zBo}UU`Vb~TF5I{Y7jC>H4w2dGdf@dV99*#^tz5YAqx3)Q!g8|+#zDU228nd%`b$BN^(;x3SVJFxw|R`&>*38) zt$LYH@PC|g;Tm$`#=E)_=x_eSETmkxhFrKQ9AtLf9-+u-8-0tl@EQ!ZR!l=v8D{DFpCxN*vbYsiHgr(C#(T)1({g=@%#8>d{j zW+l^2xp2+Cgee!U;g5gflhvY@3-<(=Jx?y&_!RFPxLa4o4|-!!Vl?<7mzxX?UI5PE z1@hb28oU6V!BZ|=LoVF-VQ133As233(= zFSoVqUALkU*j2D2*c!B)ZWxN1g##1g_!vha-%7tq)UgW~f zM;r!E_P;_ABg?1zFQF^5Sx&idZI)9mT$|;yoNBSn^4ZO^d`|N$pW8gk=QYpr`AxH2 zpug2D7l6z11mw=Ais5`T!1|c`DNpj z3)hfeHonH?v5(Di%7tslg&WUuz5{L3D01QE$%Px=F|_Uz-|xSaCjUV59NO3xp3KI6+k=Nd#7Buw)ZZ;YQr;3@zXBLT{C%d;l|JSZ&J@*@w0wE48K;- zlnd9^)8~9UGYqYsDHpD_%k!z8q=1ND@GsGxwVZku=x_7XvjCi)E1f2lR?h--dcIW9 z(~t`{PPuT+W1NE(euvN_lP4E$yvpYwz?7GPI9D=gd~Tw`ZRU$}@+X!o(nZ1#IYd06eA{sfGz z)@p_8eq9quxp1x33fKKQt9_g1f=l!9cg=ILrI3qEo?N)`_x@IN8ld8MX)(m19lBwOEZ;n;o3~4T(~w+n|#WJYm-m8aBcD_7p_fyNSeIXvjfuPRht8w z8e(Xn$+6lMfGgbs`K>G60(7ODa^c$29qwZ7VdpX_7p@@}Zd~NT&65i^9vScl^Dyz~ z;NdinDHpEIW6FhV^O$ns+B}X)^QbNDkmh+DTgam!7j9hS!p--@C=`zm1|d}>-w^c1 zdZ{&W%7tr_Pq}by@+lXtP5$sSc{TA7&6A(lJozFQZk}AY@uc7xCSM&N6)aDaPq}by z@+lXtP5xL{POeu!E=^vG^!PM+a^c1&1Z0)Mp-B7Tcw%5b9NXEExyXf^f1wwoPY(8h z5-`T8!M<3Bw#G=gaIH2e7p~PN<-)bbIJ3DnXQkS#XLCBcxi;q%w8`XeX4N=1;O|P% z>7E~aktUyV;o9U=E?k>@%7tr_|3jMmYnT_t7p2LQZZ^I+Eeq9Viqoc@xr@EfB@SXn z$1kKmI#_Kjcd64AGf#5i##4jgP_cE_`0`*HW}?_T9^4Y_dRlnd9^sv;L|o?N)`oq=9|pO60>90YCJ zPRhiV3%Bi=nfN~Y?xak-FyOTwmJ63IT`+fCxF-~F$a&*k!De8atCS1Z<|^gFwYf^U zaBZ&cX`ZWl(_B^W06qVdnw(s?@q$8sXt);}-yd{FqFf}-lM6R~AfQsP@uJ}On7&zU zQZ8JpP0EF9wMn^ftu{-VYx78|4Y_dRlndAFgmmJR3)g-K6}fQp6cG!2D+L5lXE+xp3pP0hg-UlM6R~E8rSV`=cqdF5u!udvf8% z{|NY9-=18!@!J7EdfT7FVt*&#hh_WUaoO$NfS+gW7jg>oUchgq_A6Ob>jQqrv?mvC z{C>c%f%fb0BHj>irrw@hxbX)%ZEin~VL#M4YI}9xy-WiD~ z7j9|oKIjFoh)VGh{nQ;&+_^0mZs|ztW4Uk($a3M9HsiuAAj^eY+KdagfGihoX)`X| z0aznJx1MAkWzU!n0CY zaPjIgnt?31Et;|5wrIwJ+hWuhv0;H)lyXX7x*lmwt3;Eg8PTNaX8kPDq}kCTM>J__ZbFP5;ud|FY)4eY76qcojv$&W z0KX%MCJO-NSMDU`T?4I!NI)YkM43W zI@r!EL0o7>qfVU+hAof3rpAwF+JJR1x5^ui(G$O&F=QRgz2cpwTGSY_4(49< z+TlNLA(C}4_jf1U%aEQdm$D8T@?Paq)K2dxE8 zZEk_nnp@y>mkVcsGaPglIMZdyS>UYZ7C5`P1sw?m$D8TvJU1_)*;Gu8sK z4(2=udl|A0=6vPW#4o7KKQQsi1-`Ag{mrEqJ#wLg1KW^wFqg6p8nO=NQr5vXWF5>! zPI#yx>tHT+i*~h!tb;lH-bX9rXj}W5vJUdVONFuy=E*t;mSZ-iJXr^G4c->tODPwEB^CFgMXbW6LdN9W-Pe%uOm(KXh$xA(klA zG{-}UUb!o@5!rAl>!2;~tD2Yhj5JMc^jEtwb5;Ht2VIrF){Of z1uo$O(P6@fXQrm$*8whJk=loos>WMf>_R`T01LS%RRCcJs^5{n^=lFhBZTO&5X#Z* zpN8rowdVp`=0T}l4!1T*-1s+gIBR0YOvm(EhL;UGfG{)(>Yk*`gNDq5GNNqJ5%hJ; zgEE45Jv-(>88HlI(Jv?Y#I2lX44DVzQ-9q-Hc~PVO3FNF?xA9ZeFI|_R0F2WgNDq5 zDa;!(52mo4nT+-zDf6Hq^I!_A4Ved}KsDIaka;kLH6X$REbKk>FzcCa0roOv9!y~$ zL*_v#Y(?}pi!rg1lzGsQc`${844DUIi|a-AH)I}^0@dJ9L*~I0)*3Po%8yQXwBc_9 zq_9IV#_WKeKZWDXdnidM>`+WFWFD0NxUdrqnFmvNl;J9d{N#T*ie^8~kaC35gW(*uKulq%$H^@hxY(!$}Xo+0y~lsP=j zGh`kVzT1Mc!k6B zJ##NUB&D^(3p_*SLCHJ3&@;VRd~FEQ5k&v2VXIy$_ppd-6GJli*99+W*Cp5q%b4@zH$=lZ6E;rlr}-#26) zl>QDc@C}&RvlrtZ-yu~+U z9+ZO}-s+q8S%1ekyv;W;^&9K(l)#XAP{uhtH85lzl<^Kv3k;bDNe|3~!u}TY?{K{v$)?LAf=!Y&iYDj?8DQ?{k7j6>o`5+dS~? z!F!6gMutC%k~@P;E#qC3L}v}N6EQLmO5dmvYIDVd z%!AU;L1V}~C@J%xA@iW5%!7KoRt83POQW43^Pr^6gL+a#QszP3r5WC`%G7ni+9Pfuac$6VmkJLu*z+9Y2k$F%?s4tlZ4VedJ zWVCVuOB16#nFpoFJZQ)~C`IN$L*_v#G7lOu4@!}F(2#jhip+!Nuk7u|MEo#8?aj6! z^C0MyIIBnN%^ETfN|AZckaUp!qYK!Ku+dRes@c)2bEl+0oC6HxD;t9+Y#V++mD=>u^KnK{-Fl zE8aHTkaA@iUVnFkG-2c^h7XvjP$Mdm?6=0Pbk4;nHLN|AZckaBJ-dj^Pm)&2Mw7ArN}&J$UG=T=0QW|LAf*Pt@+(lYsfq(bEE!>H`f|656Zk~ zAH`qS8Zr;c{Ai5DqYaq{rN}&J$UG=T=0QW|LC{s&_P4aokjp~ubMC^@hxY@?3O`;%W7U%!9HbIz#b{dh;)q@AJ_`if7gvG7riN(R9VL>J6C(<;CbG z#k1=TnFnR1!*lA*6!u4di{`2S+G+*)Z21DjS`A77!;uQ^s%!Bey^m!fSS2h?j56ZhyOYIL= zH5f7v%6rkyidQ$7fc@F}=y1hr8Vs2S<^AYE#p{qh+y91$w}_K@(2#jhK8RLm{o2rA z$UGL~EK8?;+ytTosVEJr{?ohm~!7StW@LBYN;wg=W%!BfIv`O*QMnmR7*&JP`@lR_s zWFC|+qhablqtTFgP`--RAIkJ*HX1Sy%GXgR#j_d>nFr;YXtd(ljfTvF@@@17#d8|X zA+*PL5ig^~Y_!pkc~HKO{;Bq#-)L51AeA4Ye=AV@3*HSzE3U$*+ zc5pB@-C1fW^B|V-@daO6IQ>cHLFw*b-jI1vc5<+t9dJ|TK|9{2%!76|vrDO+&2%+n z9+V>Upds_16qyGNnFpoFJZQ)~C`IN$a}R4@k$KRNc~EvQ<<>Ojww~$OAGlBH44r*o z?SfY^${wXBYiVQcg3N=`w{*SMeym;Syscm9RT>^^4P+jaBJ-dj^Pm)&2klgI&r&-( z!de4=><4Ohi)Z+DS~#$j^FY)d-;jAw_I4O+4P+jaBJ-eb5J-`EP*3Mbk$KRNc~FYX zgNDq5Qe+-9WFC|v^PnN~pcI)0O~Tq#WF9nR9+V>Upds_16qyGNnFpoFJZQ)~C`IN$ z(}Jy|$UJDsJSauxK||(2DKZZlG7n0TdC-t~P>RfhhRlOfWF9nR9+di09)SzMJZQ)~ zC`IN$b60QRBJ-dj^Pm)&2Mw7ArN}&J$UG=T=0Veg@HjB)IW-R-IBJ-dj^Pm)&2Mw7ArN}&J z$UG=T=0QW|K`Am18Zr+`k$KRNc~FYXgNDq5a;>Xxt3yNPLAkDU-302lCNyLolp^z> zA@iUVnFkG-2j#|6Zcw4VB0uymG7p+(*jL_MTCMij6dE!QN|AZce8JgUk$KR3OI&0g zG-Mu>BJ-dj^Pm)&2Mw7A<<8PGwSSvZVn>I&O6}+{wZxElP>RfhW&rIyztn!c%qTHa zS^oF9{;$A1D5HA~#>R~@56b8baO-gexxIvYR@}I`s~W-XDB%(hHg4MBb`!a?gxh2I zvTuWHPf}!Tk36^JAt;V}K<($wT`pwaJj3#s=U_YAJ>Olz?it7U44DT(<;>Q}t>>3% zyp(y++|RQ674x9feL>adBU?kIj@8x<0fBx{Qgt5cmXvwWcHqBa9+Z0h0rOn+edSVr zJ|p4PFOo738eRY^Df3{Pvp|w3Df6JYtvh^w#XKknPenWxMdm>nb0c3AnFnR;y?9}n z2W4#K{zz3@{|#kq{Zw5W|11Z6+xBmCFf?Qyl$3eUtYu5Nxr~?h@ zUoj8LxE+zGWge7q)2VwdZm8s2P4o>pyf>8!DUwk-wtA{ZIVVhG%0se}4P!9bEZiN7SKsUY`Sa9uUlf;(LqG zpxTmoP%QIc`ycT_Ec0M{G7n0LwyzzwNxs@$&yQ^I)FLgR;F> zi@=Dbi?@Wa{4eIg{9ulcHQx1BdMB^lfsp<`%RHDT^Pu2DEStsvua;^2-!l*9$vh~7 zysi+fROUe$>`evGpJ_|VJZO4yJSj2{=J`Vk8RCs+IAtD`1HEMo$6q;1$~ygQ{-E_En0rVfLr?$m154JrXgR=hgzwI$t%J+EC0w=k}G7q+$ zj3L>pItb@p>rmfO~%chOo^f zWgfJ1*;!gGxSLPrLAlZ6GCJ3L$vh}Gd8-g5Z(h#d&zaUJ?^edD%!2^?psgD+56XCT zv(F*(pd9L8XeY>xS`Qd27q#UutwiYM+K_or4%d?4V53GoLJf>trcD`hTe$C`+8o5O zIb|L+WFC~1dC+JZJjSza5Wgr)LU`AC2SLRs9F3LPNGQQzA!rhk4gR;gS zf?OlM%Mq-#k<-1FFse1h8P5FZ4{820)r+M;=0R!7Jjim%--hZVXM1ZAkuneVL_~T# zILK5g^Pv3EYs9-YWFC~1d9V!`1f|G4nBS9ScA3ZEmC8IQS9tT%aMQE`qA+c^D;*3C znFnRMgK;Lmtp)H^-mwUo7`a+23+wVVss!uuwHj?E|AY_8ncf4Cj6$9Q$&-0dEc0NV z%!ATaPb%bRbEt0c{o$01@wDaE87^CHi(yNl1v7av56a>Gt}5F{Wm%Ryt|I!-g6@mf zgt$&Z$>zyCD3kn&8sZoY!Gh=BPm>T$lBi>6bF6=z2Dmv5z|Em1>NE*J=0Q2h|EmUA znFiqQQ89%~p3H-Cs{fgaeT8S0#|@>XB4i$vGkg-Ag2@BVDz6JgG*fipHP46V$vh}$ z`+KP1UMk3CgJ0{{w3>7OC%>#agr@i>Yq&GpN9yERr1WlO-4SrgJ#b2KqaZ<%Q+azTkG-Mu>JN?g5mn`!j6V4yD8{W?K z)lKF>nde`N_fdEwo>d;V5v_IT!s~PKU!Kf^a*qmPl)O)Sg=WlydHx<<9`Kh!x>A`3 zWs&w5wjX#%Loh>R9+V>UV4lo_^05Cl!%acoS}u=h-(tf(+B{t0K7mjtV@rKI8H?>? ztZhmAC{Oqm=%eyv9+YMNnQ%wp`FMiZ1y7qtcBh&A&i@9UcAm7tKNfE0ZF)80dERIA?Ble{e!;h0Ho6ls56X)^qpeitL3v5L zPMg)gHP33{7yoYHN|^`S9F65$O`V6(@?CaDoUi&nA@ME&4?}MZ`ZYYOyz@C8 zX@gQ1t10}bd;Ta^rFZx-#zk|WX0v*2@K>qG z>ng(2R#rrN49;AHE~LpH6|~SZ1*2V`?wAL;udaPOnFrS+3(7pm-En;j=0T2A{DM^M zL5dcwROUgsG;DxRo0HM~s|&@DX~Fr$355WyGWmmOn9D*EpjImLpiB$D1TbVClq>ZN zr#7}70jE0{ny;X^T;*VFNbDyw95jZ^gL1Wl<%Z0Ia*cy|L*_xb)=maLK+Q5XanZK6oqZTJSg*=U)%=FgDEm?aPUFyc7Ek; z&ToQ{8kq-Wet01g$dh?c9t=rk8im{Ntn#?NFI)?@6O%ld2W4^C9TnmJeddOneYS+avGktP2Z9RQ`dY#u8xYv;v%>c zZ*#05QTP`+S(ox;9+VftC-EW*pT)Dv<0gaE;eSS!C-b1Z8h)$6wra4}_%vz~OjG7N z#H%Thc~IU6cfhMC+!;^M*`-0~!fSpP=E*!LYr~N$I0nyhk4=-GUK)QUPv${+D?Cjl z&PgS>`ysX!lX+0eORiUm*(yO>E-Ofgx{7vkCi*MC&@O^t3?jH~KSZzxCw-MAdAx|i4tQ31d*Z43iMq6KH83BLVzteac~Cl+)M~hT z4aaqL8%|xCs7sG~5cvr;@ZYiIVhwVc2I0nwGXU+2Pa$8dL@f!1FcdBb3T4k9FtCM=0B6J3uH3 ztMM%N7=Zhn@-mucCeI&mNL6;AN({ym{GIe|enMJjF_}F12&GGw$E)+?Bb090vo+ua z8j#zezYeHpuk++1l%2CYd!0WU!-e$Da?w0L96HGE*?-ebK0?_m`+`PDZqah@6Fm86 zBh>at_aHDY_K0-M%dpPCEM<|oBXVLv3=Q+n(9cnm%JvsY> zW@ejahPhA1;kDM3#XxS(Pd-99E!!D>QCNd#xyOm^V9M&8UjtYp4Q0G%W=E>*7?tgZ zn7H@aM7BxfM<~x` zIk;6SAEB(w?%jZi&|0q*r?KjT zxwH@Ob=jGWM)?Tk?W{B+8eI&1N8OxY9v49_64@)64VEZvpM zk!)T*&5|F?kdII{W!Y0QF7gpd%13B7BT_y>!(aYM%13C(M<_);!aVs1<;!dr#9OI+ zgz{7NVE|R>XQxuenybi1nE#luW+D=xRw^H%NHhd{Q#PL!>ZWeI9zaq)Lc8bECSq^R zMKaw4PuvcOG2|nZl#kGmk5E!RLc2eb@)6qg?52E#WL3?Rk5D>BbVng~4We*3)N*`; z(j!_3q^b=%XtoN{xc8f@t+Jc3{4LbF! zM$#O+T2PvY>hvx62x(m&s#EOv2)XU5n0$n7ReA1iMIn15%<)hKqL7Uv3Rx+maQc3H zatBCx;dp3E!>4?N-1Fkm9DNHuLVh}(Rlqr{53$n3rBm<<>veeA-s(2EY-eqIU-A)3 zi_$--*!_4`c~3VNsoWnms9HLf#)qT$bvvq3xA9o~x*fHhgR$L?>f~U#-Hxhq5T8cm zBb4e=CV&+&L>GlTU5Lpr$7b>oN{6!E`o2G&R^t(HS&eOfMm|E>uIx}1J0cZ3wIG(s z_h*OHsq6xkxCGBC@9Ls2`3R-D>=yOC6VGz*K|J}V$v_?M2~{c|p>!^re+06v-9XAm zXvjw>JCt=p7{`Zgn){Fo=-ac5qcDC_ZOBI`yOpt=`I~C;5lZhemMMQ;Nj^g9Q^o~G z{+d=#hwo7~Mqw{=EP89{TgIsfw>0%MSHCjOHgr{-e1y`!>=9^*dW}45z2o+kt6?DV zKq>9u@fera!{gokALFm#5kxQ%oN?Tu^LFN(1vCQP_yy?o=!cO6BwPr^!(Lub?`wqk z9)Fi3)J|!ro-R~oM~{cNygfoM(=r=xZk3G}L-2VB)_`)PcSyPQc+*|kK6Vc|@80=Q zV6K*Vee^enV}W;?bZo}!8}ict>{&aXv?qM~h5J>5#{<4Szyi@IkPPyGv^U6p6U;!IDE=gB-j)ZLA*q1q0TjemyNXmo)!piTHGV3XSEF{s0n)ZWhl zKd2@G_d0~u_$A<%g@0Y#OSR9a_8=j%%6qE(b-Rz5Ze!3-as0x1t zf2hKvY~IE|Rp|vacBufL!%{H&I91+PRT}WdCcVKW9rn_=KM44}1Wl|RKMZKcnUJ=s ze57P9F92tH-$u>v@iisykV)XlLr&-V%xNF??%rKKt=va*JkMvmeR#0gyIU8*`)I+; zS9Y2n#~cZ6HJ{n)fztew{!nt)E11B7|BJPE50j!e-~Ok&XQ!v8m#tkWn9Z`Xt01BR zE{K4NNE8HRMRrBSMFmf&@r36?jG~f=1{D*cct*uYA~9(2jEahii9u9UJQF2~2`W*N z@Qp;@`+n+~o*lmLdtJXjeq7f!eRrLndaAm*y1J)75_yjUkpIAT)_$=Z7|2J-x}O<3 z@DN6QG2~zYBGC4X_wO(WR;pEBce3i6PF8L1WR?GUqPOZ_-YS@~MNHY_aTf1b$kvdV zmWsSJ@ilbIUbksCz zan=jc2rH?@NiT}mGf$vLivw56H*lJvhqGCyu@kJ0o;V&WWZy#X`4u;xaPu}df5v97 z*@(1v3=5+hW?eR-D|Ys2#AZKaGV*oUxMR0m{$Av;&j1`f4oCOd6FbjgC$sO5>vQ>a z_}gbJ4!y}kAmp&cm$T%zqCIcG{+>VO<|1xR=jM29_S%97BW}mu$X{=l%UAWv;FNO?nn9OW{$d^Zg&x2qhd^W8)m;V;gE>yp5kd=*{o`fH!vMv55 zeeV?N``F}v7kxYQpjE@6H;U$I&R1fBFXT7dFCrM{$+=AMwr7E{oR#=nkDxzkS#L^N zwad^3U$U&XB(HYpedi+T)A$?67iofb1HMSZEVpC46+X+=2p_S1E0P<8PoC`jQx$K`-Kqs6qEI7=^Htcgf{PBl2m}eRj3dsb}EG&U}L~ zs0+DHGM9QRE$J#JO5@YeGOBb7c`lEj<{N;46a6dbfhRG3k8pT1T4Wkp#1D&o!~JpK zVMOqQ;ZBm_dg@2$y?zqjo6MnEG0(h0U<}|+UH=>Iq1y6Kq=_C6=dd9l;Fv(GAGu|AC{UPReBVm&?=5ynt-?0;G({w{So{fKq&SD_wUcWMBR;Cb*5u zb-0%8FQ@12yxF-2fulJ9a{T*@;&_aJTs5kF5s))}hB&x;7$WwjoJ&(g4ud>^3!z?) zd7UBmFq82J8T$$4LN4@$H%uD)V`LEANn5I-dSG^N_521G`rt=FGb*%TAizRM^fD?n z4y8|L=|9JTzEY)={52-qS88-JbHO;@SE_IdtAGp6X!`$Dn)zp>8%_6%`U@4kFKV-d zl~n#EMBg#Ekd{sfXoTG@m+y(A$;qXQ|K!reU)*=3cVG6vi!(vTjeW%q12qR<%Y(Rxikjej8HrFMH+oV zpt-hiwHG`;F5zNUva>jBVnC1Gi4^{_+!lDBRkuhj+5>MytskTh4d}yX5PJ}h2Zse* z$Bk}Sav9EJzMvj}Zr2PG8h|z0Z6&S-Kf;+PW`ttK6dc=G?1;pU+o{EntQhhpv^S)x zWXR59NKOp-C!9X%$~^*_(|-mU zwJ5uT&Sq=;z{i<7=rpPZua4Q}c<{m+y_mMk@xX;`=fzRG@U63;DcByFg*S{F#JA3Z zW|7eii!K{vc7ons_3X{03`2N6|Obpw$+L2%Hsy&-;~Vo5)=(%Oz@ z37MOPc*lzZulg^Qtvcv#PLbbz6i0$!{9PmP-wu3q5L890zscpt|BM}?FIUQOWFwAb zo;(8%%3OqV5EEMb3zp(s{VT2~>rkgl4#?$4A`<~$W&i&MUsaXCS5;;3RaFJ}s;UgW zs``I}uW|=$fa#_$+?1;TU*-NkgRg-2LH(<{WNQbVik+GparVv(YrccSW@c;NqRQ8F z9ESgDYxpMG%;uWosg`GIrc=%gYWl%*Gm+-c&_T@xY{Qy=B7L^zBkboh6>P0|z+g1A zC0i@+Zz6H8YRT3Dl; zvb8MPTKS2=FT{+~GPPuD0Wu{tuw@F@F)9OaLBn7cTF&q=&=p_s%W~=ZdBXk93tMJ`@ z*aOD~+wOwd>d{oTL6ARl1FTw-9ayz7z-4(M%$6=|GK5f|_F?J8;(x*oiCI$N=gZc~c)`w<^mw(G5 z>m69)YURBHOS0M$vsFkjTfU7`%$6l)t8k?Hq~148hc->4?}jO6%M!Cyn5IVbvBYc@ zO0Qk^^R-SfTeg<|Ofg%Qn5{yJ*|NlJ6;jNW<)@7c)7AMSEHPV!6tiWC*(#)%ElbQ+ zA;oN2Vzvq?X3MT*xhZDL?n{|swk+q0h112O9<#L;ZZ8tERX8J9kNqBvh2IA&)Zt4y zJG>;+;U%t?I=m#+;VEXz60=qKgSymNVzvrp%vO<@t-`~>VJNXjzOX9jipsIAOJpr+ z>yik4Td&ruPS&?|N#-&|Vzvse1*?5--v$RDH%rV`A;oOjVf6KXB?xCD`dm-6MUj}T z!goP0Bq$QIRft3O$Q~mK2Z!TvT3No4TbLmCf*i2;WTKE_w(NE+BgJf4IpfmgQ5iLW|cr=nI1!E8V|3w)a9o#Cl~c@? zuX2jn@>NbTTfWLatE}=>l~tZyS>>xMt9(u8D*wE5E0=^;c}`_3mt=oSbX6h6Y*}Kq z3fF1mA->8fX3G+@RY);g{?sUAwu;1T6>bdoN7G~YyCr-nb;zxnqn__6X3IMy#cX+p z+)?R}J5z^9+j_U=T%RctvsG9WPC}_Yh7^7m4#SMzcfkiLi%&6IzW5Zg<%@r? zviOJ6;)&TRlrdXHVzvrP!#7x7zrrKoM`?Mb*J8E0DQ3%;S9&j2&+;cK%X_j^9!IPa zS<7+6Dv5eOdY8Cbjehhl$!5#-t-{k<6a9< z(z= zA~9Qqx55YEyB_t0wc)(9_!P6{i%&6IzWDblo%nuQyj;sZC^fb}mp;_UE>k3CtMF0S zf@08Ue+fHqRr1ySSR-lYN-a*GjUFpB0uqm)XzHlK!rd(P+eM6*h(oSd03?m*F4NT9m$RskKNkTfP>hZ(C~D z`#P-!@i2vNDr>R1REtcJn61J;!|5mno#fx)fw)igUMqdXQp-y*TfV%~M=Z6xZ!62& zT3OzIOXXQ&whE<>SYiYsW~=ah$kzx_d=RZni%&6IzLTVwEnj?!+46m~D&kCu6CSB< zE-FoUq|suP&U-tr5C#-a%vJ#(!bGX?b`lN8a)_^eirMnTr#jzrw^PiPFE7Px`SR-1@}#;ys4TCcRGt-UdaA5v zmo1UC8rfw_qS^bUjM*v@vsLI7jfQ!+Ff>OGqgQ&rq?j%5mlU(*?MyLS-p)RicJ5ed zXWx>YG;F6*qtLLD&~vGuhUvLfl6o%ftfBoZF_|$Y!!*wD)f&wvQo{3 zfziIWHv3AYm@Qwa6tm?km14Ghr3P14YWK=Y4e4B|5?M~c`6p7g?42_mZX?1Z^?+%66xmqq?X8yeTl2({0LN%==H>G750tBqtqV53qOqR z#w^4;BE@X^;#16)FFwU=`Qpc<#Y;asAT3_38Qa+r<2tu)NoebqxLVq}C8@2OVzzwi zj@MlK`?*Yt*|Ohq)u4>oDiX6*m=OJub!;q5jJC(xrLSX(+46NvFE>N zD~q32S$r9@RU~Gsa9lJ1|Dmg&5Dmm4u&;fJ+49Awm@QxYN!m_2s-K(|FHL$%T0AjZ zg&#$H6&3IL_#4MlBY)#q@2|{d%vO<@t-|TiVp`K!I5YZPYE6pS^46r7EpJVV+49af zr_!2pQ)|eMDx6no&G{v3GDW`fShyhC3#DSvy(l^ovpesM6tm@vPcd7*_!P6{i~mVl zJTY5^OVi>>vMOAbwuM+TQ?04DcX1TDTqS07yhFM|WwZC(m1-+yp2TbwW<`(F);@)w zMgK}|y-J%#FAyna%iDT&Wy4*Q+A7BVJhfGfo0GaqjJr0qRgAkXwN=&wu2C!v$#?(0JRX3%^$y(I>$S(xCdSbQ; zDQ3&}sxoG)NX%B@&M1TtKX8TLM2}&o;kZn}W40R3$rSGQ$4<)>7Dp=)>M>i~lT~uX zY^^QnEa#1PMID$h`C6rzEnlk?v*l}*Vzzv(?yaoVuhUu)vsJh+bvZFxg+-tCyA9yl8Bj1W;i_25Qmtp!dnrSsv3#e zD!d(W4X5!$##tM2aifu#t-?DI@9P_h*($sn@us)&d^Y=g5pOITiPHXQrm+|O_EE&UfktAs3hN@y)EkM}D*Q#J&5cJe?Z+~QZ6s!^@QKVX z8;RK}td}`lBQaZrzsl67k(jN*r!x6yBxbAdnal(l@fHPcXXJ|6NX%B@bGdvqzQLjE zZ*nbZBxbAdcNxhWiP_%d? z3jdIP)%YD3s=to72+=^yR^c0I3y;~l6s;m>Z81|^Iv5c*M{Ce(+vSt?`w`UZ!c0=a zZ1uV*lcbof?ZzeJ=b{k7Y$dHDF$!Q2mC+9#Ci_`N*L{!KN+$RakJ&0IkJ(BpFk2<% zFPiGO51oxrNc>aZLlVG-Rh+o1I%vN;;W~+LFcS_dGMklB~QXKp(9q8Fk8Lw{!U4Rz3^&JNud48A-POfVz#P>9)tAZ8R%%$Lm$L$oaKQy zE43k8tGbP@iL#qAqEWZGm)~Rv#K1<`a zN7g~jh$4*}hf^o2IS&P7YZl@*r>bT%iqF;Dhzi6tn{iU+YhK0aVru$u;K>MksBXz6 z$j1}5>ejA=74}>hQI`_7WTdZqE}$>?_)uOJe?B-%WZw4KACXrCOvpQL61M7IP+2SY zo^>y(bXI;w@{-DWOTt#&N|lZEBy82a9P~p4@H%)s2wQcp1WQHru_SEO{W*9Ce!$z{ z_5vnd6kW%Qo@!cVXLk)Ve1uoKnPoP@BRtpcn_q6 zE$@LdD?Koy(gSB{Ez|>Nt5gr1qm@z*oLlLE^C~@Xe#rxtge`n#4YBvq1(&KEZb{g}hiH7{5$y43H&58A z`+yDLU62yCybHdnbU{kk@}1xxl`i(~rG%||61M7MjXchhuvM4W^}1F|!d6`&yjeQqMBn>56SiK1ecgqyRU}~x-}&Lm zR7}{s9YHJXYZAg11iQOGO^yz{;eM)xukQ?zdSopLTXj>@?nlB_-87ZezTHy7mL*}U z?zmF-Lqm^3E*SAx=46~pE%>4gPa>Z#C2aZj{&{74&q>Ralm1$5Gwt%%snjliy-IEG zxq7N5pf|SeejGsQo8|a!jIvU8_mU{%8HL};cicm~4<+yj2|SsBOz(IUfoI6! ztJA|0CaH5ch6vY7gr#W&rgJQMn+>A!7hl^0tMwfI?-np8BCks35`5JhY$+Y_R-~r5 zr)ZC0wYohN^<&8f+wNtoR<}RM>p$mWXzI39c8S&M_DG9F=8v(vD^_bi?EANP+Og-j zL3S;&JthsikYQ{`ztLEi;%IX)k6~Q#b@JBC8#A>bqYv09c`tyDJKGjfn$YF2$Lv0AC@XNlEvrDqNO?T0M4BwH-8 zTB#gjiPdtYM-Rg-v05(0YFT2nQaQ>JtL0LxmR*c9+@)A8ORQEZTP?9#?%!(UL`$re zD?O2zWQo;E>oY8|S}sy~uIe+!M zR?AhZo)cJNwOkj~a|8Pp^Q%!kFR<6pRI7S^V2RaowW@CmEU{XyPW6Jo9!`gMRlP8< z#A>;2suu#2H0V2RaojjC6|evH*_JJqiQ_QdPtL1i5y#fAb^Yv4`F|fpHxt&#S3M{c&ZWq;?1KY%N zVOP~#0!yrx>#uriU~}xG160opEwNf|pz2wnC05Jrrh0a0iPdr~s^^53SS>e5_1w^2 z&h{LvdR}Oo1L)mV&krrJT5b>3w}qBiEjLv4g3wkm{V>%FLrbid8?Jg$Xo=Nwd#YX> zT4J@_UaFUbmRK#fx9X*#C05IgQ2khFiPduZs9qLYVzt~z)yqRmtd`qX^@`9EtK~+i zUKv_qwcLKHUkUAE_V>}MSBI8ZEjLE>n$Qxf<;JRB8(Lzu+<~g!4=u4;ZoKMsp(R$! zwW?l^^jM5>6I5>qEwNhe5Y-z)ORSb_Q@ts)*R#FbRc{V0v0Cm>)muXQ5&Q2X)muZG zr+tU3o*7wUwcHV^XGOLb$Ck;eXGfM;EqA2qIg#y3Jw^50$P%mNj#fP{vczh+V^q(N zEU{W{s_NS!yBn_2Zkp-^D37D_ajF+amRK!!Lez$lk60}`hW+(44PO#jVzt~Es+UHV zSS@#^>c=A6Ee}0I^|HtktL4s8y*#qSYPqvjuZS$MTJ9XxDBrv}7oSw3EL z=c`^FSz@)^1*+FXmRK!!q3X4fC05H_r275H607AdR=qB=#A>-qRIiULv0AQ-)w0BD zxyzyv<5~X3$P%mNE{{0L0f;8D#A>-KWp$8PElaGH`>E-~Ro|7XCsxZ{A6+Hs7v?On zTJ8q5cX4dFOzD21_AH4lv083k)OQ^7TN+zpwVYpUCy2)qtL1KrvJ)7-A-4SCw7WUt z52sQ8*b=MdZizk-y(zYzv%lXKxmJd6j%|^P5w}Nsi{293-t1p@M#qTW8e3wu+=A#T z(KGY*Tl(kj=o!(o@|IXFcTe=a=-GKotd_es`pd!0e@@;KtL1(j6~w-|c}uL8TNLqI zZNzF>Vzu0Fq7OvR&s$=(+;5|AMcST5iHaIK0DS z@b$6*Zo(cTO0&Bmv7dSAyljv7^#lFvj#w=>G=3ara|N4NEjLVMwIx=|rC2TdB+E>( zTJk!r8xi|Q81(XILe;M ztPWB+&GPqJZoJA9EPw6mT4R32juRkVDTYFT2nTp6on4`lvjtd=EK%T0=TV}i3cS5K^#D`T}Rv0AQ-)w0BDxiVJE z607AV$N!PhXl87Q)pAEFrfF7eiPdsttd=EK%ayTOmRK!!RD9)rEPrlniPdsttd_li zXHyxgWr@{tWvrGZR?C&KT9#NXSH@~tVzu1yF@LNoXY-g{q03k;ORSbFW3}u#v~POM zpI*Qpu_ac^ogDMEW@5GMIkfjjikVuNx5R3>GFHnHtL4gAE&Cgu24}`YrTrF<1MjT?xOf8(Obvc?^xe5R?8Br<;qwsORSc=Lj6Cx)e@`a zu2emz)%M_Q;ivI&lHc4`ORSbFW3}u9Y`@v@$r3)l)e@`a%2+KMRzqJCpCRE3TJ5K- zPZ_Ia_htFl#{A|4u7<6aSS?q^YFT2nTp6oniPdsttd=EK%ayTOmRK!U#%ft&wOkpi zWr@{tWvrGZR?C&KT9#NXSH^1DEJyD$R?8Br<;qwsORSbFW3?=?TKN1h?{EQ5Xtf`) zer2qdC05Jb8DA{*-Oy@@)p84Ben}%`~zmNG;f>)I@_TJEv< zLDB2mEU{Yd@%Tg08`^9W{ryDzH_;p0EU{Yd$@pKQH?>(}wcN5eJe=ikZnMN{xu@bG zqPMhJVzu1U@rk0hw%JqZ-{p$An%Qm#GyGY_T+M2?#A>~Ma-4d(iRw(9bPP_dd zw(kpyxtiNS9&5Fr-4d(i{uJ{Q zZUCROTVl1`D{*)P^`dr5td{$8TqAmMyS)6uqp&607Cb#v4U1@36#bxp(4j zlbPR&4$JScxcB05GXAaXu>8`Bdp|x^^eY{fSS|NKe6{G+9hN_sb|1#eM6c-u;}gaH%^h|$$G^|wr$le*u*7P)4e_U?xL5E%!ytFHKrbZNm)dN`UqSmRK!U#%fu9w$zoeT7Igzm+`YBtTph*eQs~nSZk1J;RwTd zAhBAOAJuUCsK#0Yv0AQ-)sm+Iu8h@^w{ctQ z%2+K+td=WdwJfn(u8h^P#A>-RR?8Br<;qwsORSbFW3?=?TCR-Mviq_<%2+LXF?AWM zW#tQ@WvrGZR?C&KT9#NXSH^1D=6dLM!&lyLwGAz?TCR-MvUd%JE@QPUv0AQ-)w0BD zxiVJE607CPSS?GemMdemEF0dHv09c`Emy{BSz@(Z8LMTt^6V{RwJfn(u8h^Px3j!5 zR?8Br<;qwsOGbh_(fHXN)*AMtKg(Dx%geSaW3?>7I_^j24V>7-YFUzX+^MR69a&-RR?8Br<<2sz+L#~KB8b&;XRF5A0kK-HjMcJtaI`+(T)98v zZ;1T8$_1)%?@p|iyT}}M48vz-RR?8Br<;qwsORSbFW3?=?TCR-Mvczh+GFHnHtL4gAEjyq7yk7g; z>Z~PJ%iUl+RCZ0)607CPSS?GemMdemEI-ZTer5Q83jG!JVR#v5jO6Y#ugUl}v&vr`?lS)BFssV` zm-R1WwJfn(ZlUpaFLSEwEVlo>I{wY8%7g_LIPtpu@Zd(UT5jSGZCzoYk!-W@EavA#cEl8qQs?Gt$Kdo#HCm*%MYBmZLnJI(2tQ%_o+Bv zf^a?OFq6LFfihOh9iAPHQhQ*&G07c%G4}o0|I37DKTVgDf1b+FpZmX3nYF}fxfH8q z`7JbeQ}W$ZrmeQbYPl4vWr@{t+hDca5kI8?@8T5b?~d3&17y}jEqMdR{iwQTnq*>$)pFZlwOq#~ z%;Z>f>Heq9 zuv%`)qytbOzxn9i&0cV*_cQqr?!9d3x#+)gkRN0hNN8T(2y!2)#7}cLM17QfPC{$_ z#BQBRm+5&Cvd+3d$W#r)YPnF}QfVMo%XzF;A(oqT=NYEy5*Ug0XT1G1~qrUrkP>Qi8v=_W@{`4 zy_xx%&oKAF-CU7aEjKLag{)DpJ%it}48dyEoQ2^tsQCo>hBf=_#(Mo2S->u0wcM!S z3Pf!Ztd`p^_!vTdmhDokmfelllQLGTNUW9{6FkCng4J?kgNAWP_fQT2DOSs;D`T~a z#A>;Nf-jM-NUWA?4F)4w&ug&X0&yb*-qLm#2E))E4X5Cu?DwW)DL>%b6?k*od8}5$ z@wg-hKf!s`*w&1!eiCd%>c;836kHncyl*5{%Uu?ng*cfav083Ia5o|~t;7Ck2&V9- zNs86-bJ=;)E%-E_TqpOdfXnDy?eM z_BrSgtL2VVne`LoDbf#^D_-yf=!6iQ?ObP9OLBOX!ly!e*)TySS|N@cmnntWy<(Q_&ARf ztL4^&_n_9uZ$0wpQSHtOPDOg}inG=I8SnmcB#5m+td{GH)ndC8Z)I0HFBpRKg4Mbf zJMubklxY&Imb)T&9LMU3)p99TtDaabH%onm(_t^R*-rx|ZxXDQyDG?_rG2{D(gD$! zKHb$SvzAybca6$?rbw)o`+4vJviU)^yH+|2`|@>SL<9Qr^^$F-_yp%!bAxJ>5oh@p zNRe1A=doHvVzpdR-c%^g$8h30I)SfzyUj#O-);}VmyRCH6ldqLdrUY-a{UFi-2%2H zUsrLmk%qn#XA?^OV?U%IR?8h1J}oI$ND4MQpZ#=7(WwYxwcJS|!B=tipJ@U<9O`6F zrv$`mxzoaCM2NF}vGw-z=~20aOp&i?xiiDD6767Yn*%;j>KuhwEq8YKBZ)FYqFl}> zQYr4C0KN}iyoJqhUieFic(X+0vcb0Yb?)YT{!=7Y%gqe`BtXNSqbw4@GOpMEsLRtcuDH5yYZVV?%CWm9&9Gt`q zB!xt260DZHIeZnz{pIr(+2?R0^M@3xWyAhRnqsvqv0Co-kQQ-LMXZ)fv0C;k2YF{W z4z233S}eGD^dKBv5XwHWTJG-f3mlKL-(cGu@G+vV9rtkfO(r5%%iSvxaZS2kMunPt z&^Vcz0GE&;QzTZ)JrMRlq9(y=xg|1Q_;KJtNx=#ctL4gAt)k`J^AF*0rkjbewbnf> zV~bDsNM*Xx_XDyr8G9`Bld-&?jFmngP@O3fs|D2E3}jj)R?965U&DT!eH+{6U<0<;v7cCU5eE)u0hqVR1iA4NtC&RiV#kjJ6$4Ss@@$?&w~#A-nTJ{^~%z-sY2#XCq%70X1liA#8++?CnK5K@0ShJV>ZGvJrzIDJ=^ z64*?USS|O{?Cm(zBv>ssJ3GD&?MJMZyIS7il#^{I$ZJ$)?N_kF{aj_<607CrsI0af zFx6eFvepu-<*rld?E5?wuUCm5;}Wao=4RK>gcZBNV)x4|S3Uea)x2!QJ=L#N>OIws zDzlbYEq9aVnzzJix%n#b(LaXXtg_Y{c#BGWIe}O$cWd?tl-eX%Ew>=cTcG+2aq+w> zOQ*pJ^%r$g+4>7{;lEqM^7X)KrK-9fFFv??G_1BBSgll{G-9>f!tA>!tw^kv`+as2 z3X8KH*fs}T-*;RK_7jt0A5KIc%3dH*ej-u0lATqVOiJc4M39n*)pBoSuaqQLOOjjC zB-}$p-WL{$)pBoT7fZy4uWet zPWl?F&Xx==#I`w@pC*<)XYMm$tRM84_?$2#A>;ntG<=c;4m7($C6Gq|H}hh5h)U@K6Is3)h(A3*1ElwA^;N<0Q?=*met;hEFuz&WMmH5}@Upae7?EOyU;RU z$rK6Da=mkWk-B)T#eU!1QVt<_9CqT;`lpDh11ZcTd zzyAv3OvttIINtzw6LWk4zes?Vo0Pkn`vhpYDLy^{TJC7SPk@%2>eCXS<&MoQV|)U% z+;KU+Szr8^Gn$jU4FqVp({m$_VC_d^>uY}u_I#gs2sO~zJpo#7M(#%vcZS5}6!sd% zmD#;?BJU&uwA?wl8zt^-5_cGK;#1a6aXV#BfR?);_mU*|bDDsUVLKVpDZ$&U=_R=> zlHj{E0iV;BOUM)n&~lgMns6BWDQueqK1%Eyg#aygMUF#xkpL|>D>p%+Pm<_-a_UX+ z1JDaR>#oY3B~dQG*1L=kK>evaj4u0iGqyznwA^*M+a>NjX)PhT#kFF02gG7PxI<@WA1B-xJ4rJX|0dQQ^o&wp-6z1yCv6vFo5r{^@j3E zt_~pMd5O3!H$r0Um&V|;+D=sw8`-RS0*}E6`7n6f$Q&k}jFrU)x%*g-qhxXNVC+AUvmLB- zcWj#jK8p6Kee{IZJmsSg?~VOueA^SC<(|#)GS+lBu2j`-W$vd)>(``GfRzTQh=5vK+BZ@T15i1+!wi1S%?6%+<$Z5LWoJ{KpRRO|Ia+f$Odfal&}SXhmH;i60<`6nSM zK+CUOcLr$1D85L5mg^aFKhE;`K%D(0_IG?7zN`*h|9CT$)NO$5az={@Z5g1&Cjn)E zmVZ5WtA&!~=U*(u}f1_|Y}9swEg^(;xB0<`#ai!b5GQ2?}f zleDa)Yp@c;PLnq)aR@*D#MX~ipJ2}q)_(LQK+6@(R}$@?*fs~bV=AIF2|&yBG!t>$ zKX_`C2X<_JdGNHI%DjK@)JtWpfAG|#5;s8vXt`#?0^%&Qi?e)>FqZq9A^}>iA-PzN z&&1YS{44Bvi~V>;fR@`Xxl5wmmqvTE6fIL6&H<@c^1Q@&8QbRI&2lIKTCO?yi-dlL zZMWdx*z!+`fjNBo(Z1ZcS(lQWQpg9HIuu5ZFZ*y{<QCR}0TM|B9$a{UvopK(o?04+B#;dPo%92YTkw}e+={9@V? zpydW7Y-j#nm;fy|IANP|iI@N_HzeUwB7ZC^?}6`;JS4Kk5}@UVCY*`@pyl7&8kTUj zA?x4A^D;3!`7f-*`Y`G&{jO$O+QV?7q08kj!f>7scGw32hF%GJKZMH#`hr=4kf0A6 z2|mg64Q@w8!%?y*8=Z~lJ58N>P9_}5=-532yE|gH-|m<`g(Eq@?wr{rW*$?+K&~tg zBGIk@rW_q|5vKoaT#tfdLdG2M`b6wc69Uq}Q!>G^vbKscpG4;fxA$efmzLSgGJQeK zTF|m~WY8SS2lKJM?F;JV3*rm@L6c-YKnmSHWCko~hf+Zo;yMr=B9Eh@2}s`WG0YC4 z2}@YeNTiP@&=LKLKj1Fw3FG!23bDISb48kFkfhnV2f_yNckDjRAWhSQmA*tOlv&C& zZ?onXbE4RfPc(ubbE$Z@<1)cdSRhKdlP;X&Q+$x7xTc)q=d!rmLJJ6T$n61?$;(*C zI}Q+wc{una#GpH|^DcG<{}wy{!A_=y#n&S8f%xn4M~rz)@FEWG2{Gt3>`cZ^X7}Ls z!(hQJV!=ej?Kw1;zYrn6MEoIQ{(Ks<5Qm0H6>g?M&qMBUekQo}d-Ss4s6Bw_@Virn z&S!oLq9n`J>+xA=b8JSK{adg7ax5FqW%|uA0z1ZjQ#>MUl*=yMq9iB2-3Ny!v`OS zTrZ1m*z}Wqc*@O2g0=Vy)`ufcgdW+!%^}z@`}MTuRZlz14A13f;cp4O^JZ`m<8#bC15Q7K z8Q$)hu=)PIa{26^vA}pDo*csN)5Y!<9Px&qA%;(c-j`4Bf-^(LObtJ)li_Ep;WNf; zg}Z`t!rE*mGXp85BJ)w$3j77c3UdFQFI5PU!Opp;fkA)ftcZZ_Jo^~R* zR+0GV8iefg;IvF;6SAsDR)Gyiu7V!Tm~*N(j5CqLxCJQF$ohQ&?_uR(?*|BYiKzrbeyMK!=+ zMHo#6TWs>L!kCQoeMbL;Ne=(N_5FzMY0)zgrtY*4Mjj--{v_Yd1I662I5Jw=bvJ3( zlcBx6gT&sep~b#&$l@&g1-pm4Acs!&t*)@|J|sZjT!5%MphVvjhDlFY&Ahqt7z~%Z zKY<>$RwItOmhRm@b&AxGfnAYHFy?>PkWKP99r=$Ss683OG2&gxxT`TLL+>pk>lgBX zZ~%_&y~B?X`AZonCsWJC`YY)q*HN2Rgm03(9)}(_4Vj&RzX9E_#uofD*b(&_u&!^q z&r^yIpy?lhT-Xeh8&Z6Nzju(uO{p30i5XR|mCW$tbqlqa@qw5zom$NJQ1ZF~ zdf0MgwkkE_lTK#%eHyTiPW^KrnQTJb{YU2V4DacU#@Uj^20Sgd6{89Xnf4yYD zpCs)_YBAsy(WgKUYer@R@#p>US|Z-vqaIGQjV1 zk}-D@40u@5%s|wy@mKpMZrx5TO)~z#dB6x9@{^3EoCll@ISymxBM+f-KLauBF{E38 zzoF9WpJk^XDxF?-Sk3ZuRNvHunfD&BtNhcpA#TAAg@9*&5ie zw@jg~^6y-{4H_Tvy;|I|8`Ky+Fb=Mfl>0$v4qQmTjSiL|i@koB%O8e=JxK2CSIAgi847QhhPLB-sKILSMlJF^5r4@$xMU)4KNDR=ONQZ) z?9070LQ#xjbhj;=n<%7FL?=yM7dEy zz-0m(_2$vJ{3!ed?ZGkx zk0eHQMg>pJdv0>w!2s-i9N< z*EMg(ox$m+petthR&F++DZvd#czoSV7+*Chmp}4{i11a6@Xq+UD9B%j*ijf)^S^Ao z5C02tbLC(aA3$ZZRi~VBE}(5y_wZmo9*+OQ=Zmm?INBo<9(6c&uO7qQo>&{Gx>gcr zs}}Ld4m;z>b!TF?DjSEF^}+wYVtBZv0lPPGHzH6Jnqt z7A{w-Ahe9R0DV5!J$Q;4fUHF!o+=v+v2eLYmCc4&xLhxlearz}Ae&V7GlQEUn^pEV#KPrvz-<+cY%%j%Ao~QX zL=G`$F|@DNXt*I3F1L%y5r$Z}T>s#wQo&J%Sh!qEFjC}bLo8fwP|zy!07EQXZg8+h zavp1lh06`a%@WHUXNZN%?HkagVeeK$EL?6}@TAB|hFG}Vfhs4PS(FEG;c`#V4axSndCxuRJ(5X2r`^lE zL$XP(C)Dx|v5Tw4Hy{CC@Pe*puV8h$+>IR`WuK6v|0x|M7A_OvCX#XUS2bgkKVTpZ zB!nR5$KH#>Sg%Q3cc^hoL}h&*BN0n-Zt{9UNq5WG=|^yd)zotVCFu@f8ZOqHPN(YW zTPT}6jm~eHeFNo_z6{%bn8Yk3yE1GCW)b#Id>Idw%J@E0ONL!x>=;Hq7A`9sBD+@( z!fu=FF6xclcG>+LLv`UqrWS@>VY=+n<%Lsa_h-jq_cYo48nFte%Pzrng|oz-?Qy;( zr}513;JRe#4BT`jH}uEmVekD+!gc-R5eDG&N@k$fCy)M2R6ZGJpq^+J#cyZsioH7N z1dP#@iExzsIsw-uPclL+z;(%YcVQ223S!$$z;#%WjDp>&;2nbNlC11=RgK`fq$*g+ zdgA;hxGpi;(ej4iI(+j}9MZem5L}naT0?MMDxD#?E~(bE^@iZOq>IW%SVP)gcY^DZ znt(_>SDkbVE~HHa*CkG)X3TfZklj^g&G(c&BqpDc#MwQNru*;F1CnC!L+rbW$@anW zT&Z$9q?P0KJLxSG-qn~Ll$y!5jT~Zn~oFTX_mGy?;x@4zP zy9d|Mr$;4|f_;!d4}9eIFwHX417EoykgHOPwLOE?KIf^_lLU)B1;lLr|j2C#!;LRE}-^YJiy% zI*1fq5}|MF)p}jb8vYP8Dal->`+d}}1%LFpeH)BIZie8xWNWD^hTyv7zY>JA5q+*Z z+M+wbb;)-@JrZ;$xGsr9_DDA(IXE1H)5`E>A(;^BfNA(dFgYX~BSvP;b}VC}hUSf& z@okb2&qfSC4WG1!{*15nz3fnx&JbLeOj22I_@Vmbu<#8T9vbP3!!_S#_WP3PV+gKG zj?l1vhTytX;`7VwG%2{waJ?-_!F7hyp#MBhbXC@>$^^3>Uu2XKN&_@;Q}NK37Av%I8&9`TWW%Ur<@) z3oEO9QRgaOtocfnOG2ysV-3?Pm!wuX1=ksZ>yn>@&r9DN;;VeArbU$ru1hWp<%bxf zlPkjgx|FJXrAE>!&#J8QPc>Al{Ikj`UsYM<*_Bnky0XgGbguHxHD9T6NobYlXqZ;H zB>S6vIgVVbp)H2sy5u^QTIFA=9BwYf959)ua)duM%HX>01lJ`uhWnuDG5p;UKASq^ zR!yT0xvkP6w`-_6;*+?hH=Y+ay{@e4N=cehFmfdtnji^2&g70)$)7Y@Sg%Xh&C zDvSSpW${ZYi+`}P_=nQs39d{25OQwJ7v#I2iiu{jH2gEm>z6zdzLS>sXk~eiRhIX7 zWqD6jmiJ_-JdRk)G^*o>RTA}n^nOai8vW>9lFf$Ty5wmM?UU(Fa9#3DxDU*8Ey=Ut zow)pZzdWarv{|07v~z`qYO}nM+DUL-@?!Y8IHHzzzNAsb&XQ0&S8ABrS(0k!%Np9p z5L}o1QDr|va9#2zmHji_39d_C3IEDkG$yOUUTAG!i&r(0)?#&KEnd@5t;Oq=wRodc z3t#*ijqH5!Z>mJ+dUSUb|5kWEeCO(uwc&MX@$Xa?|88aR?^PE6ep zS1LZ!o#48pYqW~x^-EmzZdzXV%JO^ zUA82eylGJl)XASLV2(C+Z(Ohw%Zid`dLt8T4$6;kF=^uT{N;M|~qdjqL z_LbUABWYi2sjSo>4b{FjxUy2aS5|6B=SuCNDWy^+(U|Eza~D`LGa^*rsW;vD+)_c&LVIV^2!!C}-MXm32J4R7XQ_ zU2=q`g^PE?RWF$wErMrJd`EOkTKtsC;*Y8<{^-i$k4cLc7f-D$ep+Sm$CisHxGp&^ z+6n)mtDg|{!!osR;S(#1pI%w~NtMN)oE9%ldP-XSxx9({QS_9b*!dgBQzL)lh=pz5 z0G_5*3781=B!F<&aSlPoJwoXO|2n~Ejh2!n)6H6WV#bv zms}7HL8%yYFNzMu?9Mym;>zNGTv_}jmBs%gEuP@I4124gK$*kxPw6#z2vuIOl>s6Ju&aSle>PlO$No^J5exBMY z#?47xCB|Kw+A79fm)a`p0oSW>%~-6#ntU=hnhKlHt9}t(iV2c;W|ALzm2%c zUVly|x!)f}bx&oj7FO2k z-pX42I;~anjypP(Yve}gah0%!;JW0AXc~-gE?E{Giv=U^o2N8V z#;-U%t>tA6!F9maDDRW;fR&Zbcv(Yr5dUMPGyYU^My7kvi~?SXPDj2!5O7`cdUP^Q=LT7G zdqc8mAh<4BBZW5*T$j8lAiM^G>yo!3E>$%UT$j8ZaSf;8M8;VgadD%8;JW0Ui1+mk z1lJ|+M!e~5Ah<4hFXD}5!wV>YmwXuUKBj@-y5ysXcLNOs z*Cp#B&eR(Su1o$R)8+<(>ynRU4%+Ev!`r-v{9Ge0MVabJem|S(Ij&mpbqRkR zU)?%aqagah8imnyKc8^^R6W6mR3}{OEvee%et4?-5Fh4}{%C}fs!wKNVpToShczaH zJE`WRhzeA<`LI3-@pUEDFCo6Jx`eMw`onJ}H6&R@TMqZ>MkKG&7FDAX;_Ir9@L{7f z;X8~f_`2>-XR+HEU$>p$>u`u)oJ;Q558gaj-Hr%qkC6{0Z)1?!> zPVU0Cpe{8#@D%Tf?-3o!ljxfMcqzEIHwBBx2(o=R+VY{^<*1(B(W{&|*Y@=)FV3|) zd8PO|EBLye`7VO5BS*2z9zH^*@xsBW2pfT~D}`hmFDi%RGPT6lbt&WPx(s~~M*c5+ zT^GUE3AnDdaTu({4}=k~7r=GXa1u9lMNbWy1YFl7;JPLO*EKx>M^`loxUNaSbxi`U zYZ7o>lYr}*1YFnj;_hgNCIQzq3AnCFz;#Umu4@u-U6X+8ngm?e)XrOirWhSO1=qbJ zmJ_;FqsHC)B#ql1SqDucFsTZg1YFl7;JPLO*EMZ!!6WXb8&QF{Nx*eY04Ec9st3;3$jwH}M2Q=VgDh69#O6>%43+3a<0b zG{oE+AoNnTdALz2FY}?fr{Vd&^1x%b;}9kHrNH;5v?UJn0o&=N;Q0)gaohyMpWJJn#( zUc@&raK6V`iTx(VQV*^xRDkQG1>eV9qw6gk`NLi)sq3vWGW;)aoy6^i=|AU9hlJvqXxo$8K}b2ivaljiWgGr5tZzl;>o3Z;8^%D4*a!SMDK`wGzli zYYt9fAk%l{Q3ReThp$NwOPHjNaSRdWN`!~g2u#n+Ih1mUr%>2)V*Sjs1UC*x@B$0

8F=Z12_1b&@gvBq0odn41&!eLTI)+oQOl&SLT#7JCZ z7d0dDMjd`?jq>Y!s58p1^RnI?kBKCJbzU|a<=1)HY?NQ;WgnybIxqVf<=1)H-+ah& zOHUwLjPmPz=n$j)IxmMC<=1&R!YIGa%TY%8bzY7(%CGZsoKb$Am#s$mbzV+1?U?fb zSm)&=vm<8nshn&+Ktq6E=R=P&%CGZsno)k8mnRtI*R@V$Yn^PKMGpqQ&WE06W}?Bs zuk#CBGmP@)*RuojFc*8O zHU1pD0ayjyMfKdkD8J6fpBEVA*LgiZFj?GlfnVqKZGlmKo!1Kjb2uh};MaM*Ffhum z^LkNW4#*+gY53y6D8J5!FA0qD>%3kX80FV_{a9d>U+49*z$m}Y>*aw_ex27V0`pg# z5#ZN(y%P3g$Oga8>sJDEWLM}W)vE)e{5l`LCNRpc^LlMylward`+-q@o!9FEqx?Fr z*9S)VbzX0P|8c_uex27F1Ec&puQvro`E_1z4onlzgY!_^i+Y!{M$m) zpZ*=H;R`}j#q`5eFARwNr0p;3OF*Na25Jx_(bH2#v%D8J5!FAa_I>%4v}G|I2@ zdRb_cU+4Am&?vvo>lL9@Npu`1_$zew`0r7aHZ)dA%O#`AlGf#@`Sc<=6S}jiFI~o!6T}b3NO;UE^;Kjq>Y! z_?FOo#Qr-;!?%V;`E@>gW@HY)Bm?|9uV+O@`E_2;j*Rl_yq*)8u2^#czs~Eqkx_n~ z*YhHy{5r4aM@IQ|Uf&iO<=1(=0OjGL1Ad*?3nQcax^|3w5%_gR`E@>gNo15?=k?Oa zD8J6@$0E}$kNjq6e#;`G{5l`LJTl6!^Lj;Oy0bmc(fBJPqx?D_{z_z&U+4Ae$SA+g z>ot+dVR-`lIdVOT}Wc|zhI-~r$eQ?1gzs@MXj*}b^ zdm^L!IzB=szs@MX&g(6aQGOj?vIavUGRm(zPW-vG$|%3?WYIHoW*dH;QGOj?{v*H6 zD8J6@yK+60Uw5ITUzjt>uk-dUj*ar`ygf@|qx`y^#xcL8v3Zu)F2CkZ;+6S~(}0_z zstF9=5F6#!9p>vF8|Bxn7riMqpR>Q;7IklB{LQf`a!um)XoTo3u~B~ARMA^wqx`zr zqG#rf^6Qq1o|QNKu+{~BUFKlsH#={XU-z--IeDY}xQC>@(F(35-dKDUuTqG z_o3+ddGi?i-*2O>qHoKaeG}-#QIq&%8oPhvDGYdC?C~>A|n_qQ6mootG_U0_p;OotHz5e2O^b*O^Lw zovGy4nM!`0QGVSROrY>`uDm7+ejR&Q*!w7>{5mhE8Rge`d4f@X-Tr75PNbAy=X)ov z_R6mdj%I7(YOnk{S{?O%KWCI*=k>arQGT7*>vKl=bzX1C8Rge`y)kE$U&k90oV~do z%CGa`n{!6_bzX1D8Rge`y)|c)U-!M7%`;=8{JJ`^cUEkaU+3e`j?F8)x=sGhK74I#w&B;A@dFXR%&#+F^XhVZd|x~B z$Jwm>I-eeAv-0b_-iXnG_Dzq^Mq9!ku~B{<-)<(q&M3dGDD_*IH^=krK2__paJ*4| zozHL4c=MYW;b+D>N&Lm*jkVC{#lu8z9B-6gH&*nP@kaS|2aDc1-YCD$=Qp#}D8J6@ zS*=F-b>9E8TaEJTyq?o)lwWtK;tk1Rai4wl3)hNHthc9k5%CGZ!NvlzQo!3iSjq>Zfeyr6f zzphI9)3R1Gnxo%5wP!`EQGT6|zp~XRzs~DdT8;ASyk6aElwardnpU%a74o}T^IO|$ zF6V6R7S->!8s*pd`0HBDN37rN8os{OD8KGhsqcnXqx`zFL~m?0%CEaX^rlv${JLws zo@kU`=ks6EW`4aL@?WI+FKsi*uk+!LwHf8t`Tn=8&1}Q3Gu!a%jPmPz`d8YF^6R=B z#{Rpy%_zU_#-pg$w3%mc;)7o|R>Ie|8RgfVBKrL{qx`xXMXzf!%CEay^!hfV{JK{~ zZ)h`3yjngHzbATQo4Fbd34YyYqBpe}<=1^9dUKmme%+2(8;^Q#X*0^NJ6!bEHlzHy zt3=OiH-mZMcsBl}=vnP%pZ?I#$9IaJ-EQ*iFDv5vMbBwB%CCD=^xSr%{JQ5w&ucfz zuX|PW{C1=KIg|5%4ne%)fx%R0; ze%*JX*P?umXX|15u!JC80FVp zFM3ml8OYhlr}5!p|K<)enk!46#Se(y(qUF`Jl_z%EqZH*S;p(b=kfQVXHGH7uiO4e zmN#pP`G({9#(16NKYNPV-9dj5Um@}5Ofkx@E8>J9zs@MX?g&XgZ;H8qvk8tXo^vO-DZiuc#2Ve9UuLn ze@rpTuiH)Z(kXs6_Fe2}V`YBb4>19=C4L<*p7H}B@asymG5OwKALHj+Sy?*Gho8@YOwF~9fEtA&9+J*A#21xJ4 z+Ql~fI%7KVgV2xmGJbZ1wFc$ad5yJ(ZTNNOWu6^nex2Ed zUnfrlJMrt}Rj*F`I>w~oh<=1(QwFc$a zd5yIO<=1(QwFc$ad5yIO<=1(QwT6p#M|rJU9@ZL^U+2TI)==cxQ|8y1ZTNLY`E`8r zjr=;J{5qc=YYob;^BQXn%CGYpYYi)VA^#(^e5^Gnzs`qatwH&9USq96`E_1ntzjE} zol$CaeexSeZH#~H7&*6`N`=;Kvmt>OQ$cOKwYRA<|s z*?accGwcKBFzgK+$~pVcr6^rcniN4gC@R)N5m7-=6tE#0TPz5Q9b=7R)JSYGioL`b zW9%WuLaZ3E21{)DpXYtwnY~BlQ}QL>|NYnXb6sax&#d;YGHceXHG6L3*XisIYYpGx z*9FF})BLd3VEnp2$ZQ;I4aToieQi20ew}KpJ$%gB+@WUQjp@Mnb($X5B8*>m-xSs_ z)*_5wr}~L>@GX8_@H5Vi76m7dVEBz`eO6g)8qe;=ubZ$R{ZID-VKyf7{5;SIxlF)*~A$Z{(dhoex3S1 zjGrH~J|{5lQ4-V2Ohr}`x?*o99k z=Lg)NBEK#$ex3Ti;RW~c?sZ`>UFu^aetKL3eUaI-$qS5Mr{O>J0^`@I-s}a&uT%ZG z7hH^tz^_yNl@}Pl?m-#fmSyzraAlx(hm$kG*DU|l7XI{1VEj6rJ)V^bP7dM!U4Gp; zxPe6cx}j)$c~t@YI&On;bG;bLH2ms?-tricEDE zdRFV>&XpE3AKb^g_f;la>hOGZhQl-7-V2Oh$I{{xkb&{*R1OIEr3~=vR1R`dKWAB{ zjD@)ozmDBjZvkm}prq+Cf_pN*26$cv@Qg{k^K&H^|EHeAM6Q6dIzM$i6A4)F1*u0S zBA*d$ZqjRR{5rM74=&{tqow&`SnISuTz=QYyW)n^#bG9MMk{9k^jQnoCe0N42)l=zT<W)X?(bvzT90Vnu%uQL(8n1f&UMTu}W)W{0s=`B9y z*J*#MG++INS-!E!qCTxP$?|$D(>7z^|jh?a8lu6OKCJ*VQfc`0i9q6PRE3 z8ywShU0NX9x?M0i&eXY$`0kYQ>k89aB9(gg22G{C+iWya8H+6#r%w2Fb;7T!Q+{1x zcqKx2aX-?~UEReDE&RGV;n&seffx9^I^oyV3BRsR_;q#4ud7pjUER-M)3Q{Z^6ToV zFi>x^GlFn(Pfl18}(x;HQn;n&p(zphUBb#=n8t5bem!T5DQLD04lzwUJi`E@q< zb=t$6fM5A3-r#CO~kLe z5CSi2gI~uK@Lf6Z>%=AeI=*Cq7r4Q%W0!6z{JN#Mu3AkgBG=>H_Yk`kKSl+99k2UV z#;-d9VVr{T>#jziwh_OMG4wJy&t6^9muvE?q+4(|pWpcczmCi3T<;A!1BYxdwyC7BL*U`;u!T5D5J)I!$E&YJ0@{Kz1>)46-++zGXwghiBQmOk(1@nEG z97`L0=AjrQ`E|k9>}s>E1-j@pILFm%5I-brjxG*<-Ssdl>)ni_zH7n3DwM;Y>0oE~6Wc<1V;BIC7y1RJZ_;uHy z)JX45q>(4TZXV)mRUBc}?`ZWe6fd^My>k%uNGlz`dBS!n7{9I`;#Uqqn#|ew}sC=Ekp6={bcR+935)Tt;sj@#|c)w8lH#We4PNEb)G7(hH1Vr@p>Z zFn-;mNTvn(b?hwc%gbFF(Ng$zOx7tFzpgPv*5g|sg+6^@LP1_QC>Xzv<`s-zH$y@m zh@-aKiEwGV@sbExgHFNtb!SW1^CT?WlCP_Ta*&3;7==Nuocb4xUw5Cxctm0_SML3k z#VE_d_;nvjgiqrL+#D)1r!0c;>*^5zjfSJz&)uU^4o=}T7zKXa7zs8J$D+#(rSc%g zuRBD794qmWhNS~PGUya4DiHtlR3*aWQ}sA%{88T%UlL(Wm%W6@=DK-Evn^bqCw%T4}@dM-6(IQT&j9152;$yoFifl8-f{JO)DPQmzf&%lkh@Ng`;@8GCqSO1o;w2 zZRi4qH4P@+O~ST~_;r)vsq>_VQ;#AF%XUT)WqTyWANt#k>j~=ueskg1F?Y1MQ!swrKF|f@*R6v)>ph5L(Or+D7C~I> zbns*Bg7NGACZRu+(A;vB&`!blb^c_AZ-QgdXzeF+mAYcxe8w0AS^Ki2hD)VKb3bj<>KlLd4@?Z_yBf*S7*ukI0=5b^4`s-e$NtGvWB)cGdu8R`O) zUSPbs$f655g}ErUNDRCufgPKl63LOe4$}Qep z338|e;S#?DaSFz(J5_wo5?^kRY69Ytv9>1~3_0*Yt6;pk-$<1EaMWvfV;oIff2Sl@ zER<9%f%kE?2|GyE`v;xuO9kWAHNtaD)~m*`=yFp*ZP;RB1>@E2B+*7ow3*3hk~7aC zUCHSPUP#Y+M@p1qB+8j_6uJiFVx!FYAQl!&)UL~e9`JEFW*T`*o9->NPcuWm5i#;co7xAE%!DG6qiY5go<6J?Um0e-75H&eZhEj z65e=q;x=BL#C?`412Zb_VR+-!@lE=I@#@3| zogra4Wj&T*Wi~IJNGr*Bb*D+#vn4ERp1Z1LVapOXUfrD%;odj`w_VE&DU0x@JW6+5 z#XAz=gE#{BWlK3Y1>@CK<8;<*j$_f~)?s-NaK*i~^@Zno-GS{C+B^ce8!?vk+g<5+Z`W;mI<(S-tV z0k&{&R|LGE;&lo5js)cHtOhLoR-s_Lx*T>wfv?6<4du?Q4Isv=>mecf#38shTUM0# zlCcZecy+TR)Wf*j@#=QOiMA21?j9y1t0#Xb$*?OtwADd_GRbcy)XqiF0;YYW-6MC(2mQ!7LdL@alfYWEybwSAthJ zmdVI6=U>FlLe0%0T+FMJ4eOUHbW5768`X$Xn1T4<)zRJdehx<9)!ojtj915zl4%*Q z4q1vxvd!?fsARzb?GW=_llWw926B_hYNuelx_y{Q#H-r`AtrreCOKMNC0NmZLS7zl>MMdoQ0yjaR1y86Oz0PUU1> zsjji5>D_eaqm{`$QD>jSmV)u>=+1iF55PqXQ#$;HZ9!h$n^01=9^!dhduY_jV*cU&oU8 zt{jItm3#)^OE;pc^dae{NH@XCPb=8%2fx9otal%dI$Avkmk!oC`Wmlpg9LjE$D;dL zGDzEz=$b|F>UP=>%`Y2GZ35jeu#Kj+CVky#sx?`y8%=d4@epLZI%bgdm|WJIAZ|YW z6pUAQh@3whN45A=xYS}+q*E|n-MJF%qBz)^D40_)UfpdH;w~JE?xQ8&g`5HubI*wH zdK{a&8*${HWCNqP+tYR?p2!D*SNHP%D7Fj(?Q{1?H+KT#)$NZs93+fa$4uDkjaNs* z+3Ss0M+3PEGpZW-cgt}_4XZGL@#?r<#x-E$)$u;f9Y*8T@h*%XN(Xl|V`t2!*~)!raIEy7vY?B?5uY-I!DLWi0tm;y3XbB>I9J2-Y(}z zor$xP9XY3q+ZLInj+XWQ^s@-I4HwCHkffI`GEO(A`v4lyA|)Z6-7)I*;3kBdPq7R=o=4WMuI_dM52d-R&U6Ns zqNS{CZM&V|P+F&$>vqCJQ8#{;>+*ejfQ3j=cm#hl{sQt3((i>rZekhF#))1i=X+cT zy%VB0a`=Fg!}SoLa_|*8;4$2%5W6tC!haX1-$Dv~kwP1(rWP+jAy!+L(S}3ydlP}1 zAaMW1j$1E}jfdhilN-yj%yZo$e1C$!6B&G_CUA%(a1+k-N8Y-9M{SS^@ z?#q%K-$Znmx$X)i^#uO%I6cpjJ3*2ghBHj=L`m)tjrKA6Ah3JxQ;6b^sqmNL^wo?8 zd(RYme__$imT1pwwB6WD7Xj&nC}Z%q5vO0YXctPf{41K<#S(2Ol(W5i9F25Ra%wW7 z-H5-b@aj2B1G_1<#8R9Ya9jiWEW9tqpIea{cm{O8=)?}IpjI+Xz&_l=nQE1$x)#Cj z!rwLU?Bn*P&n>QdKhA8x-%~hy1o9e$YWS5{LFmii>sgv}Ty`;r`g|AAVGuGq8<-HT z1iNS7gN(Yo>NrEeJXy{QD7DfX#+Oaq6%2JSyoO0fUCBhwfZT~=nR_lH?sR$|IM3s_ zI*c#0s&fqj^+tQj`9~?xq$1vez$nld31>aB3z#Em(&d|@?$?sn3WSNAgcb7*vrQefVCOw?xwFToq${-iEAGs1vZJZ) z56zt3DdN-vlG6g@a`gBLe>ZrIJwS81k2x*F30{@=^Qyc9f>-5(%=QI{VY68zk((ja ziigY!XYfL{Yj??D84_egU5`9R7Zbls~|q+wXTUeBg&THSkRwoL!cn7T&|Tot|dd2fedD5@=ip z=U}GQ{&gJ2GKHrm0Q&;l-0jO^<7#nf{%>6Ar$zYhIjO=Qk635I{&8aCoiYk9!MX8h zn!B_|AGKigMFSD@Zt=Vbp4&BJHK`sgEwxT6uld!nM#Yr5A&vS$2>CxjO=Ama0d~mC;d#@I&A?`p>Kn)n`)oU@od} zpspGgQ#$ssd^b|0*k*I zC3_5i?sloO4@|V-#INCf5!%rmms&@!&NFam%>yxiJFkV;4!z*|5^3QwWALXKe7DrQ z-xGXe6uiS*3_gj${b~f?H}&n5i#RPQ50{|m4mYus*JyXBMmvnhUjsZBp)IsKTrDkr z7S3^;|G9LBUqkiV7D0#NPw$V{yB(3a-XGPCcV31v^{%e;3-@{?$-DnHk_7Mm-Q@1S z9Y6VDR}?HdmF@JV#+i)dNhf-o<{qSX#Wy7Sr#Lf-Mh;_1KXwP64)@LrSiW=N8u2z9 ztKpaj2mTp6iBOpso}^;R1+Y7ROPWK0>rOq2x!;v-z%i3v26WQYf3OU9_t7&a^UMtl zvu>!KIh|*ID}9AmK4P``0^K>A!=UAGG0bz3KZZyQAaCMiHHx!xFARaB5P-m?R5@@d zqA4jJ=||v~zK6S%9)NNyY$<*A5IRX&N-tjoCn!tgDP09;f~S<}aS*CTcuHQi;JEmJ zNS=~ca91-8OqIz~@|v4eo|4zXr1F%!mL`>_SZx@rwQ}V`| zRGyMI&ZP2`yd+P_n`kyGPsy9?{!a2Wo|0!gCGRd_u8^nX-K{mEJSA_PR*3SHy!*Eo zySSRM0O@4C>!B;J!hywUd?6e>%RV7z{~VnqPw7>NCRZUqiYti~U0KE|uVPxGGl=BQWF?z`Ui-W`V40(W)=|;E6zAJ{S+tgeG^igvL5>xSnxO>x_o!9 z8GnuJq*gHgZ~5iA)By;d?at7t&d4a+=MbFDdWYlKv=dIac|W`3YN#A%N7+GIOee?p zg|dVBr8D$nC-osx%nn%$nXk?c+sN>|^JRC^p6=xM>Q8pK_4`~0<~qWvEZ2oQK_^Sl8Hu1y>M+_dj|rr1#MqKOT%5Ytyz)So#DR+0(`GTy zi7d!j%QaA8_CW`Laz|tFIG($i#kqi1;qg1yo%UYJ?D4qmq^46|#*C6*`DyO?16}@B zs#@N(tClzIs^v|)YI)PHTHmy5@z))3r)(|^;FfKW7#>HRPY|!B1}3@tuw80yZ%5}< zXqZ+ANNe39B6P&x9f)*89O;*dNH<53>fd6den4s>#&G<-hFH%bRy)b6uUpW( zoc3;4+W(q68G+K%Fmc<6r$^kvI;=&dt>KOM&5nF4e+QiJbPpVz@5jk5#3!Xz?zzn? z_z=cdL=yO}kh4$H4!5B-u4!z1_x3@LHVe#t&)!1n0Zo#{%EQ zAnBEx7I$ECeaM{Gb*^rT1p*&-zk~?**S$Z3-oZYWNe^RX%UE_TqV~8D{#Yii_ZcK~ z-L=Si`5qPi7l_JlTx=^vZz4tS^bV>*>bXkkc`LnbcaqCm8uA2szs81d>hg0ksg;$^ zcAv6JKNJ5INcLU)U5;?WeUyx!k##@41Qz@rr&>u)pRW-7U?Vx$9bs>mzf)$4Vo zSG=0)0uDZ4dl%0!`>>;q#Ja|xkyD>~9D3s~jjUS90+FmrwUYHAU7+goQ}{D* z8-_WCW}YC!L|7J#F-Faet&130QO29BzXfuky8;Hb(NII1!Rj;f4-qbg(IsLB{Psxk(S zs*Hi7&%pj@f(+p3dXYa8IC_i}@J9kiUy+n!;OP4zb%G4wX!!&gz|pmmats_*83RXE z#=udPKN2{)S@NCdq}Fx8SkaAa&_>>J^g_06E=eI}-Bc=tRIACUe5VFIVV%~JSNUxU z>7|H(tr?`$n8~q>O)i9kXIDYUSq~S3oaL;Uqk0v?`ll6f2zKU#wvyX~!RSkH8dI%G zQb>a_KNsa`8e^g~>QwI;>1O{5A(XL=5Gqb3go^W2tT!~8C(e%%s?mILeuogsP8AVC z`PzDAf)HBCoz&bN^uYB{sf5t(qWnrFgg#0WWa9iZT)O?h5FsO>p4u?<8VqW=yBR7vldIA@p+= z+z6o_%oalE8<^#4!5d`#oFlccAbyAtnke|}WWf(GX=v0r$$}r4Dl7P0%eBZ0J`(>C zLg?38cIsK{GM2u&3Ev}BP_PZs&7$s(UoUgQW0Dn*XO{{=$m>u7omf0v~A zF;4CFTS*8_RLJFVh5R@|=w>v75JLHN7tMYv389JXZ;7)vLg)Y)P)dZ*g~&z-p(o(k zQ1gp^+GAJw4-rBW`Q07m#~Vik1^ssrLSLtyB!u!i4{GOD5<(+8jSzZ{RK))H1%ghtuRz3kU78`U$fqA#{D5{ZM% zC_f{FCW_lC$}b{>s_(x*2z`Tgk`Ou#FRiJaTS*8_*x4~zFP$PgIc|5h^8XtMp<3K6 z5<<^Ho#TzrZPTyDh1yC&XrfSkl7;G9UZ@BPx&=b$3>bimZa{iJuHtY9F}Ib3(8v<$ z=7VEP_*I!)gaq9pA@p5lPeSPM=27-rNeGRyH$rHl7mhBkhzJV$Zy0vFRD&9&$Xq3GXLKE3HB(wi6 zA@mQ-o`ldRBKG~gzEFt773x_VFW7Uu=IqMQDtl; zAv9slk+C&K2u)bCC~elngwPk6Jqe-zh_l~HLTHq|5kjN3FhZ!xd|-r7wI(Kns*DMt zDq}*Z+FBxnPKSv?2)zJn$~rQfmb^jy5Fs?O)d-=Htwsoqs_M!j+VN~_$CipOU2d|C zHtRW7k;Rx0nt@H|Rp+KVw2F+|N;>T0 z5wd7=e|i)un(I+L+M_bImJqs1vwt)_H_raI$*bXq2%(9}_JcH7)8>c}$~kOA2<7}TB7|}d7ZE}^^@#|foP0!tP|gG*LMZQ; z5h0YfuZR%Jdr3qHfG zv@*d4tvtCK;zexG$^;vl?gUz<@d5d zSrHK%bTrD0{VyD2Ht2b*24#a4aRFzk$Y|uT5G{&z~Ht3F`_|}?S!k@Dl+VSEh z8YN%?swRr*C0i*L7DA;hYk7-(n%fK7oDg76eN}P zcp~dbX`aD?bK@zjn$$yGaP}bX(i8zywE!+xN{JusoH3+^HE%^YAtn~RJwp^V7!{Ym`a^buEO zj0sg4V?tHNm{655CiD-O1>o0jh6$bCkt)W7E=4_*VM04~qKq-28aT#;Y6*TA6H5AO zgb7`M8VGs*EwA8km?+aw8&4D6`ipct2SMA0(^b!}zt84kOU&A0?~c z<76lJyU7?6ny7+Ll2!1j)mJh2QJ7G+8GFHc4Dn6fl*$+ry1(?G7!w**fnh>b#+Xp8 zkr)%IGRA~z;4NW7he&6PF`*iln9xPAFNq1|#S~#e`H7+!6UrVeKe}$Zud9Yz_uJ3? zvs@Q3CRA;SF`+7BOsHlaV?wR_!In3XO4gG+_r$eCOeim+2otLDEYCBO?R{3V%b%TW z@8!w%J}24UDpd%l91C|bqJ>JN5-l|M@1TX=fDDrF5#t3PoU58CRy>Ylz54==;T|}^E`AX|>%E3! z)sf%J-)OKg5@3ED zfU!dw@T~*VT8KdH@J{`)_`j*kl+KKz!FMIx_3p2tGir-uCrKW}?2H+@4uSCPF&q=j zP{%$XN9)}Q^y6ed z6zb_-h>8^WRgZdi$#?zAlChvm5vYpp)B<$6{P^Y25i|5paO(#V#^&}J&n_7=Lnn@= zjG3XgFabXNa9w#qZcPJa%nW@E>9miSp$)x}sC;Vpt&~2c#LUpQ#%ZFzcM9d6T{Zz~hRb66+sxC1@RfD_n zFrLox9jyK~#LQ6j2X|vJudvSMzcFTps{f{#8LIljm>H_N#0*tkVuq^zDrSbN2FJsg zp{ns&5@Uv{2FJsgp{l|0FlMOg6)`hZ^{SW|s`{ds8LE19%nVh1Ma&FUeND^^RlO!= zhN`|XW`?R>8#6;ygX3Y$P}Sgg7&BBgI3C6fRegWV3|0Mb%nVfxj)yTrRfFSU%uvu|3{|~8W`?SMDQ1SM-VifGRlgB4Lsf(0Va!m~;CL7_R5dsr=M>Rjrdodi z$HSPR>JN^`tC*L78LAo_4`YU^UKTS$RfFSE%PpxrEj&0L#tc<|a6F6|su~;*V}_~* z$HSPRs=@IvW~k~CGgLJ=9>xq+4UUH~L)|GHpTO-fW~lmu(_zd|)!=j(GgS4RF*8(k zi5aT;{+Jo6`r()vs`{~*8LArG4`YU^ekx{$s(vnJhN@m4GecFEn4zjS#LQ6DZ)}kn zx(PSja%LzeIpxeyE~1w+Lsf%2V$9H{Qhz08Xuax~8QNL&vMn-0`8r@ZGgNhn8M?j1 zFEK;a-V!rZ?O7W$Lthxf^tQ|ly=@}>OUzIYlNyviW`>?88kE6z*xy&D9~NC=hQ2Gh z#0+gRf$>Ys(CtMpim>If1?#$)P(6dFCn4vd_ zE-^!&6n#a^3>~fY7c)Z-!Q88T#0-6Z$7pufH>)$Rm>GJ~Se=L&GxQ*s&DotXLsiDi zP@Sf2i5aSU8~>Y_q5Gn3i5@u@lkfcK?2cR(YroqTn4!9j6f;9r#>`NaF*Ed?ER%|v zq1rofw?CJ&n~B-`_hoD1ZvP)*hVsGWzrzguxz5&NX6RF5?~iAO4jL}K_dmuAorBG+ ztzm}N?=1BZGeh~lb2&5g1u5T;XNJBd;Y-ZWPeqrQp%wcv{Sq^@QuL2!hHCwnn4zjm z%+OHM+cGn>rTA}|8Com;S8S0P+ClvPeaz4*=}-TAnW0^!yd`F6Pthf2Xn)ZqX6Sg; z|1vXF``?zCq1>*(_%LNl%+M#M(Z9qDohJRS#0;&#LUp=*i5c2Obcq={O>~JFIzx1c z8M<6_i5Yr{=n^yZTG1tD=q;j4%+NPPmzbf2J!nsf8M?FR5;JtF=n^w@KhY&-=)s~( z%+N)mOU%%dM3X6QcBUrNl-*Cc$28G6W`3}0e~t`=QlhVqLD<;>8}r&5=gp{->+EHOg| ziY_rj=ZP*cL+=q?Vuo%OU1EklBmJwy3|+Mw^D8k!pBG(XhBlY*C1&VE(IsYRVLIcN zn4$AUmzbd!h%PZh?-gBQhHemDVuoHW>6e(HJBfdZ8Tta2vC5gD%|(}(p<_gsn4w3B zE-^!|6J274z9scvVupS!y2K2TKpe#th{iHRiT%#0~o4MBU!^}{f9bv73d))aQ1Jzh- zFlH#{f#^M{h#9IHYYkUzgYZLwo(}!7)*#HIp{BXkfQbK}85;17uK$;qp?qus@jhmT zs>WKwo2}5EvjWvvYcOW0&hD_*@FSU_C&+9ZYYl=8JS0$EVuq^5+QW}zhAx%Xr*RAcR63(U|#BUrwTF*8&(p52WZTDd>{OU%$v^p=^S{GsCiCT6Jiw-Pf{pH_Z6 zGnCs@{}nT|rPRlNjv0EQjBh1osNNm6%na4pV~H863l~i|3l2s(M-gcp(~h(e9HO1#|*ucX_6V*GQaCr zaLaG^-A)fTh+UO?VFK=UAx{D|TIpcA=Wc_0K9pa18kSz%ZmKFPId%)HUDn$^D9R( zboUW>Mx~MeF zP^quzs@WD$sc$olW7{!}>0FtJP^sFAF)H<5sf8_}QoAFfKck3`+2r>+mx;(l9%Q3L z&`Z9HO4S7~{rW-vhft{;X39{hmoY;_rFx^0p?vN8MXxiS1z699N{zOIKdnHuzwAvG z-x!suGDf8yA-*vxRb?3}bvW{gP^oJjxDAzh3f$j^N*#mnP6v5&C+jhCgi58s9f?X^ z1;@XPO5ICSY41MBRK~i4|spmrc zNL1<^#*0v?k2BtnL#6%$~R0DmC7#NQc$TquuBo4Qdc8( zgi7UgAE8p~5hg~ZPDP*?mC6`;nVe^@Z|TcEK&7%<@FfOArE>QGqeFyBeGy5Pqf*x} z)d-b39@lz=N~N3E!Z$6^`KP-oV^k{p0aKO7hJB?I;nj!;mCBajJ=RdEtl)nYm8#cZ z36;7h%*uNE;i#{XaIgyHa5`PID;~o9YogS%P&8KO0C8w6WBvIYPOWTc?M96B2QK`f# zV9b-SY)ihS6UspvdK?M^e?pBSRO+D;<4B3Yn>x3=%3_pdVW`y0CBo0+2;37ZGp8(q zp;Dic2rtADxM^0(Ax5QsCc(bOvEJoAT6qvdrMAN9tXIUb-tEO8QYgA`n(xO)sMHY> za2E;4<&kgOSKiIJ?G>R?kCk{Q;;2>4{W*>6;btGofpr*`4pUgA5i0d=iT^+xpGeVf z$CpG{(`D~o@vau5QXO1IU=QI~?-D1f*-DTYm3jis>lEjb6x|$d43)|T;AO*k-*-`| zw1}@M8!DBla=0;6>gVW7ib`e15h_*OGdm)=t5TQYeAc@f$9k8$r&>C?aQYPd7ok!a z5ck>}QXCb&7nMqCXpBnbc%kFKuOtQwv;|b^M#fu)v9&sXdx~R=#=9dKFZ!NBgi6)P z*cMT#MWhpz#&Uy?YUkT1F11F)EeV(yaFj9JQl790!x`CShY#>ObKbp;C{6 zn`Jwri0XVK#pKyohDy~T8^ejAQkiUwO6Ab0MSVP3)bF5DwF?+3mAUiXy9kwWdO& zg9PDAW*S6B49;9ax{xP-RMB`A^5^RWGN$8$h#=CqixV5vnK7@}&SdTj4b3 zeTomx77Nq{v|5Z#oeLjDr_zOHa2j&}UlK(qp;IT|RE$pj5+XvU>LW2Ow$5n3Gvs|% zw%-S^1L#zHe2&nm(etyRQ&q<3RFyG0Rb>gCdNNIj(5YP9iO{KuXR7l(l`%RsdZsdT zs;24(hE7$9?<&rKy%(Fk)yj6g#AFGbnnkWLI+c$=hE8Rrq4o@&swzUKs*2F5sv>l% zstBE`s)SBG0~tifniy#I@1$Oku_m_+E*&Jv`D1mRAH1aTsC>L~FYC%)V# z)&#^QV=p@na^Qnkgic)|QI_JU*YtI9G;!TR$wlB$Qn3VX!r3Zz5PbiVPWGh;o%%bR z$a;UovEJq0irTQn#3FR6gU2C^|2WpW^*EMAlbm@D0VF3wr}mL310~AXI0{_|$mhZc zow|<%oQY#omzO4=wXEU{ow`&)oE(SXrcbC>v7uA1kPz2O2-fA}QHW4nrFya|dJ6tk z?7$H^^{SMLg?|-SDI#=gJDdP}6~}saOdMHU(zp_t2ZUm` zjnJukNxTM$$L$2oR9up&<;P{F2%UPiL^)5QaKFi_!qBNVi0`k&m%Fi{9KKTnToH-T zsjo9B$->FX1AL(W!kU#11&tyWH0O z)+^vLUy0GFe1AMbr_Ps%3ne1=d%qn~UM`Q&seHLSLZ^O0`^LeBe4mP@Ja6dKdnLh# zact_of+PPlQE3{+Kv`a4?3k$C&|Kr%y z<(ee-k;@`*<0$02?lC&`VPqPiQ^lQYjhx3;yv_55P8IhPEpUEfg-7e2M+!iv*3)h1 zRQ}i?LZ?c2L#K+{(5VvF(5Xi;d@YuE@-r*=gMtX1DmEB8^?fM}KSiviZ-Pxl?Gv}4 z1U9?BCWkZ@RJ4L0=D#>LbvcFIfnjBKFP%s$$*0L?DY)E$8-hDTf%H`bP=&JdX7)cTmfN7&?_hd4x{=MuL0T%B^>~ zVXP+T0A%P?5=hbhIBLe+_ti^Ty4cP|Hoc)!CrH>`N2@LZ@CO0oO=CZc=N&(oZ%bbn4?0?kODAP;Ow`0AlFWO%mecI0Uz- z%Zeg4vRUl{9)%Gqe^o_0oX7ZwBgVh)i6PN=h|#ILLE(o$IM%z|=Kgjb8raaOCraSc zBrx~Dza5yvWD=dqQ8GfO-Y2p7?Qs0`Cyp&cYa!PQ_TN(>!3SXamA|h-+J00kxF4wC zZ7fEo_QR_4zlKiz0=dTM)Z>`Uzl2WZ_v&MG>O)K>OOwBYPUUM^oCC_z>z^t(amM;i zj7~kB$wcVXU>_tSOVfX;pqq~ZbF)bG+vwDjEfvfk5I;hv(jB8yk7QbgPUT3+wBBb$ zzEgn;5R?8TbZTp)8>3TifG~8bnzTi9>M}-)(5Zv5u&(6{vvkuoehA^a=v0o@Tn>|6 z{^nWT;`#5QQ-2LxB6KRF*?=3&QgR<)eVFgovJcMr>cz6sVYn8RA!L%m>l4<;^y;B zgih@$=X>I)7LS5UEoMc==+r3^Y>znDfl;s+ow`s$9F1eWdrHZ7A*TSv+)DAi5XYwO zbvW`*vVl?D{fW`3s~b>k83x+tc)w(?pWhW}bj;Nv4hIQCr!o`vdPAquaIVT2I+X@; zRc2H*;&#h%g{=&o%Js7{bSm%DW$0AF=9JK>Z09m`D%-RSoyw&|{%+XNsWU~!=u}Qc z%FwBtZIq)^Z-SLrA4Zv_-`xv`^{}ir0IihuxLsQ7xxGketGfwVJ9Sw^a_dH+&!_5s z4tKilD8%#X#=VCt7>z+W@_v?niH*iv{Aa~H?5PlmZ=DR~i;6L3s9m?cU z)w=JwlU6*4MQw4~9o~w;`R1nYj$9na85PB0Yq_K2INKwjJ7yx|90FUa-Lb!obR$}5XdlXU#W?;YnM5qI)QOz%Y`op+}OGb6iqjco8xQg<3X z&_gu6-BndOjhS!_y!4WGQh%X^dpyGwXQNUo-RXPBDejf9a38a<&B7yQ0n=j^I;jI# zm-}@9X^6M6mK{dhO)*xPK_Mqr2fW= zJDyQfZ)22mPiT%P_|iR&^=@w*LpiXb!?ifTkM?fkE=eKEB-#8+&qKJb0>z!kFkOda z;5U(Rx(XC`Vn@c@#=Q*JS$dd2%hFdOPB($#4xuq{9_plrFkn~V;|}5dy}Q$+HEZz- zm+uTaPcsg1m_Oq*yc>7sFJ~s(zEFiQS4xl`zhn46NgmE;v`hBoIYDx^12E+kI$+9< z{b6DsHNV?z1QYXniTT3x?KKjYmYUy7%u5<=c^}~(&L6wV z%Lw<1RbR5f?q_gj{D5TK(`6zTq+Gs|;Jk=bNEJOd#bkPahH7)qOYv-P=_RXD{7rUm zd8Og}6w~h`iC&mus(t%SM#z4nco>93-~M~!*nbWV_y=yciU!lh;Um+p5B0Rs}o-lAaUGXiW&TtPg#__u>&i3S$0v0UM$$vR#Z(yW0InMJ)X@I=A zvBc$@8$00KfcXswe6)m}PJIp*aNT1>FQJwOJl5rPek1h2uPWewobH6K^alQn6>_{u ze}DiymrCrf7`uHNc%R_r(1Clu2hD8+z>e8H_k-S{fzeNLc`2q=&fXFI>n9TV40t+& z+%s8{-WfTy0;RYXe{0~??m$=~-K=MZ-3*kjfq!Ug=ACb>#VyCdm zhiGDJkCsB7a2dgTFP1O5H~W;M-H;m-RS^4tt4L?V~Ao7{b->Tj4*4u)84a015kuhQ%^8 z>-@L!gC00))=M9#t{ns9^_D>mlGn+y+kW)0_PDyIqhv0WLpdm*bIUj_mrz8fA zdX)X-gOs}f1}(?m2?*#PgzA;jyf39ewISr83^^s^u0W{g@OJ}3?!=H%qm$wmeytb6 zP0nx$65Yia$wwvkBX?{WBBOZi7u!uym@Q_7|C0k4#gDdkG}a4q6C`xr}Ba{yqK z5d~tjTs42^MU!5+{`k>S2b<-$lq)wLKbj9P?k6-NeblDoM>nSYROQCw$Dpo1Q}NXC zyYPnh!u}QhCj7Z$+`SIQ5WEWK`u&uLr8qca8D>dSq%qAsW=sB8(7&g9$@ln=yB~hN zQGJ7D;sdHT5*>|FNW$wGv7P(u_eJ~=exJajkBp&3Vc+(VK~&wEf*&GTfLP)jTSLI%Y2-=U?MZ;%18J+uypH`#!=&tPfGUrO{5 z@E$CUd9&y}pn2se>*Emm%IK^5r_j#!@9|=IHZ9?cFnb^T6*mLbOVg#>Jd@_2F&^jo z$ZLDgrTN~TGwf#enieUy0WluK-@yp+7-H>o7_Q5Fij%1eaB84j4+R-Na2aWFny1)p zA7Gkmh9a4kDaIVJ@W>+^w?@9o(dTfE53M9xpZBN0-CEqJa!&PzwP5a_0d9|+-#oCw z|0~iuZNBBcS>|(%KS2>B_fMpFBdMh}Kb6{C06n24;%>m7+VO=;J0`TVlWNd6(jnEL ze@aSfkRt}|AeH2%qKiwq)UXiNrBmPOQoLhbK+C_>8vhU(?LHTGEtv8Ktk)X2elN--RC0O z@CG!f2JRx|$Na2;g&(6;?XE4UcI@w!*T6|!Bg})XVuUUY0!fo|fxvjp0GXrEAd7Q^C@fEey+wmSR(l-Bq zm2#gwK?bJ5>v(l9ldwzRx5H(u#}h@Tj+)1@;Uu}MUJ1{!oYt;j$358_hivX&R9;G`AJOo9B&Ro?!}OkaB#-5=|7~`rQZ4UItIGmp*+mQVR)Bj zNa<9#hDl1}IYYi5=iKYOeh)GM)J5k8=;2xyPoW-eIuv(w1fOwuRNA3Z+PiRWCmAw^ zX>CAv*9IOTr9uM_=C>K$ks{lCiQWLP{U}j8Kn)(oL1t%(Jqudr6r)9tn1Nwzj5oIk z&LwBx{b0rZ_;aUu{hT?_pYY`0czD$eU(R-}RKwRI=-G!=_$MOSR!2mJ2V(e5IH!g; zlB_;}Hp3ey4R0c{>MJ$8N>mRhHN0A4?+&eoH!T?+mJBbzilO*(>$YI{_7}0jFVvpA z0wMQWP~jhmR9D4zuaZuE1IOa@k**=4H?RrQiF_evQs| z%HGK4qV(g7ur8DC@I2)HYn{3MUb5zdS33R^k~8OHgWSXS zLF7j@@-jqRg}*6?++<-C`Qc>bN6I2kVxjNT$X6iZZTLGLk;lc6?@30!w=D8D`y%q+ zwWaSz#C1nh_}3$Hqa*cl{ZKB~=W%8LSE1dHJZ=epN!>1;oF2zVcQpe#x3pW!4NSl+?X31`Sp zUY7k6tt3U9DZgC#88w%V-C6Q5w+?zdmrwjW&dtsAyN1?Z#KT!UoP@*hF7TVU7Ooc& zdMsOI3`1X@IsvBj+a9`K4;+Ti#o7KN;OajKhlzXRkVd;sJP?lFaP-FtqBHRX9QKCV z?M(Wwyyk?77s7EG&Wz_oH@)-^=p8;-!vY^;(&jXxb(CURo{Ohdg|)bw^no} zL|(G8Gm$GhodB(sf3jf7QA3veDx4~|S{2tcM&}!l-A}lHm`UHixxyd)JbUGG?q6im zSK!3%MCJM`*QapW-JPgh|6CPLw+ghV(|o%ah&ut@?aiFyuyeFMw!$AY2>}SiO~23+ zhNQhL?j_*S`pfxWDqE>12g}Kd6>>6DhyOe;bI_qjI%z+1HBb840r)TVPz(4BKpswt zKwR(aQ|MU+#PycrzUXAUEYY`D(Nod4Y2TZVLBqeOH-_Yj9t%(wA>d}JWipz=mcZf= z5ex2WCXOwEStxX-xk)A9W?Gn30&b?INhRQBYD_8tH`B_b5^yuEO)3F5)5fF{a5J?g zm4KV6GpPjJOwptga5L@PU&8)~fSc)n1q(_g;AT2mi3S9lSfZ{b2L)|VubJ*x=4D_d z;AVQdLqv`Y<~D+FFL%7ior6~~hGcrXd@VZFUJ1CF{_f)<#{@+tl_cP1#<-VATqWRU zb}^|0+{{>$O2EyGGpPjJ%y@Y&OtqgK4A~YbPc)n722Y~vWG1`(fkvwRJYZc}q}%*E znqs9oa~G>2N7!xVZmkg~N7!v zoZS$e?ToW;K{T zxy2R!B#a?^ZKKt+De$OsyCEp160MgwZqa2FOe9(#?YQ+O{MN@fZaWi|ZRR^}2bbm| z>A_5TN7t=JvM1y3SR_p#x+cASdC~*QlO9-}^bX}o57MODy0e+|{_YB-%5mp9q@2d! zR4YdBMVp_+soEQRAlTltI!L)r9m=o|#WoZu!@d-|P@oL^QJe_D_bc57s^&){kh+dR z2z4!q&mA3~J0^-zT!LGpgmcrbQ#?9S?V;+AiIh8|-F_^92HdZ{biN*&M0$2+J*sjB zJ6(F^+7sFz&G0kX*d2P|Ty+8Rz>e#eRQRVKjfqqS#?GH{pyS@argb{8tI?y&F}QU! zbvvI5-T8PPj=-Ty zyGZ@pZWrm&?IQi1+eJFMU8GLvfO^^5cu^cMq@5q~1NeqDj4bc&3BxKXy<+F~xJ+_HrB{sR zh>x2_j;QpC7?mz*^g$>|xlYp@5$R@5)tODU^V3PWgAx0~4nlQR)7#TZr;=M5X(8{fZ{w*A7{49b9_VFho;E z!dWaxDk|N-n*pluD{=oDV#)E&0*>J;=mc)FqMvr}hZLH)?};1v3o6~uxYH#QMWy?J zO(Fc?n{Kcm=Sqd(WsZF?4~=DYuojgO%Y5(wlJ_euZp+{h%yaz4CfmT8w(!rt#}u2m zL*Q;!={IwO3~VAQ-OpQ4{K~KhSup7Z|D3e^A@lf|LxSO@{Z+0i4#aQ8M zEuK_(B&@=JWqwxSk+cfG#eA!SPV6eTT9qm)9V3vAJ1y}_B?eOec6S4sxS8)i>0V}8 zM|5<_IueRX_n)#S9#7jkk`+$=I`*xn-Mx_rQv1?<8V*6F`(H&x3ASfle=T0P8qw#j zMVHU_#Y2bxje9*JpVDX(xe^P3c^kOe)i>DNS zvibV*)dGKtMC99Ngpv7EQ+mZKD&61Jq!PpZ-ApPf-Jh14Ef-=NHpA|gZjt>y63UYH z_b|UM!7&_VBH3L&mgMi5!cd9Jtf##1>rXeS_-ubKi#q_7@Hz`lRJy-+>H}8aAb~embbzAsf}o26#4MfgBZ%R$VpVXzcAU>M<$DWRI)z*?91twU{LEiva*$pc=Ua6RbMgl=@&&0U(exPpE=f&o992jXmF}-j zR>)OA6b)n70uABuYXhO!8rRQD&4<1nf=;i z_Pm}vU9rS?NM&ARw^qz=YxPuoBGX|G-7NmRQ3n`C}> zCG)#G%8w(~x~Q-mu_Dn@J}>0oV}1Zua-5B1G2o`Wf3Nv=aPqgZpWc^xl6Lm=A4v7Y z?N{x5&;psA4<+m6Ve_?Sc_g-zsC56))G<;K)wEOJ=fNw$v@;TB=VM7bBWZU2F0xZt z<^JO)y9B@H94z|baCdxeh?B}EQj1W@=v+^xZjMWlM5X&rB}?&ivJ}rGOYv+}3eEmG z3!K;NpErrl_3J*!{)N;aD)?&ZZsyn1|7+^aIKS5{kTu%t$^70(=J#ft->>=j@>ZOmWdF9wJlk-i#cato zj6@slYwws}QTtjXJLs(NZ|2)27|O}oyC%_SH}I0#l`e@~WTb5sf^PpXjrN$Ml!*T(-W^<11^5|!>JQR)5{$^5=d=J!=H zzptbG1eNZ8V{y?*2C>inGc^ObB6~NzE1pWVxJgvHpEla2O?W)n!sqMu@`#g3bEd=z zj}*5e9Zh(o(Xu8LmG1i%7uhdn_Cb0Bvv29=(htSiCsFBs<7DWnrdNJx8s{z}l zACC)_M5X&ZlZEP)EL87gq532X)wjG*F)E#fibNYHzpN`P>7O1C1JLUSq<6tAL8~{3 zO80k2TC!u(l0mU0(#;3QmhfYGeiD@)OZ58X-QYbm{Q|Qe;O~^~fmw)VpG2kmBa+#V zOlChS&R%-`&T;l)&FJ!q7-KPIq>O~MuD*>Ew{9e@b;nvvYu#~{YImK>BvI-91hcoV zli!=S^oi+ds999;OfyC%!HTU2BD2)GAJ*(*1ps+3%aoe!n<-sp9>U**7G!FQL-&O_7~HGkqtsFZ#37 zzlpO?qSF02$?OkIWZU2z8J~%2W-JfSkp}RlY6QSp) zw}%m^jKk6cT1J(TM5X(OC#^XmY0biWcJ4;vp+u0o~U$xX`KDN>}n^(Z6VeyGiwx;?w@EaR$DNaKqBx#=oQkkq&&D&1d|tjP0|#$6B_C%x*z z*f?2>x+tv+f%(Fr2P}5{)fU%!)z3_#S5>hOUY0ROLRPKrcU9vtNIF+YB&x*9idE=GoH=(suNmROjb+S~~Bun-4WT~!= zOI7R$JFknYoTzkvO$aJdyqe8MM5$x8pSU&!qo>7O3G{MgFsrOwG1j z$9+yRuX&ye%+IG^LaWvMit9Tsq`6d8^G7a}{wd8hoSFj|W__BA8#TxC`Tx&pKG)Z* z=C%D|nh(7-i`eXcN%O(7W+z@|FQxf-R&yh#FfXV1tW@(Do9dM`pJQrj+r#~8nok2Y z>v6*0kmgLiW)mCeuQF|}*@JOklR0e7ZEV-qWqw&R5ECB%4VlB$4B>gKvJ?8bc%miwd^n!b%+%aqZv>n{<$nC46O3z( zOmh74STLR!JQh(Ie1ZjGaC7@P&YS}IIUyb`AM^t(+MRV(rBPu;oU2+@Hd4g#LguqTnj;QoV_018L9_+612IYuKkJPXn zcL0Jt)NiDd`ZI&>$%@F|>%p0Gd!x+Q|H84&I-JSl)KXRhU&n1U!KxugRC=R{s=ORg z>5V46gKGj0R=MLad1y5GK~a@Xt2Vi5RdA!`a=UXFWi1{ZyHiqgxjlx6k0&)3sfygM zVL@(B_49N8+@_=&xIszv8wl&KYr zd+kPCu&LUs(FfACZ=uz^+PmP+)aK9)D{32IoXFO$?}KZm_D!T2)Ei-~uP`K5*UrcJrnQ@K;fJ+O6O6*OQ}NJ{ug&5LEa2zZ z47!}$XM8^p$0lan&)=hQf^n}MglSi*c1(uG9fb_M+H3F}mZ{y0>?>+7K-sgkn>lLK z{*j}5Z3mc+DxZR&RcqHE9mTj;t)~@2bgp{9cJTFHQ1zh8y5RmMdq~wo?qwns<6iZ! z%ZOYWAjZAw5tE8>uX@y^61=N^Yf>@pRgal$Q<#0&ET`&s?ryLOPb!5&7dll>xEn+% z#=YtfZbq{05-i5JTJ@xR6aM4&W*6KOs{Uw!72{s@l$Ag+?p06Qw$gy$Z8TZcGbVRH zwSLYTsKSLgtm?(j+DA2z#JE=-maKsV$r?D^N?|o{gh{J`g;pr5fg_VOa8$Ae7DY86 z82759tr&`NuR6x0V%)2aHK`c)s^d&5#=YuzGg2|`RZC4O#=YtU3rvjr7ic%dxL3W* z2GCBB#JE>|kgS3v#=YvJWEFgztb)Irv?|za(mKH>Can{E8dm`^?p6P=-MtP$D_nV1 zUzqF?jKkPf<)qkV>;=TQSGgt?<6f0Yy(K+JG456Aly=+!!B21{RCy)`6%Lw>?v{~X zZ1LU81!?$Jm>gM{Hg&vHm9@Z%aj)`ig>8ILjmxR3QR)%tjEZru%2`}u+`oo>;omUG zxcNge2s%;fF`vU&TD6zE1opLQ1b0gac6a#zOx3=w8g3Wher|)5Lox1E`^Vjnzc8w5 zFsT^#su|X@igB-+8FfF{G7qWXBY4bnPmFRst4@=PNZb1ii)VSBnQZT~;ygQyK%Qq? zn^~7%ZqmB^IVP>WSJtfuFFc!dbgqt@WCc2ByUOjE@_JV_UiL68aj>0Z?C=}^*c0w^~G}6dI^JW^(8Vt zuBGRtauaJmoi9!2f7e~sOWx6GYI@5vYkYF3IiTcz+uVg@>^t zgyW~cEtg|BHuvf{_Ch7MhvRZj?@X!W_Hev?w?@hB;e=eb2KpMgJ)E!)(y3Q+dpO}m zREsRBhi}=6z7w?C5m~>T;zzHUD9P<%lH49f`x%wNnj(BR+3-^xOv9ZkmigdFTo18q z8O-Vc`JM%C6P$(2V_6Iit$=*rd^-foo0Z8fL7Fn!6X_nj!h9pyGuSm(Ci@0&Fy&~A zWI%8W#=G!iOL}{pyc*2ZBohYVaBAA+rz9$CAWux$e7$7HZpy(lH0?a>C=_m9#)z*a(md=w2|Ax zCZ<9AI)hbIW%?qJ&oR9Vt4*&~a(md+^c6~O4@1+}D7igsW_pd1+rzwRBe#bI(?)I& zo14DP4OZb1D{Nu|uJDlH0>=O&hsA+|D#; zY9zOZJxznAMsj=D%QR?eCuX2~n+8p-=tB1~4Vv25%)g&$($rWV{Y_t?7Ixjh_i`Uxesha*itrR4T-lb6md$_CV&z0OB?q>QcCAWvWn_i~m_HYl=Co8!< z+|%^wN^TFQn+8oS#G+8Rw`n7{hx?iaO^xLCa6i+asgc|s?r+-2?O}uIE0o+G&NL00 z8p-Y9?DWYP`C@W=IM4iz+#Vik8niT$+rz_5->KyGaDizfw}*$DzF*1h;Sr`ER&sl| z(6o`;L)}kEw+DS~B*)rC=5OToaIxvEI1a0>cy2oC(F`_V6dNiW!sJ!&6Ly{zh_pcxrl;)Sr>t z!_(8(s8(`&_|x<+L>sw1Jj3!|T@hTs@$sxQ-%gCl?cv#`udFB>w%|x7JSTmZ#5Zz# zxYF!3a(j5L*<w2|AxtJA$F zFusx7!=I<~VvmvA!)w!nMH{(2T$6rn62q_ZgI76GxjtPj^u?IaG+76l-wTfkd?V)`@FpN8xG3qR*RC`!@=gO`?BE>le+634mH^UyY=BP z6J4;e9qweJd%($eINW5!sUX|m}J6~U=|VxD69jf$X(ceAOcH&z6@V9p-y zYI;*e@L(h8-Tn`A?*V2-k@kI`?sKMly3PP+>OKP;9ETB*AgE*$CKN#(qNrd36~vqo zF=9p(bIt)=*VUC(*HzcJCJd|Vnpm@IPHSBCG41=m@4CC^RPTQ8^IYHee%JMKUDMRR zE61*`>Qld%%ZADAEqmb{2D`o5e-kCkv7KgjQ2l+BY=D0q- zk=yOecsoh2lH2W0>V9#YJk9CZS@oH5ayo~%OMK^8j{h7-ZnwLt{a@l_0ZQENCiPJ4 z`$C-XVw#<$_N(HAu&!ZetNm+nvh6z1yQ_XHPQK#V(Vp=~(>VNh<76C<#&gs^dh?Oo zJLanXG)@lV^z9WdLtRR5euHN_d&m6wbw+Nt`^GaRe@bq*`>FqB+a}c^aDRa68@Ek< z&E4Rjcpq`Ewx!sUe8s1M@Mob&%V!7eOE{F64&4P z@ed)Fx02iK1#16DM{+2(tn7uVS9TZd!BSv>o@SoL2zk`j;Jm#BWBBiVvy zgO{pa)sdXQ{x4JgT1Rpn`@dZETOG-poWCnozuS>)&+YB%_!h~plH2Vy@$I6O+-|Rn z?-s4(cDpR*qq@+Z9J$@zpy92Un%uBD!n;xR9aED6&qjZ(`mU+TcW8L_H`@M`+-`5t z_Wj7zTFLG9(fGeaE4kf17B}q3{*~NrACH?wE4kgSRITK8`((Vj*eki+J{1oVt>kw5 zbUaG5lH2W{cKd8RQ}i9vTJ}5~53J{6UNK^FyPLf{AHON>Mak{< z#dxl`S8}_3Ddt1`Gjh9K75AROTFLG9Z!sUnpOM?`tMSn?{wcZLz7}64TFLG9_4r=V zN^ZAr#Gi{+a=U#q-fTM#Ps#1}t$2ZGCAZtRkLm1Q$?f)?c!p>t zx7&B)OGPWW-M$w;CtAtv_Wk%0NxzcY?FaD}qLtikKa6WLIeaCz+mB*LVpnpz{W#uJ z?3LVZKaCmSf!Wi}$%rb__gVaigs0?o`*}PQQ;&??Zoh~x75_?Zw_nCjiB@vE{VM)m zw36HH*YR57U&-zEpYc8tzLMMRxAA<@N^ZB`$D_r)lH2VM@m$eLZnrPdBe&Z%RW>F}ZnpyxM1o02 z6PEA`c3_fzm3kc)(IAzM+-}!W>B#MNaN_1kt?qd{L}h!zXC&IS6E~Z20dhJ9+# zV^w3V;Z~Wms>WKwXs*XCRb#E8J3p<)Y5K9&aA^X)m1?Xt{Hq0eylSj9tj^(2P>r>Q zx%@QVS~b=h3_tz1QH`~RO}Rd{RgJZVqgZ#S##)2$Qzoj$T0;*mpUIj&tThZ|Jw-Lv z8rpk8PfPgIykcLhHT>2>Z>RpT)^P1`=J!dnmee*TEj|iH?JZx7W@lizXsIY>3uBKV9_dq@&U`&V+iJyiA6j@)h!*Yx0B|0?dj zMBe&ZHs`2j5UsX!h!8FvKullu8vNg|U zFHCrY3hfp7Vf%~J{@qf-Cyd*Rlgp(%l-zDFQTtCz$tV1_b*btvO37EOFH`+ZDOtZ4 z^yR9*FC~|9d%QyRPo-oU$A5KFlBb!H+wHZvOwWUFJ?Y#*shF60yrw zuAkh(b$5fxF@mC6`d7#)_S0wnQLIZnr+U-FBB^<@_IxBTQ`%m5s^eJjnM{iH)n-+)1`;K{%Gl?SbIc z?ezY9^ylZ~j(2eaUV(9l-Ep;XNPtWl+Ty?B<$x2w z2y@%63p}NS5$1Lcd3E4=Mm%}(3#wI(HU(p3YYWHcn4dXOY zEFZ$yeVaCyQg8@!yI+%*Q6b!e+wo4fav;0IIK=MMvK0d14|8mWFqheo(aem$r<7j=y34+c8hRo>Pzgt^_h9g#SMx!w6Rj*zJv_Lb62+qrUP7N>o+l0(jm<4o27q>twWgGw^UXOJr^SAk`01K5l@eUabT_uW!t|8Bg}14 ze*a$ku7DUy@}v9ORs0BT2%dubLLYG&m)LXlC{AP)aDw}mY|o&_cziYWG9Flkw&O}@ z#cj2&NPgShxE9+6_TX=)wjRRYP6Zg$qBi~-HZD}R=O_Fc!Rs!RzQH&SMG)p~SD@tu zZ3EyZY@3X}Ucv|F{Cpf3^o1kDxmNINcFiYb1#S1E=Y(xL;sH@=+ZC}jw*3~3y3)22 zhOPFtuQAX)SZG^&08T>;+O9&H7KLqd(I*y_+PYz&Sk&0|0p>o7DurqnZpP~cQ(YVz z1g~=(f-rA81dorP?Hz<0wr#vF=j&($fpqP_U3|0P_i);}Gs0=KV}q6nsL8iS!(t0< zriEl(WXWzBAOLQ}h3YOm-x?Qu#Qp?fZpQ}`*&qM<+Ty%yaj5>b?)0|>m)bVL8gN=Y zBZj#nmldoG@JwrRFc<-~3c?)XSq|0klz)bpdCXyixt*!f zA%4@ zd~qdJ3p~TyC+G_|J^zKS))RuqIQfR#J{QiKgu2@OK;+}E;l(i5emfB!o)16e`*V-P zAoxP~5^{}Dd%znt*+YV>U~olos20CNnA^j|ife-r=C&ST&h=8goSV}8U>^K8ZGtc# zgh4)AE*4rhKs_|t6N682ujPP!4lLM{(&pK6!0s6APgaR$y&>1xDFJ(L{n7Afd|EI9 zHSPQ@mIlbfvG_Y(r9+t8B`O;W)t}(io)LVHV7fQirP5fqEuSTc=z+F;wgg+K@>zZM zoM2PL5tsNYkm?9-Pwv?8>OfvY>mgq%R4>7BVs{G97nhgf>gw%wm|VTxhI}`32^Ol0 zxsC1?J|J!%6}McM{JBcAT%@9(>My1L^Fa7Gv7d|FB|03SKrKe|EGE{+PYm7{v!TL zXtpkIyiw)+^2gB4a^W&;?z}w5MOuv__+K1u0{3xg%gq0R|KMK&;gYWV2x$dmp}LZv zQWu3MNg$`=+B>+60}vnLq;(g(1ogC+h9SC?o8nw1W*%-BVQw#%Gi15j@aeSn3jOA# zG2yfJ?Uf;?h$mHiIJ~_|KTmWBb9;4oG@5}!m~+I{UHO&kno!JptO@gVVLKv@OZ{=} z9q=}yD;+lBb|e0)?p%b!<>C;}z2C^F&~`m4r_dJQ5fT)t$99E_--cVmb!%5V3LEVT z886&8@H_Fr8R8!j*xNJ*=&Ie|*4`fO$NmIiZhtRhi}QD+l_k@r$3iz`V>n@ixqUnw59`)G zgSpP1kfGCM^+`Xg=}83o;Cfn{Kx50?g8j3^jv6mi`yw3sOn4T;tggYs#mnJ8V2(@Q z;MzMdQ_`G@i5ng4IPKLr+>~AoTj3%u^})4wz+0|TE`{oMn8DcB!wtoDGqL3jSXXLX z9BA3RcJWrYt2o(HobcCH&WVf|JacJg6Jj{39p%QqMc{pP8PfxIz}m7@Gs663WT9y& zJn-(gxQYr*{G8%9Nc9!VM6^|o0<|ZVK7mck0T}+pglZ@>@%(~m>f)grxVBs{rd*Os`@PzWsx>r|-)2W;Bw z)UL4wM{s7UspZI_1$({PRazF-Da3X!VzA3fT@XQa}4-T|-gH}hJs zo0wGl@kI2t(oN!Ig*f3Qe{oW%4rJSVN-M?o8L{OJQx|}kWb7U4ni{`&RR{7)%LAn! z#Y=#f5!a{Jg2{Ok6aNOKnO8@fB@_){DDHOU1`?MxVk5Vu>M|>=4+=xrlaP1xN zCc}RdSamXw|Id_85^txAw`IOJiJ9*qT#1Ph=Jxs0o#N$Q@$%=)3!C7O-wUf7bcMs0 zN^gq8_i(KQ+%@^tOAC$>=Jw@MFrEFxxH=cS`_b%rF(b@vrJ=957$h#ZEGMQen#I&v zPFh6U!M-au;Ogal5J2~aITFCWSpa8c0f=9bQqURzQ`EZ-*%ASaiV;9-!*U7WH@Nl= zp2|FnNh()7^94EKW?S8rXTW_LUKfAwh(BIemwYvgNg~zwcn_kw%RqP;&`{Z)1L=-y z?|?U6v?v&1ZU;52Beo;OmbWFFgL=sSC1|fKbPZL3D^(sXg2Qx2VemAgNxqLAH>Cdxb_Zse>3+jw9Hou)vtMm z&^P)GvQ}N%4d(vQ7vk|-@yHvWd5`jyb@g&CjKL9qWnG=m&-dZcL2Txu;_Zm&3^t$7 zQ=pBa%@Igk8jouw*d15?bAd|L=nQlQ`?$3`d~6aiKRqrj#MSjX-Y<1N*p-_liMQ&q zMtB$-EfWtni3eVs;|dcHVx3ipIMwr{(qtDqr zBh2j{Q3Haj{+(wu^IRGjVQvqI4%v}&zW`U4`*UG(ZQ?fMKxg;M%5ZydbfvhxUfl8& z_C9tib9HG%u8k?Auff45R zm}oE@#HC@G2i~XcjG<6Hi3{-fXqq^ifot!8w-W1}Fv8rP81YbE<%4nT$6z7(qChr!2< z(aYlFb@9Rbz4BtDA97De$HHgp7&NUW`%LsN4n|f}p7n$IiyzE$oxyC(t@5wY zBOJ`0maNj8h{^uP;YDamM-%X3a3zRZ$r}TW4b=XtJ+F zXL2yIH2tcWc`C^WbDJT|Wy$vS$ZcTr5wz3brMf%(+czRMw?2qLr)oclzT>bMVQxQ+ zc%*+hoVnZ;*4E>B7Le7tBDWsX!coj6-V+eoHp8@qjh${tdIB9 zf6*j4gt`4!T6%@*dmL&ZF2ZH&R21DVwmE(f!sXM7nbXF{Y1*oOSy)O|TOYC|=Fys$ z!(_X=yY6*3gt_gZi_skk|B~7ER5``%gw#|{m&1x|FO@S;W*Z{<>NKv#)nYcsCEg#v zalSD3a|m-gBp$G<=51{;@{AS}+I1uxZ1IP@6R@tTlSB7;z);nT!$K3+(Rv6&-W@i@ z$_`i3u=ou`(!`a+TXAC7j;MLxs)=3m=W}uwr$%$>^5=7+=jrAW~dj}i%PFlA_3u?EkB`4v&+jwe~4Lh#> z-G;#X>M9%E##5V0hcLIjRpKRR9Jj^xgd>Pc99&%D?+B59OgXB%1+eW^W-2y*?T4!y zJy*iyQjFq(vv!{2tX_UWoV}7c`#5!0sIJcgQd{|3aq$zby@SSC8c3na2y@$BuHsHy z>V<11U}`%5Ni?|2yFaaaVB8#I`;>dnMz&=b@Db*A&GNMfn+FL-nA`qkj)Yr1Bh2l< zGAEo@Wn?pDP?;0Ri@@V5upM0H6}A*%Zike4{VYY8+jYwPoK6wucHJ^Rh53l5I|+V= zmARf%gt;AF<~mIg=5}P6mlF9mvy3peqss4zbO>`hy3A9N6k%@HEAwna*1z}U$He+& z=Ko-Q7b>j!f^UJYH7_spu-34L18!8^amiJH_wg>0|NeTDR9JSCJGF|-=1I@ zEQ7OwaJDf!1G-|+$O&+_30Ec96@w1j6Kc~{?W`ILYXzTi=;MQ-@O>Zt&PE6yB80&R zVH}6>N8A`9p0;97UqY_U-?#)5K9?|NAdICP#;o8$_>Yc>8k2gB3j?CH>;0uOxvL)aT`zEDpGvZo7hV=%lN#3}!t1;`TzvpB2)N#bEJ zI0Vh6a6aU^o3&sC1Gk3$hVLK2A2WW+_h;k&jkq;z&cX10H2=17DDPSZ$8corQ2-dy z_}QS5!d-C7i0Lo_4Rs^b&~vb4AKcCncEH)t3p2Sdq-NbrDqLM67eqg4kdaS8?o zLy;+_JS>Lm{(GP_fVmjJ6U;ksV;G8N5a+TmiUAT0=RO?5Q!t7F5)J1$Q8;*CR8ryN z5!i1+GGRX!!7xDL8U#D)tf+BaJm>`=QTjgykZ9-xNHqK#K%&6|NHlZ;BpNP01?l^b z0ExI0AQ8FYg-0>Q4@EveBJu$ekq?lFe1Jsc10*6JAQAZhiO2^?L_R0iO2&;ME@rN5{;bziN^7lp@E_02tcB7!g5h1x1Ram0VI;~ zJWL2cBAF~k21q1R#mE4Oq!S>KbOI!jPJl$x36MxS0TM|kKqBb`NSHc+gy{rGnBVhA z!a3l1tMLF5#sf&0|2aUyWB>{C9{>`j4j^HCfQ0b@62=Ee7#|>!Ne7U~qytD8A0T1= zBS6BW00~nEkT5<#!uS9Q^B(~cCIv{CI)H@n0TRXsNEja=VSIo@CLKV+q&?aJBr@p$ z62=Ee7#|>Ee1L@U0TRXsNEja=VSIpu@c|OX2S{Yn0VK>&-G_Am3F8AK%zq1zFeyO7 zWB>_M50J=&;~AKg7~yyZnRGk@;{zm&50EfEK*IO{3F8AKj1Q17>BhYSNEja=VSIpu z@c|OX2S^wnAYpufgz*6q#s^3kA0T0TfQ0b@66QYwBuomBFd0C?tjM<37Zx(11)dTk zw7^rT1?~eRj1Q2&2;{~cybOGVdALad5+(ykn3NfTorppv+?UQKB}O=aL?#s=VN!sE zsRKwDA0T1=BS6B`0VGTckT7)s3F8AKj1Q17K0w0w014v*B#aM`Fg`%S)B_|;%8Y2| zvPgwHVc+bid#DZ|kx2&?Fg`%S_y7sBllt`l5+(&mm^y%jnXOLUtG@9862=Ee7#|>E ze1L@U0TRXsNSJzngxOnTm5irCGoBJ7G~=n%jQaoy;{znj{#nKaAYoE~gsB5a7#|>E ze1L@U0TRXsNEja=VSIpu@c|O19w1>-W`txp6`JLg7@=8CrDoX&NEja=VUFv}G6N(` z3Xm{$014v*B#aM`Fg`%S_y7sx10;+OkT5<#!qfvKOv;RqET=-VoDw56%c*n#3F8AK zj1Q17K0w0w011-=NSG8LVd?-9=5oK;`v3{!10;+OkT5<#!d#<4Ie>)80VGTckT7)s z3F8AKj1Q17K0w0w014v*Buown!=6)@vehwgEQh)uL<2&lF+jqk z00~nEkTB`#NZLhwfP_g;N77RB0TRXsNSGWz!lVERQwNYR=`lzepAV2Q=`lzepAV2Q zK0w0w011;GgM>-g80;&W6d+;h020OrNEja=VSIpu@c|MhlEW)_v6GLeHa}Qb(G5A0T0TfQ0b@62=Eem>fXDqyPz12aqr=etbSa!uS9Q;{zm& z50EfEK*H1mBuvVTV1Ps>96-Y401_qzNSO9cfQ0b@62=Ee7#|>Ee1L@U0TQOa))K>5 zOv;RqzLW~>O9QoRv@fMn`_dq_b%+7u10+liAYoE~gsB5a7#|>Ee1L@U0TRXsNEja= zVd?=ACS^uQrc!}(xffx_*Q5XmvwkN)!uS9Q;{zm&50EfEK*IO{3F8AKGKp5t011-< zBupJZ!uS9Q;{zm&50EfEK*DV0ce;9jgqfgqBn6QQt=*Iup|zVztz91=VSIpu>CkY8 zCO;ODryM}SqyPz12aqs6K*IO{3A3GssN8|MOpU49uk8H%{)K%K0w0w014v* zB#aM`F#BszXzq_;Yu%&(2~!7iZ|4l(O_}_36laOOdUYNoTlZe4sA0T1Q)aa|pwe5)B2S}K+)V9?nE(ee>DL}&10VK@%e&T$9gmGs@@y;aw zqRsdK3F8AKj1Q17K0w0c01_qzNSF*DVKRV($p8}Oe+-Z?bpQ$D10;+OkT5<#!uS9Q zb3-;7wy%ji|0*kT21uA2wY+*J43IE6fP_f_5~dCyVSIpu@c|O%cE17m014v*B#aM` zFg`%SEe1L@U0TRXsNSGWz!lVERQwNYRkNXYI2S}JF z{KD`75+(Z$dfm<0sqR9hDGw1DT<6)*MOsPq=o~#4X=y4J2+2d;<~ue<3qeRs;ygkr^thCicOe z@8S6FqT-VoDt`*NEYhzKD-Q?XigaX#$|C`L_DpJTm$FqON@r@SlU-Bw9yis5}!ym@}nhhRU<**pV43 zKAEB7lNl=YWQM6+0zzh}yfOvxxDxQm43&fY5;)i|fkQMGS^|fv)Dk#MGo>YPxL*SE z{Sr7LEde1jRD3c+#V0dVd@@7DCo@!z)kHcnL*+P?j?7T0Co^n^dUIrk%IjPKt_XZG zL*;Y72z)X_B3^@K2T62)@mVfXNIMpUhD4$qbc3$aR*I87hHF zM`oym;il4p9GRg~3|+%@WQIyfr6V&`d@@7DCo@!Hb?nFtl}25ub7Y2!3EQMGIx<70 zp3JZV(pN`js7#V_6f#3)r{Fmhw<9w^aC4XMS}VH-F5&Li%az@NyQN<^GDBrn*8G^v zP?@dLkr^sJnW3^r+Wau=J&I89t2K^u2Kv&_%4yPxTz&gwhRPX!eV>`d$z+DgQmr#> z@@J{kCV#d{t?zTRt7?6pt5WOxytKZV%uqQ$>-0=!s9X^6NSBfsD)nTBaVRYzGgLka zxRB#g6Y2n8Y)U5Ag1I*^4F$fn0#^YvGe`aj)xGNySaLwg-3O+PoevNW>z!|0i6#P8Z{!acvLYz_ockU)Th9`{KX2 z^f9jO!H;~O{WtSn+ztlt?N(gfZLt&ImpTW1#KHK?0sCv_sB;&DH4%>10H9%e{9g$; zq`9d#*zN~&dvHd2r!G1Pa%+xG01fuGi{L0OU4d&Ipuu(m8f+(^!QT0>IDUd1E1=;; znB6yU@4?i}7X*j30$jh$?8?}tulrH6x@yMV_Fw?p383K?4uLBje%BVeY5#6l7mPaP zFWfr;4b-tWv;#Cy2Qwg~SJF1+P4S^3CLzg^UN~W3+w!ojSUNxh`G5wRSUzJG+bW=e zCfLHNWrE>H$EkPm2}bicp>8psDUWYPf|GU)&fQGn0~#{v01cGxIXFN=CLN$5lMc{8=@x_oG>{Ky$fN@_kPm1eAJC9V2WX)0bkuc# z21<7(9H1eS4$wg9&V&Or(2wfZ0U9#t01fnW_{L-|b_ZynbZ5c=8YtAab_Zx6AJ9NP zpn+m_>;Mgv12j+$&_Fpr12u{FVqYBU*RugFAO~omu4<1%{TR?dIY0yD01cD_G*AxE zKsi7Ilmj$S4$we3Km+9f4U_{kP!7;QeY89j&_Fpr1LXh> zlmj%-0QIkc2Fd{%Clmj%-SS=qMns{>& z<&y(6P!7;Qlmj$S4$we3Km+9f4U_{kP!7;QIY0yLq4~w3i416lmj$S4$we3Km+9f z4Rn0*Sv+tvKm(mn@FfA|01cD_G|;IbDK$jJdz$6FxcYp@EqWCM(3TU7!i_eHwKm%P}M_s{knLtXazLTO+`L)M2?)_w2b&~F8)rm0vhPI#kE}dDWHKSjl8psDUP!7;Q zlj7^~8>9@-Ksi7IrjJKY~;VYnla)1WP0UBs8 zS+AAe%zy^U0UBuE_-@Ic0vad>XrLURfewnF5cdjbp!xCNL@S_y7Q`QkRzL$Sj6WBx zfCkC|8Yl;7pd6rqPVxZ_bV~eB2~PnHlmj%-;`m3gS3m>h01dPx4tC}8Q$Pdd01dP> zj>TR94U_{kP!7;QIY0yD01cD_G*AxEKsi7Ilmj$S4$weX z$6X}93TU8fViK)@2D&b;iB>=ZEsNK6+5s9U2WX%ipn-CL2Fd{%CTVfChR!Zk6#-0S)vLROtW>d_V*FfCkC|8Yl;7pd6rqa)1WP z0U9U=XrLURfkq{}xz^|a4KzA=R$99P8fd-bWEm|L&_Fpr1LXh>v|-|AM~fYxfi_Zo zrUNuk4$we3Km+9f4U_{kP!7;QIY0yD01dQ7f;NiQb+ZFBP!7;QIY0yD01cD_G*AxE zKsi7Ilmj$S4$we3Km+9f4U_{kP!7;QIY0yD01cD_G*AxE zKsi7I`nmlmj$S4$we3Km+9f4U_{kP!7;QIY0yD01cD_G|;(;ds|UJ1LXh>lmj%-g$Zv^ zWq=0C0UGFHIkpAmS4#d>!zi2sG*AxEKsi7IEQ_f+QdB_ z6wp99Km+9f4YXXxzZB3wQ`W!(!~q&;%5(fM;R93X$_C!E;*FbY@!CsQHSiJ-UhNss zKvy^L_88vm8PJd^2WX&c8m_~9hJQi8fCjo&eL6q`U8m9k8tD249-dP`1Nndk@&OH$ z12oXo*Es3RY@slLrgF2DLyM>=FO-~g1~iZlXrLURfu^kij}Fj4)Ar>+7|=jIpn-fq z1Nndk$^jZ^yZH#G4$wf;Pvsk(fCk#(Vve;t#`5X3LzgWPD+3zn{4)1`PC5e`=mM4Q zFj2Ztr2{mO4``r^%jde?v*dLgLqtBHfpUNb+Oa1hb$|xi@n}wfOd8ta;dnXV1Tdh1 z+I4})0UBrxd3E4=M{Kyp#HI|Rs}TBj8i$bZHoAMh-N&%vGM1uw140hj0Dg? z2Lunfjl4aacmH5%yIk=01dQR&;q9p&_H8@`4Dm#9{GR<$^jZ^T(C9! z6F>uv4{l+9eEJ>vfCkC|8fcr~1UMBy19b$C!t4MI5Q8S5cK0Yy256uR&_G88{E-C! z4U_>I=$N2_c9lkiZv+I;K)Xpz@WVz5b(R!x3TUA8oCgPJARo{`KA?g23S1w=F9{jY zKvRQ_ki@vOIj-(o3m&YR<+2}}xP3Ms!Y2JBfu zOsu#z7|=lVfCjD?0W{G3;BojDKtnrfN6rUJ0S$Cw(1CjbS|A_LKsi7Iof5Ej2WX(v zg7Y(fi=_dgG6m2;r>k^;23n$00S$CUFatijH_=jQEC4jnS&|3<8t7~Z)&UymoZxD> z#7Tmf^a!AV>HrPYL%viHKm+X*el0Hl3s+ZfgxwZbZ?~Z=o4EuXpn-M^d&4d+t%++T z;JW0`Rhs1@6+IZe3HH09W(CkddxTTP$ByEIE1vg$>U`8i!GH#u7oI2{7H1xKbEqyk zbsiYdK>LS$3S3;eJM+N1N1ZV^Km#2Vz9P=v!nHl%4W)V~3}~Q3!=J@T5!*2BK^0dQ zEt?QQ256x9VSn6;OGCsVFB|03SKrKe|3?4~v?$z7{LR7D6*X^EIlp}DrXwYA88&xb zhH;S!pn(>LSBd{+ng5sngMSH$OSH9036|&|RUMj5$C9rN;;WTfl$@x(DC)An6Qf zpnJnPFykvcT-$@Aadmm*;nV>d=z;Jwak3Ow*HC_yIg{olZXKY39uEHwOE*t?B%A>= z=WR(lqIxvs;CYObY13n&8?qJ9K#zwUtOGRA6EbwVtUl>yHT|W(KDg=u4fJP;oj*bo zKm$D!{sUnOpn+ZvCt);>OVe>}5B9~?1+c~e@j$4Km(nj(g7OiOqCAMKuc9RKm(nn(g7OiY?b&?E(03q zoYFi_f&d!m{1UHvxOb`xO5Quwg(~%(>LQg6&_EY!s1DFTm#B1r2D((G12oWODizQ` zmzO@~BnY5^t|{>=5Ca2fx5TM|G6 zJyyCIH{#N5xV8tp$>7rP{}`A68t9qQJL2sl@m9jCQJpu5neQQ7iHQLX^n9s1ZpEcm zT-$@SGcRnyZGJBlKm)y0+Eg5l!?hA{*W_0(EjR`=(95OW#l^hLg^(p&FJ?dkRT?@0 z60V$X;V@*_6H{k7X%XEH`>x!81<*j<8y=A;o|GuKGX9YTAbv%55(@y3;Q-Fu0s%0f zfm$0Hux1pO%DA=%gK>4Si%BY1Jo5#vxY-Jzf%-ITEdI6-f4r{l{E0~-)dce%ga8_7 zK*Pb}#7lFf4Yw-VqL5dk#N(1wS^%j4pOff25D zJF_c*25OD?18xB{(CX1Y#m|qpRs#0JJDSb+q7ynm1NDx2;7(jx9oP1N_cwFjLd$%` z0U8KDzvAg10~)A*G(|k_ARc++Gw)HpvKBxC4UYILYXLOS@aS1i-?m5tjfg&B^Z60X z8%5VjfWN}E5n@Z0S$CabcT4~Q=Hv6!27hF zF*ra29Ut8$&hEmsJ>adxdM6BMpc5k=$_3CsCr59K^AE&1@0_|MxB-X(4Rl&mnj!U% ztBaU7KwVdsCN``c*%d$oofQogx1%$+y!q;SX`NdJG|>6cF5-3%T-$@g*qsb&Y(h!$ zf~)`<=%VNpad?I}#`zgj*t`pxkif`VEcD`k3tumm2?sLu=&_EBkx*yjI z=7%DFj5$C9t&Dmi18z;q2Q-imXrLURfu4?-L*W1o^h`91gOSw~AJ9NPpn-CL2KsB% z4?Z2BfnJDi;9wZgKt7;>d_V)`01dP%+K+<~Km)xJeagYe()6oh=BXqD8ps1QP(7gG zHh2+01HBQk*#R2pgJ?&riwmHEK8$#z8Yl;7phCPSTslAlHOK8(c6a%-V&=5*$>ih%8psDUP z8psDUP(7gGGNeTS4YXR!=D5WB1NhZ1lC`D-G|-UvG$_g2+G6AxEhe-cpn-CL2Fe2( zE=CygvY~(m8WwMYTTNU!ycH*Q?TGqHJZ75MHGe)QcL8YN(&f+RL@S_yH&{h8py4aj z1%9uG2}xYy(FjBUxx<|!E^(ubOGjg5!s{xoa!@{ho+bV>Km+e?@kcmv7k~zSNt&E$ z1vF4&vNLYQrQLCLqty{Gxxw0vz6@v}lbk5d7US9;TP$~%aQU2ts=_U^Q0Km)ax4;R~`aIFMOaOFRV29fjbj{`JNpYrk8t8q)q zKA?ftEHn3lU-TK!K>f=c2`>UOpn(RKIpMr2BbzCM%A7!61ZF@34KDKvTMB5PA!S}a zO92hEPMM$6DWHMYE%Q^D&y!(50}U&4J*R*M8eZl)O#uxwvdl|~DWHKymB)#6fCd^} z=BY>uXrT4VJln_s4YYpw9HbKK!^pF=JKm_$7KZMITI#>%9{6?on4s_=Yz8nyIoODe z@WdI*Tfr`W8pXzbh;TrU8XK`t1**U{9Qo)#LN82&pCN}GerO>W8E}|G_9+CToYlZ! zb!4-+Pyo=y6X4JVzCe;8fiGY$F7O2s_}alO9QwGRa5=k|tZgY-8~g=ZY#vBxh4-^) zH+9h-n1U(R;Vp(>tT*BG?( zdTu!m3L^l657yw-t+iM&3_j??&3`+{!pIYlgm(BIgTM1|XKREo>TKKu0i!Vb{5=uW zI$^LGY_G%L{cv#}T&yQ?3=TPxk8y8(j%0|ep;05G#Im-mQjdWyY!FPBd}DtOp?rhC zy>R=@ETl~(r1NlZJt?fsLN2ZQpf~~yl?9gGb(x`SIsVa%zVs*cdr&!VXDCj5N} zx4R$?m$C^GUNzB_Z7nGq!BSGTjihWI^m=^kU$AY+BiQB88%w!Q6#M5{ue}-Uo&E{B zuu1Sf=j3P?`wGPTJpOtaR5iygsb46m-wO9!@JC7T$3PdxoW;IRb-v$%&oA+JKWsk0 z{Y|A*Pm;8w_&1fboh+U~AX#sIS9m=|)&M`2u!eG2XK6W{0DcJmk}@h8<>SIS!w>6B zKdhw^)+qQWjOor{UF5=QM>r$#Hyt*|WnrD~hjl?3)~1rK3*Fiz&?sZ};-Ic_L2ZU$ z4#VFf1odhb)a7YVu6(YLpl*f}m&Yq5taqR{p2t;vwNyvggmjMHl5ad328$4AzZ0Xz zcHA8_2POaV6j(eQ^2&V&?yc8nUubvC>LTdPzDFC{93AN|64*@~7@Fl>c~bH&$Ko{s0es_GlI9b(J$bo%SmX_@b*_uh1B3%lD+mW zL17C?)!!vm!IUi|P4Bqe%s+T@^qF@<-h9~>PB#bU{v$?l^fLr6Z zxAyD~r+cKG^*Z+WsvGcDz-RHasL^%{3cK%BaKpymWRGwY+;W}s73tTzLT@37e@zC# zaQ>W)ndcrjc?_(#k^%d5wcdN<#Uo(-hWK6%>+z2vEz?hl8c)Vw@JX;HBHZX5+}mgs zE`Krx{IU6sjx8fP@uEf?zdbK$KuxT z=ULv$@=2CeF3lA@eE$NuEf2f5v1JE;NTJ5N_|YN!ox;RmL-z2#dw3w4EATh4IVem; zR3qjbb~suf*WGm78gba6fa|=+atUOIB;*4Qys*tloQg}OqOL&*<?CvXKJ9*)1Q;HcZ)X&Kf6 z4)##oTTjC2CHc4sdVML=)#R!9cj(QzBvzLMh6HGmv>eB)K_MK;G5su_7a@{h3C0b$ zIt&rHL0^VE~J709y?ie_For&&+zboK*3n{Cc zbMtuY-Cc#N*b){f@W#r$zvS zgI&0;&XTAqh=!3+eR~9jnH<#ti0MqO@X5F{;s8Xnl-0RV_;?ME;8>Yc)0sIHr_8DQ z7oqqIJFcHGr`|^6dasOvMBtCCh#CniH~;rCr@||S11vS{Nt9LNB`{tPt-U0~%gUW- z0I_>{;#c$q7ShL0#Xf#2_VH7(kDrQt{8a4Yr(z#J75n(9*vC)BK7K0p@l$c1U?tKY z_8ppBfTg9lU+|2`k;x%kYbmV8;iqCBKNb7k=Hi9%WXpL{*c}sfV+hv_Fvd- zH|bI>kQILQDulDTpgrlSX?(l6lpJvj{t?~t8}JplKc z?KgcmsscJK*=bmmuG$!FyQL7W4yVak{gINmbU&_LHF3)uOYkA5rr9w)IB^piIC1k4 zLCG!~z=`_?(MR?oWFWTRti_3Y7Vi*=?T4hBLO2yplNApmPaIjwjhiERe1P)cHC2*K#N=x8yzXay{ zC2&Mq0&;3v;-8w9_@|~N{;6q+e`;ECtR~W(nwA`=(w&-?)SsHxg8Fl(rX{a)1-K&c zPfbfc_lv+kH7)tlFM_Z9BKTUR7Qr_vwGsSNr8a_Zvm)SA(-QyGw8TF(EkVmiou#Ly zC4owJYFZM8gQShPQ`3@S=o+p&H7zNr97FreL38s@O-r&<(`bAA>_3Usu{$*_@lQ=l zOgJ39D(ve{O-t%eP3y_&`vhaG>A47HTm2ZuApChR+^C(48`#&zwPioc4=)F=c?3pabDUkWN-PYZgf8cH*hK$uFa(`Jukukb`#9q3ifjZ7T7oDB3yga9E{wB z@FCplvibtJ2@gdOUAFlxjE#rDII_z&hZsb@;Q_dEF?FKr1m)!9|bSbr*XnZ}b)EX9_0M&w<#b9Oz;yrR%$x>K#?xvaK# zs=d4|65d76ZtYi|!b(qT9az4L)r=Jq=8*DztY$hjv=BbJH{`a*7%mEagtiQqIE!b= zoeOa75iG}5in78vg~Q+Azn*a^g!}rV@8VJeKLb8Q@98@FS-6QyFXHN+=byvm0^u}Q zIE#g_2a2`pruW0D@w9dx>9^`zMp^bB2w&qbV;9Pt?3QCr!j()Xu)D!ihAmP}h45lz zpfX?*?lfKmm@Ev?MvX$rO}XC7t|LldairiYDxtY{#|(gHf0q@Pc`X{iajH_T(vcJXk~Smu$y! zh=x2c*_zY7j@k}M=5aDo_~6i_gKdWfe~^$zCU@=!IU*Q@2@V#_6U%a>`W=(3MBA*4 zlErL3e`5_!#`_`sgcsJI3axCSa(Yrg$Ea+sX`Ye% zaZkvx!Sj-;U6OCOV7JhCXD1&FhTKZ!oa7}e##gr1QE2bv&z#6@RPLXg$MH@KevzOK zPG)gXlhp6w$@VO#YJQJQZs&NXX_}8oj^#vdFOKm;uOR7yk-V})aH2u~?R#>NjO3_x z3}l+vcX5!ka$(MpOyOtYK~hPecMeXC+5Llod=`rHF}a-<`#usR-8lBy8vaVG^(>Qm zzOxHAb8dg(iF{+wvLJXErN%oon{Xc7FBo{IrjZ+u`xyi8)V#vUitT$}Y;C-a+W>0XY#gPX*}3vr`yTNs-v6Q72;yguL7gQpAS z?>Wk;Zn!Fy=N|wy?PioX`cNSp%jGfYWeIW#uFa*&?tPFG8zL^8%7~BxdnSrCv>za? zMcW70lD!1p8teneTV&ry__6Jea2sue3dW4$QI2H)*AZU$SB~Jo^$}#_b1)999LNP# z=Cz~BAsiEr9-D9>9m;7(KQI4*)nP8djpcng`G>zCE}P0vaD$rfrm@ws^q(VE$QabK zd^U%FnCebGbh(bawp;;SZd^gPuX4I2sbyVq@umX^8z^F1b_Rm;0aM z>W0MtZN0+D))6t`pwDc=-Nr^38!Kn>KvL$ZedTO7K`NBTZ4GtKtMG+96~g7*^p|c1 zcR09Ht{u4c2zJG_!fjB)?#}KW+*@26h-)`#SSMw!I2ncTbS{*~&%)it#V|Hj9_Ina zrQk^~1y6AVl7izoZ!7-<3C=y=oXOc(wG|tea`AlhhSJiz6h#wDI|wS3JU<^>zUMfEF~gO-3xfA3(Tgt4w%Ia{?ETW?ut z?j#X6can&kJ4wXNoh0JsxijH8TreE%b}upVn{o4gVmuX#P|f>`@hc>}`2aCqfkB|T zlSFLmNW}Jz9u{SI?hv$lk3?+mWD9PY2cw?sAJ!JtSe}qT-Sapn0UuSzrN6@D8VtLr zuqWJIon7A;!Ra5_L2djN1^dec+>A?;aIL<9*+kH*-4=tFAd}y5pd~T$GR#uEeA@uyxRfklZdTPBF_PIc8y>jUdmnO`ed2oEfm`~H~>~C z-J}brw_k9Is>Ll~KKBx0LB?pu=;81C%A;4q1(JvoE(>ywCWIvE&~EJbU}q$3gAp<0fP zL~MN$vF#)gSHE5x4I?gb!Qpp2sE3xJTOha*!7!M6?P8|~?_#5ijx5-WL`(}ig#+VS zpG2HV2gbENiP-uiVmnjIq^GNzowRCNT{HAa#MUPf+w>P|jznzt&|D8mDqNmEiP-ui zV(XKL?Os~=W0Dt#!mm#vwmym2`XplOlZdTPBDOw>*d8Dy8up!m0$+$?Z+WIa;yW-n z1?FC@_SRr7R<5|fSEPM`3p^EC;3<08k%(<7wZMH6vAtc3w3=+N4x+k4!|hpUVG^mOh$#4U!g78=Ym5J2txZY_yC6FC9I!WpG0hb z7At;UV2Xhz-!c*_i1wG@0eEQnCx;S;+#-98u@l2jv2G?mL$N-I*!m=5>ywD>RPo4D zC*Jn9(?ZwdE3TDor?Q%S$F|c|_7w7v-99`@I$|qVLkb^m=dwtJL$%r+-QH_ohic8F zqtjZSL~MN$vE51iGKu)VIOC`D@V#@`fczrkv%>c<0*PrGoDJ#xKARsK8e_Nl89SkeheNE{^GKHNVp2^ zz-8Gd5nG=`Y<&{3o$qJ)2tUgU{45{oXL(_LmQ(n!WH}X@ywDBPa?Lb`dL2B&+=kF%cuKUUQ(as6h16j zPK9PUMGtG1Q|U;=cBy7+XcD9OTAxI0eG;+tNyN63MBFluJzo^Qi*mv6cUibM1`O8* zF879$m{-~x!+)Y0dX2QVgsZaXeG;+t zNyOGC5!>JS(chLu|1HKb3lcFN(s)zD0^%^}JHo>eO|OCW&TtVg_VbI1O@BeCz1$}e z+w>=d4rONV@#Fhr8Xu2X8Ht!jtW-F{uk}g9nRJ9-d%qS_ze3CH+)f_|-{o`;wGV|` z;mbjnPM<_8kB>Px+j*P4oPG<@qu5vn4q3K+yDRCrXn@UZmPa?KH ziP)yUPaINcVG^-@I^+{n(YT%oAI);%lZdTPBDOw>*#6be#q(({1cYpT60z+h5x4vS zOTG4`a2jIm)zhvDNAZfWRJKndwmym2zN)#`%6=`2UY=#IrG-7A6tf zH^b*RzM=N*@W(7ZpG0hZ60!A3#P+=`zCWN_*!Q#eB>E3jR=Ey8)W~~s9j3zZHLXt~ z&ZOgO+LSEdNW}IN4G5LSBx3t%xH%G!Qu{}^A9CqREu{iz7x78NpgXu%Z!NX2vRw4x zruVgywCWLy>1nJmHb-M#Xf(Bb64btR|cC z)VNVOb%>rx#5O5@%hC6=<>KG6=zS8g^-09mClT9jS@hCoDt`3MY4nAb7X~3dTbz$* zFaTDICtwrSWw%8WrKRnYh^B)c^~zFuj3iKJ#Vl|8x1W+Y;6vZ-(+V%td~ zZfW6nfy|1_PPumNeMaKcideQBWD zIaaMrrS_#kYU@bEb}bDR4{EOLP7-m;gaOb)ic3-ESPfXG_*RxFpG0hZ60!A3#CEu! zsS$prM%HI)RDGsW(OPI>60sd!+yeRrKlq`yPO7Txw9(@wA^-09m zClTA}SstaQZSUuChcu6Z0=Atb;+A#0A^I7`$%qxv?^N7;&9sPp60!A3#MUPf+ugG0 zrHE(w(a-jy?<5hoG-EWhdlaAH=-cg_;q$rTy|d`0O83d4KRibG z`xfWOe5UGN9QP}_7ssCN$=pdIZebF!J)k%di9lfhX@Hl0*WP>*vGqyB)+Z6$!~E17 zo~7mu?oRXl)EtqfrqFURFDNZ2zRJ-LvyS|xF3WNDSeotYJtByMSzR!Q7hSy~yBY|qxjwPUdc3#s;; zVuUoIRh?H{6Due#aXyLI`Xpj|p`W;mvcyTNx;RVR6=<&ZlA>D(tkQvV7Zj{dBDS3* z;+AgQ2Cpt&kJPMIwZAUTL~2_1C|Hn)F%xV(tYClR?(JW&Hy8JTZJ}v9T-YSLrb(gc z6zGMiF7dqa+TxGUE>}K@*!m=5>ywD>az9r$WVvDzvHew6txqDhoh0Ix zOGCK6rx+s}IF$y~>gh}+g_f}=KWjCve zytvVJELIoo--`TR-*yG}?N^HY(%W_fKcQbO@{48L=G@I*EAs1E+s)hsUN7>yQrk+d zsyB-K9@Ex_=a_x7$ZrE}tN5+`ts>9V+dkzAdRwN=Z9B5xzsnr9?GAo-c}M1#Z5v=U z+rBGvxVBArf$=?=`n1jFc;A=FN84u{*9S5aXgiYM(m#|ZX4}jB4*8KhzS^GWq3dIL zmb8uLA@CC!$=lZF@%2*~R@+|Z+W$<3t+vZKJ^zqVqOCta0zQ|%)i!Y?%wI^$ZfoLl z`%>Cf+b<0;e^ul~h}MI5pM$p+sSDRjd!tsQ*Y+s1+<}_1-xTK~uHKC_tpir=_%Ufp zB5udQq8W*}_XOH@7&2YvPrfN75wr7@M9j|B>`27qk%&{}NW|okh*RZA#H1U-t>xjE zV5Q2Dh)K7H9f>$qjzmn`4@M5K6H*?65=)gM5tBzEPL(4OlYZN>Wg+|hdnDrS9*MZSMgazV93c@`M^8ggafxrlCCLqwh^te%XoOPP zqmxqE!%-@GbW$pNbW$pNbW$pNT!H3X2osC~Jvu3sJ+8VBQ7NSoU;RRKJzOGx5!W8U z+qhQt!37DqP408A>w2mfzsI#lkf6I&eg$KNO>lRGShhg)2>P=n`>*g_SPqffG?O6w07F#I+vRz1I67|6JH)sgy}ak0{}9LDuw%tj7ErQoi?;$( zg)a!sU0XA|(QL;}&Rx{i7~Jgu3n2D5zPSlgz&FPbLrATyq_wrzQrNh}?nvgYF{YZJ?N&SP7}Q`RPafN&H~ zS(`X_Lj=lOwYB$k8Ksc)+6eN4@SABaP{vc%d^}|>T|{zt%9@X-%%sCpX42s)YoFLim6Pg(Qvl$msR%38V*MvJY}t@^6F|`bM5KI~bpWOfHKQ6|X6=bdPOYpOUuOND z?VD69p0d_O^*KTE5(e5@SJjHAtaVd;NsyHAbgWfWUlAm);OSaxR((y7?0~0m&8l7& zBsWx`N%f6EvK3}GwW{iygJd|K)U_7XD}v-(%)4vdRo@XL7hvjB>!JFtAQ^>OP_3pK zUzW|rq`cNkHNGtSfZO|Os_|vndz}AP)hm&HOq*+~tA092W?Japs{axs_h2?sTSN5= zL1Hn?)cUAaJY}t~>eqtg5j>M?{ZzjdB==&vRqL<%-5^=OJ#2vL4^jSHeFIg08YJ6t zc@9$jMUWiN@vWu$n;_}k4n0`)_d#+to-ef_s(%WSXaw}ysuzXHX$E>7)rzOAt*aWy zh(|C$)`qGEGU7fi|6!`n36m4JK8LHmAWYgZSFVjveMy-7%<+#>eMOiI;qo1=`kF9l zVE^l>UKS>svHkk0Zw!;8xqLQI4P?X`TwfciUJ)kqx}jr>t$Q`n525j>~&n)o+E#k|yX5)$ckyWo?q`4;`MeHd*zjVZu-E+EmqF zgvr@l-_ulo6DD7Eh2Bo}_hIrTx8Lcie+rXEPTvly7ZsDO*!_;GPc9~Hn5EZds9s!5 z7UJPmo2mNDVq#hEtooc{@+a;OyQ;pRnB2nUy_;$vBVNI*uQp5d6~$y-%=T-uRbPYn zc--GZ^)iR2tj#HQ!^l_c3q-^?Zm;{Rz2Yfr2dY*)W$hrU)a`^Pp>o zsD7}Rbm#tasOm?G3I9r{c9`mw#pFJ`7S-G$PO&c#6I*h59HI7qDJB~w&;($ zx9!Bbnp=s<@RYTSi+|dl<5N6k?b4#%PV(>Yl(ox>*NXna;VElZ6#pt(@szbI ziw?-7c*@$<#n$QUU-6W+Yl`DUE1t4;UGZ4ail?kyU%XGW;wfv(i&sl}6i->Zp}11C z;wfu477y5w!&f|I?bpT2MJt}Nc2n_g(N{DkjHj&KTzpNm;wfvtEpG41Pw|wsNe5%@ zrFhEPq_4L~XLloGH}leY*{JxOscs_1c*@%7cma~lpUCs(YHdB04o_M0@su?mPgxri zyY;P}N#jWP_3@N7A5U4!@RZmhsbzRdY?0J_JY~(tQ`USuWzEM^)_go=?SHZN9)NLF z*WUQf+|}-tCEK#3m3+ZA?p@6VtL&~^u`S6BHx*M{q}9q5X;+e)Y$VxqkZepxk_{vT zvdD{WUEw z1D}FrxX$4DaA4; z87AOfM?%?}%{CDco>D}FrxX$4DMg|42a+3iJEJpcD2kjP$oA^tDMdthN)ZvBQmk^$ z$fNq3oY6leX%P{gQbdHO6cOPmMMQW?5fPqJtaS!pvV_7@iiq%(A|gDcD08MQkmKQu zrtp-a+(~ENWH8q%(xxh$J+gm#cuElwo>D}Frxcr==On%!o>Byz_EIWO4^Js-oQV?F z!&8c_&hsR!ho=+~;VDH#cuG;PkN?#L(XS9UH|X&71<^^E7_rAWRFD}FrxZ6hC&_d@Jf(;TPbnh8Q{ty`m=5&+(Sqn&TJ0jj zQwoHqgc5?^SrkOiCT%$)Jf(;TPbnh8Q;LZ2lp-QLrHBYmDI&sCiiq%(A|gDcXmw`F z{_5c=MVr$rVLd#hIOLoyVLd#hxYt>%!CH7q5fPqJM1-dl5#cGtgF5{kUlQ%Yz=(+O zl;Wt9Tvnm*lp-QLrFhu+&MHdR!&8b!oNFaL>ftHHW6s1&C|wUvDIRxTDB<^(M2|~A zeNQ;oN>~q1DV}t0marb4Qat6nOTv11O3~rGU&5a(iN1!kmrm!S64t|0isR1bB&>(0 z6i+*QC9H?16wf$ETuSZH!&8dqoXaGvho={89-dPC*ttQ%dU#6l6KAc2_3)J9 zMQ5Xg_3)J9B`3Wm46EbC(Rb3i^i$_u64t|0iY^`2!&8cr&iiG$9-dOX?0i(hdU#54 z%K4mx_3)J973V1l>)|QItIjhL*27bZ*PJ~Pe)QsmwE-+xZ#cKh6sg_XvdU#6lOXn{ned*yT#jl))WV#-n zQvBNaYYFS&DMgQSq{P?5Q;M_BRT9?2Q;H9rBQB@%_3)J9H_q)6*27bZkDT{PSPxGr zK6ajxupXXL{MPw<3G3l0#V5|gvV1)}rTEmjNT%!IDa9Y0J*%lcJv^oO%sEoRdU#6l zxpRet_3)IU*V!OpJv^oO!ugnl_3)J9OXoQ`{(5*y0bNMer-!E$e{?=C@%8YO;v45@ z64t|0ia$I5EMYx7rTD8;)5eVOlw#3ep@8Y(Da9gMJY_5?F(TT~#^`mPVq~nu%!b+|+|i^5f_l{G6QuNdbQr#dL*y%n2u~>@!c&Tf@RTAVJf(;TPbnh8Q;LZ2 zlp-QLrHBYmDI&sCiiq%(A|gDchzL(9BEnOOi13smB0Qyt2u~>@!c&Tiqv<>Z!u_ey zN61!>2u~>@!c&Tf@RTAVJf$eq=M%n$iA2f~;VDH#cuElwo>D}FrxX$4DMdthN)ZvB zQbdHO6s6Icc6S?WX|gpV!c&Tf@RXt=x>;)D@HJ3`IO;GD^SN z9zBJm%=YM^64t|0iiq%(qAr?#tO9+gr^h{ z;VDH#cuH}TPH(TDpK3)D9;VH#p3Q47frxc6-Op6KqepK8YMcZJsadU7ez?LX-@nGX70pTe{ zYZPsd!Lm<4c*+o@g{Ks4QLjLsF~U=dgL+OaJf%3KgIah>aZeP9XCpkN2oFyw!oyRF zi13uKbU~_GcuKK^$W~hdm^3J<>2$(RgomdT5#cGt#RXJI+jwk(iHi?VArzicgomdT zq41Om0lbk-gomdTc&!H(5xH@7IWfu7Hk6Zi8EzG|XBZwVdx##G;VH$67pPVlo>HvH zEI_Rko>J_OA?~N9OXj~>2enWt;(!in;VDIUcuH|=%yFM=gbYt9!oyRFi13tRftFx z;X_oL3{NQve@nH=jl2zt<}k8B^ReiK4iT3X#+v3QsAuq44mOB1ZT8Xg>uN z;o&Jocz8cX`Cs}l6co{?2FP{ z6~+7ZOJ%ASo>F|EgIah>@o)CsGF1ytDSn}YiMGL8QM6qs%3{eU-; zLJLnh$6KfE@O8gk) zQR5fE%(vrIUo5c4Dn~Tz@ye7%z?0!AL)%;`49-BK`}M z_#A!>3%=d0#J8YLyVdy8{`j)T_lMBi&EtOq&(!WXo2xH*n5HT3X?0{NH^zMHV9-dN|;VE6SXw>qQcA&bhBQ7jZKEwUsYjK|rVA*1MgimNMcNpZy zqAY)}Ij9V-e1%R|;8>r~!cz`f3wOSfb1@Da$+Qe}8b0L9>S8J<$$*S?bPweXapNC&m>l%hn^0hLOp&BP^=h#+bc)|W!= zTqau}hgkL!VoWXy?5Df%CGEN?x6K|-$U5>e0 zy$SvJnK~S+?htyRrFc`V!Tlh5udaAYUAf@t|BS**>~L3&n`auS$uoo1selZl?R@RY8xgK?iMPb#=>gE$ez>X4;` zNyn?SdGq2o^I;-Rdl=7n&S+Nammp(dkWLhNpD(2d;QT{fhF*@RZ^)DOf5zLQO=7h6;Cows!cDcn#hJYsYh1vQ}t&^ zP8vRe=KO>domy8jcXW*i__{>+#|vS zuF1*)T(zFcJ0d!yQQKYXND#fN{!n5cme{oADzR;@ualAbzWSm}eOac`2CP;V4F@PY z5h%Y!c&SnbP&JUelZPAxYO=Jtw}OGrD(I036y~Fl;WVB1`UIdfbf(d$evJ(h5wMA z#uK($pxA`kbep(GPm4>~YJpJO@i^3Wul+Vu;F>ZX_ebsV5ReFRf@`ue4%ayH1#60l zYb2zIc-THwqU1;va`{UXn`!n@=&QX|95H5RI}c-FpG zX1N|$ji(gGS^a48Zv>y?O)BY0O5-quQkpB3R{WKmp?eF87tk5Qd z)`ssb%(aN*|EuzvUN!Qc%>m|m%5C-jj#A#ei;VDI2)DemCsKh|uY-bFNIC*D| zlRiWrAiWO%8F2Cc}ES>W{FAw7Ll#%64HQ&N0rNbn`A!nt810YJ6Wk-AMHW7R*glLF;REQ zEC*#4+IZ22g2GdZaZyjn)MsTXZA-?<%eO{=JR+_~qmU&%>JyozS7zbZDb$F)`&;f4OjPr3n*fA7%h^>Wde}(eUj%M6%z=Sr}vm`7oaLkk#^Kea8Xn!-}EVR^D z@XoNoKpx?sgVZhxPbo$_w#$rH%8az}8JSTsitA1qj0p}pW$g;m`aa3=4Yehw4rLrKszXLbm-gW`gf#?xsKN`RIZzoaX(MHr|^^_&(TZI z3#rfo?fw+uEOhjz)=_v$vDiTe@Li20RF*mD)V*saX-*{?K82?gmuUACo>E+<<)!eH zVzpx%;Zt}@vBp6s>s=I{QuwqsjD_MTHah++JELNcO_Mr^)yax9a$#S)iBo_1NSxOk+S4iuhJ)HwFY4A+G+&^D~4 zA(qxqcuKLu@wm)zJd}a0h-hgYe(n5H$Ou9pLq z(p5-|(cySS=6+M=rmbi#H|4RpC_JTjT0^Jsl;T-!?kPN_c-}$FSkj7qq&0UrX03tB z^UDj75FVaVgomdTW_U{1N@NwM92_~5+#s!3@v7rmDn`1f!oyRF@bHwv3{UCuAglP9 zV-XdzR;6Oza=bysIH}3u;VDJ8gU*YQ4liA=ryZm?!@mQq88_mL;}+yhlHn=EJC5YF zC`P)b-<9{IN>X@A5eiQ!UAFH#v<+-}@8A2#?^;dj<_8YCPkIhQCsF*yQBP%kfXc;3 z4w95q7KNu2;o&Jocz8+?9-dN|;VE6ulQjF(F%IP>$?%loFOH`G$R_<&Z;~yV!s7@t zJf-XGaKJX_jg)N(hHjM@;LKlV^fO-GQ`_zZF^KT+l)~jCX-)1hx!s+l?{#S5DMfgA zN)aBOQiO-66xQ&RFQP3jdI^m<-%0m)O)ZvSr+o>UrH7{!6P*tOl6^~&x1`ZRp*6!( z(oR4`cuHXnPf2t10?LraMlL)%G)WmwoItR}(&W%qoJ<>vs%hUUmaysgoP3HGIMe9T z@i__W;VEf@Rl*dWac5>!Cb{vh6$wOSu%epJSFXJ z(IFi96yYh!NZMw={on~AqT$hd@yKbXpj4W)I*2<>SZmUk!c&Sq(T644Be*6jKM6-k znhgpXD$bAYSBB}A8&8Aeh8<1+r4x~Tunux<<7tQv#zo&r4wwsc5Ju1(qQ#-nRDsh@ z#X0SCj?gLX8yAJA6z9cc%I98OwH7bMoz`Mao>6#8F*xQjiB=jy3mRxPS7rt{+4dkX<43Bxhhi*$T5FVaVjEb3v zJR~G2Jf#>NLzNKKQ+P@-HijBbUKzQWGA@Q1XoRN}6Jp52MlU_yO#*ge4EfKD@RTAo zhSq5#Jf%pBp;Z`xDr9&{kr6}lY=oy2lVWI2jqsFWN({LYjqsFWYRnc1YT+rxg)yXx z7~v_!v>4Jhr2l&@EfbkBooFTe!|1c5yHmK)DJ-cnmPAxZ?5J{MKvu<)0zq`3`Mq_} z9=(|MwJy~`uDQ@Ji`87{a8r>Yb-4~=!=nlXi`B7I7k&zftlWt?8mN3iuTG8`b^-iL zpVHi;BKg{0<@cI6w#N)W7Ud6whH;O10^iDK8fI+FXt1R6xt10e^V)hq6c-kl>qP>0{ z>p~T>Dhre&$T?aD-cEdbHV65Tp&Vq6jgoZO%+qDGyS`C0&kabP^d1pNe+j=qFs&6z zoP_@X7_~PLVNBF&KZcssCIl}Oime}>r{AB8#IaFCL|J&I)jm$vUPQ30eY~uFE5Wk* z39|T3z>^WHEJZ?R0okUMY(Q~;k{yjhHJ*JAF3wYI*P*JZ^rm#>E1Hivcr;a({55r} zlt5YVAE{e=0A47G@f*rFO%8|*&87yo;BDs0p9$+eU}b`SCGa)?ko-N=i%&{X%~CDA z+;r66gU{DU?~A6TBZo~{tkC_4^UDIVUt{f8dbKXap~^k@l%UvZU{ST7$!f3CtNmP7 z`*f(#2 z@loE3sAW4%)T?@5fMC1D!GDQTZqaLbMb^^y0;Bb>h04vPsd*hLn({_OnK?v*Khesh z^0weJ3nlzkFZ0K;%*~-PUkoqvBP#Q!5oKOP?Yz}4xtq%C#^*kiFl96R)az`@&34+@ zLfBNIrvq{@-avA?49a+moqPi0hf1=4gV-=fE9n;~MZML*8<4bvNl3(A%Ssfak6J%qS-Dc+!u?04XE6h(Z1BGS;9#j-K);z=49V~Nc44WM*d z$d!xjbe5uY7+4t9EtAzX5Cn!^ZYTM25Rh$#vWO_4+^)2t_!sec7LOCQX#FiS`b(|! z8LdR7-PEq@?aJ%O5Ph42{|=dadZufPOlkBhIptcJEqOSai6GF|$*N}oqK4ccp-q5n z+0T+#{}WTckORncv9Q&Ex?> zJ6$vlv38{i1wMvPIUavT?L?t{tWywU>0C8sO1CS|A;X{Wxfz*eU!i46F*0eLOO@H4 z0|Ip}O?KxKK-9Sm2_=t2L$Y266)Uxx$hO@MQov_CQeH)|n#c}Fp}7LjG^rSrB6}CX zQe;<4k$peGWWFdh67B@7G5l6V6DuFpkjJN@3r`@ zO=v~b9S;63N|{$_$m8FsB#)h=jG8}DNgk&YENlK$!m|KtHUB|11e&aQDAoMA`mLI0 zD&=Sa0+SQ%#i7;~d{&^8hf(uXxe`pFitF)cD*awknM(CO32>H_*VBw@W>W{pA@`;D zC|TdCDf>+l(Dx`x8`Alm4t@q@^r-?Vfq2^F@df*6%$U^w4odwm6L31k-%$?9_#-O- zPm;`duR_r`0)TB!O z?jbn30EKC9Liif6R@5s9Sf(sSoxH`te@^8DjsA?1{ZYniHIJ74845`2 z&luSsFJP^vak4+F0Nb*wXq-M#lsJ@m0H1AmdJD=W>ibCc=LdK~qx7-t&uaw9{`^+< z=U0HW{`^k%CuV|C%crtG3jo_@DhHtlC}ZU`wV{^ZlV`xHd#iNTJK-y36 znVT$-XWS?Z{oJvu>6T_;_Lm^*4jn}q=NU}WBAzZzT<|aZev_XVN09yvk6S(18SM7j;lcQ zv}6oSL96IZ#mYpLPE}0|U?Lke+Oh3pPgN<<014bPv(r-9P2Jl!N; zH#3FOa`eQH2U-VL^4OJVvSxbbOBN#2Q_fHUqZxu{Mh?_6 zxu~;r!zNhH$PQ7PFV8tiL$gB58!XK0M8jUg=S`G5UxrD(gb}^ZmvNG{ds`ku(`VxI zIk2<|^)sTtBvfG24BQ25y&Ub!X|$boYE1rk8uKSqMY$5)LgX{$m>lQ=4Dv&AkPE=n z533~lCdf`aBFSum9QH@$uouW7e@qVf1UcM~%i*3cnd3=$zhJ(ku@_{KSauGA4VA4- z(@N3m#veI&E?PQZyEffHMx?$TPc%_nEvMl+f=@3-)*42J&w~WZX{cqiuks~e&A{5G z59X?zRAMLtT%04@x1A9KtHJ4$j?)69fvyZtM+&uT2P1x;D&ZA?cglfWPO#KNHTW@t zWv}YwRDA$AM-I_0ZJvW$CdpCSEhqZVNM1-Tjx%5*715Jyn0R5XRjQkB}NRZ9dl=~)3#?S|_f=pIy&H9AQk{a+7JRx&%wlqYR69g@K zj?@^h1C%aZF&9Z|_j$mYHZ@N-Q=rF@>2p6dJ1@dad6A~6N~@phehi;qq6EG}BZy71 z{=QSR`Zvq^mjKdyAzSR^3pqfkQbE5$w&;0+p~F^6t@TqtB%lHk>N^!3Bl*C&+FG0BPM$l-+)kQf0SY zvfDibquWWcqjA%;ZV!}DIv^~xzg&xI-;~^EYj^PD_$)-q6+4ZE_BC3Ew&Bs#F*Gr+ z|D+F88v-|xym*76O#X(zi%2o}*)foS>A`l#_txe1r*0 zk-noT3OT9N=0X}fCy~r!673k8v*8FV;cUfr6Pl!{{Etv?Qt@c&1<0j5N)6f$kVfZm zb95f3(YX`PZA)@#a8}50tIA(d&KN1vmQltrlB1T>?Ocjss;ngaX0CL+71BsuD2KX; z3cIijUd&=D;Ns75u~6Cq%RMCjv&c8)e(J{#O#-72?;M3fh1PWMGWxNV`tcd{LpEm{ zwV{6wK-rG%1Qr3LZtXO?wUb(M1D-FX5y57iP1)snkebtm%bcNju{bRSqxvPpuzu(F8=%B1aSk+Lq%9`Ki$^va({DMNq}@WXn_^@AvSV^$ z<|pLFs*o9u(a>PfbY*}o&avFV`1yPkPl%FFzFl}yD7RTWYSN2ms42>*$D0F2 z5$AX25+=J1D<&MIb zA~{|j0twl8;I%%m*>WWTf=i~G?S&`MECjO8TCcVHvn+i=&9n6qFp|{VITjG97wO1) z>fFH?TD@JUeO?SCK)gbOKHtm-0cvTjB#L|u5%xr=iO9Y{&jYH+jU~odXnjEAzsM|A z!+@OlS4ss_6vXHprt?v(Aqx5$qM)CZkNcaLp`i&FnuFxVu{sG!00jPRMFV7R4%Gyc#Gp-()&a6MiZ@gfB4}OZ zGRaw1kRGbQqIf{3u-0lakX5SyJx>nd$;>9+6unWXf;h&|Fm&)jvxmep)6B*ZvO(ZF za+b9>W)0bvOeiDA+7c7XtuqUi1uT!HSpdCe(Poxh>*76K`ueVBoFEyCi9vJW)+RHT1BHnNKyeF6CxIiEE#Ju zDhwhbzVVp!kT5b=YPkk$L~N|nl5P!gW=S{1nM{Xaq|+j5)$$uFH0aPYkV2`35R<78 zVUfZT!i%_jD#=o;&1T_Yt8=(0fstgj&R`zFIs<`2Olf8s1e8&aDQn#3*hukY;#jMK zm@?a7X3n*=0AiDjBz;s#ib7-&Domu1(6UqpgxRJDkOmQT*=h)(@pDb?q~^`DfGA+T zDSFIC<>{5^(u#zaE{&)Ji}2D6BO?vPEey2>l4Fr3a2JQ3N%~r16;lvmW&^ClwNxJ$ zy$Q?ACg69gdKdJx6^58wX)T!qV4-RBS%en#q1doWOG48UCK^{+st5WdRxE2XFC{Be z8pBvIE<>Mfm&=(#p4Db6HL18pe*lWr97^A5A%3@0O1BmytNf#WBV>|(Bf}1iG3>xt ztFqSD)bILfhD(3LaEY@TE(1)PgG!CJ+A#^bGKd~hTB6mCahYlGB!$~Ci zRy)S4hU$epn8KVP3XEdhZztp@j_}@^aHN=21IN6!`lo5KEuG|WgqEj?PD40KdYMcj5c}5OUh9cRV7|yE1C=CB zn5Z-*f>pc2%x0SXByP$w8%$+nn@uJ#Oslgp4+&0vv!4R1`2;UL8(B>P$I8r=*x4ldw;7ZIfqmf+|N`v6LM4t_m`7c!hQQ!Z6q?^@mGsN)QTwwTZhH6UR zu#i3{mA>JI(l^4Y^oJ9e^k+jp> zMkQRR7f7N4;517aU^}RT-=(q{UUOZ(kPT}{F)&4r*(l->!*)d*sRob1@?N0n;)kA_ z_Ntt-=^-(Ju0+Z?b3`epRoVdzR|u{BA;!N*lVl{{j8Q-v=NXa~o^hIB=@U1_jp-3L zC&`?m1*TXrtX8>hEwaoN>R4>{7xGN+!v7puVJaXbO!}G%ML*rqYgLuvOjT)srYgl7 zs#1bgRZ6t#Mi%{ts(=P$Zme1M(%=OT*NsR63NaA$A9G)jcG7ebq7t!}rtca`jvoA9 zDJx7>!XyNXydc64Gb2qbiy=wWOM7bu^8mCMl~l%ra8m!4US!ZPa;BQ7Qks~IYt=YN zo*31ke8cUlbMhps%+Q1rxqkIpAXCiT(3><>4Et=58)il=TV{xVSBj>&U8|tQ8#wZ^i(n! zX;c83<|3tGh#(uRImydq6ogdra_Kp>Mc?A*`a3p`!Cq9KvGx9++Z#t~zefugjn$>E zl^6OM>t=tGvnVfZx@Z4$7TzY7?pcv}Q}! z57v22c+9qBws10K1_+iHzbhblxDCIkL&UI}dq&!P) z?f=>h;D5w&2zf6^4+zP%F(yO6ey|deAtwwC0Amh0V$u^-t|>qY2}gKD zzIQJyj8w^Xun>LZ7H_C&=!dzsk|Z(s8JvPOUy~Nry)QgBH+hlUs&7a=z+h(hNi+ir z{t-=r<%Bk1EcqZsEVYspF&B7i*^nj%9}yQDQblJ)L#hynRKtdlqdapoa?)_mGD|l5 z41bBK-dQWOY7J~R?lpYhq@A|zG1!Zd@1|Ab*tp25H$$vt`SXGudLuDCYs2uXh9t{MJ;m}MPXG`Re z8>R*(o5Wa>)$R{hPt5t(SWB2Rg@b$Mpy6G;CLe03gEakju#SYD!trVXB*!l>i#N$@ zs96Q!3^U6$afVxH12`kB6lr3O3@O7amM>3|NGg`|Hr2{I za8Br>i5C4!J!%Hg{^zz;t-AC7$%mpwV-Ye>nQ9)k|E+D+kcKbkdaS8xNROITXJI=9X1+OkKXiFvY_95{b*BI|TQzHd^DPW5b@^|5)->T0 ze%92`GT=|s^n|ee0n?X8T|q5N3{iElCX$yz9NMs9stLa3rnp)0-z-r6F-03k*29h4 zINkI`w`p0UGaDf?jSmr!g&(jsN({*liRNOYF@Q@a2$`Cs)1w5EiRK4ts=f#n9Htna zrx&eH!TEYwIylIrZkX?(62kP+A!g%9Z@R#24S_?=_7FJC0;21~0aDkA2my{TK^%Cu zZpw@@Cx5h+7O_5R%j8&t*39+MARNQ_hD!chmY;u&T1e#ex2`$=&q=G1h;f?6Fv}!` zo6cFuE~d0I+_O4mS&TCxG`M-pb;`_SS)7PiE$4m+G~7LUk+ewZ>k<{2X6RqWX&*vE zE{g^Q{mH87!6i$p5Edp<@W{ENv%>$QQVh$#a4TUnmYIK&!!evxjf1q3RKM405K?Z& zlb-;`C}bg0f6xRx(V?ytM4S>2SC=5PB^_#K!b3SMKglsk-B6TtDmAtTbP$`4R+ptz zn~2Dbv*BS&2py>~6eJKbsZV;{ME_w9NVERz5GTN~h9Bk-CqQ{JyKbWXJ=Mvow^>i1 zp{>(3z9NT#r8ziU5dwikYLn4+fMG5Jvjy@%t!CbsM=bOua;|kbB27;ovY?wVr3qUM z=DKZdwdG7&Il5fuoZ;>VjqVcXl^IP5s_|Ni;PzM2!)a z4bE_dI12o3-I)YP)|rLDjFS$;JV-Tu2dIO_S%-+VoX$Gv)JmBQpQY^AG?S7^K+$P^ z;&z=izVEcYDQHY4H_kigd@X++NU7S%C7jhKuJRftih0ff^2>Uj3yr|;rn%>0R`4JG zb)ZF}zyg}1$uW2-si?4hO{=ic$3c=~p2_n0W>>Yv!r1AMh}h@&wnx$s9E(HU2-EkM zSml^jreUvzWICEH?KT{7wRVPNki~YR$+Vo{3aLGjze>jMuWhOgua~qb%D?yPiz|M6 z4S@dpH~9mpc#i`99mPkr)#Casw14DB*#60x7pBn9wA1MK*Qu##Ra>jpm2Rm@^ObHY zt@NX=wUq&X>QbtoYA?eDEx>QZ@k?lR$~ik{{gh#8!#u^qe7>|aH44qKt4P}Lkb|>N zYy3#V-qyK@eTS}`!DE`eF22hP# zAg`|U>B#<#r5bJ_zU(*|t(8f4!GM2*{;;ythwkXWy44$3`zRMUwa||_1gt^moz_Hv zphfx(zINxMf}A#+Z$qtiQ@VEZ#x1zTuia^u7qckNu2&QmGn54jQ#~w>4`sFP%h?t; zi!0Qx)o#|OkPUP1E4ee5Z$k1Ub!<|QMZ4KHb)+(rRi>(A&pSLr9XU{)nC#6~Cna9U z0%a`L%>ulG#TTlhT+4HVZ6$1ded`RiUQJP0ftsq6<+8p!o>g_<^8*&_U@^R9*&(*D zyM^_`)5=2p+}*CSM|L4t=`eMcVprH`UeELSdNsQ*TT_O#wY&pQ2M6fZO?PFKL*9-; z!}9r7{se!T?NN9tFJpZRSyc<`Q&!4qQdvw{Y3ZfhLw_uRyV>SIYil$9waG6#V~^K0 zp~P1e-mXqhR7WJEtZH`3*3-sYQ#`2U(9Tq(_o%3czmns*(lGJtyl~Ab_Pe@Xc0~_>dhY$uZf9lP$TEmG zsiTs(H;6*+uj6@m^nuE|+1Wab&YemJZp!eT%Klu}!M*G~TMrwJN?36j8(qkD?`lGO zKeP1|zg>KeRq`J8hdQ3h#;PL}ApZf#`**c)??>|ghw2Dabe4NjJ$o+_+0+ivy)Asy!^Jhi!oHO$g+(BJTF&q~*-3 zxyiG!lMQzJKm4GYw{plG-d4>svP#$!yP8<6nywU8F;_=Ukh!{9%Pzp|=XJRHJ3-rP zQ-eMXO|U3f$p)(v6qd~6Z_b>aS-}%thCG?gNw~R5hR!DO zHDlTVo_i-tFDvt?Ba}uBpef;r9(sXM3}&vzd#> z2YkL1&y=;tJu9W6@q4_OMzuZkuj4@|NB2wzZHoRJ9*crw?S? z%5DkfynOT|`_+zA*1}TpU6#%(H>KsW8(2N-pNF-uD=nvp_3YrOX*2Msowe*l+=JRR z(+haf1U8^-607c5=-ta|>sf36ruy8|{?k66@5qYcjE3@)9#-4I4({r$$b3f4NMwWa zn6DcwTEWv&(!hU5H<2Fk)&O;)qNXQhPAYzdEmbd4e675Ot*USGpZyc}JjME#Wlmy{ z<@|yQK0R|fyQMbZ=jlZUS&Os2ohPlCmAxj{Ke61m_wZhIVKO-RmbTV5ww?zX*tXu& zO!Tma>)Q8bPUqE~i`d#0!ZLf zZQ(0uKnFv{)pk71O1S%V4CQmSZvPcsxxtDYk4FwyQEA3W?tQB`zre$)pp`whvv=e& zpTB@N`;W0#?LGUc=E=OAdv@K%ZdBTzS#xYdYtfZO@3X76lYse)odV7Sxtk{zt!!qObnIuht7zrzb-bJJV6`pf)pZzR_Sg<8B$fxxwYKqK z!C5w_iQUJz+n3^Ff%^;`R?%h#_?^OC$rw|G8fqP!|RkDd4YG$G*~I##vdS_xAeFsS z*TU|=^7Yj=?%s7!txV((Y$62{+P6ABQB8N9OWVMmVs;)s=k9(P#(YSrV>o*HlDAJPs*I$+W19^ z@9THC=i)!`nhCiRa$za43!8j5T*~_Mmf&GFyN5Tv@(NGp$)`?z$V$<;4Q?jTe4m>Q z!Pgo$42t)*OC7$)jv8*x{Azqf=auZTE_R8VP2hQTtjNutiQ<6{uutA=ZTC!QZTs>; z=Bj6#%3zYTft%@nLrQQX`-0J0KOz;vw^*C?>&cJBi5VkYmaqKW)C7Tm}8WtZd0fhy9`cK6kv>?>e> zyIb4Tit|`4jJON=5BR-oyqm2Eu<>Q=v+cb8ToG%s!@#ZQAM$ z!S!rk9dXH*j5o30?L-0hu|L{c*l%p=G^LUKd^_(!_9yKvjj-&Qs|yT28WQNuorT1$ z*Qi};`apG6(idN{Lv>y1NEbVg*ZbK9b-2P_Qc&dnpqi!ZT{FEc+xsgo*2Ls82+S!H z*Gx$R<^Os|8G6zNap+ygY75iXU5@XEclP>tCkuA@P@Jm5>YCJ_G`^?)bsFD)mDN?X z7Vejj6Di#2vUrqq$I;(2z%*|WFf3N?-!sN4S8rNZ8LsV-KPjZ`5m4r@m0qea&5wY8 zjzj4e7en*AjcJJL%bE?m-TLsv{tYN)VsZ%@3=kr z8%Qy^sru`Lm2S^%y!G%Zp3F8XETPcNHoEBn8&Jpx=IyU$F?lQ4@Ge%^UFG$#(QdY; zzS^7P&0*)c@AREv>)qa*YL?u={T}Z-qdRT0i zhrQ+Cd8A?HKf|t6c;R&JeTZ%Cp2~)F`_CR(;a$I_pn%`AlWldQ-sW$3nJ=Gvwf{j_ zc`w>{hbL#K2e!>Y}lJ~ubNp^idyDQGHS6%bYsxUXXuR^&I^a7)cg4RX_NNCg%zl0 zm-0aUmnV5Kiz{Or0we}X-zn$$v`R>i*nNXKd;s2AOJe0mgYwuX+q?6~=F0d1Ph6MY zxYz?>vALd=@jxIK3TlS0D&4zo278G$)z4g0QP6q%AWMQUVjFvSQA*mB<0$MiS#t9r zcMiG4{ve@S2l4vs@|W3`7WTI~sADzDbNQ&_ooZUrqikCTtE^}7P2P2o04urz9$(Ip zocv&RZFV($UF^Bi_QMq?55tXCKGDk)JMUzr^=x=Mo2V{Of=4_#J|BZc&b|>4Wp4kT zk`l7Kb1x{OLLb@H8}JDjEL>FCR+ zUiI;!jVJuC<@kznPM*zK?DO+8te}f!wzGtGsMc%)yrOJnJFjIwv0-GsZsd(TNEXH_ z_D4H!Vb^RgV_)0dd@5*#{d5~|XGfsMH3u-!9zQS6XP?>2x@H!oc;FoMW_wdkRa@h)ur6ER*{4poR(f|o#2(mH z&-%3U;)&^gZ+7{y%mz;t%W<=LZkAcbPS^GFf*aGJqwj~ET*lKDc-NIr;UhB-d#c%9 zG@HdVO=iEUt7o?>nB(d^mdIP0-)1xG)$~LxsbFk0?@twEU0&%TW$|wnh0z-Z z`P0JsHnFNE7|h*ziz--EJ?q}ddk(1X#6!L#U#@0xdB!j|vE)>C_bzzS^WYld{<#NR z`PJ}4m7OSGThqY*#`+fq)zL}3fG;d(;aJuFj%Pl%tMJU^99S!`>`o zGr0RMY$6QnI?nBy&nJZIHS3t^nCWBmfGrm5O9a|5eRZEf}WxTm=} zSX0FcT3Fk5&{z{~eZ-=B5XMh?b38>X2EITTc&#aE-5 z;ly;`nQX6*4a80a1b=k<<&d#Zj-INc89J$;fZVyc1s7v^n^m1YZ`PcQxijbHvn%pg zQpd>?t$%%Ik1xl+j(yC^US_xL04w~tUp>3(iVle43V(KW+wp8Kwl9{>sw`kzJD97T z=dbk4_we}-9pBT*+IB&1c_y#(`8-wm?5DP_+-W{v(EC6E_CE4D;Ov{q>yNO-&_|QF zyR{R|dT}RhICQ8TxPNIU>2J@ea7%o7yp?yJ~f%OJ_M{_57i&^469U@O~J&td}X=vH3%ZEwVzQN8=u<`(RMsee~GpZpA4+`WJ8 z{>Bo(ze@i|osi7hogM5QcwbKM?13#0(k&`yWi3z{S{nU1tvumAwgK+qgq*Z}d)SlP zn=0?$ldZ`*qLl{(1-RDf93>tg;(lr`WSeO&g&?%u+9ktLBTq znz#6+6!|oX_;kOY`1I2x_g?Ts?=!SNu?41STMAN6kuvi0O7emy`1E5^T1Lth`X`H$C8D4<{&jZq&36Xb4|c+a>DtHMQtQwB zwVVgh#WmjJca*~eqNXIIq-}y1ZDRQ*K1`jM$iH|L|JCscaL`1TK`LWcr>l`~Kfa>8 zI{bglF8{{&;d7a!v|`V1L~ASeKE2$3il6pY7Go?o;%OT%Zspt7wXp&9K=B^p)ev#j zZNNlv$nWDNfFp{=b2W7!A%1s)ntL8(Bnx2VT3dg>J_2RkwyO-^Fq&@L1^)PmmTcCi zhuye~cd65oxo3g5aSuG__|I>y3bOdJw{d&)D}vYK!hW+Id#6VxmY1_f6l~*Rwfdv9 z?Z(#gHuljDp2u^afDZAo9exNb6fOB@_zq|_+qy8wC%C7xlOOKve7cl-UM_7taj+!o zD0{co%?>%;zVhmZAe{W2@c5I@-^(w_0u?+24oY&XC2%X=wnx1bUs!tB?aul}H6sbm zNzYS|tUEf`B&vT!57cN(0&9fLI5PRzJ?xP>bTzAJ08`z>2_S+rmCD>``VyA6gEUAm99j@RI5xff^FazvDgHI(l;rj|co0nbsiF{=$hf8fu6$ z{sIqJf|ob5S9kW1qEMZhpUdZxTlA2+b|3~UzGE`GjMuYKys+`=?o)@916xT1f9h~=P`xhX1RAzsPC&z7-vQG*MNwm5HNSupDypsJ zztU>{)>(^h?UVd74qnvwH?7-TW9*82kJW71stj!nlK~yJL5ba4ebGmVek3)A>%MH#j-)ps1)LgGo|AFqHXrv9U>wDPsH zPI|DH_9!%thupp*ul&npJ+^>*Mt1qa?J%XUNd1a^p!5cE;pV>t6r@f_WHkXI=KyVh z3~AS_X?CBz$31gxu-cR2%Q%?QT8#q<9l@F!ctR(MO~8EA^P1;%&xx-*C%*RJq(E1| zU({H%PyVsECiaoNd(_g&Y;=8@4?BMCC9F2@2xRe1KKRQoKjt~X4(;mY!ys_WSan%* zYs&PseqRIZ)>j}8u{sWg^EX|o&ppX~H{|ZRx~&1L`HA&Cno?aYmFiw%l_LrD2cQ*m z_r2LL`qUBUL8oFtEWUgoi-w-(X8i+nP3UGn*ww501^?sC8547IS9o~_FNRv>hmkcg zeM9r%+^lj>PVPI!OCFNLchQ+2S1h4x^H56nr9_@ZD)Ja^eqqh4hJi9;pn(x z1}P^?(Z{A4n;#B;x{RJ`xWOxCX9k1S>eytq0*2?e9`4@3>)+1GC|G=&kHD@lL|$}Z z8cfajhuHzOtNqL+LFjnFtlT0L^63ot93I~RBL!-|Tk9AdgMl79J{4zf=&VjmwUPb~YG195ZF^c98<;=9u8rb7^|@!-iVr@50dL#) z&K_)ivyB~X`&(%*>C9nRHQg-O%dXnN0|&BeD^HR_*$<87ZtuE=g3{V6Sf79o%KN?s z5FaT@;E0l}#+2rwl>FlCf^u>i!2a3@3UcSq4|=P!<}X~k0P0yPc6Z>rFX%=OFPhH! zH~ComF8ECO2q*y1)V%A8pDaJQ$iudEr_IkVm|L(IXQSH7JbPG7FAMe@;%V3==ZPP( z2V&fT+#1^UYCOndd$Gu@t6rq0C4l7CbeuU!DmHF^xE*UmptJ2L2=ay+D92yJ5V)oW zE{f(-*e9iE=9ir3eaNe8_(boM*RdM4TwxWxBPRH>a=2t zoguP)CO3NE?ega2X6Jgcamihio9*@Qh5w-3uVy7SqFqgFcKsRNsLn__$0niXg>b{A zvd4E7vRoec9V*IFaF7eNUDit)FMEa5iGb&xiPe0#zl}7#d-lMzs=k+PfjZvHPB}14 zff+SyR0}KVLIv)d*R|!V8Od^D3URh-+Ciuh?CUz-+YYbw>dCBsebCno%9j+)Zcs?) z`BR;`SUJm{-qqb&bhrPk*XO%q(^}{onUuJ?tF(C`8`Q4k%m$XR@&Fs?KF;Pe zVT-AkovZ6@W5X~M{ZRHYe1>$hugQ-+5Id$RLH1T%$5mGbsk?`F!f~*mnhgz{KuP;~ z?K^B)H|$yOldJ;=u>!f(HO){yv8z?l<=@{}-F7We{pK?E$F03*pMKZBHm%f`_S1^2 z1r;!Orsey51;>2*&VmNdk@K++?>Xd4Nvnb*r4N*m8nk39djA{$yp*(R_+8jSOgM|_ z8DCHUtygus*3eGgv_$y5hO(`oQg|{0+~cXLuFhmz-~w>t7zs-(JC4&S9W9>5ciFHG zwyx*g{q`&At1?BCd@8+c&k_@;^?o>26K`Im3rpHpYJSVjkA3C{bmRbB9AX@AGz zVEc|g_G%sP0XDWI;CT2hZ1zbVROY7XScLHZ@R1K2t4|-re{#y=d?3U%)Ydp2*s9Jy z@26K`WggB8&@J9#HQM&tn>Ii#g_ic(c4@6WVJ~d_?V3p&0}H^v3*edT($oK>rQcvD zE$)l$((7V(7gw-1>jHt9D1!~lyMz_fvBjpHbky%ll`yZ9*7KLDyZD@@7m$iz{IOr` zf-qw2i^K5eq zytq&VU{S#%3?sBC#kT<;c&b=;9e9xrAAS2DyITq5?yP-1O*svBB*WP&aTGqR>{xG(#p>cm< z>uO~`#r|#J%S*@HNH%8N7h!nN^KHJQbyqIq}F3-=LK zaobi@vG)=7k)s=myPKVLl&K?VcfaC8EGccls@gMHOzUdFT^+o3U0Y*5v=TS3Zf3u# z?V)Y9r=498xoUrC@lWDRjcR-BU#i8ETK|2Dd$@)Vz4$+Re7dx{bd!FJT`Jb0^V8qC z+x7SK_U}{I%U5rqv(3=ajomI%*Dd#kLJ!5=Q0PgA4=MD7Ztisvls{8DBn4~0dgAFH zI!HbJLn!y3Dax_&ko2(Y18yA5b^8%CwT%7B*4>B|cASEvhU`upTzdHv9Ol5$JO3W6 zjD9vYfKwurBesx1-p8h5HAvNP9^6GpBkEbY6$eIkDtn!A9H+TqYgbq9SJ<+hgu@8& zIAquYpK}Mhpq{OEgMg_8IN9sccg>b_{sWQ53$1&THV< zGYNv9?{puOqjini!G{-Mmm87=9`uX5fzd=5pYGIqQ?J%TH95m(V--7#V<#*g%Wpj& zwg9?FJF9YIvs)keQ%e1Z1?)owC$hUYK%j;G*l*PU+q0vG9k-{lpTm3cp;FHmvP?eo zJvOO_eFQDPxzyK*HQ(EMXN5O-MFky~Y2yv*n7-tW531?Oe;)yULl{73ePKn6Hj0SR ziuilU7$p?IujTo0lk-P7&Moty2cK#-8nq7xSgAo%`$FS_JStK>3QI2pUazgIvvKlW z$M=1Mqq4L1qMg3G%f0K;RyO<9u`*AFo~PS}lOyaW*dRJ?FJ!X{*^rKXybaQ}vtl1l zKf_zuo7>&r5V4lJ{WX4;6kzw-RX0R_H@qFEw!4qracx-Ymnz!)%{ylsA9{(+?)v(j z5^HH%7FMHpq{(sbc z3w)eMb?+yAlJW%{P!fmmDp3*$BqXxzBoN1vZCR3S*?L8iW7&DESK5`dwzRw1ha@|R z?MQZb6_6ZWrNnWjX;a#W+CeEiL!|KWFCKSy?va z-uB*Kovdbd-gD;6dCi&Go{|F_{nrEsp7!5UfgSVf&C~v$lpphNgez6h|E1?w`@h&6 zRKr1h0LPuM0pA70!k6H2I3od5zqK!3?9V?D&OP&EO{nckY5Qa1y6>RdP!F8?hz7^QC|kS{mH980;AC$;S>o zfB(b&d$$Jt9AwQD-4J(eJG{sLxhJc!G5FOpah{cbzvM7WEb!+Z^WO)Bh+l5EnYgb} z#h(3dZ{>j;+V}TU*^okTd#>JduhG zGQDdGo>s^Fcil7YPn8`z_;dfW_fEsE|KY75G53uIhhcx&QW}7F$H6B`y}QrKyTM!j zuWv}WH>S=o$DNCj|2|ir(zyCm;N9wdj9FQmTfxp&?2uxaEDdYQnE(G=WjZkjx6
~;_t{X*~GO@%z4Dw0?aCXA% zeDlHJfwpcOJM2TcmU3c;K(qFJlf#2AOzvRt`jJmBUS~Uxfku4|V$Vmn9)NRk&J32m zX*fOPSkgF;&=`8#=B2mO;v9)%&SZtaqT zFcBOot)BZl41v$X(fRq{=@-@qEeG>BOKTa=!wG10@FQ%+H8|RwSTq0u3TJIsy`tBj zDD58~sEL){F}G%i|HcClf)l%U_?J*(-c;*f0?~Z;zMFRhPp{h%4BiHV>mAenm6TG% zmjnxN;J{Sr=-idT$fnpYU~Qc@9XyJn>(~4ByfTx!d2!wGz3bPFfUE%d*9H5KIZysu zfAAm%{V2*Z;=im19-6^LcU-+{Aoy|VlDWaxgX6+zE`=IX>g_ozqcL|_ojbO_H|r_Z z`~IsOB=O_&ywuvqyCTI}V)3!hY!_e(Dx=l&z<2&@Sx_H2pdKRq$1m2NxB=YgUp=~r zj9k0;ww=$>{p`}6-<|gyXm{&8o4F7YFizuxoF z^&egT1-co)q`%7lJD=`#+G+pLw!^{HAA^>T2lG}B z!t~<5^l&q7M&e2?F7Av>zLj#^=^pCZ$`-n@8JpU2g;yCJOKLj`jXZ+&wq12jzYjy zt4%Rpi-545f^Zi+yQ2lQ#_u_dT02?mpFxU`O-=<@VLcW@#~6YuQtm(Nd!Fq*0BJU{ z@X2|tqX5S*L4T|M`BxALKv{#_1HrCqYl5151Z0KU{8Z_&wrg$=R^yDN?!o*0$L~Fv zz{xz6g&h2(ue!Nqsu>8h_OJbmf?Vz5%K(`1GXJ$@CAXLP*OZkks4DYsDl54Gs`%-k zs&2_2FY)J0&PUZ?{tgPe2e$BE99(gy zKX&@~z9Vnl)P-`N+Ddf!5e~`k$7PUz4(7ot@Y9bhURiqUT(Z>aVR`~9_W zxApshS^n!z`lHjOZ+f}@??1t_gy4Gr%ebig`K{9*MZ=G5W5WljDAo=@>sUZ{)ymTw zU+e$&-pL*C>-A5g)px+K@FJvnFarN&@LQ?cC4LkLU}7ApdLMRC)q8Lky-IEio(D5d zsrT@If6|y9$`2GCASfn>zn|~8JURf{SRk0OM25yWdC=hhtE9etIcVcQm6YsUxMa`M z54~#`hW@JYx<`VE_l^=Jt8Tw$Y4_5JMXjyDqYu$%TRUT!7klbIttggV*>uNM&_Xm%%kO zsGfu~3>>kJ4+guQh7Pc>WF*MHcMI;?RpBTr$W1L;de;&hhX$_>=9XUfiid(X;hg`W zckwv+b`<#$&MG!uQ@asr!^7AMNm`XJ#TI!H_uAG6SFCH1Z;)T-* zg7~-jbdYcLzv{t!^8sq!rt~lGrf=AL%24{nMRm6ab=kUSRxBCG*X0-cS55ovhnWJo z^a|c4S+FaZ=eI+E#kIdlcpc9RdcN@J2*~~NTL0#1e>u}`vT093xcoBiI6sNE2rh=7 zDbt_uM^E$r<6BQ-1)mPu{kI+-ufuifxlnEV>|y`V)*k;WCH?*vw^sXqQG!cRTl=3K z0r>!+ORt*?kKEcDP-gm@>-QYxEyIgojy&dHj8iE9yYyvH$IGFemU=&hXz^e7V8Kjv zd|q=y(;1@Eysp-wmqoJiET1L`#h%#|Y)6oB#2d7Z4Arf>S~Ut;(B8R){egFGE4#6) zK7~8CU$66blpMY|Ue|KjJUAJj#_{+h4g@C$5`&OPXqR3EoovkiHxIYduekW3BNGq% zD^5;-k2jKP{dd6KG1qS`rC9hDtP5^+_FTUQPAb94gV}ZKcS6;B*S3?e%@7mczwNYt z!}!#qTF4};K7k9TPe1gqzwso_n<3nM81H}hD-YzBK_q@j&%eHSzyC)V(K;~0RXM1q z4?eUOHfuOxzi&xq1h-A+U$b=2L!Y{5@WV@gu@@>w&jZ+}J0Q&mzuJR)@^EHYG!K_6 zHk{^M;5OR5Di3GJT1;lsVVq7b#LdKcer$K?tFZXb$eGGV|NHZV{!DaW*g01Dzu^kM z?~S7WhfmS$Sr7c(?w33U_mdCA4jtOJGoJq;JygbOL6Y8^--!qBLCj@54Cj@NBnDh>hhQQ2e=AG=I)DVL6Yzidql1m{L~Jma`<_Gaih?B=ME_sqkod!V zLI&Sn5O3^{ltTXVPn!7Y&pm`HaL+&N|H8wa=I;fAAKBp#!)S4v-weu)q7R5T_luH~ zi2vbMlKfwlu!(n?cwpK%KgfN44;1R%`;d7^Dt!%N7`{9%CBIRUL;NulhoUdvczN-e zlIn-I4~CiFF9D+o?&vCg%cV$r7``AV^ADgf`1V1m{ts{mE$K`2K79>P;BtrQ0>^r@rgzG-`15bx^Uigc*14-$a8PKKDbQ3-`Ex# z`2h-beAj%xrF7vdMn{4KUE;@1$4300`@!x9f`>M~cd7s9_w0sjeq4Ep1u>f4}GM1=}qrj zpIN*k_{VuS9fa`*T2+4lPgMVn)pEVL7Jo75Z)~BmbiDkeADeD_I}#4y>NisUvYcpl zU<>0%%BOkl>(AuN)8(wD@o$tLz^x~U?)zYbScv2wZV?~X$E1ul{aM@-`W9^WkB?3J zUpucB;cmE}ej7UuQ~${5G}`|sS-A(q4R*4GXPhU_3ogQK1OM~)_6K#>L9@W0A^)qT zwf@0-YZ3PQPu|;q?c$c3N1k1{qfCl~L$d2sc<0X)ex?tiUxdT*W^o9|au z`(MHZ)-RR@)iCDl+J;TNc+tSe{5MX|^E(fKvVh<4G8*qY{NpIs@m&GWUM|6jkDofZ z^dOFr#(A80K{YPckDtBr!(*)c-Sf^?`MIs*hy9mNKH&e* zU$wB#|6+M<>(hsR3A@%8Hy=0%o7xvE;7$1D&Bt*1#fxDJm%JOkfBuPkYH^dd8sTC1 z{~&tcJ<#)4;lZ8T-th@s>0g(8>-7(1NBIuck-Jah7>tnlKpC$F{6suqK3vux+!j21 zSN-~6Dj4A7IP+e>`4?OSNB8=#n0^+n+S5x`!2P52^{?6+ylJn$KBy|a2<-e`F!ECG z^JkUo{xhs!?n6|=QM~y!W~H@ao;#aiYIf1h%4pC}DWmNf0grp6w50Y)SOD{Yz~%mh zIef_n6L7g7@E_cIj9YgNX*LdX4 zyRybH1=Dg4x@KQYqe=q~|8e#CzxcX!)!jg-B_(j@{tO*gCvjvWj;qfss-w&5U3JI5 zfoJy4pX|LE&cGwje`)fCU*Xi#zqUW`|10hez5}nLErcf~#D3^pzusCK_uq-guaIEE zgLs?8-(7Ne$z6Uvx2O(xxPF9se~fzY$i%hDi;wv4hq-1>4-VL-U&Q4jsFuTxIKRg2 zvzCReyw^SQf_sAR5hFhn@Vj`M#?RtiR)|2QUw4p8)lDmXyl+yAlC z)1IxszAH+O;KsK9l4G<%U$hFG_cJ5UkMYX|)p)OHB4TgVqeWSLH#`n3~cllSI#O?B5 z@ZJF`;&qkb+8z1775Q=%FB9Ljdt-3<-p|8?Fiu~8<(A;$Ry@X*J&ivvKjsfHd(%kdsb|B}6J+ipe4-62?T(}LBDgM4ByZVn9Q z>B&(wb|mp)2R8YWysvO8o-B}BuRLfSK@Ke|uCO-|kVNVNWjUG6w^yB%w+FRH0Rm>JN4nQ51$335br{1Xl zzI$_+Io!o2f^|C{#lZ<=sUWxL=GI_hEv`0}zUAUYpltW}TXIkOAHumES{RId=@|(2 z{Vl=k>hU<)GjO3ffQRt#{FUE_$5?v)dDX!E@qz2aa=itQrIv#tyByx@5+?8hbNYr@EYU|pHex6;93M_)HtW~H zXm&8nh-Wh3^R`%XyG9GNb1WUrnbIVqq>Jd>#D4$R^3L_v?!Zv0H#)@EfiY%Ef=l6i z=D+(Te4MhTqvq;O*rp%G0TK4{&(DYYi`O$M`-3-5CW3=-LfKRL2Kb^}qQS*L;j!Ar z-r&bLU3+3QsFr7W2OgXk9L&}QPv2bQUw~`E$MEde!ueBpbT@)`Waq{fQ&XaYhO3-W+KA-Ww~ey53o#E1XUY*`5N6z4}+ZTyLs`vno&IQk%x^rxM&*N=#deg^qf2&_bU(L z#jUGKn7CgOpDj*&QWB47;;<=sL=vCW#3T|?`#TDw>GP?Ie`kcW?=$Bk>maWF>_!sa z$|MXQk^CP@{wFoR74G~4xHO9cN!vn2f4lFF=W+vkVc59>PlP}+YOcGl#sBeE9Mw%Pfyx49 zziI#{kgZx6JgNH3;$PlE6U-5~^JAQ!!yCc;LJ9tJrFg!WUntri;_=vC|5PbFYLWQY zTX<}_x13Y_>n)u1W92Z|AN2oXiviY43F<9?^hEQ#`5><+@K*4qt9K60hur`t150*& z8@lo7@uj%zJfHW)Zu36_f3_tH=kL3=#*`VEs@e7VU3jiB$iW8J(|;Q*XRMoFH19SD zjf~W-N44Oh_h0?Y(+O>OeJ~Il(rTyg#^G*1Zn#Oc7fmf3DoAaF>-|r`aj1F;9&|8$ zKJ>`VyWUgdPvdr1jvCHOX(Y<;zJ6_f6t4=r)Blz~{vm&?dda$hfx*PrVI$$wes}}0 z24>+seqz#p^|YTlfR`2$I1Z$IN`v(5K?H_i(antsBs9>f(8xEI4& z8BE0f9q8fF>;m{qL!@|Y+p&E>_GaEQNgsMx;SL42|>5 zV;|%TIeS=q5CXu}B`^Mc0?kYZN9cJq8LZm5qg6n6@PU!<4!jpH)jn8)v-AsVZynTO zz}8U{JhO2A&S1|CxO0>DH&4QBfSdRy`L5mh)AsgW?Xpogl}_XB#*@d{zyIEQ#)Aj_ z)Bf(d4+g6r!g(p(R~L`xcRYh*eHy?Pi8XcAqPlnbzlMbMOO&lSjjI0l?mmE;pDx>7 z_YT~of=T~x@14w#JR1B85998*wx-7aSqVV^(t_7xo(+Bzq=OSL2B{a}R&@}bZ+IRX z{!^2sSH3*BEBF-41P}ZFi_e?A6g~=Hy_;|CJyv!AX2~aUwG)Pk?Ys*PRDNz$-o*QO zAejH$C=a(jE*8S)M)|b&r)iIYj(k;c_<$83kcQp@5o+EIaK63G zPhpK6UIIiT5pTx@oAS`#_G4Gr6%kHgP`X_Y*gTKOUvtajl zqV(Ds?H!)c9$wcx3~})OYi^%+2)!mSZpbSb_h0gq<;Azd>5H_zrD$f z-nWh9;G~BmN_l$lO+nAb^cVOnh&kZfxs7InfA>f)7R|f;`CX+8UX2mTOV=IXMWxCX}D`m{mSYrpTQ^N+Q8ohxUA&z%P%i2K`o^0;LibES4iv|`hS27%y}zt=qP!Wc;%7)%fd7K> zU>qk!jdM!8^UF$>W4N|>h>BK_?)ov^_TD=<*y(nzQZ^y|wN#B>22NO>NO4? zU`{sQ_PYW3^PKv&-XzlZIO)sGTy1_0ULNjt@&PD-s{o5h$$rd_FB!kW zDbMjS{S?w`5noO`###~9Ot1Na@?gF#-*`be+pjWtY2=OBJj}WNZGOZ3Wq=&g!gf*S zWws3J+jQ@B<-zN1I_lc=8lWz#WEi<^YyQ^>mk_-p4@Z}8sM^)4?DHk_sI2IT#rlV|q? z@kG`S`PVybgDN!NUp7&I>y@BKPJLT%1JZXp=@#!T+`ZS&Uatn}tDOE;I(W7>8{c@ZbCc>*M+Y`M@$JMWG+mIps@%e>9+ zAa%6u*Sx7bIN;>F>v#%zhn&0)0(!;Ud|P+_)#bqon-8Ag*2NFd7vYDUmmOCc`7gnS zu{eUU3*WH$+i$|XJiyoH&#XUrb9wMjPX031ZkZ6iB5ccupYwCMVslnXOmV zT^`gUUudtPZLF7`kxu+#`cp{%Bd5K3Lz9`eVNH4PxRbZy{xV=DdPG{-->qlTQmKn{ zmzUV_??L*g(`JK%ldM;@_6*se?QOp9B^fXBU0TomV8?O_dG6ZUKE0mu;3rO>m_ZBM zwE3ry|0O3M#114+>7Des&fz-_OphYnJfNc-BXV=K)Z%6*;oO}xdyCzF- zD-U{YKKkRD*u4G73uQ#)S$e>6ombv z-1e*PEDtVq=(HWTh5ynB=(tnYwmFIP)lNFww0S3x=fcok&#DdO!HrHm+s_81yYiDw z--Glvr@V#tDWt#CNw;#3t+zc|9z5ve+j>>K<-v2#d}pqs7lT|di+pJ3Ryj}})Hv5(jM0xNLr|!(YCpUusJN0Mg9~~+W-gb`q8-~k++ns!iE4Kfq zkpD_&?n3*~iOoNeEDvrzNB>oKl?S&v^=FQ6d*+ONF1)DVCQJp=TyEtxX-E2eHOMoQXYKE=7I0dod1T=^57O{{xjF_sm3OM2BO&ZL=aCyn$yPI*fgnOFJAGxZUsS0VjM zr;hEr1L@11bmADx??L(E3 z>1&*J+_9cO-b-wrvsR~&zR{**EnI%Z`EU4C@z{tjOy7?5|KZeYr!a7Tna~F2r$1e+ zt6I8Z>z_jY?N0rf`5k{+9(>=~7cOmJ`!)N@gI_xJ&&YqY*k&=a{Zq*Q&MfsU?2qm* zhNXpZ&1Z_?<-&Lm@;>ggY1`^}Z1!~Tv&B5smftfY-NJ0?r=FD!Y~7mAl?Q1jpLK2C9^}2~y4&`a*f|ZYNKLKc(rm{{AmIv;wlL3oGxb^5BVC#%$|8^%szroG}%_>dWQ9@fmp* z7Tdo9n&Px;*Vg7w{$+X4?&RD3VCQw>aCz`Cr)@~I)X_y&uw$D%QXag^DdWzo>gn>} zNe3<#2W0-X=Au*!{Zun|5kZ0Y{!E2bN9iiZ-Y)caCFzl`z~}2TMx9-g-`le zdGHk{Z{{499zT8E8V3Cu~F<5wPN8Wp!JX@#o`_6pL zxWhWn71yyato#A&3t$*_z3hBulLuJmBVg!!!^o9AEHAP7Cy+nxjL($^SwH=w+4DJ8 z=6gTJ9&qa0b}Nzoa|iY!yP)$h|0m@Ee+kgeW#+h!{v+^fmi#KyZ_PiI2Y=@Dt9Dnk zf;8L5DU|t|V@HxPK*+LfJoOvUP^S;Tv*~Sq6F6p}jivt%{Bqi`G8)&B^WTpbDy~7? z&Vy?|+j6`=0dlyvTL5f2AcFn6y{;8K&1UEW!fSF6l2=Z;2 znhPt6_p%U~f-R8!)Lc{%TyjC7A3IMwj*iPJf=Z_!I}V$_p{gPnM4ti&$TBW1V*5vt zKXi`#rI%L(Z#w_X{_Pyn*Hqv~1q=Bz*PDG*T~`ropJj|(E9UR1t|+oQT3W%p%6Sz< z{M40Am_Lbpo_X1Io|#`Yzascw&iH1+uL^g^pRn`Ce*ayve9vouE2zVBJliL6h3S|^Uo-6BM4Odv(0rR&ntO(xhz<6f<{+la;4>@fE#w)EojP*MfRTSBY zP(QRyFu$_4qR0+3Gry*;BIt73cX3?C|2y(e{f_*O#piB+|L@4JTv9RP98CGSUFS6N zU0QC>KWsh@R*U5One*F#eAnJ}2KbwYhX@hUX|55|pF(<-O?Tud=AA&EYg2<>$z_){WWKkmB8WP5?HbxX)5v%6 z!oqqI>EChdIW~2+n_gW}q!ZY6we`2RR0LBFy>Mj+)~{*rbw&2yS!ott`vDQ^=#pXXi`Ykv@B{|D1G7 z^O?5+d9M8F!kGEqy5cpo`Ln^0b4XtSK8{yKNN#unv1|4iPG?evDAdg68$LY!*%s99Syr;)hMI z9IZIR|BB@&k^XL{58~n3+NYx#FD$_$UvGOw@M)*M#a+&W`TLQ7rIXKnXUB8`c^5i)Hr=~#_Vg;G zvy7dCEx#1$Gieq3-j4K-IpyuXvGr=ki**7!=cP#hx>L`tO%>AEZsi2@Ae&ElZHBHX zWp-2)+3zh}EnL#bueEIeu9lw&%#hbL3vSqPSH7)SH?rgIK>FW0ZMw1o+pT%Kqn~mu z9XXWwdywz$AlVj1lKGR!clWa^8Io{y%&*)# zQ>RfK%GTeH{6n+UuR@x@XN~8z&yE2u?a}bWnE%X0B*kQ`Jy)L-qC5 z3%u-LDwC_qC$ouxWIR@dm!3@$W0B_e2yfseBl&DR<_)Ei16A^;sQkR%d}1i3e`E6o za8<7Fx&_rYZCy}Pb5qTYH8*O`b-bl#b8SvvHt&UP^$kWdULu*`ThoQEIF7aQ8*poq z1DR-VTPm06-`tT&p-?^Gwrm2 z_i!OI8_$K{ZHiA}FMN3adVhk++yofJf){si}CkC)^m~VeHKa}f?_h;hS!A@ewSS%T9 z%%svf_sz+^wTW16kb~vQO6pkFLOK%%2(s899FVLCAeqVxc*_$*@wHr`PFy}6iN|Dx zGV%T_M?=g=#Nw$gv@RK=(L^D|D=cIKFx#NP=x|pqlg~;2sNbH?rSmz#?OYb%)}5h^ z=}6b)5{j&&gNa-`l1_}phXA3WRECfM(pXq_@L6|752??on4J(E8d?_Z+a$@l`dW@S zFNu)|+KTdF3=fpSY`>LgFY6I4bX47VAt9fMO9k$NNIn^hXPh-8V4H#J2`mfN3|ne| z`*k3mvul+FF^Z<+iVtIhz|=^ODW&7mp2Bev=D-Xfm1YRodK0;9BpuI0G6TI{1Q&zb zNGC?^zVFH<`Zh^HBymWs@nl{r0tUcF1H<7|%28WN zH+D8H_kio1bT=MUivt?$Ez3qdc|~7G74Cq>_;55C%hu;Ws&^F~}9_r{b4vP=9HXh$Y7f}u5o?Doa87UIN# zXmS9{GHfX1O2Bp~o@p3FGPqZNB7+^9#xxUSUKWszWR+I+*xjK+K_@~Zm*_whprlc-qBnt!9T;`Y6C6tk@!$|3Y(g=Rp^Hjv|G6| zWplJ7vN`>x-3y@xVI115#I+kgYLxBA5_?z{5Vw4i+<5^eXlM_Hiuoo1T%o|+4iO={ z7+}^L9j+f5N{z;2y4it!7#XQw3)!iB6N*MM3O*y#B&M(I#-GOahBd8CZQYT!_Qob1 zeqlH(S{gwhfi#&EIQ4KgtcnWF-RmNaO${x8JoZPF*iKHVe8VtW1%y@uLNquSC{4-2 zB8I)3+iaH=IGgi2n^rWpx1nuIWwNq4i$^<}%517fn;ytp1j~@j2~){>d^NxWT}elY zo{9yPLhBcsBs zddOy#3==HTOs)%J9q2+T9qmixC^eFROlV|3#C3_{(u#w$Zb(nF-{jomvc=L z#6w|(d|kgYO69YlEnZ|KM*$&{>hI?cA$Qk`n}t`}jkYoYd{x?~TehhWtVl{qm*5)d z++fxlP9#&ANFRweL<2))M6giuL=X!4qF^MNO@knKBMqRIInszVK_vq>>qxzM z!|_-mIxm*UZo2OJdD%?gJVG_Gg;5VIKuCjdnJDN+%+OYl4i&J$CVE90^~R#f&5)q_ zhcWYLHrD|qKoH20dr4Kfd4x&nfW6*S2Ka3dQ{^P{5{P0`bFx200%mX@Bv+WNQX?zF zizFyLsXb4ZKg%~^sr3~F<#NKBA$$c%*0z0X+T#XJroD&l_gsyA~h(X z(kq3S^o*r5GLUc$vm10!q4d{B@l2GXUJN>)j&KVKpIZxojyxa4DMN^ATQfLGHlBe{ z+~aAuPAaa96JG?bLVQ7Zmvf?2b4G{PplCOK%UZ^PeVxl^Rh}@gPK{!+B8Tf#)<%am zAprvb#TRC#)Y2?1sYp+ATSLp5#->PDcYSBK{M{Tbo-SQk2NbPpe?F<|5O?Wv^Q9Ss0vp<7WY`cT z>w6(73p#N`4!DWEO+#_MD=f>yg@g#Iz(w_Ne!$M0p=M+hMT8BCiEdGaADLE5lZXu> z0u02Hj%b_p5|l)}-Z-QZZzP*EQ$%MRK}RZ`PlqD8Rk-j3qsPss(r`;EN{MGIPu}G9 z2u><&bj3unnPDghht|=oe6&D|3Om=TsG#i1T0#IW<7fqdDd?j>rp`D;ZSGQ4HzAr6 z2f;B&9s9sqAn|Ngb(>EOwZ!{HCgU8tu*tH6(i-SBZ4TZ@x9HZY{?IBQs5TtUaAPNR z-wO#%8b;`G$vbixufJFIT+X5^6t<*sl6%Y>C<9D0s@kcVu)>)V7T7>k%80ZkqaI2D0o9r$G$D;qDzuGhff6bx9;Ko&BOS>? zi+)2yOGJkVS&+VA5n%dgt63}LP5PqvT0e@e<(t%1E@QaH0@+5`c$RSszt%w;nS-oG za00Xfa*#BXfjA4&4hV~~f zAc!KvvO89^QB}meVY9wPoYfW_6yeMWK}s-12%^0(I;616h`1VZl%_UNEfsrLLL|c* zT*5fwnUJHcXrb`n&;S9v0b^vK&tM0Lmr(+A-nw4ENHrUIh4qyB&E!nQb|^_#4nvtI zG6MMxTZuGJ*sSs(pq`f-p^dZ8>o?S=5j58kXQUxTO-|nklHfpG8I=&#IKZaC1dVV+ zIN(iDC<7sJ80#m;1ldQE+=v}fig6(KH}p#Wx=@>ili0h6YYSky39 zpuV~{AdSjv^p^8L18c~n@Y4p?oEIS(pp3?OSpF!dWITQp@3s$Qj#LGD0FP zRsz9v*XHBJiVDH7c$9S2XXyb;H|$c=nH1OR>~Xuc3TK^`#q?re z$-2sp7*#gzO434!WHc*a%mRqLfuS+AG}%=atQUMTQzJLyD$v~28_mc**iz880lvX_ z-zH}dPImS4l=rDzmJt_rMdL6+t zw_wjyZ#X*V06@-k(191p^6yx|Y$$C5UyMOs7Q)I8if6(qdOA{IB@i^kW)=bE6sSbY8!${L;^>cWErtu6_IAGCFNuB5rfz`98i_IZ`O76##Fs7D1sp2sCvDeP_#Y>_IKi3+ad8mLa0K5JNOE9{BHa4b-QTVX{@Kg}Tk5sWne zPMHW(;7)mo>v9ZR9I`CdQ`8ZmTdoa|5t z7lBeXMKV9EJb@rl*-4fS3Zx$BsHo#oK4GRT?y?=7ZWDLUYzhYkp!>sW7U9_!EM!G| zAE%R$0|_EAH!PE509bGBx{K(jf+Py99Txg0Q|VDoV#HA;8NjB_VqsP=T24cGPj7{)>?uanUmZKJ?` zz#TM;Wj~awz;baRMWp@|M?rKdZUlmhyf%VzbF)QE$F2mp}gGLclU|U*V&><|xYz&Vp zZHG!_vynlPdb3Zgcq=PGLxwj-B;c_Smyac-Bc zO)PDXaF63COc4}&p1eZngPuC*g1bgH8D#w|M{|+^e5APs$|8ZBOc_ithR_^nEG!9N zby!g_%ectQ;)P;pCrut8cm0YGz2T7pt+gqf5r@2~!9B1ys&^;-I;hfHo{B@=KGHe( z;lTXE&DV;P+G+5ytvUDq3NSi%| zs%SUbZ;07mL=i#sdBeD{x~M{;D@a6(NkPO=Q8bbxI>?UgZq$8Blpz-*Jyf%=s1%0o zC3^F@xZqH@GIA8FBP^0q#95$AC>-TS+6McuuMLf&lm=SVVT7sxMY(nQzXqGW|c0HCjPl4E8r^=0pBcc@etG|VlOhcI;( zGorWGV+TgN02TnN6UiFl(+K~bmw(U@eFpFbInCcnOw(v4=fq+|1AWOQUAi>M`qO~`>lg10+Q$s4f z8OL}k@JiwMa5}fyxcx*T1Ic_}WF#6H;)yvhGn31wVJQp^YB~?8Xi!5bHZ;K$ARZ47 z{vi&*`Vg9;NQlX@VO;*8gsF2Mr8ev&asj-_2tx~IWghLwV0M+X_8U}S#>6Mt34@E zJuN2OM6nQ3EL<8h>%1QDbe@svKqEL`!q&t&gI!c-{~PHF{3eUV>x)BP11g<`^2vw_ zPI|gs%vosherjv&ZeQKh)+N;4I8=y7%dk39$OuIL0C*u2k_#FuIfY!hdL(rrNmHXU zU4smx7iHvDJ;)(-=Pru3r^S}S7PT)ZW+YQZi)XMyO^%8hl!NsAR@Xg0+#Aod_Zxz( zhG8zDsGhQdkS{V(4^9pA3=^+1+H(QQm%BDO4Gs18ij839a|M|aq{MkSr8d4rQ0X&tgxA0WmPnjUX>beICQ`0>aI zuQ=WbTos;#m+6X1Bk8<>ne4uT6;9E^qE|uR+LTCl!|%qLH-Q+|r40wHIwgg6I6{FC zMG%XfMRZjcQ_4hotojqegJ2bK2uA0uF=)sN*FDBM6ehq^fpS0uav;T0@zsn9Gvd)f zh~UP+1#NLHc8NlOtHpU@;n=O>G1}ls3gvgz%7#o1nH(8gbWD4`rxW z^ikAyrJYVWX94+?qS8X)%+AUq#-$e056=~)5R$OQW(x}T8^H-f7He=PWP-RzA6#Wi z<^{n>$i$%;(0{K%oSo>W0s&Rg zM)AOlm}Yr`Yed?yK6{E`XPQb5(Km<=Xr|hV7Gh}e0Yg&cKraHdPXwW`Iguh&0Jd&_ z%RB2=s3@%c>%Mg8(g1ut=+FfBG015y(&7Yj0Dc$o7%b^>G63#|voT?1klCQ#CXxn6 z+*W53z+n3r@_GPLQTY_sP(EP00)`IJo5@|Jwb4vcX5ktMAx||ob(xz55G9={L?TI= zpdbe3AoW0=RKC^Y2&}T23V{MX>qcYGq4+Nzt{9mPv9LgfDvNuEBkkZ|S5E&$jx%v1 z^nysazzivXm2PqMpaV{w;0WELDRmB-F=yd#)QODvU>9~-!5|?;VEh;bDi&!+vQoNL zc{mPX3ubf2OrQpE1&D0DGn8Zqb`%Z8d`@}Ck|U!isu2!a)$-<+CiOX@$8IuV(Y;4O zh>?MYm@@-fMJTF*2GE)Vx9wqXO9Rfb!1k2M6tqh@H5BcDsufT0(UcMtkll{Zq>N+z zz8Qd%Lqrc5u-jz@gxv$fzz*biREZ2US@Bgfnwl=a8D>t}FKGKR(m8Ab129BW_cY+J zwspA1sdt!b!tZHIxx_^*8pbbGw<+FJ|$xlzcHph0RZ9|Si8$rb%v?HO4)StRjh zP3xkgNKlM!vY%*Jzri4waKOOy;vRz=Ei26Jf52>49Z;%BBJG9pbaQrn8A?+}+d}Szh1O?ah|4qP@M* zi@=CV8nYSn63Xisx4+wqaX&F9qp)Y&t{}P$(6uctghGeDRy=@7eM~9jL)x~7n6@f( zWB7k!emR>Wjj6U(m`qNMQ-GWDSX&rZc>2 zJ_WEx@*);*M_H%Qv|L*0qdW!Cno9F>oRukUEUdMxrGb$LZ&Df>#Y;Fmuv9CC!CQFP zlFAr?RK$glP8*z-0$F;BP)6@gfm0dJ2Vg`@)u(!UOvCF;!w_a5~&+6<+*ZLlk`&tR*=wMErbdsRYg>(F{3jBs_-WNa5mt@cL0#d0)7 z`v#RIv?uMHAkRUp5e-Nz`HkAX7IRHtl;PBFp#T8G!}5Aya@5AMn?$P;0s@MPeZ>9U zfGX|c3d`l{PNn6tg|=N-wm1oOOA76bDrUjjrkG~I2lS&fp%~@SofQ7+5dQ?mX0`@n z03;aJcxp>j2=U25WP&qewAYAGCZS`+cmc`;$~B1FcQEtgGG$|aco;r_5IV))2er{` zE%rctv(QtTJ_aBl)Pan-N9H5SrY;ritVZhukk*Dk;;hYVgn7~G2*>7bFgbg;VcF~a zo9y91+*H z4BpFuG{GxZ4=i{Ae~ZsCB}$-^In1w-JB$Ou(U|gC4#?t}h8?M)q2)1LYE0yaWONx; zTELPP0`nKkXF6eD)`iA*Pa}YS3p7ALIb+e@ev6OxBcQ#{x<7C+ZZo6@@2Cvyv zT(&)ciWRn@IcqiGx?>k5kXBicuHj|yaC1LmT&r&waRpcsR-oSaf8ctu9s zKx(W7UYIzJ##-dMNLI)dBr4dhfoZhL2#3*bE#c!{NTtoF^jeMzi*eonryP+o=-`gu z9xZ@(@tBYzMZrk{cnq5^Z&=Z-U=+v8EubY-*kW?-QEy2#`Yx)bs|fuE&C0#&_I`uq za!rApl6rzU5HVTQeP?>Qc(}|P6^90o_qG69F~-1=P)x==^?<-9Lc6vir@$Pb72^tx zLjx+Zr3$|aZ`B*X8S0_6Eb-vXVHw9wRv|?)9=!qzGDX>z)(}}MYDg+1XbXZ9y84>H z@saT)V=$r1fgn~!v$!lgAOu0?y`dzSH2o&1s28EJc1M|=d|c~l0fT32jekC{P;;q} zTE~+nc$5x-OB#-)igr{9#Mj4$#zdj zz}Fe0q-juL;#lg99H=ZvXrLV1S*UnhmIKws$UY#4r>POk9#}4S&E4%SYtJ(9b#^FJ z0Xq!@T^eEbJvSA_81OCFacMIlCK@1FLQ6rw#XVv*B`t zEHgGV2p2RXxbWZ`o0V=~AQ^H}nJQ+rN)0uU_9b2l@}LQj!}q9V%OD=fDufaTm8dXS z!;Vg-h`H;8WTUyeAd}DL&`~Nk2!}iwKOx>U#zSJkn@Cg;C#I(fAal?gVR2S4iXo6x z&HXAAWH~mTC?cApt7OR?%|Mz?GNUnwW$Eh|cz91nwF|@kkYHmVS6D<-kKzt`m%FcP zq$4u&dOE`tu8kH(W?Jtz*ZXAkv?V=4;gJ!R2aDL#!vM(8OJ z_RPuV>_cgz#KQAKxrH@TraI>=iyd}BlWlDbo--Y6htF3Za41h$3dC}0bW(Uj*B zs8l2rK~o(en@=p5=UIe76+CFf(Mk7?lBHyPlw5t(9I$~fiZEB0D;T<6Q0^D(CexkB zU+~!!y+ZD{5>;A_XX0^@zX@u)f!Y5=98_%&0IP3aWYoR@)4jgU-ru z2x}qdFo3su{njuC$26`@2;%CcK-|`(v88B7sYs&)5gr>jjuzA%l|>^35?Y}CL7@m^ z+&=(*p(kdn_P{`>xkx_{hcvIS&xEK!@seI<-x%sOjjbM%4Uyl8?+sRnG6$XTt5dA* z7x7;jrDed5NGL`)-&QpSCt&`FLO|ompUxAK9k4`b0|Xnm?&36+2W?6c%@kZ}WoT?Z ziBmT@#x!N1g5a7(Xx-DtMiRsFVgS6IGjTYF;r%0S2mu5ItPp>T&?BTY#)%vRi8u+v zjU5iJ_KJBDq2l zksU)EvN#j25=p48od9pNu%e=HJ#$ZITk5~3)k>c0@dQBQ}|Zk?gNiM6|;9vmK19I?iN$W+2ZyHo$3=6?>=x zMB8;3G%T!Il7awEt!eztk}11DGw@1et#_}Pxm}K7E{(8*oVld{8mroiKo8U+Eyhz> zaDlB`WeCayp01E210CXmEL8|&i-S_Cpeo7cbHR(98yTbfaAdOw-#vj(yO_+y(^9lo zp^4)9i>bm4oXB?Dn|O9+iLCPJT->IBc*s4aEOFjIgd(tc7$GX}E%fRvQt~jIMgI`7 z!^srkz|5^70$~)3$Bm{7Mprg5GeJ<)2bZj7*9GE*69+@6MRP^B_EjdFozXqsqt724 zX@~k(%HOq65#*H=NYAkN@>x68kPLMfYNQqm>xltUH2_DedcI5-9SwzXaVJtbWGH;W zz0lw=bp~%llm(I;g;n^RarCw0KCkr%#fSgKxYAclEMz?p_uGwGl?k_+F^ z+7#a`XA(;OsBM7MccF#kfSPHD|DY7jU1>_qjEHQ89mg{6DIc=NVu=B)9h%?;8n*#% zHKM1cdC*BA7L#1c{$g$yj!gsy<^CHxL*IUZmBGKI|Jr+M+tj!^j1}$20|n z-E?K=%uxa7`Uc%$p&CqQNxU!F+!Y;44@NZt*@Y3fuVscgjw9L1Jg+j33%0Pyto|)3du~RB=r^MmCTk0HZJ$ zd6>q9foVXrQq#FzT-8*$OySTq3%53~{m?fw*%?{gDK*X5mC*&92`>!9=`chx#UFq! zD@1}rQxqroxWx)mhM);nf?i%k55B2jf#J+ik^tA3nVKGnt>BvWr$8bECSv{UQ=3Zfr;Bq(O%kc{>ev24T~1$r@v&oFSp;$n^l z%`IE0t^* zQ{u+%m)nFPxcO3zX`kl3tQ9EL%GcP)V11lQMOz&RTa9Veg2zj2X*N@sPIGb%UXD3)Af{0iW*wy?u|zz)u!LUP;5ASHiy0;%MBQ(Mw*;XI z>GdWX;WHS9zsS0vX$T7NiJ_1i?aM{Fa+|^M(5bmZkFho;^o>ox9mCKW@iqb%Oy)v3 z!v}G6mRS_WCwIeQ>c*lDJ6IrnkrXR(n(e^35X65Vm3+ob+a#^ zgI;uHISV0CJ&7--p|C%U*gg@X&mwZZ7NhI{h^aGiiWMD11;}`Kqqn61HV$7FqQ0xX z1DD1W$Drw$s~X{k!HOrzxXwhmu6!SRFenE%kl1Ex#K|+ zh4Qr<4rFsro4*8Tb(e}#Gwl7akfG=jg5yaXn6_~Iw{v;Q^xGPFdXf}7D z3k96P0WlxgInoeBJ;EAj$w6!$T)GKa5e=Yw;HeFrd{SNom0@D)+UnVs#`uI|%gXB8 zVsv@~YR?>@%mXGqqBA84@f8Fgu=6xCAWyeRcCc#`xj_n1;nEmHEp#DZ15HlEq?|F) z*!q$yV!+|*s4W|3#_LB4ErZWw zx1xf{@QMbkYiTMQ*GRovU1*CV_SfmQ4PIYX=%8ahiOz+Moo z7UM4s(`hbzi%6DIet}@-l-#wn)3iu4bGZhicy1q5QrFFlCqhFl5Drctko?BUZo9U`Z?w{Su@!f`@seidaA7MQS`8e1qsw^5Q+Git`~p4Hm}iIfEqQ>Lti8 zj^pK@g zW_^tNG%QEd4D&*jOtM9Um6(jE9RiDdLqy#c@UAi3nk9|*N5cY~kEk@Uyb%DU4CVB& z48PzyU!etztDvNXLk)+<4m8yq*cDWAGb}Tv8S@TXlEX{=#_@#%(dNRhh=fpp-*8*D zErSKiz;zXdJMM8~Mc@=EY*TZ;RbCPA15?B#?1gqtrnz0zNN9~+{KbzVC%DEq)TV@5 z&tiO(R36AzRjOUM2ktzA<^j9G+F~MAN&m^-2!6u>qF$!Yuw&5t`5e{){<+?hM};`P z!T1nO8*ChBt`LoQ3G5*w^M-h$_T7XY`WC zv-`cCdFco)IrZHuBQ5O>@)l56Q#WLu7&LImK3V#l&DK69X$=w5g=FHZ_F<;bO?@CSVB#c^_+3`Bxg}bSz|40d-+w zoaS_vf;cIhMZh^i7@rJ-zZa1an$2a@Bt+DvLv6tRsE36MsRHkhu#j4t3OG){7C}Ah z&XO~dgWgU|BUB5J$QNoV2TtX!+Q$cB{qfQxR+QbdfXS|ntgGA8YHOcYMJiZ`p&lI zwiU7vpy4fe$lrySOUM;IUHEAmQ(pXrq)(-q0G9!}-IOXmaBnEOb7s(Pc(+KlpH?>f zgMFXLKAg;=R^5@A?MML2-VSx3HJ#1UPl(zEweTF^vL@w&fQv!oP|{FpAiDrK)A&fpM*Eh9@! zKr~|^Ek@wSMGS{3^oSt|UMk7cZcVkK!Y&EtJe*2)+U%;BMzNC23%?%c;aBFoQZHA= zFwl6waEZk8jE4XCbD^c)l>BTc^Gm!=o3|8^dVJUv!v>893^(Fe1xvj`Q%jNd3CW+5 z@ErMNENAlPAS(Zs;;*S6IQbl%{2RsJHJDF{*Tvu`61|ndze}_OqwxZKO1usR%OrX$ z19pXKrXg=F%9m+Up~8V?wrlz3szEW1_GrX>7h#L@j{5FFGfgYV)) zNHJs!C}D?k3SWON*|{=?FKRqs_%r-Iq6=V_eWj#Ll`&j|4`#(+pCsq!F#L%oGcYZL zAa+^^*uo|$+R4DQP+4f9(`g}G1gC{Lg%)mcT9{jC;TER_{?@7dJB7}Ejt{}h@I{RW z3?IP{coxkVX{#k|O2RziCEl$J?lDCfvKo@z9!#w=hGUYwmVv1?r%-FHTdNO6uoD7? zrf4O@2TeLdGsXf$3S*qZ-b{Wt-~C8?TUnfUQK1d z(K!3_JPg2$_UI^Unb95%M|)wR#CJyTDwOz6SmHH>630jHE|fSPmUu&<#1GtFeh`-U z8A?>+2hK6HKSi)!VA92Ten;jhle++IqrfTzI?s@hu3$=Q?FWQpw*pj^YDmID~*bBl<}MEbXvJe8X1-BST<@ ztQf<*#0y~Dj_>zLTCR-YgvJAg0V=zzyB%pCll&jZlgyB!|)zWX0X*H zGduuFh|&xW;lt7l*@?5UIfg?zhJfJ>+CnA67Ku*<3|n>Vl?-*9g+0nPPHEXW41X)} z{9K0rAYD(*VOXYZ%w=fW2=^}A(0Wsq49j)MuViS-hKujOZ7$)m5aofO3=CXe%kXYZ zW?`egZrTX zH=kzsQ+zqHCNrLj(%v>ija4ybwWQQYRQ*V*%P6j5MVGWMr z`?oZ|jNxBvJYe{8u>PVo!1oI!4eN#QVvPq3mq@(O?oxcO*ZeYu4H^#^o{)HP*)d6* z@)+J{@);h&2dKzh zlA+0erOkJSn){qODwsnr?@9^Ow zGyHpv2Mlij4BUld*otnM@^1tFM)4uE7{)aoFr1Qjp`#7>J|t;V622F4;0%Lv6fI*F<~zh}557K( z4|`?!QH=)-Us=NRLa%#}_7{>rCE;xO-_!guhA-3la~NvbDR2(`_Xz~AK)NFkd{3aa@))kd2iV5o97W4m zl=;q@Zot*ZNYVg+%1T{M{^l`M4}xGc55mFHi5A@EwMqm<@^2I_p{b| z_GY{P?{&TJTs(a4=RQ5hwPwxiH8T@Uml;o#thT^(Q?~;=)z#qqsD@v4HRzxC0O{tK zxq&C<Pe<*o-Ul{Vm?7Qb53RP;AJicxP`9X)5XL0R?wafOz&S54xECvnvzuDEhb;%Z6U=1E*F zi7T$?Mra%(ZA^NG5l6WkU{kNa(iz0}B(rD6nUeMV1x`10J3zvcr?n)iLUhbp%v53z ziM^PS#9mG8#mEzTEwL9PJV9-KUPYUg-ks}WP$!35N1I?v6YKfvk;h}2yf(bRW8N<( zA6#+v=$2}V3L6kkbveKbO)ih1`Ko7bufWS(4v=?0)2YVydb8`#L*o4^I)8yzOx+G} zjjO>x8UACgSp{zFEmWcVa=`c_X)Vy&%PLwy5L>IkT@)%ch^-ZibdAj3#}@dlin zsp{JZJGz+nbF`{sRBUUBV_gpL6qC#O#P<->WyWsF+Gb!7*9sxi&9w_e*P_cw)`08D z=Gp?$wb&X5Nq3T&i_!I{Izxs2!@rdn9WU1O76@l0d?w&Sz+Z zsw2&;=Lm6>%K^?YxoiR7LrkX`5|3BWIRkv&)a?NI8{Ac?tE+ca{_)mU`7Y_xGCgDF<`9{1(SE|q2U2XUZmFiI zFja7>%K^S$!%3$K-)qgTzwwAqnA{HV4^a;XiK`@W)g-Qx#1)g6v=@@NS`rtMxMFf| zQXlSC(T)H=H?a;Lb}d-yT0jo@zASX8af#~-j3U`nBUBx!!bHJQE(iFm$;mOO`k|)F zj1NiH<^hkGx*Z^4$)2Kx7*&A}n7IXFRJDvM_6kuwD*U+!-fMEZ20bh*8q;DHla$0& zlepnYT+y83iX(5i@~*Hp^d6wN(&YfR->~n7!FN;BWyX=w4&9eGgZ%Li`EDzHa@rfM z>KF^rHHSFX}m*EC^RRB{VEc_ys54NRV0EhY-YaK35!ka+Nfx?i^jL{4uFX!c7fAe3pRhhC7U1|X<`#F zST&Ka2mRj5`dz$8VIYs?smJm@9`sB@es(s(&E8G$ zT&_o8x2mIHyo&iFe8Tl0PTjLoEoO0w&0>pLd^C#MD7UKUqLaPx3ELa3 zslr!XWSh*gX>KhN{>Q}`>fHG%3ZoNW@cw}J*%8&6EMzW%hfQn(Kjd0$vx{uUwK(Kh zAtn2>zzRvcPGGxe{OpS3ZP&EQHEZSDgB6KmWKgfzz&gPjK1T3g6B}SNA1>Iz#0D5= zVkeknVhdbqVgtlk`hxfX0?v(yPb>=Oo)C}f%f%|%hzo>&xH#~MhWuC9R5ZKPj5jsViRS;>>cIKQ z{r@59`!qlClvo}}&3vYBQ;%;~;VB#5>2iQ~ZrS%K8{ZXX&y4GD;dZ#M$(eCQ)Wg3- zJsc!og}gDYn#5I-I9=5EgMR$N`w?KwtNpf?y^5XOx|X4v?^2PNw~$=nEY@J}w*jA4 zfe*SI;P*!Kod|pn{2;o_*x!D-Y_F^6xE{GxN5?)Y5`QK<=HgSrpIv-K_>YTcshO{- za5@mkDzPIzzNCbIu%u0r?qxB>I%2)bterOsH@o<_@T!aBi*`EOMe@!(`3ACX=^6Kz z6%TFw+Wn0-kZd%^4^_JY|->;H5RkvgR;uyaadN#2WFMDiFGtIUD$m>4ID7q#DfH%?ykHg zIouuFk(jq4F;6QoO&aIxs#&BZmzupQ?e|q_zpt8=XEe7wr&R{Xx**NEAkDfU&AK4X zx?on4bwRQ9lJ)6Lv-YN0d(*7FY1ZB}Yj2TtPfg(QHkWl)=X{mqyppuJDs6LB+UBaX z%~ffetI{@C6>TP2Urw{WoMwGF&H8eh_2o3{%SBd}?+g`nf3jBbOLh>}^EG)*1KZ7x zraB9FwTrox`+C<=;T!>nxE$bhCYLWT@%@15GUK6=)h4*m)a?K-b~WgqVI%3bH**v0 zXkr8G>sqkCYr#aKJRjX)xG+ja>>7ricP(!zl$Qj;~g+M!B(|cSE$ev_`J&jo~gSq(zl55ebwxl@jbHZk_QZpu5d?JgPo%q ze%#gIkf?^oyBd5hsv&JBms3g86}sT&&U^_HbHMy=i>`y%vl`^)9*rHuF4Q3HNu4*F zzL9#4Oz(6v&K^3grPG7&%_>}k!wqHEbqN?6T_It~*$UgK16nl3XAVz1zbJ=s#9RP`iN)$_$TN7cD1 zY$-U;at!jCQ?q=8xsltuVXJE8_Dm2gqGB>48&IeW>Yl8@M>k+jd`!lvDjGT|9&$0aUZUzZT}9F-`&w(t$44_c*x)di16*oyxvB7-VY5q(LOEjYtllXr3+QGsX%O@1|M@Zh#88FLWX@*v?f(} zrHXbfQNM68ZEIht*ar|7ojL$Xle0+DtKsx2wpr{0ZYx@$!W_cqT@Enbx>TI{R!O(o z?G?x!M~Vw@q;9!M4@`WAm@YF8Vz1zbJ$cS~TjBmerQ$iK{~b(wTK3Zdywc=ywedaL zbeZuhlC>7#0#mmGBrJKJPNFJApJ(P4h*8xtsyNc{JkvburM2kwA+nrn)@Erfp2fNQ zYNlBmrL{QPdu3Uu!rDM?bz;6@msTa6Z+vezduDuIvi3K4(bVk#Cn-#7Fi3_9nI7`6 zDqLc6R)I0Dc=Dm;XWSlOY_0~~SGQ2a$0F(erlOSw`&w^`6YSrm8fmKHs;^sBJ{8Us zz^N_=_<+gfqT_qI=`y3=_SFR3#>H&G+f{T_0l)LBZFhc=EqRJal2u4bqz)_Ko<$dD zNp+!F8{k_e*1-bTf@@uSz2KP|wC$OS^HhJf(y}eX( zRManmu5mH9o~dfgdD^cf$3&<7TXO8yX#@E7Tw2NH&eZJy{YIb`7$if5OjoLCIzY@&g+FpN zh#88*i$082(TW5Z?ZwcSNXLipY}1I#T(%G6?Wa3p($yWOy5DJ}t5eAn%&r#=VwYO% z?|X#wnntjz%<4E_jew`bd_un>>jUQ4z&hTn#h&g~b&84|z~WSw1H8%Pa=P)IVLClW zi&v?rd4Q|Lyv@Y3QhIilp2g8QyU0^?={BiuSD{PrPL~7xx5;If@a482jtBUripCE5 zyLRY?lXX-`3x~KIpx*^krp0%-*)!vAl9d+pcO56)cyra7i4$B7ux)ag7T-^sPVZ<$ zyG~lT4dPnKUA6ogmp{%?%v?*QS9sz)mjnE%$z`+n`u#ka5xbfNgSb`*iT0w|#nRoc z!X&~6T@G*~{rx@Nq4+K{duHr!ugQO?#pp;Ehq)Z!w@faFfG>aFXPx13Dq0Y5imBTH zUgl~rNQMd-jyBg8h#9Kz3Ri=ep%{CwbPH7&J6z;)fCp^cckK9%HC<*L#9qNK+KaZv zNjKi&wX4JlE(iF5p?%xJ_k6Qw#ye}wO$*$m!jizCFsZ@DF#{x9@|=()tB~|tD!K%_ zMtIUi5c5{ypH$?rLRjM>h@I>+pkoxtX%gOLa(fb7tfIyIrSO=GAht0H{>&0L?-!Q3 z2x1$P@?(O&AFHA^sxaE?x&3kJ_ObBB_XQH`LWkb|%f)g&ij&cA6?2DKn>cP@v(+pe zi_`4i<;dNCIR=_{c4ri zdvBoV@(4wYv}oN)DUNbE!0q+!L3)hhyRX^xXZm-rk8yhij#trA9U>gzB6z^WF7TgC ztbxh!UBk?IsIa+@3Tq$SzmDiSXe zzGh-QPb+PnX+!znY%!f>cxUO@nLGYgO+KTdgKbCoKVdOl#Qf34Hw16pX7@2`vgUlrzDeaRI`=s2?e2|vidx!eKP>_>pEOv6@ zJN;*+@ASlXdYU&5nxXy4hXDsbd%SRLmX6K5$se1K+lax({A9 zvH89C>Umg24g6_S4OKzOmMUW!#Qf77yWSAqWsb!wy3(-|N7~k(-0z)}H-5L2uUT}9 zXqrl%D;CSTN=2ukV`ZIXj*at#>s+LlKXWn9i2qPmy-(QE#T|u@xcD)FY)YEP)YPq^ zDm?MRVJ-)Fi^=75;k%vbGUJVsH8Y^U>kiVLWah5CrQ1}!U4@q5oh}FXf^Kw67Y5(^ zRJ1T4nv1uaFh6bP28ibFw54B}xf4WlaV8{ssNTtCGr?0$ZU^}LsE6}nr{FhD&Ww*m zJ^Vw|!~TPqq#Ru;de*v5Af?0+@*JlkF;6Tp?>aHl&9O<$&s=;!pa+_48d~mR9Ia)8g8Ty7S8 zzh%12_(-%v_s#MFbm04S_pLzUwDcgREv|Jgk?vtLH_7yS7xPR++-0izV&NedaeUgv z+;O?8D^wT>eBR{%-_Y%A>73!aT17nqui4#g#hhS$%d8C$gNqaEf2I4UMRetDcjyhs zbyR2@4skiaeRcC#+BUwsm_0KdZ*n`ppGH0W(3TztCz+fX2gHni zhIm-`lZ$!JPgC_QQ#I!aUw3hV@M9NqM^YbPsun#x)5TkbdtA)>tTSF+-5p~0%(d1R z=uvVWJYLodRW$kYh09%BDZJuh-sCvNjaOk-;RKfhyh3-{rL&6fOtWXkoueJPZ@D+| z?Q-7=jJb*#YfHDk;&g1DE}ZRR-YYBjReho9 z)Ms&#%K=_7vR|L2`<>Y{;}qF-;sH~mDFt2f4P|VrKYY8wZZDbK^*3CfSJkVM!|P06&=KB_$X5~z#b+x_Y#hF z@w38o7f%sLnaspas_tT{dbe<{iH%DIcPy@NdZk*ZVrwPd=yHHF^q08ww1Dr=Rn$#@ zSyyc3O@QY}G1p@B^e4`9Il!gc_05Iv*Hx4YTqd)+f3<*TG7=oWZH^7_4YPKYj>XeP z>DY;5Y;amWq01GxLWP0C=UonP+nxJ%4&M)KZ=C~}HPGHUd9EPk*H!F#6=9`UZk&Vg zl^vo5A;#WV#BMB)UiY|r4#LNGq@fl#)5IpYWhc{uzpJRFyXPQ~FFF0wy^pBq`KVjD z=BOkWulvYyv{~!m9uu1n3x9SI|L<5#^9CiqSw&NSt3X@HDwOTCXzmjh-TX!3QS3@6ypxS4q}$hWx&2AuVvBiCx>tX^uH|fxAs?y(C|)k!Zj`j_^)02PA0w^nl3YLAz8x(AB?W>I#+`mq8gGdnVck9g`}IA zxej8oD%{=GASSEApST*tURLuZ%`<3_d&)e;J;AjmHg6WZGsSaS$8PGI3bO!*xE$bd zCYLLP?~bO+j0Z{9`h&ww-45_mt_Fi-sE{ezixDI(1neKRR4ou&sKKLL4Pu5`J_kvL zDj7a(u1yd#42MlugP1`t-uAvnH4GHCy#3Rgx3k zovJ=3G_uYs1c9>3A$l|wDv;v^N>w3~%ZsuaGKdS1LrYaim zRdt~Xjl)GQ2iP;FZ{zshZFXHti7%*VTZ5IRZU?xh!lVWtju{}?l7nCaRkt-&ajo#C zf_FDnbCS?9v7Rpr@iSEDDV*tYfPWs_x2O2tY%&*o$pQ{69QCz_(3q*Wjq# zX)6ox3nsT~@XDx%_e4GXN7Tdhyq`6=mC0FvABlQ+Le#@cq8{E5^)QaNme0)%>ev6M z=)k9on3E@xTcuj6qNko7_>77?!MnYqJ#d(c)ZomhhL^e;#9{To$6O8KsCwXL)^r`j zLG{2%t_E>TJ@7JDgE*v~d`L|DYu3@`QEG#pB!>~!H_Y1FrLY#8I*DavV(hmi((@$E zDmA=Xg*^q=xE$c{J^Jpc5vq?go&NM7j&eD`Lrg9Y{JQF$Zm+?8RPPteA&Xv~+(Imb;iw<0@5GtJny|H7*DE$Ps-G)3WcX7RJ*@y5Mt$`m-W2ix zDW+wm@3h3XcnQLs#o;|M>sZYi3!@G_F{>xen^hQV?CKM<256^ybPQELy7L)F&I6GL zh@1S-xMELC&L>p9lk@pR&ZiSOpH1X^GLiGSL>{1>qdvJ`(auqf?CUD>Ju2T($VvN0 zJ*#BoxQT=mkcFvjoH%;OJd$Bh4d*gUaPr_a$vI+vLroEdF&h(6qm9YxK zauqp&zvX&_H(d`NJS_SnJgg#r5I5a9v-4@Pr1?BqC7&p(q@#&P+cTP|KdNXf`8+9k zJ{=O-<$mNeY3@TR(w0X~bAY7hAD|ZrDoXlQP0%IdE#@I%xr<3tOj_$>=1?A_O%71n zP*aSJQAo_2`VLcbD5?fCLcfyBuVjxuJ?kO0ANTmvv+@^{sP#>3DA18QEmd`@Cz$8FP`W+B8rE>HWoJniEf zX&;xTeO#XQae3OuVQ@qu!YpAS7#y6G3i0<(yP{`xQ#$OQNNn@?p5pE zQtfBUgz!fdWdiY7dbQ}a^!eILOjiEYwR)_xMm^tX$oW1)&bJwIzRQsF1w_u|=y%-ooYmQI_#7*8T1Vyp;MxdzZ!tdQ z7Mp&FbW6>y+l|F#E(f?oV^LhldyMa}Pom3=1KEG?_6j^(tth?vG`|GI~nPJM%j^o@tIP95Zulm5#-0kTcYiSt>dzuM_TYF;ByI zE>KZFC&BNSxdEbyRo-0GU_G0X}MS zIn}Cmyx(-05qq+?5_1JNH#bo8Sfa92g_htlm+gbWo2lt^QP;?}iFC<30xwBLPm^c+ z5vq=~NWJC~N4Xr}-X@oQAE)|ww^!f``@w z3S)-p*W%w}`m$Ag=b0`uVoy>nR`q@}>;6;mL6-yUUbpY`;roBgo*564U57FFcyxt? zB}X^aDQ4DtSK{$52gt`$(*@#d1>cteI)ST@J9z2iQ=lS|)oRG;hi3Y_P%eOUGDCYQdwsxNeV1uk+qz&lJX zeHW{KzuVXPwCY3se3z)cH2T72E(f@6rSFvD`<&S`<0#p+fxsZH6+*Blv!7%NrCDbw ze~gy*7!{5ixR1*L?rU;6SUwCo-tB9Bu=S<^d_QZttOH)CqSH6H*wpO+zv*glbyUL} zT@40FTp_W4DSivY#8r5eiq2^uCa%I8Tn%F4YCaQ3NXHlDCv$h3s<*2!Iq*)G1AM^b za&nfazSQj%xXk4M`G{tEOym1e(`Ckk>@$s>;F{@o{8}_8=a==Q znrFeS(po$tE|%qf6-EUgbU8r(=wUf3eEGyB&-rk#^=(=~f7jp1yr-Fqr@V2hj#r^2 zIKkxr7noeOgzqt?({J~Pd}fk4gYKKxeIkfG;b|yB#-mV27b}cy6wcyjP1;@E|yav^&qFr^2;NQ_* zEG)ya=KQDS;t0mQt=NVIwT={~xHwHO08mqn4;n&~YxNF|i{jJga~>?I#Ri?!Zx{jd#7d-1B`N7DUC zMduH`pZrwoU2#pur|0IXuz}z_mji6SyYB|V_Z72e#zE{A{Gz?s^Dj%ck#cJGb`$u_ znZzT7<6O*#w2rEsrfMD|bh|iBAZ2nw8KUYZOw}l@<=AB5E4poL;yjn_tGdU&r{CCQ z`?uLM;~@45e$ifxjW6Yn@d1ueer+reU2FO164xrOqs_GmqU-S7^-Y=otDEp?8W$QQOxZsYJLMLH&#h{@`xrM@q+6{*&)^!D1N_E@eS3!Qd8W&ZgV-zhMZ2Q>(JS3Ti`Us(T;#HSKlDKx^=%8^ zJx!CR$Vcj7O$&avFUPve>1t9MSPz(U1scWUnSdWvulpTH7*DEwT=7s z8{c`R(~BChzkR-Rnc4L#KjLLB2l#FsGwDviccF@Q9{7!k%|8e)xwu*&C^GRd>elahS^i{?O!dGV#6Mbo#Xyk&j>L z%m8jPwLbbS5|%s@?W*ecOw}x{#q-=^S?*V1lfnmG4)A+J`%W6Zd|@v~K3t)q`2o+H zx*g!n3X>Z2&v2V`w_8?SZi;uh9N_CFm!s|2L}^s$864trfOAal>-#>_=}WrAEmYJ6 zFv`^J0MBqW=$~N^>Gm>nJwK+-QFX2g9f0#(4seypWe4!R+;loyh~J8K_`fRZ4Co(5 zeYJ|6BE&T=2l)Ij^kozHt|OhcEbz}IH6NFVry9uny-L;9Dwb4S<8pv&^n}nSsdRi| z$KLT0Kck{l;6zim10*bIVRKcdnyQ8Mt1f<1aL3~0-0@z;sn{BdLtGBfKVMRg58u7b zo*DbwkC5$-P3@iNd*|@o$2jPH>&;dBsg^B z4?#R!MX5lSsoMb()~|*0%$!wV%vzi+mq@qN?0Tz8T;_6sd=Y=T8u+d-yS@fkJk~xG z(h2&zc1t(K!u1A=IMw9NF#{x9GTt6l zXP8-ULy0q84)8yEt1fLA-|v_`Gj_|aRN$oO3eR*kI5(;x+4?mclU3kn&D;fIvMM~= z)gUITmdU#EV7_Gr8QP_-<-C{aA&#t%@cIY;WpzfV;UG>>1UNY{`@+$tom^jTL)$ zh;&<8NQ3ADU7RR*qDDS~x>TJii~u%W4sbnvY$Dwh_?}?)%sAOTC(;DnD!9T|T@Bud zYDl(Z1SI>9C#%4ip$fOyl5AN8K4x;e3jZASFm|pOagr}2`D*0b-Qxm``D*aZsE0A1 zo(27p47SRkKdn4^lL*AF4u}7AHHd>9UJka{v?M#%2U~;Db#qwpPSjxRgbwMl6ESXh z61N3$HIEw(W1O`9m|eCp?nv2v;@abK`<1fCQS|(_?0Qe)+cSXg^ruVT>G;OUoW87V zqd0cHUbZpu{4#E0(nj%`n*MxOMbD6r%Jmr)iTRRC%sW%lCK_tnQWss~FqZ@TtI6d7 zhwnC~%Z%4b)&>OEo4Oq!VadK+rRr)k>$+B4<8pw%)W>qt0|MW5OqUrqmaJ4@Xmo{h zT@B8UYDl)E;U%grHM5>>#APlA_~gjG4deT!*)t=bYEde1eRPF{B`y4PguXOeDn0ey zHhaE=ALo@vCE#q9e6Ams`w|r?Z<&oSRUW!51~JVomWHOx>2?V*=Pk37oVU!*bFNmW zueCI-vV+Cxc)2VqR5%&I=UonPw{7}P0lu%BJu_}Iiq5sb_9`qBBrLh4CTgdxF=rLX zCtl=Qg?pNuRp3vf9zGfMF!rK2>nu@@QPOLc_Z1Fw5zp6LTu~uACwO<7`E=|T zyP&_H?J0j+lSue0E|O&@3-8Qh_E8MYs!3vKRw6BXc#{~Km6n!iR$?B$t3rD%y#7DJ zeJ(B&UU8A6o~iz%#6PI$03>OLWvY{OGZ*uuqg5TFVi#-TSeFBQ!sPO>#P=}MWyU)t z>%I^gM8cdw&a)2M&zHh_$US#&nxZie`3LL1y z4u^y#EsR!mjAhbwvpCk}02l1gw*`D3GJ95m(OyhbVh@SEc#cf$)x@q>6aGl-wZvXL zy(RYH*e9reI>CV06+IF7gAem8wC?L|5^<5s0Uo_m-(lhVpxHCyQ<619;AvC0101)b zslkCNHlO0w$|i5HO-u}FB$?)JRi~I)SMlOhmjgU@=f3^H_dK)fEh6zz743Mi#MJEo zTMCmJ92GM_vPqp!#5{T4|oFHlH<6FD}!#iPf_70f>T`%@NSdKqkggK_q)9UA9Oju+Ae+Pi~3O0=}BH3 z=5l}!m|W(?cYD)i##<%pd=Kt4wZ1)1BrJIvNTMo4A8qCah*4Fz*wrAmTg~UDN4n^G zTCQ6n-BK0i13u|;fCuc_cZ~S{AG7O^^WuK8YkPq~Tr0TlVXnpV!LmYCT-1+~$9NSw z0w=f};Gv`Yb_Cz4X3vZ#N>)d}$);`xNLaG{>#BBICcSJBn=S`<$C$n?;5*ao`Xsk_ zrixO5vrOF%kg%kM#j4(Kne_IS_@K)Ho;$X03-~@|_RRRh-7OXPu?j~vBrIux-!0ig zMbB=x3wR_~n)BtHSvz`9Qsnaon$G}#U~;($7ps21+bi%vmjnEZ$))dLA1AnYkG|u= z_bAh4#zE{A{Gz>@Z^$G*B=%ZvZz<+eDjN2=!i6s8){|95t?4@<*UeWwGo5Bdyv*eQ ze`RtxQhe_-U1l7_UcoQgi{2;kA+Z;|PwZ9fkEm#QK}3ehoZ(Z5HfTdJb|5&evddH;xr$$K!x z=$--WCp=f$iw%~NLUh*Mn-@Z#}(dxGzm&7K+e{0LcFU>_AuQ1A{{gC9mUBwO<2 zMY3P)OH@{YqusR%KW}nYfxS@=JzZAG)2YQ`nB?o--|__*^VO1kA<0)G-&2-53os70 z*x*+kp!2Hq+EZTYZ<{ve2v@mm=iHijvUNfK9Z4@3Sr6-S9cYBhiirsW!={r5~ zou2qk&-2bNeWxY9)AEj~jcMDdXK^^ij!WXYleq3Au6v6zt~+n<_iArL8+$zu(?%ld z8P{@K`?0pP^*rW2<@vjc9QTpM?|-l3^!dJy1gxXN=7U3Awx758y2<5vSXJJkCn<>L zVh&4l1M?;3*#vm%8dCok4=&yH3Ke|W#1^>Fwct|M0uS$$R6J;aKUl!|D!Q%(u}eW> z@ivmI~KZcR*_gdqHjoiYl&}>w^tDhRhTun$mIaH)-Nc6iU59GMk}&VxXnfN(H^B^1IKThwTa{RT?AxL zR)m;|rs@RWF|kFAI~FT~;|VIvFvNwK&t21*$G6*kD=_+26W?Nn@x9!A1B|}4#J8B? z#J8IG4o`fG8D6Yh_gmhz?-+i_^yLgMQGIFjh09zH(C;Me>-(bgS`84*#o3lr|1om| zd`u@OJqdtAO>6*yk}HogrjwYDo3#Zzrn8J`c#xJnH%7{HNx(DRIkLWFj-6nPjw&s7 zH~h1TE}p<-Z@nAxn<7#J^5I?PEq9la)htO1}N z$@LrbT_1ecl}`D=MkaRE1U!=y29E2SssXAdHUZ9BsWPUxcrRl*iP_K`Tfk#F%a~%N zh}ljatQ5T7UI^50eGj&0iL~S-#NzjBRV3~B*4s{*0?^k2lhkE-T;$LY=IfB1^2iXJnmZX>bpqW z0vo*BmH}{QsI=g_CN{t%&5^X=7bZ5q*}98RTJU`n8{p5HFKJf_mkl*>wXo|ZCSEFh zRu}DZ$cNBSUp{5sYF??neA~KJe^z+T#mCjHC#{F|;p)r#ty}fih5xv?zxr~Zb*sLW zIy%r|o0Y2=sG`GeIz!^}`F!3RyC`ki!??j&q`1!*@5Pp>1$@iZLELhKhjUM$JJx|OcPo$K=Yv=*9dq}d zmCuD$xc!qUw@QC^y&B7%CGySu8``itb4RRq+YHygDC=w$?Un(oSnls@&HL21k#pok zL(=AHIIv>pe{j}aIuh6}>hBNEV)|m|e{fbl|7Kx_Oi{7Q0Erf#^`A1)-D#q`Ezzr* zL&e^G76MyOmBnYZ%B*)6r>?wv>ha^s$!|tTnDS{k%VD>2Ylq%FT1SPsghN~o@H5->olAVTG<#+|TrydOqfFfn@MzteCpDOC zx9hb7{Kf}N4gRx*Cx-JsXln4Pie@Ch4Yx8icuWN~TsXqi;I}HM;agjq8pNAO0{r&2 zrUnnH;0;G;TlQ;5-#IU4`5Y zsZ%#NRRuNVORuE{ac-(`51X4V5a*@}PqDe_0&#At(1+EP46DkpjOWtguEPK@933Zs?^2f*e9yJu4%a>+{K~a^YfML}$d^%H?czhiL$=&ahOwm$qe<84 zr+oh={L{s&M(EFSD$;`2Ossm)n)&Y0Mq<`C+tTI%j54tfc6M!B zc*@1Mgk3H*G}EYAV9 zAJ_;QTfQH3Opfb_kNjZQQ87*X`E=XU#Th%dD&mAw%G25j`GlcQj>Z%EXO+F1l<|=7 zPU5JklzAX*>+ZDtYWi+7Uae=orXVA5`^YrfTG>%~jpeRBH`V zQ^0v>ylsyzz!$~qg(o=GwcvEuf{RQnGHs~Mv#A~Qt%W1}{H@b%d2kkI-h5t_d-G&ZR3%whuab~I7<&N)VQPBm6(OWop^k)KnM_>kQGsv>a!$5qH&S7YtHNJSfR0)U!Q(<~Stn@r*JoSJ7cd2R#>EZ=@24Uyc{*LZMqPYNMcQqZ zbuSf(OvB-7Kw_T%P38Wt=g(F5D={CbPP}-F<}aQu_v%re8P-{y%*B~52Y8Ooyex0( zd$-y3#m(XuWY?|*r$$#e+tr|dhA%5>w3(Y=9~0}~^R6YHpyc%QQ^oKCUaAL#r7pfG z*oP*|=d_EZI>lmJq?zSn-g&alRpF?G7q}eYN|Vch;`?3G>DNHTYg9Ci;D1cr4seC5 z!5|qbWVp^;TOekr!WUc(Vg{|dKUPV%T7~|?H(U;IvUX;=F!*k4y3DwVWc3%kFS^1b zT@41wP$AQM&9wz$hAKSD)gWdl`pfU6@k4F&7xEEO$@YV77wBR>?JvGpm_0KNWDk1E z=X?QAF}YoZ2kT7(^pKy}Qr;@8>JE4{VhkQSvb8*VGbT8V2(!%E{V&(RcY*1Y3x;V^4P3wcR?Dvz+z)l3kvszrF(Dc-kZ9YzlE~7+|N+aWyb;9 zIcKZr1>9`Ge`2own8eL&QW}7d)#{A1j&{(8Rpk2-;S3Y&vxIw0Y}_mS!?hpK4*Rr< zngHK3u@k)RS};!AO?i8T-!rSpTlz`=pW26>Ib_6>Zw1;Ch={ zRw1^E;r5oU6U21gNxJSNU3ZeMJ5Bd4Pd5$jY3Z6Erkj?eo0g=TmZY1Or+Y*LoNGIz z3tVDi1N_p&7GT3@sR1AD)&(N?qlulMW?QHQ-fLnfc)x4G)+RQ9zsc1JeCIX53Fc4- zcbeG6DE7DQ)&&kWu?bE!u>sny1!uVyoNr<$xWmLI@NL`)es0 z%fvdEW}CYUoMK`f+-PD8-0WI#n`^;OP3#1#Tnk=vE%=vf!Mc8=fPGBt1b!$rz`>@i zgJmXmf#t3R@3up!1vWIX4mNQu*viCCaHwm+CtV9Bxfb|`nj7HDrtJh5n%DsTi+Xjy zNnY1T?6{x12wpO=4pzGs_?u7H~dHE|S{XvFvo6jjv75hS$!y zQ;Flr^V;I%$#3vwDm+=k%Ulj{j}dkPDX#kPy;eo7ff-vNwoVi9OkNk^c#AnUz^Ufg zRXTR%hga#?iQ~U4ra4{yJr>j4Qi(lzGmYucJ2yO)L%elA? zF%@LLUxmKI2VD+ux2^m3eYEOhOs6|F#j!32$UEcdIB!$^cDGmHoh}Es&o*oOZaWHH z7GSg&mtf?I_Tg}xiuNVoGp}lP3wVL6!G%!`Uw1WlGpgZU>V%Sj*xnZTG>wyPy!BD* zDNb-Xzo^6rzrkpdyk5{o{K%C%mfUlWc z9s^`wM+ILv#ASQaQ136=qzT1C&k)l2R}EuN{wRx2G*@5@FD6N+%?^!SA;r-;TGcTs zv<}C*9N>v2mp#RIoar(nc3l(be|se6$~b9ac+q-~bTd?F3eI#n!2LAx^nk(lBD3qG zzR{jEm6$8JS>Z)f};CGFRo`^tn zEmrV0>26nHv%ouD4)EKRzC*zGIkRW>rMl5xG6HobeVA=`)@5itH5Y4n%`fsA6L;)$J>m&n*yB|UKPJe|f zcc?%T$f5iRlD(w7TSa}kC)$(l?JLz?W^H1vC|W%|P#{s#>E~pPU%Hwv>tCe$yT#Vu z5Z1SVV$tiWcB(K+*mOC-MJAVrG`^oToxU1c{Dz9obzl(J3a%%bYaM*o#3qPQ#nF*8 z5Qti6u3aFy*78x|dXzpCp>2iQWbk|?HdiXwUb{*8>YbqKS z7{s-L>m%k`2XC9$1Tm@@SJFTrY8`bzs|%uQF)m!+P+?rq?d7;?iWzGC*PpD!VJ-(a z)#SFK{DJRwrqjK{BHz8Mae+ZxE4c1xu65ww*4qRzsu)+&Kp<+0MRkGbT8s)k303%b1=))MKKnqB8qahb~jj?$k)(rt+Ei)PP^@0DG{0)x0#2>FYO z1^~9Qs3wR}#d0ML1foWoYZr*F#kg?YTzbX@-CmAsv~*+4u9KrU*5v@tHMv|ad_QKo z%=ksg8W$MEwL-`t=2{1QDX>m-AVwAAN*V}6ec4>QKy)p}h3lCrj0?KG9M^p5xKo+a zA-v4x05{Q}l+yLW_hz%}H!?-;>DEyVmYKR8AYsX=Jc+6hb(e~k4#cP`e8JUVU2nGv zJy|_J!f%k7KObs3%cjaJP6dp#U|p_>qg)Q~Y?I4H8ln2$rqkC{iapT|-8ah{?ZB5W zW7Z^AV9ZslN0KX$Yl8WpS0cSqJ3kN_yX`>OwQ?a$8*Fa)3MPrs;Hc z@coV1GviZ|H3INQQ?~;oEE!l5RU!KKD(V1;QPnc4xBwlkBx9_7ozld8Tn^B`!@3+I zzTIZmiyQGw6`h>GAg&c$qg{RR$9(BB6+7dIm$@9^6FP6D(}C|DX3va+*em!&d(qb4 zrTdxPlivK5;9u(8^|WqHzeO!+iU2|B6{TWswwT0POj=X1C)=&<^?X3f70-7kGobQ2 zluxtoP+l;!?||_AyZL6u;j-)XHsCW562WvA!PzbX|A0g%Sm0VfNvAAnp+ZaELZfV< zFVj|J#Eub*iu~5Cc7d-!QrC3BJdhE;C*x zSv>&*xpJcxPX_Q3liOA3zU5z(PnPcMD#`ZhRdt~Xy@HEewr?F6q6tgavRAgd%%K;u{aye1>Zfm;C zc&KD`3G{d6n+^^!bJ0>=)lL;#5|KBMY)QlmOfFl(_juE3NyM+Hs3p+f_0!UwXXc`% z`Ko3rv;;46Ily0SXh;4+u(WAfZ#m@er5 z%C>`a$>hH*)wZT8o?%C;%9~(hgz1}M`pr!>u=Cy z#{TwIvaj~|3S8rIFxop~Wv-g)Lrte6O&sQOfG?Qb*LRHRGW)FdZzOA1f~Cq|_ujHRZq}~ST0AGNl4Z3D`xUNn zIY91KOZOGN8=Fq|FNsg7sQcjerfvsFSTd?4szOxETJ(NH>G;tn^}dWQdjBq2erMLM z(pvPsgLlDH=sg_ba)6oMKT3O#?@p%6jQ$o_JHRue9u5@uUdx+RAiw>j;enW5Hr-u3|&cvTD~*p7E$$$)kXhJrNT2g^cKnSF-u+uN>0VeqFjZRn(`4_4dFK_PVnTO(mp-0PtW5Ql=c%6`w6+74|@MhMbq=P@E)58E~M=7lQO!_8z#Lfnu$7G zN5_@vk2B$p?{Pe(muauqun&UX1I7-ytUoBq~TYotM!W;`W@-~MR##llJ1@_5G0fW*sotl~4=3 zJGw%`k_|pq)%cx0=SjTWti{36tLj1(+J}o=wx3*`ZPzSi`}p2vcD?WrA68LA;89bz z1AN`p;NMXVzocyP27@FHB#!o4KJdXV%%17jNqlcGU1sDjq1vV(|M64!dsl=08J0`u zmveeDko>#~TM+UYkv>bJ3zv0NZ280?E(bW#l~Z z^v_V2u2Y59VAEy$;K_3)m#yJDT}9_%5Y5H9V?N8w#oz5qRVS7haag_xnCGf+wt&l3 zbbSE&x6S8N`1+#c^sq|Rce)zn8YG=md@H&#Q%eCxd$Ap`4|RJLK4NlvIQ*>T%BnEN z6*pA>rLebW=A+_s86H!9{tBB8FPmnlHAl8{(BDlir&-kw?s3sHgJ|xSSUlX^NX(N9 zn*=v=yKl#@RCI^{f7RXz$eA3^s&)98Oy6cLc@Gt44}R2S|CHO$qaKomb<5MGvn`YL zLG~)0__d1G6?j;CcpjEq4$9i`85Kpm^n0J3R5-BJnNOXj}O{s-mq^ zwpu*9t&(N63I_o6v*~F8u5V|?a%J9<&fgj-HhoPlL(OgNw=_oe3*SO@iWZi)EHFz{ zPJ4`2b&Luffn!~^?<73jN+O_G$UNW53ny75I#bx(EJb>UI?_Qd+6OP2NHkk}Vm` zYI$yBswUXY#4a$wwcr%jf`0er=x8XD7NdPlNk42cbz=Nkua4s_uKkg4uZ#JpmZ-W^ zh1~>~xop3z{ff!uvi5&t;f?4E_o(z;)^VzjH=QnI#0f43c(5*3(=CASQ7YQx0JHAQ z`1P#3kJzV}y#b>AmwoIfnY|N4`_KE>-}aMp2i$oBZy$PJvb?Dd+B#cByPyJNvc-Lp zo#ze#Mu&U*I9%ioRTv%a?&Hwo4)$5e=qE`k$Htb@6(1^hW%(*^v`!i}dT{>iir zu)@ST@V_uO==!IuTXitg#NyIuus@#OE7$Zu!uMheuY-F`EKU!LRlQ$@m4^?y9N-R` z%rq0eLrj+$w~?#`1%tQ-LZZEv&-!TT#;DlymB>pp$pIdu7jkK{_#S0;{i1-F|IRKv zPen5e1`7MK^c=KsoTsfq_sw*)_#ab z0~{q^bpQ+$w!Nj&4c?_)6W|ZhMtex?#o{LRYGN<0seY&UKdWde>B+xc%(K_k;yeA| z@8cWy9U#8`ZC-T{&C}9UZf+#z?zPRGiMc!jDdRU)I0M07o7@iYrKpGfJ9VXW_-kKY zBi!yHzcIX#y07!hP+>b4PZEevt^)Yc;=`oU?l}Q|-pox9TPoh$dR?v?o4Jdeo~U@s zxGgIlN;Dm=?}-53sNo^5CjX46hCg(5K3B&m!G^BNJ(DA0i7ZQ1*pzUY%K?rYW^EPk z8sPg6vuDOZ>=pc?z1V%kU!lFGWeJd9?$uaoa0ipK09QsmtXLoP>P_6t`%{CSJ1hFO zLb)H8zn0^-KrRxA`k;&XbnrL&?bNuAAaIn4O|ZnZ>kri-rXq*DV-mllq)RM+7x~w< zq+Rr6D;M+puN3($=|!Hu%+zF59Tw9hd`lPea5^#4TL*E9dYBfvpy}#Kx|`yDbveKdbyO=|F@yLXWA@DW8Oa(rm}csBfbUV5)L@Vd6*5J8vHp{# z>sHbBJ4<+%WoqVqMRloJ>-P)(yT$bvCBE+3+>z8%Ox0=&r}wqily#^ILx%pV#is@M zH`A9x#&=)S=^N?9164FOFwxZQ0RQT0Fi3_98KS)y^8V6|v+(Apgul3$j|9~hOjTbf ze9y&)h2OcDJCb_5sakyGzN@cwm8z>%7&7F?l_dwrHyNg@j4!{ctWz9_=3>K?<_6|@ z=Gk?gaJP$jk4neRB+vBR{HB`W_aAf&68s|hF7)*>yL1v~#oh>G^<2 zHpv|-@B|gjFo?N|9g(;OT)$=pd3P*JbJ?=7rdg|E39 ztgDats)Z^%SRbR3H~6wXSc@9|$UbY^1(rrNsbHgVjg>hs!y4!#hCnC@>-0;yU@xV^U-V8FQ1c- z*($rsnLb-3cfU!>71oi?`Lg{$MYm~z`&`T&^Sqj;o;)pbkXxL;;y9kDgx7ge;Q1T> zlsLjBy+HuYsj0HnM%ij3Z?#h~r&y*Y;OD!wvw?quK@)t#wct(@o8T_jmQB_3q+Oc8 z>uoL@%;n22=7UOJ2NR%ohqO1={`}s_rZ10v20tVE!kI4HN8nyCx%6G7`f9hY_4eN^ zy|~c47Eg@${zRSNY7$*_z#oYn?wKGPF90_p_fLvIqWt$tHIdL=FtDlk=5Xz ztQd$3qQ9 zz4tw#_uY{L)O#h8%e7-Vxs1XW>RQ2k;kQlh>$|h*vJSYbiWU^?V`}|umPlB#&a`m6 znX?LvS&Mb2_3+U8@5W^mk>M-)RG{s~Jxx0pE>n8|a=G z@k$jvF$3;5!_}x+mwH`cJr&e&jjO@GqS~lN@S2K- zKOFL-Bsw91IIqQ_wxe`Ao4Jm8i1oIM@x1C{+1cVbhPU`*t33q8S?JkP5ix&H-tl>| z$9c4Qv!unav0kO3CqLeZkFDpiHBG`$n+R=uahS{YO?>fgw&Dbb?=EJ~j9-+j9S-`t zl3tBzcGf;0w@qK}W_+0|9l9Wzi_w+l2Id*&*#vm@dk)Yul~kQzFB7{!r)$AX*8&em zX^(UC|6CQi4ClEV-~yA&F88Xw&~$4btm|sr=~0F64^%WfAnIQiz%w~t^~&gu4e(#{ zZ31^Jo@#rgy49?m9Q__+KiL)AF6M5qKR-?C*H3)esXTo_{z{|+7YyQB!Ie91wGlvc zElz9Q(!JB)kNjz-oK<{Jvs85u&Bb6!a|845&9e#qXkr5pl$>>mIo+(C;29IUfX8%} zF~y-rj30WL@#m_upzuwT_4D>(|L)%?-OVamQhv(oZWk@WI#t(N+2eDv{K2fPviaf+ zS(Ecn6?-ZYhq)Z!Sd+^c!*_(~GUIlVbwq&CrfvsFSaP5wQ5B+hGIJBes4C=^Uri;5 z?G~##PP*|b^bt;Q+3xo3G`Z{}zID@O0aB7(->vEtGwZ`J;#8OIX5bknm#OgWF1P^b3n0I>aof&8&l zaRGk5-^Db(_n191z9m^_BhcUVF6r(zbNyY)a+r#??eW5iF6JX4*#BTybiYF$1abCS zJAgme%}`-*@C=s&jK9xSJUQZfnc1@n9HPriWd+<7ta+$H!lcf-ltcxhV%Az=m-`G0 zR}aLQE(iFS$>q_}qq_gTRvmC}idq7ACdUbmd{?PX34kvr(9Qt&yB5UnH2@x7Y)!sd zV5thT0@JT6sM_CK%Rb@Dmyq(L0@s&aodW$`Ytjw1a9xRr!(0wm((o8Fq--~N?o*Pt(y=(iacPbz$V{hdB{f2sbk znNA4GQYTDaasRQG=);>PHy#;)GQM zQPCSj91!*U{nxPf%7*HFzUNy{-@fa=-gnK@yVl-kN6aM_S20PfO=%7p&2}+GWQ>XF z`E4-l73a$k%i(=6Tb5QamwLbN0zJIl2B`tXueJV2{3YX08c@1=5m%$yzvqs z>AohYO{~v&)pd_ai0@vj+YpCl|lhg^T}_ zcnv|kSwXypAYQ!vDZeXix{mTl{lMuW+N=TPvs zK&&QWwiv^W;+-~F%+(}rlY)MQnJ$J8TYn_}IUd=C4Iy3oL)&eJKS^gu zF8&Li!D?cN|H=4=Bk`psjctbO5uo(N^(VokFMh2H7q@vP4W~S}nlf!`5O-yYhk?TG zhiC|~=Zv>i>>P9m75ljHwu=4DhGr<*t`IB4ZZM@9EX;aY!oKFvD)uXrXg*0P|65W~ z60)~o8;m#a>&uY4f&^7H6mD^~lCE=qkBeu@^fg;NFUSNN>Z_M*-1R8_yNT1TUi+Q(Dyp73hs!BY51}`6ZTDrHW1UJZp0Pwr);p;>us!x_#qJ5VlJ_YFL#nyn-a?#&2??C9_tlT zq~P?SI1ibeTE$iy=~^+X7T;ZLrusNufb0TxL}BVlIVQ;_tV?VlD;xDsi0ZOfQIIZJP3m_ZfduUZ9=^Am3*A znfMvsVp{suVd6y_EcQ=QXi!S?jB2}>OJSDy`8HV0r7*3$#}G~#W{EE_{^8l;YarTB z%%wKlrzUkJ*K1Yy-?%sO|63qN%DJ!}>*asrbnUweVjL(P6(txF8c!EOW{rdEcEl&w3fn@udUIBz zNc^A38v=RU7D4WNVaHkT@lG=+RGy$#NQDw_w|?`-J@og4!|^L!eHKsSSKR(J<+WlHCU`g!SG1r3 zgIEoU;fT?NW_PkSDAa zGHn2FxBf`{8^)iMK)QFCFxmkA6^N|FCQLAG09Ul21VO9@#d4{}C72}aVMrwqf7JRT z@ujaywE?rMOEoS*p0HNPv;n-``XliP;}6;Z ze47c|X80HIla<()Oz?0du4q9C1n)Is-VTA^XZ?|QGd&#kvvl=xwCX5+7(`NHN1EW_ zNLa^p|h?w?&@eCri-Z!uxp8pQ9l@>$|mcN+__bxL>4$hSq}_d`@( z%q1IlwUYXV5y$nL1U?Lz6$1XK^_vgmEis4fqz2N}C+_G`F(*!XG#0l>{3oNiPVBG7 z+a{JHO-d(bzpvNkzpqE=L4+P<6xzg;LD-E%w{cqcLUM$W#@+Zkr21Re%-j9qxN%42 z32KGRG6Zk8{z!b-_>*dmfG@G~2Jv@UeyN~B$PEiD-6}+Z#lB*^ zYxOe(dmN6-A;pgvX?zcz1jR+0MB`z|3~KnJ)^9!lcRnj>n6-50n6PbzuftCph@ItB z#T6~s5`tI_itSRxXI&S*0;Cd%_gKIAw%Y^7pNt{tz73-CVs{(wTCsa5?iieq?HnH~@?^-E-#Ck);Ruj}JsWJ?1k(A7dkSZ&F zrV+P`rHiH?lvr_I34PFN`fM%)DmZBFao}x`dQ1Fv>yN}&a;*~fmUMp#5narQ7XrkxE z{$RZ8{sP+>&0y)0;x$IvCia~1u9c$w`NLW<`$L9!BqniMrD&z`pp^7&kormd-4Jah zmM-OWg#DWpE1{iC(c=0x0(XbhDdKxtecj?i);mcEvs2dc(LGg4F!ti;Z}ln6yFcSaGh}$kBru!=5%cZS}G#=AW5br%iqPrANNe7c! zxotH;?TIuVA(CEcr0WuCJi5+8QZmxKFUoe{&mgt1_>C#$mLZAXMV;_o4wGiEI5ngAlu>M#;`v6}o+!5a6s1@er z;#sd!y2O?6B{p%N;so$sNSz>lpY=!Lr@eN1CrI}xh)xi5;!2p56}O2UNo?wP4D7Ae z`*OwBAf0#-Q#Sf3i@HNxU(94SiM>*ZoN9yk;YM|>nDS*2m?eIa4Hk1L#Cxj2oeb> z(p>^k9WjY{&-$MDgF%wF8+n_Ulixi}eu|N|iWQ7^U5`}vQmX5g!LH_pAMYn%pE0lV zuX_(aAW&N2>>$orkj8^}x}>|2P#vQ5ORk4I`4Zn^vlIF9K)&3|pCHXe=+GT1laj(K z%{#1jPm0%KO4_cHuCl*DsK7Q_?+q|p{`Mm&yDfj*p<7A+N{E(J`kyw5u1)H^))(Z~ zSej3oA(kG7RPm|iO8u!mB_RLT;rf{ark2W}m{*k`8JCv-86^Z{h#Gn;(u^N+D(+cil%@TKoW$Cg`_-BwRCjO-LN8-agunQ|D z-4~5~o8bpKx%eXE-)4BX3m3O(Z1dTf{9PIi;)+Wiv&0t}KlhUGZWk`@(ui-Af^tMk z!|65#x^ZU&y0Ze^*@14nG)s5N)~`|A)t`Z3-3x?uQ65@d(QDT0r6a&gAho3UyR1JF z-+jO7Eh*i982L8CBjltiHp{7sD_XEF1+f|wJ8Q&i#aygeNvwF>DAp%zUXi#Goi-eU zWM?T^SJ-%nG!fwdNEH)5$oeDkJB>dX`_etpgmIRHcRRWGr7m3jqb^+BrjZPhAdQ9~ zjal93Dz2uDxZ-N)h`Ti6Arhn!DGjIF80f}BB+#7|=*|vw;~^s5W|Qx>MsZjFc!CQA^JPCuJ2(d_ron(TCBk>J3SZvS* ziz~IjkPZ@SP+~5#xLScc3gj5r)&=refjk}}f2Xke+mq}#D%1tW+ny98UcyI^TmqR% z0)LnFN8;Z#{$wmk_Zkzn&G7s2Qzx;s>UD&D(}?4oCV>w_%1QiD>yN~{_n+R@(*1*x zZ!^3BIlF||ZcbHP(Spq*h}EFjI~(y@F&ArA5-XmLighL`jN(Y#l_hR!$zQT%nI%5M z=nl^ox5;jclV!ZbT@a+(7^EAI%pl#_LAv_}>CX1WC0*75>-5(?^_NZ6j^Z`zkHn8^ zn%<7m9XIlAhChR!9uxbu3Fgg4_#22uu-JYs1#zVojM*Tu1|{k;i^uGz3HvO>m{X$r znAqkIq}qhykLwM$ZJRZ2%0={iL}-g*_?#)Z0VlLV&A1&DOCeZvEM1M$nsfiT#?18|#4U$Az2Jn88QLk& z#|i7-om+SK7<4ss1LWQRYrMWa*_I%+wc6ghChBn>)Cmbwv@^5@@@_l+CiL1M{rF#h9DX&l7+MB-_Xak03G?!K$Rxjwu*V?p zBwq`4Kz)#R@4|mMGzwh{T>-rh^6t9TJk5c=(Mp}6ujDBs+&ke3=u1k7eP>>gg)V};`#s@@ze4z53D^53UjO&__Y30b7b~Z;@AN~%PzQ82~+u|pqqF1+N{;H=|gA?dK~iZZr0tOLr+7$g1q|%bNJiPL(nm-ncnrY zc6KoTI+!!hK+oZS9_oUA2YGh{^W;(J1?I{z2eZz>Cm`=6|1h-t6~fOC!h4*akN19u zZy?^sA;s^9yi=O#e5K>vzmng`96tU~(u9sa%*Wz*c{ptWEq@b#ZUcH8{|RvKCXZlm zU@mq*=Rw{Tn45jjAoQP*cRLDSe;hUnv=zD%@^0CD@`g@_Rzco<2miy+)6jPp_)v?V zA?!EM?;!71zM1$?E3^jkZnu*eBhcP&rT)-<_-}x`o0R_)>d0K~g0|uxgS`7!^1DcL zJEXXS(D9JcdXlhTLEimu_5L=4TOTOD6YDPI-99tq|_8(H|1 zkav38b`SInq=#eP`S=GB=au4l`MaI`cz72i{W(xNpAS=(38)|Y;_)DV;m<&~Lw7;m zUA%+v8+Ws5s7?jw*W{%-dN&4Em}D0R>&a(>@D0ek`^FB!8)T#Hht0q|Y=cJGlm85P z_wIiom+s{LtTD{z`=A?|*#98!rjRM@FUXX~lknd_3n9hvZqEZ)cOl87tF)x+on*g) zK7BADsqhlvccsGHS&KG6Hxh2*xPR||P8fsdi1vyONFukrpZm0#ZFb39!6=!2}E z494NJjG)}Jc68rlZw%=kX&Qs{EXJH6?)6gm}J8?=kQ@%kUH#vY^&`YVp!ZN~pTNM{zw zygP(C9}P7_iy-gzrA|82J`Vi?(wg&4$h*ra^Q$P&2&8gqozb6x^6oA4*U8W_=t9Ul zA3o^9B|j&Se+>UE&}SjNH|U)Y|DFq%T(2E^w<~S18}vFzzijl*ho9iWB|j{XA5DMj zJHUI>ZkI!PD{L3|De$YH`H;>+-lg?(=t}?Nx#R3R4?(Ym1|k2A+bLwvL*D%e*%Q!e=9u2#c?SRP!F)^0cS9z*^!^Tc zw=ZD_L5D(0%ezhZ?}i#UN9$Xx`jqNVApf=1`=ty168v8Io!g3EAFxfwE2FEgv#x>8 zf|f$7pt;ZjNaDl*2YI(Qetnip zf4M;)^U^)&?;!6y_HrNILY&3Wpo`xNzW_QDDnKitHpn~WaSe1MBpcZ~gt5DeKPADoCG+nGfkNPk8r3)}Y@&&q03*)}txb9(^>UnYBY- z$?#5pc)N>v|4FwN`0(cle;)GTe{_0Y{?ZQO>8IX}tP6Tc_3~hS(4VP30XiM(g%&}} zA@91~`c#A87_3u|;C~!?652T^xAw>%L%)Xf`utDfPeIm3rK)fb!F>4k4#M>rS=}Z2_dtC5 z3O^?Z*ULoGdoT1pXb7r8-g)fPN$Y#PB5TD4NaurbNH33E1bKHoYt9FuyR>#edWwH5 zX`mBXwOEqA^;Amr z%$$Lt0sgNSH}n5`0HShlpv{`il7l%+RzO+%zJ_&94*TJJ5$wKPdD|KWy6ci+ti zW5HddG<%Tq0@$Y~JuS%<$m<=2-cji34n}%1DZSnn z{3@&R(R0h=>eLs%cRpW&V?E8OUILney+nGVcLsW+Gqcg?rR)j%?w@mNJGsjtpRb;i zmgdfssS`V&?|Yq|+Gq^DG4!4}ELO`jIq$V_r6;|uKVZI}H8XBAsrd9hj9+?c(~EzX zi!MHYrfDyrabE9ckk`8my~}o>_o+bdD)g>G&!?dTy+7>BQS?U9>mmcSyPWjYZ(oFb zzEl5`i>CMhflmXG@e6+?(E9^=e?V_km2yrxqWdAA-q`cBU(d|Uhyt8za{Rk+<*y`~ zUdTmF#hIBK{Gd`8B=-muM9)a?h#+4t`%y|S-#^oQ;!tVGDKEKSLq3l17!SsOAKYPi z*^4Q?Yu+<6vqVOfb6zip$NMGvKEM2Z{v@xJ$Y!VXzI9uad8+H>dQB<4@jZ6VY&|B? z^L?YUu=4eD=lDfCXO0|7^du7<@ASN+XME?(Ju)br^FGleZHS@iB1Ul!_^El*M z&xLn#CD*!bvCUcQv&A+Ct-}`ER@8cHvF%r_s}|c?qV>~a7BZaHNsA53Xg#!8wcvaa zV{3$JeY0|{@WhX?Rz&Pc)+_OyWH95jE{X4yu?wBnAB(Lqs&&RiXU7q8hJ1w4GxSxgPZt2aXV!WNC3W_G6zl@%MF?5{$UF4w1h(&Kv+5Y_ME{t z$d3a1_ME}t|3t8F&ly+{r-CP3|IMWT&I2!@eKcNYutTz)W|o6B(u6O9H|=EmTl(qz z-;I34^^fw`{^I+41~cU*aG3vRz%6ckD7|$3?nCaK>h~aEl>GH|S?NCkp2%h+?X$wq zdS$ru|CGWrs95ivxkx=fgTv7t;I6&1k^bzX;vb-jJE!4tZ z{=Kl_A>Vc*9CHY4rn644}xz9@Z;dAL$gt*E6?x2`NOi&j~(8LcKJ?_{%gSx z1o$xU_?xnk#*xZ%Sd*I2Ba= zF9qKb$Zr69r~bML+}xfuU*%VM^w*eMz*@P4C&2jte+%3d;77of0RIR)0zSgU*GGt& z&d)}B(N0S5C2&h$Hu@A?cn_B7(F^E5hYtXE4Q8WrUHk>$3Gm)7{^{VU;cRq?lb;Qq z^`h_3y)%8_k&W5tVJF`LX0wWD4AWk^H|g4xjaprP`tuMITe8to+Dqjb12?`S8)0r3 zdOh3A94Q~Z;q|8zFG#_698-VVOh;TpK|%LHEqZhR&iJ?F~*3E`l< zJ}><1Y;>EGKM0=uO*ZOq_$hGnZ?n-|F8zOir@;DPoyxa6Tj=Z{y?wzGFJ+^5y7|9-#-^MI{hAS<%nE#vun>`@ZLfCm#5AhVt?Qp}DSkii$2zP##nEyu(!Qwlp9LTMy=4E?O<7c(!X5tOA`D6a1&VNllSyXBH1z0*LzUo;C9#Ee*x#O$VESO@*F1b*w$RM!QtJ(`S<0bJ00F1?49a+1h{cD z7wMUt(r*E`T$ALl&l6374|ehO4p!p_lKJ{J;Tv+Xy`qm0^I*;VSqP=~dGILMx1YY1 zGxqPvcz8nbKbVV7ap}JZ&V#RaSbuPK3j865_W_T7C>MR%;WvTvAI?R0JA4Yb@guqD za)(zbK3H~;%5xsLX)G6MUli6eUnW)51k-rhEc~&gepi4;!T(LL^gjUZLjQ25e-pTJ zGyUo2!#&_8%-NYX@b))mb>)M#yj$jcus=UEG5!a@ljr30 z3os*pJJ>s|f!C(+$G{`bUfG@XYCI+X61bWDu|izs_nnmdzf<^sQuqaMWilJ(UHqLm zl63_6?GE-%HBqAI@$3aW>L- zmxT5Fyz78$bd{6e2=-3t-2&dsdaU`a_PGr_c6T<~iT+poucY+#Y`^()+30rkCI4|s z{wr{W`L6X;^5;`>eGfQuu(jtTe+~7XSd)!zboz(dBP>Yq?Q@>Val8LXe+BZE+1co7 z>>%OuQu=jp*Im{gmi&s8T%TfTI?k>ylIwdYjf-;8nI^y8%wOki>dHp*9sVBj(M`GN zeJ(%!b>69U*1lEz7r@@BygOmXG`=+#t-&w(>%gNYv;H}Jgbp6gNq>Rl?))eHlfg|3 za?y5V!usBdchWC_CxiJh2p(CMie z1i$o4;QV*9k)CG?ZvwacJsWkCukgE4@jsHncciestupS;PrI|8{2(QNDuwk2Z8MzD zwB9Sfo$Zwgh}qHbcK^21MYf5Haf=PlT-Suz*FaBqZggL3p{#!F8Zy*8&mq1fk)nxGv{mNe+{_l z!;=i#07JB6|Tx?qxD2p*|tqYZ9+ zjtB?w{{!5NeRi6Ye+t}4d-(bA6|i?oU+;!Y9FmPr#;^4C`@=ELFMfU0duAEV{aO0M6n<++dc>qilMbFg35Q~Fm4e>zF; zqbd0v;EAuXpQ5Jnd<8sGwfAGfkAj@}p!u{v&vMTVgNnD#OM(mFM-~ z7VO*a;#d6UlzdSNuL3tQeh+f``aP+4O7G$n-U@DE{g+JXe*oOb`Mbkmz4PUrbnZyu zuYo7-$VRsyQ~V!*n?IY4UU2wn=`(*0aQIKD_zk*vaL$wg+!TzjgTWKrFZuDT52bh~ z{pH}w>A7fUH@?qH$;&Bx33xmA-M+uBOUXY2Zo;1FA#K&?t10;-Dg28R{$mO^GSDg) z3X$@+g*O0G|wcqjeg6uwmPIgcNTOy$=XN-~^3 z{Q2l6@F?x+=jUCL@0N@797y`#1dklgeTBo1Nba2S`)LY43mzZJML$8N`1*Er?VifJgRB?pG$jQ|D&Q zeWA+pNJ{?~;3n>eyC|>rgWsj(e@)@nG|}GNr=0ETw?DX%_U?3e9(d$Gv(e8TUJl-l zJ#wJK=YqXcdsUk}QhV`kcM4wv?%F*Yz0vj0SW5mG@YLbi`2Ol1@Cft!JsI2n4}nLo z&&Bt1&w{;EelIpr{x4_a`IKeiR*vAj`)V8iHJZrINq-;k6#Lha_|=}rfJd)O&PQ!2 z{ciB&S;=~QQA$1v?xMYvw$d8|SGfPV)Zsh8&CH)Q4o{@we^2;|Z1g54pGwL94j!px zqdz+NYt#|WDbGW|+rOQSN;7Q!3&B&b$wl)WJ_FqFH~apG^t)5>-wwViSijy4Zaj(S zIWGQ>Bb?dps-rm2C7rm)@Vi&AaE~^UzEd{;7^^ zbg$Fj2kf27d$8mK$^LZ`c>IgmNWTMB`m4dC$MD{qOaGiy{C>&*llRt0OZr!)%mQPu_s*n zyd7NO`S4~Ze;+tQd;i+un}nTHes_Q`V?AlWukziWl0O3O58CS&;8K96Qu?#Ba66~; zUk}dneDqxWs?R|w`GOSI_ZOyu{qJmW2oY1m7L3?@y%U&wv|)^1m%%OA%l~4r}FQ1IO%g9&*GQ73EXsHHd^cY<5;kF(qERsZQwljhr`Ge|9r_OveBKceK&xc zZ%gj$E&^BXWW99y?-vf{&zSVNPxbd*cY?iB{u3#z?-qC``H#R&tGM5C<$pRQe;z#9 zn%KWt2F6rS|JfQS&MCda!FSXD3etLZbV@!yg%_sq87W*y;c^PUGlj1Mw{Sk|BY(B; zE#T2_W~0@veeX%>e+N89d*9;pe+us6dHwqx{xf*w9-bdLtQSefS&w#ccu%l*s{aAt z5$-F_#IOA4NuT@Aw>rES+{Ju8+2J+deS`UOF1V5B-Tpjq0l0=#$RTT=2bDn9vlqpR{fl#*{x;pb9#CWcQV``fEr{5`?jzm$!xbNDdu)?ocV0qmX1 zcbaf7@!fi-?_rDt_di>}V;htE{L54E|2>88RQz{kqe+rA^#L~r_a#rJ^j`o^aR0K+ z>4)FPQTYx#iuUVE?$27ljeXgu+3B}~EA*$I?;C`gvl#~_XRhenTtN`=I`O)?GI$l`xVOX_>}&_ z6mCo5atgmKg+Bmp;ePdESH4ez^Pf-V&zHcH*vq=cQ~uuvH(`%@d-j*$Def1Kb>;mF zcqAACGgUILy7_LI|7^3D{#0Nk}Y7k$>vpSPvt*MTR;lllA^ z@c2kBzJK@vxRK}S*ZBH^CwN}E%;BfO8O}o$hZ}fMGX9#x{(C*RDHvZz2vc9w&H6bP zJaTe2(sKs2=SkqkA7&%{22}VoaQ-d!{Se_U$yuNLeO?vpoyO1GCBHs7zuc6P-;=`M z0q57`;^+5209S(h%0GZd*-uX=ZRMY1;!JWMGRxt8!OfhHwX8@!2Rwcg?<2eQU@3Tl z`AI&FHL*t4}vG?uO^2t z0yi;!{CfLdaPxV&=*_ObKL)-d*e^Z@_D=cT3x1aIzc+r_<3CKvpGn~t!Ck?9{yy`3 zYAPSkZ-pb?=cGU?@8Mwo`+`0A1=*aG{+m-c51wMbyOLxSzf*Fa|6S(rAb13OVui!+ z05@_zd#A(KOW(OY;2%%nJHai)SGAP>w{lw z7q3~}*12*;`1OmKTP4OT}uYQXSY>s26J}>!+8))uO66(8~`d2kKio z2MhJ;z~;=rV4<(Lro6^#WO@f`l~Q2~nwtvsp8jRMwam~u?=wO9a;c=?jRV#CaG`WY zx%Z4hZ9`^||JD?`OT|pFS}j+7Aq=Qx`c0YE3=9^_!}VIGRH)S*$kfBYWdo(6$PYQ8kwH!$=vNtn0G zM5S?cbRjfuiQjv=B=fc*GreWiJyRd7v=#gG%U9|`Q5^6M>zmNUT1mk*FkD(G>58G= zfgXOLS~E4I)u~Le+TLH@w4_+uP%l?#-XdL5+OTY(TB{r1N{VYdtMr3f$@2Ost48*^ zfuY{=rga3-|7sJP$Z~$(TQj8?t{2yps~ZYbkS1DG-kj;H7P`+I(*LIyx70MORCC+n zzT(y5V0mLPU#QgvHWpDk73~cDlCPF~7WVd5i~JV1x71G`&zU!W{`}+k3*!7pw`dbt z+N+=BE}k=gF2dvH%_WOkf1y%zO13+f6gQf7=wa{wv$c8dsi$&)xYKRey`O?={tS%a^*ULj~Maoqx zE+Wl=p}v|IsbiDM^G z(uGtPm5K{{G)3&h+1xwS>vFO}3zihLEVR)VW?T&vN;bq#+6s%1nxwZ{*kogzS}YG1 z>(wn8BeFf{W=1?==FFQnkA5hdDXPIvHCO4^-~7y)MqF5_6o+~?i%tLX#*0i(It!B!ksLn{lj%8 z($M0X?>hkk6YGjG}{Tsv!4tUV;QNeDsBpLAiyCq z2TWhj2+&-m(q};QEGrK6_F0}<)>N(#$gDD5VVanrVzs_STUVccW>0IaFISfqdis~M z`4p?GE9(a8{cE-`m(^#>hKJ0+TB2X}J4N|dS5^#p+4S&?S!))Rd$)u-CVru}*YjmX zHlo$**HgH)h3bIz7%gU%EndNwW=+{=VL+$^kiFRPd|>?TRYd+3~U6%Qdj{hqgxMSV35XF|_3t6mJ3ZY-3h0kzc9%@wOG zshPafLRR!ngRA+*LY0lBt=KzIWnjfZo7EXAi=8U22+Pdeae&O%lx=_7JQvewafw*C zSG%$hw)8^w@(eS$(5v>b_Jy54p@l*6^^Sa@-oLC`9z4To3!4#OB*r&wGq%%MLnK_8 zZRidYTv{rcPdnJ9A)TFwxnvXT#`n)OR}3+Nw4^8+fbL_on?Y-WmeKivhJk4v z+nz}>i_4{QHGy_*wOGp=BkkDZ7MRpcZ>2TO5TJJ|D9&%Tif&6wx3E=W;AWT{zU@_A z8BO}oMW*xAm8%ymT-mvL*|PSfYdY5~T(okj?AYE~xzn!h-l+8krW%6JW>gDXI<@q6 zb_N0LhSj=)7977|4!eD4rKhvrKRmQyPWR?a=aRElEj(kzVsAgH3}&zGw9zQyGPi8R zQ)}~J$&3&dD#o>2X)+zH!^P^BrJL);A@eyAS!4M!+e@+9k?AX8m@XaKxPD`1c&O@T zf!nY8N~_A%!9wZS^_h;gwq@+sc6gEe`hmU``q)QbX(_d0j@l?%d+KzC1P zPi?qU6FJk3-IE{K%$Q8h4jtM@%e8@e(X{4T_kEb!mZ2Wk{t{|GY#;1t5B8rW<)LDx zP^px**aEEK11mLlkU>-Ac2$Z=W~YS=Xf?6bl)0t4a*}B)%M@}p`C^7UwuP~aGOo8= zi_&CTF>GqGK6=%PK@KjglrL8n)=9ZLky zyCNQc*4prE3!8-9FYJEn=cOCWXR-t^^!Ejs$jd#8gpibO0%?RpiaMQl(b<7 ztXOS&Nn>r=s&9sf8@P7yu@+}%=lTlPUVVLMPydFNmQz=*ShTov-kf9S9GB^^^-e7a z_Eei_HfMT^>kGprmT!#oT7R3my+du%uKm7B30Z0x5$5dV3=vn8A>R$1oqdDlA=|M! zgrBytQ{$t?sZ|(rKV?{X-&$+HxryO*VC`{L>7|mqF&PuHY08IIu>hrwj)Fq z6{c(f)65)0GBiVH|0aJH39F~WmP@9*cA&VaQm(Qhx~bz=#DPqC$SqLrlt<|nb0(1$ zI#^*PnARJzn3zMcJ?qfRJjMAD?Lm>Y^)dN_lwDbtz*>j#+A?%?JYK4rFoA!LWJ zU+~m;^>S}mD_1Jp8tGkH^lQY?V`=v z7BW5|b=dQ^U&Dc{iEee$5^mM~;4VP?cX`(QV>||N*y49WXHJxf4B+5g<`mR0B4+E_L_L#rK&c+q!#&gCV zYW=ifr7%OJzyYUfx2A=?y{A^o!`hDNHMc*QqlCGTTEvB1k@8NKOHsTL~? z2{v48ftrSx9ikc?^a69i%||vKH+ZoQtkFU{)OB&B^0S*6BiCh*Y7E*scftTDvw zM7LX-GXso`#|`4ZP*_u!qD{=KcRgHC#!JE=z*Y>)pw5w$C3aw_r(9c~Br;bE0hUO( zJG<$^2J3cuV;+>us;?1g_ES2keYm?`W%Ww-d7GQD`f6OM*?r6gn(C{MebsH_IH9$= z66=h$qT16xty^7Xam4o=mb zof~UIJK8%`fi`nl7+(}oV_Q2lgwoFQmA=6pB)+Lot@!b`$xK6zU)+;;Lr(M9*HQD| z7Js4N>f%m~#~jzHj1xb*%#q%vYnNb`uGR8uO~;1r)P$WjurtWp*?c&S>t2w{>~i1A z;>Kbr*;`kv#<1X8uyeR(txI#qy}q|FZMRXX3#XqEu%*n#SxRO^GlQOc7TxP+%Ju%D zo6l;^rJH3_C>agpX}wzuH&{0k%|2@G>cgh<%Y(o931=SW)wCtop9}2OlUYTqo#@B! zK(%LB6VsK~*=crI^;%=qiBe`+Qi?TYU)yS7Al~0A{y-R<4$s0~w0Hh24YE>9Rp9GFwCRyA*7pTUgcV%3$vKQ;2O_YptCar5ut=*hPbgD8pns#yN zb(V*1a$~RCBk=H0k_a2gI&5!k6B-0;WOk6*UT441)+SS5QC;J1t}Hh<`$dd+_sqeLhV)4&PKGY8#ivRwZ}5owaLkEW8AE6rN;uX5nX+yTG>MEVu^yR3l(>a;rLW* zsmrG~myUfyYz*c>;&cncugI8EX@gp~8g>bH<#d)yUe6Ewq&N2#YX@rFKx%p}TV%(I zdnl%{W~W&#v*P9V*u~Aoo{g2T{0u*OC=4MQmQK67)L&KPQ?dhQj`Hx=><{UiDm8(- zL3fKhC%(GIOD29VHy&y{h8(C@2BsbO;=^)y8^JgYEKYmXLWiZsjXT`g>7y~>$6b#O zxNczD=fJ(CbjuIM2i1;+oCi0#9%K+CM}SqsgWViOf?F*HeBC{n(lI3Nkg~}pUOU|| zcD)!*5e-hZ^CS;5fHEESVkl0J`y6iIv<=(wz|AeUS-yT9W_@?Nf-)gRHxSL5!N{TG z{H4EN*mTIVQ-n?mPIs(u*r!FFS#Heq^BBPuz9_q8WtqEBt~vc~+fyE*ADEU_Y1+c6 z^uwx#xg^$kcezkCPw(6%mN_vbhcmn3*}EfkX<&>|NpFeS+0oAR%}}3P9JR^#_Q3*K z#ZIro1(maE_Ew8^-WJh4&s{OpTion#lx*IZ=vqCknlVQ;^0-9cax`2ntW9I46=n(- zgtke{(@-<@Tssy@6~2zmbFn(MM$(**;(p`z(ps{y*m<@3^bZDb8rwdHT)th)YVV+19tJ9un zqczlP*AE)RJQ{2xq^Mbw87ePfWwti~ooa=i4Z3RWTwfRn&K2CYt_x0Em2$<|vcdZA zZ}7d{Z%^Cy`ky?kMYl+1gFt5&NHBQ}F*_H5Rmh2)T z48@Nm^w<>3lY3wDu!teV^E-df#LhO**I(yhk%o;Hh<;}0v@sYiUB;B9|H6?}k{P>D z55#oA#?D2v6nHvO!%`>?u?+DriW%to*ba-#dd#tD*N)1bg#97dMwU(G4H*puSFUO6 zm0sN9?Wu5DnDHB*sitW&?vwFEaoc+aYI+z|;Wec&iHf}iHP)Z@BYUB1H>P;1+M(~P z<7rdX9pl^@%m~+;7N%Ifv&@;ELC58Aa?8UCJfKS+)zv0Gt?;@V3iCAQFw-TneeK&z z=9=GMfh)-F+pE{pje0vux7t!X^J7r{e%uesZAwg zo(A`omX$c;W;#s64K1vf2N`6VR%UzV#!dI(VC{?;#(FQqJcnUqSz~~b8*|4mB+Po& zw-u|+t+hL9xdJ9f^l2N7U7C4qt(IYu)xut&wUhU?78SAdbiHKX7D?N@2y8#tdsLm= z{8Y5hpZ%>93$yJaXS6FxbIZ(5ZI%Gu&`UjjteA&)?#e&j&^799meWSP8rvRq%s|~_ z_A?or!6MY*6qYE=`km=wN@6r^S-9FJJslc#qpIe&liEDA(k$1ysfR*C!xiSJZr`nO zV@qZ%npD%6Fuepb{XMJoJwx?rYf55C#q*N|o;{#qF2igF$%e_q=82rKam;}8azeXJ z@7isL(P1TKXt`0|YqqoCY2WJgt}p0DM!7eK-DyI1@WGXG^DC}!(-t_cCul~Srs)>i z#7wG}ot?t#E?2rurVEWpVs8!H@~0Yut8UL@HCX=?w{8VK{2ta@H?3-Qm5l4kvb%cKJ=4+Y7r{e>G*zajs~dnPWdCw=K4*ZT}g& zUKdEld{Z}@W!jBs#)^aAA<`EIpv>DFAi&<-o379%2 z`{tcDkST1$+|o)BuQRb>?;Fb1)orgntE5`YnVx3F>PJ4J$42S?S^k>Q8%Aj{+ykn4zMLQkLj4Tyak&+#@J*+OGih{Hr?df$Ky1j zG0JRb*)2OPTr!-{T)nYa + * hacks by: Hannes Janetzek + */ + +#define A(x) do { printf(__FILE__ ":%d:\t", __LINE__); printf x; fflush(stdout); } while(0) +#define D(x) +#define C(x) +#define E(x) + +#include +#include + +#include +#include +#include +#include +#include + +#include + +static Window xdndWindow = None; +static Window edgeWindow = None; + +static Bool initialDamageTimeout(void *closure); + + +static void +handleWindowDamageRect (CompWindow *w, + int x, + int y, + int width, + int height) +{ + REGION region; + Bool initial = FALSE; + + if (!w->redirected || w->bindFailed) + return; + + if (!w->damaged) + { + w->damaged = initial = TRUE; + w->invisible = WINDOW_INVISIBLE (w); + compAddTimeout(0, initialDamageTimeout, w); + } + + region.extents.x1 = x; + region.extents.y1 = y; + region.extents.x2 = region.extents.x1 + width; + region.extents.y2 = region.extents.y1 + height; + + if (!(*w->screen->damageWindowRect) (w, initial, ®ion.extents)) + { + region.extents.x1 += w->attrib.x + w->attrib.border_width; + region.extents.y1 += w->attrib.y + w->attrib.border_width; + region.extents.x2 += w->attrib.x + w->attrib.border_width; + region.extents.y2 += w->attrib.y + w->attrib.border_width; + + region.rects = ®ion.extents; + region.numRects = region.size = 1; + + damageScreenRegion (w->screen, ®ion); + } + + if (initial) + damageWindowOutputExtents (w); +} + +static Bool initialDamageTimeout(void *closure) +{ + CompWindow *w = closure; + + handleWindowDamageRect (w, + w->attrib.x, + w->attrib.y, + w->attrib.width, + w->attrib. height); + return FALSE; +} + + + +#define REAL_MOD_MASK (ShiftMask | ControlMask | Mod1Mask | Mod2Mask | \ + Mod3Mask | Mod4Mask | Mod5Mask | CompNoMask) + +static Bool +isCallBackBinding (CompOption *option, + CompBindingType type, + CompActionState state) +{ + if (option->type != CompOptionTypeAction) + return FALSE; + + if (!(option->value.action.type & type)) + return FALSE; + + if (!(option->value.action.state & state)) + return FALSE; + + return TRUE; +} + +static Bool +isInitiateBinding (CompOption *option, + CompBindingType type, + CompActionState state, + CompAction **action) +{ + if (!isCallBackBinding (option, type, state)) + return FALSE; + + if (!option->value.action.initiate) + return FALSE; + + *action = &option->value.action; + + return TRUE; +} + +static Bool +isTerminateBinding (CompOption *option, + CompBindingType type, + CompActionState state, + CompAction **action) +{ + if (!isCallBackBinding (option, type, state)) + return FALSE; + + if (!option->value.action.terminate) + return FALSE; + + *action = &option->value.action; + + return TRUE; +} + +static Bool +triggerButtonPressBindings (CompDisplay *d, + CompOption *option, + int nOption, + XEvent *event, + CompOption *argument, + int nArgument) +{ + CompActionState state = CompActionStateInitButton; + CompAction *action; + unsigned int modMask = REAL_MOD_MASK & ~d->ignoredModMask; + unsigned int bindMods; + unsigned int edge = 0; + + if (edgeWindow) + { + CompScreen *s; + unsigned int i; + + s = findScreenAtDisplay (d, event->xbutton.root); + if (!s) + return FALSE; + + if (event->xbutton.window != edgeWindow) + { + if (!s->maxGrab || event->xbutton.window != s->root) + return FALSE; + } + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (edgeWindow == s->screenEdge[i].id) + { + edge = 1 << i; + argument[1].value.i = d->activeWindow; + break; + } + } + } + while (nOption--) + { + if (isInitiateBinding (option, CompBindingTypeButton, state, &action)) + { + if (action->button.button == event->xbutton.button) + { + bindMods = virtualToRealModMask (d, action->button.modifiers); + + if ((bindMods & modMask) == (event->xbutton.state & modMask)) + if ((*action->initiate) (d, action, state, + argument, nArgument)) + return TRUE; + } + } + + if (edge) + { + if (isInitiateBinding (option, CompBindingTypeEdgeButton, + CompActionStateInitEdge, &action)) + { + if (action->edgeMask & edge) + { + if (action->edgeButton == event->xbutton.button) + if ((*action->initiate) (d, action, + CompActionStateInitEdge, + argument, nArgument)) + return TRUE; + } + } + } + + option++; + } + return FALSE; +} + +static Bool +triggerButtonReleaseBindings (CompDisplay *d, + CompOption *option, + int nOption, + XEvent *event, + CompOption *argument, + int nArgument) +{ + CompActionState state = CompActionStateTermButton; + CompAction *action; + + while (nOption--) + { + if (isTerminateBinding (option, CompBindingTypeButton, state, &action)) + { + if (action->button.button == event->xbutton.button) + { + if ((*action->terminate) (d, action, state, + argument, nArgument)) + return TRUE; + } + } + + option++; + } + + return FALSE; +} + +static Bool +triggerKeyPressBindings (CompDisplay *d, + CompOption *option, + int nOption, + XEvent *event, + CompOption *argument, + int nArgument) +{ + CompActionState state = 0; + CompAction *action; + unsigned int modMask = REAL_MOD_MASK & ~d->ignoredModMask; + unsigned int bindMods; + + if (event->xkey.keycode == d->escapeKeyCode) + state = CompActionStateCancel; + else if (event->xkey.keycode == d->returnKeyCode) + state = CompActionStateCommit; + + if (state) + { + CompOption *o = option; + int n = nOption; + + while (n--) + { + if (o->type == CompOptionTypeAction) + { + if (o->value.action.terminate) + (*o->value.action.terminate) (d, &o->value.action, + state, NULL, 0); + } + + o++; + } + + if (state == CompActionStateCancel) + return FALSE; + } + + state = CompActionStateInitKey; + while (nOption--) + { + if (isInitiateBinding (option, CompBindingTypeKey, state, &action)) + { + bindMods = virtualToRealModMask (d, action->key.modifiers); + + if (action->key.keycode == event->xkey.keycode) + { + if ((bindMods & modMask) == (event->xkey.state & modMask)) + if ((*action->initiate) (d, action, state, + argument, nArgument)) + return TRUE; + } + else if (!d->xkbEvent && action->key.keycode == 0) + { + if (bindMods == (event->xkey.state & modMask)) + if ((*action->initiate) (d, action, state, + argument, nArgument)) + return TRUE; + } + } + + option++; + } + + return FALSE; +} + +static Bool +triggerKeyReleaseBindings (CompDisplay *d, + CompOption *option, + int nOption, + XEvent *event, + CompOption *argument, + int nArgument) +{ + if (!d->xkbEvent) + { + CompActionState state = CompActionStateTermKey; + CompAction *action; + unsigned int modMask = REAL_MOD_MASK & ~d->ignoredModMask; + unsigned int bindMods; + unsigned int mods; + + mods = keycodeToModifiers (d, event->xkey.keycode); + if (mods == 0) + return FALSE; + + while (nOption--) + { + if (isTerminateBinding (option, CompBindingTypeKey, state, &action)) + { + bindMods = virtualToRealModMask (d, action->key.modifiers); + + if (!((mods & modMask & bindMods) | bindMods)) + { + if ((*action->terminate) (d, action, state, argument, nArgument)) + return TRUE; + } + } + + option++; + } + } + + return FALSE; +} + +static Bool +triggerStateNotifyBindings (CompDisplay *d, + CompOption *option, + int nOption, + XkbStateNotifyEvent *event, + CompOption *argument, + int nArgument) +{ + CompActionState state; + CompAction *action; + unsigned int modMask = REAL_MOD_MASK & ~d->ignoredModMask; + unsigned int bindMods; + + if (event->event_type == KeyPress) + { + state = CompActionStateInitKey; + + while (nOption--) + { + if (isInitiateBinding (option, CompBindingTypeKey, state, &action)) + { + if (action->key.keycode == 0) + { + bindMods = virtualToRealModMask (d, action->key.modifiers); + + if ((event->mods & modMask & bindMods) == bindMods) + { + if ((*action->initiate) (d, action, state, + argument, nArgument)) + return TRUE; + } + } + } + + option++; + } + } + else + { + state = CompActionStateTermKey; + + while (nOption--) + { + if (isTerminateBinding (option, CompBindingTypeKey, state, &action)) + { + bindMods = virtualToRealModMask (d, action->key.modifiers); + + if ((event->mods & modMask & bindMods) | bindMods) + { + if ((*action->terminate) (d, action, state, + argument, nArgument)) + { + return TRUE; + } + + } + } + + option++; + } + } + + return FALSE; +} + +static Bool +isBellAction (CompOption *option, + CompActionState state, + CompAction **action) +{ + if (option->type != CompOptionTypeAction) + return FALSE; + + if (!option->value.action.bell) + return FALSE; + + if (!(option->value.action.state & state)) + return FALSE; + + if (!option->value.action.initiate) + return FALSE; + + *action = &option->value.action; + + return TRUE; +} + +static Bool +triggerBellNotifyBindings (CompDisplay *d, + CompOption *option, + int nOption, + CompOption *argument, + int nArgument) +{ + CompActionState state = CompActionStateInitBell; + CompAction *action; + + while (nOption--) + { + if (isBellAction (option, state, &action)) + { + if ((*action->initiate) (d, action, state, argument, nArgument)) + return TRUE; + } + + option++; + } + + return FALSE; +} + +static Bool +isEdgeAction (CompOption *option, + CompActionState state, + unsigned int edge) +{ + if (option->type != CompOptionTypeAction) + return FALSE; + + if (!(option->value.action.edgeMask & edge)) + return FALSE; + + if (!(option->value.action.state & state)) + return FALSE; + + return TRUE; +} + +static Bool +isEdgeEnterAction (CompOption *option, + CompActionState state, + unsigned int edge, + CompAction **action) +{ + if (!isEdgeAction (option, state, edge)) + return FALSE; + + if (option->value.action.type & CompBindingTypeEdgeButton) + return FALSE; + + if (!option->value.action.initiate) + return FALSE; + + *action = &option->value.action; + + return TRUE; +} + +static Bool +isEdgeLeaveAction (CompOption *option, + CompActionState state, + unsigned int edge, + CompAction **action) +{ + if (!isEdgeAction (option, state, edge)) + return FALSE; + + if (!option->value.action.terminate) + return FALSE; + + *action = &option->value.action; + + return TRUE; +} + +static Bool +triggerEdgeEnterBindings (CompDisplay *d, + CompOption *option, + int nOption, + CompActionState state, + unsigned int edge, + CompOption *argument, + int nArgument) +{ + CompAction *action; + + while (nOption--) + { + if (isEdgeEnterAction (option, state, edge, &action)) + { + if ((*action->initiate) (d, action, state, argument, nArgument)) + return TRUE; + } + + option++; + } + + return FALSE; +} + +static Bool +triggerEdgeLeaveBindings (CompDisplay *d, + CompOption *option, + int nOption, + CompActionState state, + unsigned int edge, + CompOption *argument, + int nArgument) +{ + CompAction *action; + + while (nOption--) + { + if (isEdgeLeaveAction (option, state, edge, &action)) + { + if ((*action->terminate) (d, action, state, argument, nArgument)) + return TRUE; + } + + option++; + } + + return FALSE; +} + +static Bool +handleActionEvent (CompDisplay *d, + XEvent *event) +{ + CompOption *option; + int nOption; + CompPlugin *p; + CompOption o[8]; + + o[0].type = CompOptionTypeInt; + o[0].name = "event_window"; + + o[1].type = CompOptionTypeInt; + o[1].name = "window"; + + o[2].type = CompOptionTypeInt; + o[2].name = "modifiers"; + + o[3].type = CompOptionTypeInt; + o[3].name = "x"; + + o[4].type = CompOptionTypeInt; + o[4].name = "y"; + + o[5].type = CompOptionTypeInt; + o[5].name = "root"; + + switch (event->type) { + case ButtonPress: + o[0].value.i = event->xbutton.window; + o[1].value.i = event->xbutton.window; + o[2].value.i = event->xbutton.state; + o[3].value.i = event->xbutton.x_root; + o[4].value.i = event->xbutton.y_root; + o[5].value.i = event->xbutton.root; + + o[6].type = CompOptionTypeInt; + o[6].name = "button"; + o[6].value.i = event->xbutton.button; + + o[7].type = CompOptionTypeInt; + o[7].name = "time"; + o[7].value.i = event->xbutton.time; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerButtonPressBindings (d, option, nOption, event, + o, 8)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerButtonPressBindings (d, option, nOption, event, o, 8)) + return TRUE; + + break; + case ButtonRelease: + o[0].value.i = event->xbutton.window; + o[1].value.i = event->xbutton.window; + o[2].value.i = event->xbutton.state; + o[3].value.i = event->xbutton.x_root; + o[4].value.i = event->xbutton.y_root; + o[5].value.i = event->xbutton.root; + + o[6].type = CompOptionTypeInt; + o[6].name = "button"; + o[6].value.i = event->xbutton.button; + + o[7].type = CompOptionTypeInt; + o[7].name = "time"; + o[7].value.i = event->xbutton.time; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerButtonReleaseBindings (d, option, nOption, event, + o, 8)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerButtonReleaseBindings (d, option, nOption, event, o, 8)) + return TRUE; + + break; + case KeyPress: + o[0].value.i = event->xkey.window; + o[1].value.i = d->activeWindow; + o[2].value.i = event->xkey.state; + o[3].value.i = event->xkey.x_root; + o[4].value.i = event->xkey.y_root; + o[5].value.i = event->xkey.root; + + o[6].type = CompOptionTypeInt; + o[6].name = "keycode"; + o[6].value.i = event->xkey.keycode; + + o[7].type = CompOptionTypeInt; + o[7].name = "time"; + o[7].value.i = event->xkey.time; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerKeyPressBindings (d, option, nOption, event, o, 8)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerKeyPressBindings (d, option, nOption, event, o, 8)) + return TRUE; + + break; + case KeyRelease: + o[0].value.i = event->xkey.window; + o[1].value.i = d->activeWindow; + o[2].value.i = event->xkey.state; + o[3].value.i = event->xkey.x_root; + o[4].value.i = event->xkey.y_root; + o[5].value.i = event->xkey.root; + + o[6].type = CompOptionTypeInt; + o[6].name = "keycode"; + o[6].value.i = event->xkey.keycode; + + o[7].type = CompOptionTypeInt; + o[7].name = "time"; + o[7].value.i = event->xkey.time; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerKeyReleaseBindings (d, option, nOption, event, o, 8)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerKeyReleaseBindings (d, option, nOption, event, o, 8)) + return TRUE; + + break; + case EnterNotify: + if (event->xcrossing.mode != NotifyGrab && + event->xcrossing.mode != NotifyUngrab && + event->xcrossing.detail != NotifyInferior) + { + CompScreen *s; + unsigned int edge, i; + CompActionState state; + + s = findScreenAtDisplay (d, event->xcrossing.root); + if (!s) + return FALSE; + + if (edgeWindow && edgeWindow != event->xcrossing.window) + { + state = CompActionStateTermEdge; + edge = 0; + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (edgeWindow == s->screenEdge[i].id) + { + edge = 1 << i; + break; + } + } + + edgeWindow = None; + + o[0].value.i = event->xcrossing.window; + o[1].value.i = d->activeWindow; + o[2].value.i = event->xcrossing.state; + o[3].value.i = event->xcrossing.x_root; + o[4].value.i = event->xcrossing.y_root; + o[5].value.i = event->xcrossing.root; + + o[6].type = CompOptionTypeInt; + o[6].name = "time"; + o[6].value.i = event->xcrossing.time; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerEdgeLeaveBindings (d, option, nOption, state, + edge, o, 7)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerEdgeLeaveBindings (d, option, nOption, state, + edge, o, 7)) + return TRUE; + } + + edge = 0; + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (event->xcrossing.window == s->screenEdge[i].id) + { + edge = 1 << i; + break; + } + } + + if (edge) + { + state = CompActionStateInitEdge; + + edgeWindow = event->xcrossing.window; + + o[0].value.i = event->xcrossing.window; + o[1].value.i = d->activeWindow; + o[2].value.i = event->xcrossing.state; + o[3].value.i = event->xcrossing.x_root; + o[4].value.i = event->xcrossing.y_root; + o[5].value.i = event->xcrossing.root; + + o[6].type = CompOptionTypeInt; + o[6].name = "time"; + o[6].value.i = event->xcrossing.time; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerEdgeEnterBindings (d, option, nOption, state, + edge, o, 7)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerEdgeEnterBindings (d, option, nOption, state, + edge, o, 7)) + return TRUE; + } + } break; + case ClientMessage: + if (event->xclient.message_type == d->xdndEnterAtom) + { + xdndWindow = event->xclient.window; + } + else if (event->xclient.message_type == d->xdndLeaveAtom) + { + unsigned int edge = 0; + CompActionState state; + Window root = None; + + if (!xdndWindow) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + CompScreen *s = w->screen; + unsigned int i; + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (event->xclient.window == s->screenEdge[i].id) + { + edge = 1 << i; + root = s->root; + break; + } + } + } + } + + if (edge) + { + state = CompActionStateTermEdgeDnd; + + o[0].value.i = event->xclient.window; + o[1].value.i = d->activeWindow; + o[2].value.i = 0; /* fixme */ + o[3].value.i = 0; /* fixme */ + o[4].value.i = 0; /* fixme */ + o[5].value.i = root; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerEdgeLeaveBindings (d, option, nOption, state, + edge, o, 6)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerEdgeLeaveBindings (d, option, nOption, state, + edge, o, 6)) + return TRUE; + } + } + else if (event->xclient.message_type == d->xdndPositionAtom) + { + unsigned int edge = 0; + CompActionState state; + Window root = None; + + if (xdndWindow == event->xclient.window) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + CompScreen *s = w->screen; + unsigned int i; + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (xdndWindow == s->screenEdge[i].id) + { + edge = 1 << i; + root = s->root; + break; + } + } + } + } + + if (edge) + { + state = CompActionStateInitEdgeDnd; + + o[0].value.i = event->xclient.window; + o[1].value.i = d->activeWindow; + o[2].value.i = 0; /* fixme */ + o[3].value.i = event->xclient.data.l[2] >> 16; + o[4].value.i = event->xclient.data.l[2] & 0xffff; + o[5].value.i = root; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerEdgeEnterBindings (d, option, nOption, state, + edge, o, 6)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerEdgeEnterBindings (d, option, nOption, state, + edge, o, 6)) + return TRUE; + } + + xdndWindow = None; + } + break; + default: + // if (event->type == d->fixesEvent + XFixesCursorNotify) + // { + // /* + // XFixesCursorNotifyEvent *ce = (XFixesCursorNotifyEvent *) event; + // CompCursor *cursor; + // + // cursor = findCursorAtDisplay (d); + // if (cursor) + // updateCursor (cursor, ce->x, ce->y, ce->cursor_serial); + // */ + // } + // else + if (event->type == d->xkbEvent) + { + XkbAnyEvent *xkbEvent = (XkbAnyEvent *) event; + + if (xkbEvent->xkb_type == XkbStateNotify) + { + XkbStateNotifyEvent *stateEvent = (XkbStateNotifyEvent *) event; + + option = compGetDisplayOptions (d, &nOption); + + o[0].value.i = d->activeWindow; + o[1].value.i = d->activeWindow; + o[2].value.i = stateEvent->mods; + + o[3].type = CompOptionTypeInt; + o[3].name = "time"; + o[3].value.i = xkbEvent->time; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerStateNotifyBindings (d, option, nOption, + stateEvent, o, 4)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerStateNotifyBindings (d, option, nOption, stateEvent, + o, 4)) + return TRUE; + } + else if (xkbEvent->xkb_type == XkbBellNotify) + { + option = compGetDisplayOptions (d, &nOption); + + o[0].value.i = d->activeWindow; + o[1].value.i = d->activeWindow; + + o[2].type = CompOptionTypeInt; + o[2].name = "time"; + o[2].value.i = xkbEvent->time; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, d, &nOption); + if (triggerBellNotifyBindings (d, option, nOption, + o, 3)) + return TRUE; + } + } + + option = compGetDisplayOptions (d, &nOption); + if (triggerBellNotifyBindings (d, option, nOption, o, 3)) + return TRUE; + } + } + break; + } + + return FALSE; +} + +void +handleEcompEvent (CompDisplay *d, + char *pluginName, + char *eventName, + CompOption *option, + int nOption) +{ +} + +void +handleEvent (CompDisplay *d, + XEvent *event) +{ + CompScreen *s; + CompWindow *w; + + switch (event->type) { + case ButtonPress: + D(("ButtonPress event\n")); + + s = findScreenAtDisplay (d, event->xbutton.root); + if (s) + setCurrentOutput (s, outputDeviceForPoint (s, + event->xbutton.x_root, + event->xbutton.y_root)); + break; + case MotionNotify: + s = findScreenAtDisplay (d, event->xmotion.root); + if (s) + setCurrentOutput (s, outputDeviceForPoint (s, + event->xmotion.x_root, + event->xmotion.y_root)); + break; + case KeyPress: + D(("KeyPress event\n")); + + w = findWindowAtDisplay (d, d->activeWindow); + if (w) + setCurrentOutput (w->screen, outputDeviceForWindow (w)); + default: + break; + } + + if (handleActionEvent (d, event)) + { + if (!d->screens->maxGrab) + XAllowEvents (d->display, AsyncPointer, event->xbutton.time); + + return; + } + + switch (event->type) { + case Expose: + D(("0x%x : Expose event\n", (unsigned int)event->xexpose.window)); + for (s = d->screens; s; s = s->next) + if (s->output == event->xexpose.window) + break; + + if (s) + { + int more = event->xexpose.count + 1; + + if (s->nExpose == s->sizeExpose) + { + if (s->exposeRects) + { + s->exposeRects = realloc (s->exposeRects, + (s->sizeExpose + more) * + sizeof (XRectangle)); + s->sizeExpose += more; + } + else + { + s->exposeRects = malloc (more * sizeof (XRectangle)); + s->sizeExpose = more; + } + } + + s->exposeRects[s->nExpose].x = event->xexpose.x; + s->exposeRects[s->nExpose].y = event->xexpose.y; + s->exposeRects[s->nExpose].width = event->xexpose.width; + s->exposeRects[s->nExpose].height = event->xexpose.height; + s->nExpose++; + + if (event->xexpose.count == 0) + { + REGION rect; + + rect.rects = &rect.extents; + rect.numRects = rect.size = 1; + + while (s->nExpose--) + { + rect.extents.x1 = s->exposeRects[s->nExpose].x; + rect.extents.y1 = s->exposeRects[s->nExpose].y; + rect.extents.x2 = rect.extents.x1 + + s->exposeRects[s->nExpose].width; + rect.extents.y2 = rect.extents.y1 + + s->exposeRects[s->nExpose].height; + + damageScreenRegion (s, &rect); + } + s->nExpose = 0; + } + } + break; + /* case SelectionRequest: */ + /* handleSelectionRequest (d, event); */ + /* break; */ + /* case SelectionClear: */ + /* handleSelectionClear (d, event); */ + /* break; */ + case ConfigureNotify: + C(("0x%x : ConfigureNotify event ", (unsigned int)event->xconfigure.window)); + + w = findWindowAtDisplay (d, event->xconfigure.window); + if (w) + { + configureWindow (w, &event->xconfigure); + } + else + { + s = findScreenAtDisplay (d, event->xconfigure.window); + if (s) + configureScreen (s, &event->xconfigure); + } + break; + case CreateNotify: + C(("0x%x : CreateNotify event\n", (unsigned int)event->xcreatewindow.window)); + + s = findScreenAtDisplay (d, event->xcreatewindow.parent); + if (s) + { + /* The first time some client asks for the composite + * overlay window, the X server creates it, which causes + * an errorneous CreateNotify event. We catch it and + * ignore it. */ + if (s->overlay != event->xcreatewindow.window) + addWindow (s, event->xcreatewindow.window, getTopWindow (s)); + } + break; + case DestroyNotify: + D(("0x%x : DestroyNotify event\n", (unsigned int)event->xdestroywindow.window)); + + w = findWindowAtDisplay (d, event->xdestroywindow.window); + if (w) + { + //moveInputFocusToOtherWindow (w); + destroyWindow (w); + } + break; + case MapNotify: + w = findWindowAtDisplay (d, event->xmap.window); + if (w) + { + C(("0x%x : MapNotify event\n", (unsigned int)event->xmap.window)); + /* been shaded */ + // if (w->height == 0) + // { + // if (w->id == d->activeWindow) + // moveInputFocusToWindow (w); + // } + mapWindow (w); + } + break; + case UnmapNotify: + w = findWindowAtDisplay (d, event->xunmap.window); + if (w) + { + C(("0x%x : UnmapNotify\n", (unsigned int)event->xunmap.window)); + + /* Normal -> Iconic */ + if (w->pendingUnmaps) + { + w->pendingUnmaps--; + } + else /* X -> Withdrawn */ + { + /* Iconic -> Withdrawn */ + if (w->state & CompWindowStateHiddenMask) + { + w->minimized = FALSE; + + changeWindowState (w, w->state & ~CompWindowStateHiddenMask); + } + + w->placed = FALSE; + } + + unmapWindow (w); + } + break; + case ReparentNotify: + C(("0x%x : ReparentNotify\n", (unsigned int)event->xreparent.window)); + + w = findWindowAtDisplay (d, event->xreparent.window); + s = findScreenAtDisplay (d, event->xreparent.parent); + if (s && !w) + { + addWindow (s, event->xreparent.window, getTopWindow (s)); + } + else if (w) + { + /* This is the only case where a window is removed but not + destroyed. We must remove our event mask and all passive + grabs. */ + destroyWindow (w); + } + break; + case CirculateNotify: + D(("circulate notify event\n")); + + w = findWindowAtDisplay (d, event->xcirculate.window); + if (w) + circulateWindow (w, &event->xcirculate); + break; + /* TODO client state changed notify from e whenever client properties chenged... */ + case PropertyNotify: + if (event->xproperty.atom == d->winTypeAtom) + { + E(("0x%x : PropertyNotify - ", (unsigned int)event->xproperty.window)); + E(("winTypeAtom\n")); + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + unsigned int type; + + type = getWindowType (d, w->id); + + if (type != w->wmType) + { + if (w->attrib.map_state == IsViewable) + { + if (w->type == CompWindowTypeDesktopMask) + w->screen->desktopWindowCount--; + else if (type == CompWindowTypeDesktopMask) + w->screen->desktopWindowCount++; + } + + w->wmType = type; + + recalcWindowType (w); + // recalcWindowActions (w); + + if (w->type & CompWindowTypeDesktopMask) + { + w->paint.opacity = OPAQUE; + } + + // if (type & (CompWindowTypeDockMask | + // CompWindowTypeDesktopMask)) + // setDesktopForWindow (w, 0xffffffff); + + (*d->matchPropertyChanged) (d, w); + } + } + } + + /* else if (event->xproperty.atom == XA_WM_NORMAL_HINTS) + { + D(("XA_WM_NORMAL_HINTS\n"); + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + updateNormalHints (w); + recalcWindowActions (w); + } + } + else if (event->xproperty.atom == XA_WM_HINTS) + { + D(("XA_WM_HINTS\n"); + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + updateWmHints (w); + } + + }*/ + + else if (event->xproperty.atom == d->winOpacityAtom) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w && (w->type & CompWindowTypeDesktopMask) == 0) + { + w->opacity = OPAQUE; + w->opacityPropSet = + readWindowProp32 (d, w->id, + d->winOpacityAtom, + &w->opacity); + + updateWindowOpacity (w); + } + } + else if (event->xproperty.atom == d->winBrightnessAtom) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + GLushort brightness; + + brightness = getWindowProp32 (d, w->id, + d->winBrightnessAtom, + BRIGHT); + + if (brightness != w->brightness) + { + w->brightness = brightness; + if (w->alive) + { + w->paint.brightness = w->brightness; + addWindowDamage (w); + } + } + } + } + else if (event->xproperty.atom == d->winSaturationAtom) + { + w = findWindowAtDisplay (d, event->xproperty.window); + if (w && w->screen->canDoSaturated) + { + GLushort saturation; + + saturation = getWindowProp32 (d, w->id, + d->winSaturationAtom, + COLOR); + + if (saturation != w->saturation) + { + w->saturation = saturation; + if (w->alive) + { + w->paint.saturation = w->saturation; + addWindowDamage (w); + } + } + } + } + /*else if (event->xproperty.atom == d->xBackgroundAtom[0] || + event->xproperty.atom == d->xBackgroundAtom[1]) + { + s = findScreenAtDisplay (d, event->xproperty.window); + if (s) + { + finiTexture (s, &s->backgroundTexture); + initTexture (s, &s->backgroundTexture); + + if (s->backgroundLoaded) + { + s->backgroundLoaded = FALSE; + damageScreen (s); + } + } + } + else if (event->xproperty.atom == d->wmStrutAtom || + event->xproperty.atom == d->wmStrutPartialAtom) + { + D(("wmStrutAtom\n")); + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + if (updateWindowStruts (w)) + updateWorkareaForScreen (w->screen); + } + }*/ + else if (event->xproperty.atom == d->mwmHintsAtom) + { + D(("mwmHintsAtom\n")); + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + getMwmHints (d, w->id, &w->mwmFunc, &w->mwmDecor); + + //recalcWindowActions (w); + } + }/* + else if (event->xproperty.atom == d->wmProtocolsAtom) + { + D(("wmProtocolsAtom\n")); + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + w->protocols = getProtocols (d, w->id); + } + else if (event->xproperty.atom == d->wmIconAtom) // TODO + { + D(("wmIconAtom\n")); + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + freeWindowIcons (w); + }*/ + /*else if (event->xproperty.atom == XA_WM_CLASS) + { + D(("XA_WM_CLASS\n")); + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + updateWindowClassHints (w); + }*/ + else if (event->xproperty.atom == d->winDesktopAtom) + { + C(("0x%x : PropertyNotify - ", (unsigned int)event->xproperty.window)); + C(("winDesktopAtom:")); + + w = findWindowAtDisplay (d, event->xproperty.window); + if (w) + { + int desk = 0; + + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + result = XGetWindowProperty (d->display, w->id, + d->winDesktopAtom, + 0L, 1L, FALSE, XA_CARDINAL, &actual, &format, + &n, &left, &data); + + if (result == Success && n == 1 && data) + { + unsigned long *_desk = (unsigned long *) data; + desk = _desk[0]; + + XFree (data); + + int dy = (int)desk / w->screen->hsize; + int dx = (int)desk - (dy * w->screen->hsize); + + int x = MOD(w->attrib.x, w->screen->width) + ((dx - w->screen->x) * w->screen->width); + int y = MOD(w->attrib.y, w->screen->height) + ((dy - w->screen->y) * w->screen->height); + + C(("xy:%d:%d, dxy%d:%d, sy:%d, svr:%d, att:%d\n", + x,y,dx,dy, w->syncX, w->serverX, w->attrib.x)); + + int immediate = 1; + int damage = 1; + + if (damage) + addWindowDamage (w); + + int old_x = w->attrib.x; + int old_y = w->attrib.y; + + w->attrib.x = x; + w->attrib.y = y; + + XOffsetRegion (w->region, x - old_x, y - old_y); + + w->matrix = w->texture->matrix; + w->matrix.x0 -= (w->attrib.x * w->matrix.xx); + w->matrix.y0 -= (w->attrib.y * w->matrix.yy); + + w->invisible = WINDOW_INVISIBLE (w); + + w->desktop = desk; + + (*w->screen->windowMoveNotify) (w, x - old_x, y - old_y, immediate); + + if (damage) + addWindowDamage (w); + + //moveWindow (w, (dx - cx) * w->screen->width, (dy - cy) * w->screen->height, TRUE, TRUE); + syncWindowPosition (w); + } + } + } + break; + case MotionNotify: + break; + case ClientMessage: + if (event->xclient.message_type == d->eManagedAtom) + { + Window win = event->xclient.data.l[0]; + unsigned int type = event->xclient.data.l[1]; + + printf("got eManaged client massage, 0x%x 0x%x, 0x%x\n", + (unsigned int) win, type, + (unsigned int) event->xclient.data.l[2]); + + w = findWindowAtDisplay (d, win); + if (w) + { + if(type == 0) + { + unsigned int mapped = event->xclient.data.l[2]; + w->clientMapped = mapped; + if(mapped) + { + handleWindowDamageRect (w, w->attrib.x, w->attrib.y, + w->attrib.width, w->attrib.height); + } + } + else if(type == 1) + { + printf("set state\n"); + unsigned int state = event->xclient.data.l[2]; + if (w->state != state) + { + w->state = state; + if(state & CompWindowStateHiddenMask) + { + printf("set state - hidden\n"); + w->clientMapped = 0; + } + (*d->matchPropertyChanged) (d, w); + } + } + } + } + else if (event->xclient.message_type == d->winActiveAtom) + { + printf("got winActive client massage\n"); + + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + // use focus stealing prevention if request came from an + // application (which means data.l[0] is 1 + if (event->xclient.data.l[0] != 1) //|| + // allowWindowFocus (w, 0, event->xclient.data.l[1])) + { + activateWindow (w); + } + } + } + else if (event->xclient.message_type == d->winOpacityAtom) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w && (w->type & CompWindowTypeDesktopMask) == 0) + { + GLushort opacity = event->xclient.data.l[0] >> 16; + + setWindowProp32 (d, w->id, d->winOpacityAtom, opacity); + } + } + else if (event->xclient.message_type == d->winBrightnessAtom) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + GLushort brightness = event->xclient.data.l[0] >> 16; + + setWindowProp32 (d, w->id, d->winBrightnessAtom, brightness); + } + } + else if (event->xclient.message_type == d->winSaturationAtom) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w && w->screen->canDoSaturated) + { + GLushort saturation = event->xclient.data.l[0] >> 16; + + setWindowProp32 (d, w->id, d->winSaturationAtom, saturation); + } + }/* + else if (event->xclient.message_type == d->winStateAtom) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + unsigned long wState, state; + int i; + + wState = w->state; + + for (i = 1; i < 3; i++) + { + state = windowStateMask (d, event->xclient.data.l[i]); + if (state & ~CompWindowStateHiddenMask) + { + + #define _NET_WM_STATE_REMOVE 0 + #define _NET_WM_STATE_ADD 1 + #define _NET_WM_STATE_TOGGLE 2 + + switch (event->xclient.data.l[0]) { + case _NET_WM_STATE_REMOVE: + wState &= ~state; + break; + case _NET_WM_STATE_ADD: + wState |= state; + break; + case _NET_WM_STATE_TOGGLE: + wState ^= state; + break; + } + } + } + + wState = constrainWindowState (wState, w->actions); + + if (wState != w->state) + { + CompStackingUpdateMode stackingUpdateMode; + unsigned long dState = wState ^ w->state; + + stackingUpdateMode = CompStackingUpdateModeNone; + + changeWindowState (w, wState); + + recalcWindowType (w); + recalcWindowActions (w); + + updateWindowAttributes (w, stackingUpdateMode); + } + } + } + + else if (event->xclient.message_type == d->closeWindowAtom) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + closeWindow (w, event->xclient.data.l[0]); + }*/ + else if (event->xclient.message_type == d->desktopGeometryAtom) + { + s = findScreenAtDisplay (d, event->xclient.window); + if (s) + { + int v, h; + + h = event->xclient.data.l[0] / s->width; + v = event->xclient.data.l[1] / s->height; + + s->vsize = v; + s->hsize = h; + + //setVirtualScreenSize (s, h, v); + } + } + /*else if (event->xclient.message_type == d->wmChangeStateAtom) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w && w->type & CompWindowTypeNormalMask) + { + if (event->xclient.data.l[0] == IconicState) + { + minimizeWindow (w); + } + + else if (event->xclient.data.l[0] == NormalState) + { + unminimizeWindow (w); + } + } + }*/ + /* else if (event->xclient.message_type == d->showingDesktopAtom) + { + for (s = d->screens; s; s = s->next) + { + if (event->xclient.window == s->root || + event->xclient.window == None) + { + if (event->xclient.data.l[0]) + (*s->enterShowDesktopMode) (s); + else + (*s->leaveShowDesktopMode) (s, NULL); + } + } + } + else if (event->xclient.message_type == d->numberOfDesktopsAtom) + { + s = findScreenAtDisplay (d, event->xclient.window); + if (s) + { + CompOptionValue value; + + value.i = event->xclient.data.l[0]; + + (*s->setScreenOption) (s, "number_of_desktops", &value); + } + } + else if (event->xclient.message_type == d->currentDesktopAtom) + { + s = findScreenAtDisplay (d, event->xclient.window); + if (s) + setCurrentDesktop (s, event->xclient.data.l[0]); + } + else */ + + /* note this in no way conform to the NET_WM_DESKTOP spec ;) */ + /* if (event->xclient.message_type == d->winDesktopAtom) + { + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + int dx = event->xclient.data.l[0] * w->screen->width; + int dy = event->xclient.data.l[1] * w->screen->height; + + moveWindow (w, dx, dy, TRUE, TRUE); + syncWindowPosition (w); + } + }*/ + break; + case MappingNotify: + case ConfigureRequest: + case CirculateRequest: + break; + case FocusIn: + C(("focus in event \n")); + + if (event->xfocus.mode != NotifyGrab) + { + w = findTopLevelWindowAtDisplay (d, event->xfocus.window); + if (w && w->clientId) + { + unsigned int state = w->state; + + if (w->id != d->activeWindow) + { + d->activeWindow = w->id; + w->activeNum = w->screen->activeNum++; + + addToCurrentActiveWindowHistory (w->screen, w->id); + + //XChangeProperty (d->display, w->screen->root, + // d->winActiveAtom, + // XA_WINDOW, 32, PropModeReplace, + // (unsigned char *) &w->id, 1); + } + + state &= ~CompWindowStateDemandsAttentionMask; + + if (w->state != state) + changeWindowState (w, state); + } + } + break; + default: + if (event->type == d->damageEvent + XDamageNotify) + { + XDamageNotifyEvent *de = (XDamageNotifyEvent *) event; + + if (lastDamagedWindow && de->drawable == lastDamagedWindow->id) + { + w = lastDamagedWindow; + } + else + { + w = findWindowAtDisplay (d, de->drawable); + if (w) + lastDamagedWindow = w; + } + + if (w && (!w->clientId || w->clientMapped)) + { + w->texture->oldMipmaps = TRUE; + + if (w->syncWait) + { + if (w->nDamage == w->sizeDamage) + { + if (w->damageRects) + { + w->damageRects = realloc (w->damageRects, + (w->sizeDamage + 1) * + sizeof (XRectangle)); + w->sizeDamage += 1; + } + else + { + w->damageRects = malloc (sizeof (XRectangle)); + w->sizeDamage = 1; + } + } + + w->damageRects[w->nDamage].x = de->area.x; + w->damageRects[w->nDamage].y = de->area.y; + w->damageRects[w->nDamage].width = de->area.width; + w->damageRects[w->nDamage].height = de->area.height; + w->nDamage++; + } + else + { + handleWindowDamageRect (w, + de->area.x, + de->area.y, + de->area.width, + de->area.height); + } + } + } + else if (d->shapeExtension && + event->type == d->shapeEvent + ShapeNotify) + { + w = findWindowAtDisplay (d, ((XShapeEvent *) event)->window); + if (w) + { + if (w->mapNum) + { + addWindowDamage (w); + updateWindowRegion (w); + addWindowDamage (w); + } + } + } + else if (d->randrExtension && + event->type == d->randrEvent + RRScreenChangeNotify) + { + XRRScreenChangeNotifyEvent *rre; + + rre = (XRRScreenChangeNotifyEvent *) event; + + s = findScreenAtDisplay (d, rre->root); + if (s) + detectRefreshRateOfScreen (s); + } + //else if (event->type == d->syncEvent + XSyncAlarmNotify) + // { + // XSyncAlarmNotifyEvent *sa; + // + // sa = (XSyncAlarmNotifyEvent *) event; + // + // w = NULL; + // + // for (s = d->screens; s; s = s->next) + // for (w = s->windows; w; w = w->next) + // if (w->syncAlarm == sa->alarm) + // break; + // + // if (w) + // handleSyncAlarm (w); + // } + break; + } +} diff --git a/src/fragment.c b/src/fragment.c new file mode 100644 index 0000000..386bfab --- /dev/null +++ b/src/fragment.c @@ -0,0 +1,1402 @@ +/* + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include + +#include +#include + +#define COMP_FUNCTION_TYPE_ARB 0 +#define COMP_FUNCTION_TYPE_NUM 1 + +#define COMP_FUNCTION_ARB_MASK (1 << 0) +#define COMP_FUNCTION_MASK (COMP_FUNCTION_ARB_MASK) + +struct _CompProgram { + struct _CompProgram *next; + + int *signature; + int nSignature; + + Bool blending; + + GLuint name; + GLenum type; +}; + +typedef enum { + CompOpTypeData, + CompOpTypeDataStore, + CompOpTypeDataOffset, + CompOpTypeDataBlend, + CompOpTypeHeaderTemp, + CompOpTypeHeaderParam, + CompOpTypeHeaderAttrib, + CompOpTypeColor, + CompOpTypeFetch, + CompOpTypeLoad +} CompOpType; + +typedef struct _CompDataOp { + CompOpType type; + + char *data; +} CompDataOp; + +typedef struct _CompHeaderOp { + CompOpType type; + + char *name; +} CompHeaderOp; + +typedef struct _CompFetchOp { + CompOpType type; + + char *dst; + char *offset; + int target; +} CompFetchOp; + +typedef struct _CompLoadOp { + CompOpType type; + + char *noOffset[COMP_FETCH_TARGET_NUM]; + char *offset[COMP_FETCH_TARGET_NUM]; +} CompLoadOp; + +typedef struct _CompColorOp { + CompOpType type; + + char *dst; + char *src; +} CompColorOp; + +typedef union _CompBodyOp { + CompOpType type; + + CompDataOp data; + CompFetchOp fetch; + CompLoadOp load; + CompColorOp color; +} CompBodyOp; + +struct _CompFunctionData { + CompHeaderOp *header; + int nHeader; + + CompBodyOp *body; + int nBody; +}; + +struct _CompFunction { + struct _CompFunction *next; + + int id; + char *name; + CompFunctionData data[COMP_FUNCTION_TYPE_NUM]; + int mask; +}; + +typedef struct _FetchInfo { + int indices[MAX_FRAGMENT_FUNCTIONS]; + char *data; +} FetchInfo; + +typedef void (*DataOpCallBackProc) (CompDataOp *op, + int index, + void *closure); + +static CompLoadOp loadArbFpData = { + CompOpTypeLoad, + { + "TEX output, fragment.texcoord[0], texture[0], 2D;", + "TEX output, fragment.texcoord[0], texture[0], RECT;" + }, { + "TEX output, __tmp_texcoord0, texture[0], 2D;", + "TEX output, __tmp_texcoord0, texture[0], RECT;" + } +}; + +static CompFunction initialLoadFunction = { + NULL, + 0, + "__core_load", + { + { + NULL, + 0, + (CompBodyOp *) &loadArbFpData, + 1 + } + }, + COMP_FUNCTION_MASK +}; + +static CompFunction * +findFragmentFunction (CompScreen *s, + int id) +{ + CompFunction *function; + + for (function = s->fragmentFunctions; function; function = function->next) + { + if (function->id == id) + return function; + } + + return NULL; +} + +static CompFunction * +findFragmentFunctionWithName (CompScreen *s, + char *name) +{ + CompFunction *function; + + for (function = s->fragmentFunctions; function; function = function->next) + { + if (strcmp (function->name, name) == 0) + return function; + } + + return NULL; +} + +static CompProgram * +findFragmentProgram (CompScreen *s, + int *signature, + int nSignature) +{ + CompProgram *program; + int i; + + for (program = s->fragmentPrograms; program; program = program->next) + { + if (nSignature != program->nSignature) + continue; + + for (i = 0; i < nSignature; i++) + { + if (program->signature[i] != signature[i]) + break; + } + + if (i == nSignature) + return program; + } + + return NULL; +} + +static int +functionMaskToType (int mask) +{ + static struct { + int type; + int mask; + } maskToType[] = { + { COMP_FUNCTION_TYPE_ARB, COMP_FUNCTION_ARB_MASK } + }; + int i; + + for (i = 0; i < sizeof (maskToType) / sizeof (maskToType[0]); i++) + if (mask & maskToType[i].mask) + return maskToType[i].type; + + return 0; +} + +static void +forEachDataOpInFunction (CompFunction **list, + int index, + int type, + int loadTarget, + char *loadOffset, + Bool *color, + Bool *blend, + DataOpCallBackProc callBack, + void *closure) +{ + CompFunction *f = list[index]; + CompDataOp dataOp; + char data[256]; + Bool colorDone = FALSE; + Bool blendDone = FALSE; + int i; + + *color = FALSE; + *blend = FALSE; + + for (i = 0; i < f->data[type].nBody; i++) + { + switch (f->data[type].body[i].type) { + case CompOpTypeFetch: { + char *offset = loadOffset; + + /* add offset */ + if (f->data[type].body[i].fetch.offset) + { + if (loadOffset) + { + snprintf (data, 256, + "ADD __tmp_texcoord%d, %s, %s;", + index, loadOffset, + f->data[type].body[i].fetch.offset); + + dataOp.type = CompOpTypeDataOffset; + dataOp.data = data; + + (*callBack) (&dataOp, index, closure); + + snprintf (data, 256, "__tmp_texcoord%d", index); + + offset = data; + } + else + { + offset = f->data[type].body[i].fetch.offset; + } + } + + forEachDataOpInFunction (list, index - 1, type, + f->data[type].body[i].fetch.target, + offset, &colorDone, &blendDone, + callBack, closure); + + if (strcmp (f->data[type].body[i].fetch.dst, "output")) + { + snprintf (data, 256, + "MOV %s, output;", + f->data[type].body[i].fetch.dst); + + dataOp.type = CompOpTypeDataStore; + dataOp.data = data; + + /* move to destination */ + (*callBack) (&dataOp, index, closure); + } + } break; + case CompOpTypeLoad: + if (loadOffset) + { + snprintf (data, 256, + "ADD __tmp_texcoord0, fragment.texcoord[0], %s;", + loadOffset); + + dataOp.type = CompOpTypeDataOffset; + dataOp.data = data; + + (*callBack) (&dataOp, index, closure); + + dataOp.data = f->data[type].body[i].load.offset[loadTarget]; + } + else + { + dataOp.data = f->data[type].body[i].load.noOffset[loadTarget]; + } + + dataOp.type = CompOpTypeData; + + (*callBack) (&dataOp, index, closure); + + break; + case CompOpTypeColor: + if (!colorDone) + { + snprintf (data, 256, + "MUL %s, fragment.color, %s;", + f->data[type].body[i].color.dst, + f->data[type].body[i].color.src); + + dataOp.type = CompOpTypeData; + dataOp.data = data; + + (*callBack) (&dataOp, index, closure); + } + else if (strcmp (f->data[type].body[i].color.dst, + f->data[type].body[i].color.src)) + { + snprintf (data, 256, + "MOV %s, %s;", + f->data[type].body[i].color.dst, + f->data[type].body[i].color.src); + + dataOp.type = CompOpTypeData; + dataOp.data = data; + + (*callBack) (&dataOp, index, closure); + } + *color = TRUE; + break; + case CompOpTypeDataBlend: + *blend = TRUE; + /* fall-through */ + case CompOpTypeData: + (*callBack) (&f->data[type].body[i].data, index, closure); + break; + case CompOpTypeDataStore: + case CompOpTypeDataOffset: + case CompOpTypeHeaderTemp: + case CompOpTypeHeaderParam: + case CompOpTypeHeaderAttrib: + break; + } + } + + if (colorDone) + *color = TRUE; + + if (blendDone) + *blend = TRUE; +} + +static int +forEachHeaderOpWithType (CompHeaderOp *header, + int nHeader, + int index, + CompOpType type, + char *prefix, + char *functionPrefix, + int count, + DataOpCallBackProc callBack, + void *closure) +{ + CompDataOp dataOp; + int i; + + dataOp.type = CompOpTypeData; + + for (i = 0; i < nHeader; i++) + { + if (header[i].type == type) + { + if (count) + { + dataOp.data = ", "; + (*callBack) (&dataOp, index, closure); + } + else + { + dataOp.data = prefix; + (*callBack) (&dataOp, index, closure); + } + + dataOp.data = functionPrefix; + (*callBack) (&dataOp, index, closure); + + dataOp.data = "_"; + (*callBack) (&dataOp, index, closure); + + dataOp.data = header[i].name; + (*callBack) (&dataOp, index, closure); + + count++; + } + } + + return count; +} + +static Bool +forEachDataOp (CompFunction **list, + int nList, + int type, + DataOpCallBackProc callBack, + void *closure) +{ + CompDataOp dataOp; + Bool colorDone; + Bool blendDone; + int i, count; + + dataOp.type = CompOpTypeData; + + count = 1; + + dataOp.data = "TEMP output"; + + (*callBack) (&dataOp, nList, closure); + + for (i = 0; i < nList; i++) + count = forEachHeaderOpWithType (list[i]->data[type].header, + list[i]->data[type].nHeader, + nList, CompOpTypeHeaderTemp, + NULL, list[i]->name, count, + callBack, closure); + + dataOp.data = ";"; + + (*callBack) (&dataOp, nList, closure); + + count = 0; + + for (i = 0; i < nList; i++) + count = forEachHeaderOpWithType (list[i]->data[type].header, + list[i]->data[type].nHeader, + nList, CompOpTypeHeaderParam, + "PARAM ", list[i]->name, count, + callBack, closure); + + if (count) + { + dataOp.data = ";"; + + (*callBack) (&dataOp, nList, closure); + } + + count = 0; + + for (i = 0; i < nList; i++) + count = forEachHeaderOpWithType (list[i]->data[type].header, + list[i]->data[type].nHeader, + nList, CompOpTypeHeaderAttrib, + "ATTRIB ", list[i]->name, count, + callBack, closure); + + if (count) + { + dataOp.data = ";"; + + (*callBack) (&dataOp, nList, closure); + } + + forEachDataOpInFunction (list, nList - 1, type, 0, NULL, + &colorDone, &blendDone, + callBack, closure); + + if (colorDone) + dataOp.data = "MOV result.color, output;END"; + else + dataOp.data = "MUL result.color, fragment.color, output;END"; + + (*callBack) (&dataOp, nList, closure); + + return blendDone; +} + +static void +addFetchOffsetVariables (CompDataOp *op, + int index, + void *closure) +{ + if (op->type == CompOpTypeDataOffset) + { + FetchInfo *info = (FetchInfo *) closure; + + if (!info->indices[index]) + { + char *str; + int oldSize = strlen (info->data); + int newSize; + char data[256]; + + snprintf (data, 256, "TEMP __tmp_texcoord%d;", index); + + newSize = oldSize + strlen (data); + + str = realloc (info->data, newSize + 1); + if (str) + { + strcpy (str + oldSize, data); + info->data = str; + } + + info->indices[index] = TRUE; + } + } +} + +static void +addData (CompDataOp *op, + int index, + void *closure) +{ + FetchInfo *info = (FetchInfo *) closure; + char *str; + int oldSize = strlen (info->data); + int newSize = oldSize + strlen (op->data); + + str = realloc (info->data, newSize + 1); + if (str) + { + strcpy (str + oldSize, op->data); + info->data = str; + } +} + +static CompProgram * +buildFragmentProgram (CompScreen *s, + FragmentAttrib *attrib) +{ + CompProgram *program; + CompFunction **functionList; + int nFunctionList; + int mask = COMP_FUNCTION_MASK; + int type; + GLint errorPos; + FetchInfo info; + int i; + + program = malloc (sizeof (CompProgram)); + if (!program) + return NULL; + + functionList = malloc ((attrib->nFunction + 1) * sizeof (void *)); + if (!functionList) + { + free (program); + + return NULL; + } + + functionList[0] = &initialLoadFunction; + nFunctionList = 1; + + for (i = 0; i < attrib->nFunction; i++) + { + functionList[nFunctionList] = + findFragmentFunction (s, attrib->function[i]); + if (functionList[nFunctionList]) + nFunctionList++; + } + + for (i = 0; i < nFunctionList; i++) + mask &= functionList[i]->mask; + + if (!mask) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "fragment functions can't be linked together " + "because a common type doesn't exist"); + } + + if (!mask || nFunctionList == 1) + { + free (program); + free (functionList); + + return NULL; + } + + program->signature = malloc (attrib->nFunction * sizeof (int)); + if (!program->signature) + { + free (program); + free (functionList); + + return NULL; + } + + for (i = 0; i < attrib->nFunction; i++) + program->signature[i] = attrib->function[i]; + + program->nSignature = attrib->nFunction; + + type = functionMaskToType (mask); + + info.data = strdup ("!!ARBfp1.0"); + + memset (info.indices, 0, sizeof (info.indices)); + + forEachDataOp (functionList, nFunctionList, type, + addFetchOffsetVariables, (void *) &info); + + program->blending = forEachDataOp (functionList, nFunctionList, type, + addData, (void *) &info); + + program->type = GL_FRAGMENT_PROGRAM_ARB; + + glGetError (); + + (*s->genPrograms) (1, &program->name); + (*s->bindProgram) (GL_FRAGMENT_PROGRAM_ARB, program->name); + (*s->programString) (GL_FRAGMENT_PROGRAM_ARB, + GL_PROGRAM_FORMAT_ASCII_ARB, + strlen (info.data), info.data); + + glGetIntegerv (GL_PROGRAM_ERROR_POSITION_ARB, &errorPos); + if (glGetError () != GL_NO_ERROR || errorPos != -1) + { + compLogMessage (NULL, "core", CompLogLevelError, + "failed to load fragment program"); + + (*s->deletePrograms) (1, &program->name); + + program->name = 0; + program->type = 0; + } + + free (info.data); + free (functionList); + + return program; +} + +static GLuint +getFragmentProgram (CompScreen *s, + FragmentAttrib *attrib, + GLenum *type, + Bool *blending) +{ + CompProgram *program; + + if (!attrib->nFunction) + return 0; + + program = findFragmentProgram (s, attrib->function, attrib->nFunction); + if (!program) + { + program = buildFragmentProgram (s, attrib); + if (program) + { + program->next = s->fragmentPrograms; + s->fragmentPrograms = program; + } + } + + if (program) + { + *type = program->type; + *blending = program->blending; + + return program->name; + } + + return 0; +} + +CompFunctionData * +createFunctionData (void) +{ + CompFunctionData *data; + + data = malloc (sizeof (CompFunctionData)); + if (!data) + return NULL; + + data->header = NULL; + data->nHeader = 0; + + data->body = NULL; + data->nBody = 0; + + return data; +} + +static void +finiFunctionData (CompFunctionData *data) +{ + int i; + + for (i = 0; i < data->nHeader; i++) + free (data->header[i].name); + + if (data->header) + free (data->header); + + for (i = 0; i < data->nBody; i++) + { + switch (data->body[i].type) { + case CompOpTypeFetch: + free (data->body[i].fetch.dst); + if (data->body[i].fetch.offset) + free (data->body[i].fetch.offset); + break; + case CompOpTypeLoad: + case CompOpTypeHeaderTemp: + case CompOpTypeHeaderParam: + case CompOpTypeHeaderAttrib: + break; + case CompOpTypeData: + case CompOpTypeDataBlend: + case CompOpTypeDataStore: + case CompOpTypeDataOffset: + free (data->body[i].data.data); + break; + case CompOpTypeColor: + free (data->body[i].color.dst); + free (data->body[i].color.src); + break; + } + } + + if (data->body) + free (data->body); +} + +void +destroyFunctionData (CompFunctionData *data) +{ + finiFunctionData (data); + free (data); +} + +/* performs simple variable substitution */ +static char * +copyData (CompHeaderOp *header, + int nHeader, + char *prefix, + char *data) +{ + char *copy, *needle, *haystack, *dst, *first; + int i, index, length, prefixLength, count = 0; + + prefixLength = strlen (prefix); + + for (i = 0; i < nHeader; i++) + { + length = strlen (header[i].name); + haystack = data; + + do { + needle = strstr (haystack, header[i].name); + if (needle) + { + haystack = needle + length; + count++; + } + } while (needle); + } + + /* allocate new memory that will fit all substitutions */ + copy = malloc (strlen (data) + count * (strlen (prefix) + 1) + 1); + if (!copy) + return NULL; + + haystack = data; + dst = copy; + + for (;;) + { + first = NULL; + index = 0; + + for (i = 0; i < nHeader; i++) + { + needle = strstr (haystack, header[i].name); + if (needle && (!first || needle < first)) + { + first = needle; + index = i; + } + } + + if (first) + { + int length; + + if (first > haystack) + { + strncpy (dst, haystack, first - haystack); + dst += first - haystack; + } + + length = strlen (header[index].name); + + strcpy (dst, prefix); + dst += prefixLength; + *dst++ = '_'; + strcpy (dst, header[index].name); + dst += length; + + haystack = first + length; + } + else + { + strcpy (dst, haystack); + break; + } + } + + return copy; +} + +static Bool +copyFunctionData (CompFunctionData *dst, + const CompFunctionData *src, + char *dstPrefix) +{ + int i; + + dst->header = malloc (src->nHeader * sizeof (CompHeaderOp)); + if (!dst->header) + return FALSE; + + dst->body = malloc (src->nBody * sizeof (CompBodyOp)); + if (!dst->body) + { + free (dst->header); + return FALSE; + } + + dst->nHeader = src->nHeader; + + for (i = 0; i < src->nHeader; i++) + { + dst->header[i].type = src->header[i].type; + dst->header[i].name = strdup (src->header[i].name); + } + + dst->nBody = src->nBody; + + for (i = 0; i < src->nBody; i++) + { + dst->body[i].type = src->body[i].type; + + switch (src->body[i].type) { + case CompOpTypeFetch: + dst->body[i].fetch.dst = copyData (dst->header, + dst->nHeader, + dstPrefix, + src->body[i].fetch.dst); + if (src->body[i].fetch.offset) + dst->body[i].fetch.offset = + copyData (dst->header, + dst->nHeader, + dstPrefix, + src->body[i].fetch.offset); + else + dst->body[i].fetch.offset = NULL; + + dst->body[i].fetch.target = src->body[i].fetch.target; + break; + case CompOpTypeLoad: + case CompOpTypeHeaderTemp: + case CompOpTypeHeaderParam: + case CompOpTypeHeaderAttrib: + break; + case CompOpTypeData: + case CompOpTypeDataBlend: + case CompOpTypeDataStore: + case CompOpTypeDataOffset: + dst->body[i].data.data = copyData (dst->header, + dst->nHeader, + dstPrefix, + src->body[i].data.data); + break; + case CompOpTypeColor: + dst->body[i].color.dst = copyData (dst->header, + dst->nHeader, + dstPrefix, + src->body[i].color.dst); + dst->body[i].color.src = copyData (dst->header, + dst->nHeader, + dstPrefix, + src->body[i].color.src); + break; + } + } + + return TRUE; +} + +static Bool +addHeaderOpToFunctionData (CompFunctionData *data, + char *name, + CompOpType type) +{ + static char *reserved[] = { + "output", + "__tmp_texcoord", + "fragment", + "program", + "result", + "state", + "texture" + }; + CompHeaderOp *header; + int i; + + for (i = 0; i < sizeof (reserved) / sizeof (reserved[0]); i++) + { + if (strncmp (name, reserved[i], strlen (reserved[i])) == 0) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "%s is a reserved word", name); + return FALSE; + } + } + + header = realloc (data->header, + (data->nHeader + 1) * sizeof (CompHeaderOp)); + if (!header) + return FALSE; + + header[data->nHeader].type = type; + header[data->nHeader].name = strdup (name); + + data->header = header; + data->nHeader++; + + return TRUE; +} + +Bool +addTempHeaderOpToFunctionData (CompFunctionData *data, + char *name) +{ + return addHeaderOpToFunctionData (data, name, CompOpTypeHeaderTemp); +} + +Bool +addParamHeaderOpToFunctionData (CompFunctionData *data, + char *name) +{ + return addHeaderOpToFunctionData (data, name, CompOpTypeHeaderParam); +} + +Bool +addAttribHeaderOpToFunctionData (CompFunctionData *data, + char *name) +{ + return addHeaderOpToFunctionData (data, name, CompOpTypeHeaderAttrib); +} + +static Bool +allocBodyOpInFunctionData (CompFunctionData *data) +{ + CompBodyOp *body; + + body = realloc (data->body, (data->nBody + 1) * sizeof (CompBodyOp)); + if (!body) + return FALSE; + + data->body = body; + data->nBody++; + + return TRUE; +} + +Bool +addFetchOpToFunctionData (CompFunctionData *data, + char *dst, + char *offset, + int target) +{ + int index = data->nBody; + + if (!allocBodyOpInFunctionData (data)) + return FALSE; + + data->body[index].type = CompOpTypeFetch; + data->body[index].fetch.dst = strdup (dst); + data->body[index].fetch.target = target; + + if (offset) + data->body[index].fetch.offset = strdup (offset); + else + data->body[index].fetch.offset = NULL; + + return TRUE; +} + +Bool +addColorOpToFunctionData (CompFunctionData *data, + char *dst, + char *src) +{ + int index = data->nBody; + + if (!allocBodyOpInFunctionData (data)) + return FALSE; + + data->body[index].type = CompOpTypeColor; + data->body[index].color.dst = strdup (dst); + data->body[index].color.src = strdup (src); + + return TRUE; +} + +Bool +addDataOpToFunctionData (CompFunctionData *data, + char *str, + ...) +{ + int index = data->nBody; + int size = strlen (str) + 1; + int n; + char *fStr; + char *tmp; + va_list ap; + + if (!allocBodyOpInFunctionData (data)) + return FALSE; + + fStr = malloc (size); + if (!fStr) + return FALSE; + + while (1) + { + /* Try to print in the allocated space. */ + va_start (ap, str); + n = vsnprintf (fStr, size, str, ap); + va_end (ap); + + /* If that worked, leave the loop. */ + if (n > -1 && n < size) + break; + + /* Else try again with more space. */ + if (n > -1) /* glibc 2.1 */ + size = n + 1; /* precisely what is needed */ + else /* glibc 2.0 */ + size++; /* one more than the old size */ + + tmp = realloc (fStr, size); + if (!tmp) + { + free (fStr); + return FALSE; + } + else + { + fStr = tmp; + } + } + + data->body[index].type = CompOpTypeData; + data->body[index].data.data = fStr; + + return TRUE; +} + +Bool +addBlendOpToFunctionData (CompFunctionData *data, + char *str, + ...) +{ + int index = data->nBody; + int size = strlen (str) + 1; + int n; + char *fStr; + char *tmp; + va_list ap; + + if (!allocBodyOpInFunctionData (data)) + return FALSE; + + fStr = malloc (size); + if (!fStr) + return FALSE; + + while (1) + { + /* Try to print in the allocated space. */ + va_start (ap, str); + n = vsnprintf (fStr, size, str, ap); + va_end (ap); + + /* If that worked, leave the loop. */ + if (n > -1 && n < size) + break; + + /* Else try again with more space. */ + if (n > -1) /* glibc 2.1 */ + size = n + 1; /* precisely what is needed */ + else /* glibc 2.0 */ + size++; /* one more than the old size */ + + tmp = realloc (fStr, size); + if (!tmp) + { + free (fStr); + return FALSE; + } + else + { + fStr = tmp; + } + } + + data->body[index].type = CompOpTypeDataBlend; + data->body[index].data.data = fStr; + + return TRUE; +} + +static int +allocFunctionId (CompScreen *s) +{ + return ++s->lastFunctionId; +} + +int +createFragmentFunction (CompScreen *s, + char *name, + CompFunctionData *data) +{ + CompFunction *function; + char *validName = name; + char *nameBuffer = NULL; + int i = 0; + + while (findFragmentFunctionWithName (s, validName)) + { + if (!nameBuffer) + { + nameBuffer = malloc (strlen (name) + 64); + if (!nameBuffer) + return 0; + + validName = nameBuffer; + } + + sprintf (nameBuffer, "%s%d", name, i++); + } + + function = malloc (sizeof (CompFunction)); + if (!function) + { + if (nameBuffer) + free (nameBuffer); + + return 0; + } + + if (!copyFunctionData (&function->data[COMP_FUNCTION_TYPE_ARB], data, + validName)) + { + free (function); + if (nameBuffer) + free (nameBuffer); + + return 0; + } + + function->name = strdup (validName); + function->mask = COMP_FUNCTION_ARB_MASK; + function->id = allocFunctionId (s); + + function->next = s->fragmentFunctions; + s->fragmentFunctions = function; + + if (nameBuffer) + free (nameBuffer); + + return function->id; +} + +void +destroyFragmentFunction (CompScreen *s, + int id) +{ + CompFunction *function, *prevFunction = NULL; + CompProgram *program, *prevProgram = NULL; + int i; + + for (function = s->fragmentFunctions; function; function = function->next) + { + if (function->id == id) + break; + + prevFunction = function; + } + + if (!function) + return; + + program = s->fragmentPrograms; + while (program) + { + for (i = 0; i < program->nSignature; i++) + { + if (program->signature[i] == id) + break; + } + + if (i < program->nSignature) + { + CompProgram *tmp = program; + + if (prevProgram) + prevProgram->next = program->next; + else + s->fragmentPrograms = program->next; + + program = program->next; + + (*s->deletePrograms) (1, &tmp->name); + + free (tmp->signature); + free (tmp); + } + else + { + prevProgram = program; + program = program->next; + } + } + + if (prevFunction) + prevFunction->next = function->next; + else + s->fragmentFunctions = function->next; + + finiFunctionData (&function->data[COMP_FUNCTION_TYPE_ARB]); + free (function->name); + free (function); +} + +int +getSaturateFragmentFunction (CompScreen *s, + CompTexture *texture, + int param) +{ + int target; + + if (param >= 64) + return 0; + + if (texture->target == GL_TEXTURE_2D) + target = COMP_FETCH_TARGET_2D; + else + target = COMP_FETCH_TARGET_RECT; + + if (!s->saturateFunction[target][param]) + { + static const char *saturateData = + "MUL temp, output, { 1.0, 1.0, 1.0, 0.0 };" + "DP3 temp, temp, program.env[%d];" + "LRP output.xyz, program.env[%d].w, output, temp;"; + CompFunctionData *data; + + data = createFunctionData (); + if (data) + { + char str[1024]; + + if (!addTempHeaderOpToFunctionData (data, "temp")) + { + destroyFunctionData (data); + return 0; + } + + if (!addFetchOpToFunctionData (data, "output", NULL, target)) + { + destroyFunctionData (data); + return 0; + } + + if (!addColorOpToFunctionData (data, "output", "output")) + { + destroyFunctionData (data); + return 0; + } + + snprintf (str, 1024, saturateData, param, param); + + if (!addDataOpToFunctionData (data, str)) + { + destroyFunctionData (data); + return 0; + } + + s->saturateFunction[target][param] = + createFragmentFunction (s, "__core_saturate", data); + + destroyFunctionData (data); + } + } + + return s->saturateFunction[target][param]; +} + +int +allocFragmentTextureUnits (FragmentAttrib *attrib, + int nTexture) +{ + int first = attrib->nTexture; + + attrib->nTexture += nTexture; + + /* 0 is reserved for source texture */ + return 1 + first; +} + +int +allocFragmentParameters (FragmentAttrib *attrib, + int nParam) +{ + int first = attrib->nParam; + + attrib->nParam += nParam; + + return first; +} + +void +addFragmentFunction (FragmentAttrib *attrib, + int function) +{ + if (attrib->nFunction < MAX_FRAGMENT_FUNCTIONS) + attrib->function[attrib->nFunction++] = function; +} + +void +initFragmentAttrib (FragmentAttrib *attrib, + const WindowPaintAttrib *paint) +{ + attrib->opacity = paint->opacity; + attrib->brightness = paint->brightness; + attrib->saturation = paint->saturation; + attrib->nTexture = 0; + attrib->nFunction = 0; + attrib->nParam = 0; + + memset (attrib->function, 0, sizeof (attrib->function)); +} + +Bool +enableFragmentAttrib (CompScreen *s, + FragmentAttrib *attrib, + Bool *blending) +{ + GLuint name; + GLenum type; + Bool programBlending; + + if (!s->fragmentProgram) + return FALSE; + + name = getFragmentProgram (s, attrib, &type, &programBlending); + if (!name) + return FALSE; + + *blending = !programBlending; + + glEnable (GL_FRAGMENT_PROGRAM_ARB); + + (*s->bindProgram) (type, name); + + return TRUE; +} + +void +disableFragmentAttrib (CompScreen *s, + FragmentAttrib *attrib) +{ + glDisable (GL_FRAGMENT_PROGRAM_ARB); +} diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..81a4178 --- /dev/null +++ b/src/main.c @@ -0,0 +1,455 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +#include +#include +#include +#include +#include +#include + +#include + +char *programName; +char **programArgv; +int programArgc; + +char *backgroundImage = NULL; + +REGION emptyRegion; +REGION infiniteRegion; +GLushort defaultColor[4] = { 0xffff, 0xffff, 0xffff, 0xffff }; +Window currentRoot = 0; + +int defaultRefreshRate = 50; +char *defaultTextureFilter = "Good"; + +Bool shutDown = FALSE; +Bool restartSignal = FALSE; + +CompWindow *lastFoundWindow = 0; +CompWindow *lastDamagedWindow = 0; + +Bool replaceCurrentWm = FALSE; +Bool indirectRendering = FALSE; +Bool strictBinding = TRUE; +Bool noDetection = FALSE; +Bool useDesktopHints = TRUE; +Bool onlyCurrentScreen = FALSE; + +#ifdef USE_COW +Bool useCow = TRUE; +#endif + +CompMetadata coreMetadata; + +static void +usage (void) +{ + printf ("Usage: %s " + "[--display DISPLAY] " + "[--bg-image PNG] " + "[--refresh-rate RATE]\n " + "[--fast-filter] " + "[--indirect-rendering] " + "[--loose-binding] " + "[--replace]\n " + "[--sm-disable] " + "[--sm-client-id ID] " + "[--no-detection]\n " + "[--ignore-desktop-hints] " + "[--only-current-screen]" + +#ifdef USE_COW + " [--use-root-window]\n " +#else + "\n " +#endif + + "[--version] " + "[--help] " + "[PLUGIN]...\n", + programName); +} + +void +compLogMessage (CompDisplay *d, + char *componentName, + CompLogLevel level, + char *format, + ...) +{ + va_list args; + char message[2048]; + + va_start (args, format); + + vsnprintf (message, 2048, format, args); + + if (d) + (*d->logMessage) (d, componentName, level, message); + else + logMessage (d, componentName, level, message); + + va_end (args); +} + +void +logMessage (CompDisplay *d, + char *componentName, + CompLogLevel level, + char *message) +{ + char defaultMessage[2048]; + + snprintf (defaultMessage, 2048, "%s (%s) - %s: %s", + programName, componentName, + logLevelToString (level), message); + + fprintf (stderr, defaultMessage); + fprintf (stderr, "\n"); +} + +const char * +logLevelToString (CompLogLevel level) +{ + switch (level) { + case CompLogLevelFatal: + return "Fatal"; + case CompLogLevelError: + return "Error"; + case CompLogLevelWarn: + return "Warn"; + case CompLogLevelInfo: + return "Info"; + case CompLogLevelDebug: + return "Debug"; + default: + break; + } + + return "Unknown"; +} + +static void +signalHandler (int sig) +{ + int status; + + switch (sig) { + case SIGCHLD: + waitpid (-1, &status, WNOHANG | WUNTRACED); + break; + case SIGHUP: + restartSignal = TRUE; + break; + case SIGINT: + case SIGTERM: + shutDown = TRUE; + default: + break; + } +} + +typedef struct _CompIOCtx { + int offset; + char *pluginData; + char *textureFilterData; + char *refreshRateData; +} CompIOCtx; + +static int +readCoreXmlCallback (void *context, + char *buffer, + int length) +{ + CompIOCtx *ctx = (CompIOCtx *) context; + int offset = ctx->offset; + int i, j; + + i = compReadXmlChunk ("", &offset, buffer, length); + + for (j = 0; j < COMP_DISPLAY_OPTION_NUM; j++) + { + CompMetadataOptionInfo info = coreDisplayOptionInfo[j]; + + switch (j) { + case COMP_DISPLAY_OPTION_ACTIVE_PLUGINS: + if (ctx->pluginData) + info.data = ctx->pluginData; + break; + case COMP_DISPLAY_OPTION_TEXTURE_FILTER: + if (ctx->textureFilterData) + info.data = ctx->textureFilterData; + default: + break; + } + + i += compReadXmlChunkFromMetadataOptionInfo (&info, + &offset, + buffer + i, + length - i); + } + + i += compReadXmlChunk ("", &offset, + buffer + i, length - 1); + + for (j = 0; j < COMP_SCREEN_OPTION_NUM; j++) + { + CompMetadataOptionInfo info = coreScreenOptionInfo[j]; + + switch (j) { + case COMP_SCREEN_OPTION_REFRESH_RATE: + if (ctx->refreshRateData) + info.data = ctx->refreshRateData; + default: + break; + } + + i += compReadXmlChunkFromMetadataOptionInfo (&info, + &offset, + buffer + i, + length - i); + } + + i += compReadXmlChunk ("", &offset, buffer + i, + length - i); + + if (!offset && length > i) + buffer[i++] = '\0'; + + ctx->offset += i; + + return i; +} + +int +main (int argc, char **argv) +{ + CompIOCtx ctx; + char *displayName = 0; + char *plugin[256]; + int i, nPlugin = 0; + Bool disableSm = FALSE; + char *clientId = NULL; + char *refreshRateArg = NULL; + + programName = argv[0]; + programArgc = argc; + programArgv = argv; + + compDisplays = NULL; + + signal (SIGHUP, signalHandler); + signal (SIGCHLD, signalHandler); + signal (SIGINT, signalHandler); + signal (SIGTERM, signalHandler); + + emptyRegion.rects = &emptyRegion.extents; + emptyRegion.numRects = 0; + emptyRegion.extents.x1 = 0; + emptyRegion.extents.y1 = 0; + emptyRegion.extents.x2 = 0; + emptyRegion.extents.y2 = 0; + emptyRegion.size = 0; + + infiniteRegion.rects = &infiniteRegion.extents; + infiniteRegion.numRects = 1; + infiniteRegion.extents.x1 = MINSHORT; + infiniteRegion.extents.y1 = MINSHORT; + infiniteRegion.extents.x2 = MAXSHORT; + infiniteRegion.extents.y2 = MAXSHORT; + + memset (&ctx, 0, sizeof (ctx)); + + for (i = 1; i < argc; i++) + { + if (!strcmp (argv[i], "--help")) + { + usage (); + return 0; + } + else if (!strcmp (argv[i], "--version")) + { + printf (PACKAGE_STRING "\n"); + return 0; + } + else if (!strcmp (argv[i], "--display")) + { + if (i + 1 < argc) + displayName = argv[++i]; + } + else if (!strcmp (argv[i], "--refresh-rate")) + { + if (i + 1 < argc) + { + refreshRateArg = programArgv[++i]; + defaultRefreshRate = atoi (refreshRateArg); + defaultRefreshRate = RESTRICT_VALUE (defaultRefreshRate, + 1, 1000); + } + } + else if (!strcmp (argv[i], "--fast-filter")) + { + ctx.textureFilterData = "Fast"; + defaultTextureFilter = "Fast"; + } + else if (!strcmp (argv[i], "--indirect-rendering")) + { + indirectRendering = TRUE; + } + else if (!strcmp (argv[i], "--loose-binding")) + { + strictBinding = FALSE; + } + else if (!strcmp (argv[i], "--ignore-desktop-hints")) + { + useDesktopHints = FALSE; + } + else if (!strcmp (argv[i], "--only-current-screen")) + { + onlyCurrentScreen = TRUE; + } + +#ifdef USE_COW + else if (!strcmp (argv[i], "--use-root-window")) + { + useCow = FALSE; + } +#endif + + else if (!strcmp (argv[i], "--replace")) + { + replaceCurrentWm = TRUE; + } + else if (!strcmp (argv[i], "--sm-disable")) + { + disableSm = TRUE; + } + else if (!strcmp (argv[i], "--sm-client-id")) + { + if (i + 1 < argc) + clientId = argv[++i]; + } + else if (!strcmp (argv[i], "--no-detection")) + { + noDetection = TRUE; + } + else if (!strcmp (argv[i], "--bg-image")) + { + if (i + 1 < argc) + backgroundImage = argv[++i]; + } + else if (*argv[i] == '-') + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "Unknown option '%s'\n", argv[i]); + } + else + { + if (nPlugin < 256) + plugin[nPlugin++] = argv[i]; + } + } + + if (refreshRateArg) + { + ctx.refreshRateData = malloc (strlen (refreshRateArg) + 256); + if (ctx.refreshRateData) + sprintf (ctx.refreshRateData, + "1%s", + refreshRateArg); + } + + if (nPlugin) + { + int size = 256; + + for (i = 0; i < nPlugin; i++) + size += strlen (plugin[i]) + 16; + + ctx.pluginData = malloc (size); + if (ctx.pluginData) + { + char *ptr = ctx.pluginData; + + ptr += sprintf (ptr, "string"); + + for (i = 0; i < nPlugin; i++) + ptr += sprintf (ptr, "%s", plugin[i]); + + ptr += sprintf (ptr, ""); + } + } + + xmlInitParser (); + + LIBXML_TEST_VERSION; + + if (!compInitMetadata (&coreMetadata)) + { + compLogMessage (NULL, "core", CompLogLevelFatal, + "Couldn't initialize core metadata"); + return 1; + } + + if (!compAddMetadataFromIO (&coreMetadata, + readCoreXmlCallback, NULL, + &ctx)) + return 1; + + if (ctx.refreshRateData) + free (ctx.refreshRateData); + + if (ctx.pluginData) + free (ctx.pluginData); + + compAddMetadataFromFile (&coreMetadata, "core"); + + if (!disableSm) + initSession (clientId); + + if (!addDisplay (displayName)) + return 1; + + eventLoop (); + + if (!disableSm) + closeSession (); + + xmlCleanupParser (); + + if (restartSignal) + { + execvp (programName, programArgv); + return 1; + } + + return 0; +} diff --git a/src/match.c b/src/match.c new file mode 100644 index 0000000..691e207 --- /dev/null +++ b/src/match.c @@ -0,0 +1,780 @@ +/* + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include + +#include +#include + +static void +matchResetOps (CompDisplay *display, + CompMatchOp *op, + int nOp) +{ + while (nOp--) + { + switch (op->type) { + case CompMatchOpTypeGroup: + matchResetOps (display, op->group.op, op->group.nOp); + break; + case CompMatchOpTypeExp: + if (op->exp.e.fini) + { + (*op->exp.e.fini) (display, op->exp.e.priv); + op->exp.e.fini = NULL; + } + + op->exp.e.eval = NULL; + op->exp.e.priv.val = 0; + break; + } + + op++; + } +} + +static void +matchReset (CompMatch *match) +{ + if (match->display) + matchResetOps (match->display, match->op, match->nOp); + + match->display = NULL; +} + +void +matchInit (CompMatch *match) +{ + match->display = NULL; + match->op = NULL; + match->nOp = 0; +} + +static void +matchFiniOps (CompMatchOp *op, + int nOp) +{ + while (nOp--) + { + switch (op->type) { + case CompMatchOpTypeGroup: + matchFiniOps (op->group.op, op->group.nOp); + free (op->group.op); + break; + case CompMatchOpTypeExp: + free (op->exp.value); + break; + } + + op++; + } +} + +void +matchFini (CompMatch *match) +{ + matchReset (match); + matchFiniOps (match->op, match->nOp); + free (match->op); +} + +static Bool +matchOpsEqual (CompMatchOp *op1, + CompMatchOp *op2, + int nOp) +{ + while (nOp--) + { + if (op1->type != op2->type) + return FALSE; + + switch (op1->type) { + case CompMatchOpTypeGroup: + if (op1->group.nOp != op2->group.nOp) + return FALSE; + + if (!matchOpsEqual (op1->group.op, op2->group.op, op1->group.nOp)) + return FALSE; + + break; + case CompMatchOpTypeExp: + if (op1->exp.flags != op2->exp.flags) + return FALSE; + + if (strcmp (op1->exp.value, op2->exp.value)) + return FALSE; + + break; + } + + op1++; + op2++; + } + + return TRUE; +} + +Bool +matchEqual (CompMatch *m1, + CompMatch *m2) +{ + if (m1->nOp != m2->nOp) + return FALSE; + + return matchOpsEqual (m1->op, m2->op, m1->nOp); +} + +static CompMatchOp * +matchAddOp (CompMatch *match, + CompMatchOpType type, + int flags) +{ + CompMatchOp *op; + + /* remove AND prefix if this is the first op in this group */ + if (!match->nOp) + flags &= ~MATCH_OP_AND_MASK; + + op = realloc (match->op, sizeof (CompMatchOp) * (match->nOp + 1)); + if (!op) + return FALSE; + + op[match->nOp].any.type = type; + op[match->nOp].any.flags = flags; + + match->op = op; + match->nOp++; + + return &match->op[match->nOp - 1]; +} + +static Bool +matchCopyOps (CompMatchOp *opDst, + CompMatchOp *opSrc, + int nOpSrc) +{ + CompMatchOp *op, *first = opDst; + int count = 0; + + while (nOpSrc--) + { + opDst->any.type = opSrc->any.type; + opDst->any.flags = opSrc->any.flags; + + switch (opSrc->type) { + case CompMatchOpTypeGroup: + op = malloc (sizeof (CompMatchOp) * opSrc->group.nOp); + if (!op) + { + matchFiniOps (first, count); + return FALSE; + } + + if (!matchCopyOps (op, opSrc->group.op, opSrc->group.nOp)) + { + free (op); + matchFiniOps (first, count); + return FALSE; + } + + opDst->group.op = op; + opDst->group.nOp = opSrc->group.nOp; + break; + case CompMatchOpTypeExp: + opDst->exp.value = strdup (opSrc->exp.value); + if (!opDst->exp.value) + { + matchFiniOps (first, count); + return FALSE; + } + + opDst->exp.e.fini = NULL; + opDst->exp.e.eval = NULL; + opDst->exp.e.priv.val = 0; + break; + } + + count++; + opDst++; + opSrc++; + } + + return TRUE; +} + +Bool +matchCopy (CompMatch *dst, + CompMatch *src) +{ + CompMatchOp *opDst; + + opDst = malloc (sizeof (CompMatchOp) * src->nOp); + if (!opDst) + return FALSE; + + if (!matchCopyOps (opDst, src->op, src->nOp)) + { + free (opDst); + return FALSE; + } + + dst->op = opDst; + dst->nOp = src->nOp; + + return TRUE; +} + +Bool +matchAddGroup (CompMatch *match, + int flags, + CompMatch *group) +{ + CompMatchOp *op, *opDst; + + opDst = malloc (sizeof (CompMatchOp) * group->nOp); + if (!opDst) + return FALSE; + + if (!matchCopyOps (opDst, group->op, group->nOp)) + { + free (opDst); + return FALSE; + } + + op = matchAddOp (match, CompMatchOpTypeGroup, flags); + if (!op) + { + matchFiniOps (opDst, group->nOp); + free (opDst); + return FALSE; + } + + op->group.op = opDst; + op->group.nOp = group->nOp; + + return TRUE; +} + +Bool +matchAddExp (CompMatch *match, + int flags, + const char *str) +{ + CompMatchOp *op; + char *value; + + value = strdup (str); + if (!value) + return FALSE; + + op = matchAddOp (match, CompMatchOpTypeExp, flags); + if (!op) + { + free (value); + return FALSE; + } + + op->exp.value = value; + op->exp.e.fini = NULL; + op->exp.e.eval = NULL; + op->exp.e.priv.val = 0; + + return TRUE; +} + +static int +nextIndex (const char *str, + int i) +{ + while (str[i] == '\\') + if (str[++i] != '\0') + i++; + + return i; +} + +static char * +strndupValue (const char *str, + int n) +{ + char *value; + + value = malloc (sizeof (char) * (n + 1)); + if (value) + { + int i, j; + + /* count trialing white spaces */ + i = j = 0; + while (i < n) + { + if (str[i] != ' ') + { + j = 0; + if (str[i] == '\\') + i++; + } + else + { + j++; + } + + i++; + } + + /* remove trialing white spaces */ + n -= j; + + i = j = 0; + for (;;) + { + if (str[i] == '\\') + i++; + + value[j++] = str[i++]; + + if (i >= n) + { + value[j] = '\0'; + return value; + } + } + } + + return NULL; +} + +/* + Add match expressions from string. Special characters are + '(', ')', '!', '&', '|'. Escape character is '\'. + + Example: + + "type=desktop | !type=dock" + "!type=dock & (state=fullscreen | state=shaded)" +*/ +void +matchAddFromString (CompMatch *match, + const char *str) +{ + char *value; + int j, i = 0; + int flags = 0; + + while (str[i] != '\0') + { + while (str[i] == ' ') + i++; + + if (str[i] == '!') + { + flags |= MATCH_OP_NOT_MASK; + + i++; + while (str[i] == ' ') + i++; + } + + if (str[i] == '(') + { + int level = 1; + int length; + + j = ++i; + + while (str[j] != '\0') + { + if (str[j] == '(') + { + level++; + } + else if (str[j] == ')') + { + level--; + if (level == 0) + break; + } + + j = nextIndex (str, ++j); + } + + length = j - i; + + value = malloc (sizeof (char) * (length + 1)); + if (value) + { + CompMatch group; + + strncpy (value, &str[i], length); + value[length] = '\0'; + + matchInit (&group); + matchAddFromString (&group, value); + matchAddGroup (match, flags, &group); + matchFini (&group); + + free (value); + } + + while (str[j] != '\0' && str[j] != '|' && str[j] != '&') + j++; + } + else + { + j = i; + + while (str[j] != '\0' && str[j] != '|' && str[j] != '&') + j = nextIndex (str, ++j); + + value = strndupValue (&str[i], j - i); + if (value) + { + matchAddExp (match, flags, value); + + free (value); + } + } + + i = j; + + if (str[i] != '\0') + { + if (str[i] == '&') + flags = MATCH_OP_AND_MASK; + + i++; + } + } +} + +static char * +matchOpsToString (CompMatchOp *op, + int nOp) +{ + char *value, *group; + char *str = NULL; + int length = 0; + + while (nOp--) + { + value = NULL; + + switch (op->type) { + case CompMatchOpTypeGroup: + group = matchOpsToString (op->group.op, op->group.nOp); + if (group) + { + value = malloc (sizeof (char) * (strlen (group) + 7)); + if (value) + sprintf (value, "%s%s(%s)%s", !str ? "" : + ((op->any.flags & MATCH_OP_AND_MASK) ? + "& " : "| "), + (op->any.flags & MATCH_OP_NOT_MASK) ? "!" : "", + group, nOp ? " " : ""); + + free (group); + } + break; + case CompMatchOpTypeExp: + value = malloc (sizeof (char) * (strlen (op->exp.value) + 5)); + if (value) + sprintf (value, "%s%s%s%s", !str ? "" : + ((op->any.flags & MATCH_OP_AND_MASK) ? "& " : "| "), + (op->any.flags & MATCH_OP_NOT_MASK) ? "!" : "", + op->exp.value, nOp ? " " : ""); + break; + } + + if (value) + { + char *s; + int valueLength = strlen (value); + + s = malloc (sizeof (char) * (length + valueLength + 1)); + if (s) + { + if (str) + memcpy (s, str, sizeof (char) * length); + + memcpy (s + length, value, sizeof (char) * valueLength); + + length += valueLength; + + s[length] = '\0'; + + if (str) + free (str); + + str = s; + } + + free (value); + } + + op++; + } + + return str; +} + +char * +matchToString (CompMatch *match) +{ + char *str; + + str = matchOpsToString (match->op, match->nOp); + if (!str) + str = strdup (""); + + return str; +} + +static void +matchUpdateOps (CompDisplay *display, + CompMatchOp *op, + int nOp) +{ + while (nOp--) + { + switch (op->type) { + case CompMatchOpTypeGroup: + matchUpdateOps (display, op->group.op, op->group.nOp); + break; + case CompMatchOpTypeExp: + (*display->matchInitExp) (display, &op->exp.e, op->exp.value); + break; + } + + op++; + } +} + +void +matchUpdate (CompDisplay *display, + CompMatch *match) +{ + matchReset (match); + matchUpdateOps (display, match->op, match->nOp); + match->display = display; +} + +static Bool +matchEvalOps (CompDisplay *display, + CompMatchOp *op, + int nOp, + CompWindow *window) +{ + Bool value, result = FALSE; + + while (nOp--) + { + /* fast evaluation */ + if (op->any.flags & MATCH_OP_AND_MASK) + { + /* result will never be true */ + if (!result) + return FALSE; + } + else + { + /* result will always be true */ + if (result) + return TRUE; + } + + switch (op->type) { + case CompMatchOpTypeGroup: + value = matchEvalOps (display, op->group.op, op->group.nOp, window); + break; + case CompMatchOpTypeExp: + + default: + value = (*op->exp.e.eval) (display, window, op->exp.e.priv); + break; + } + + if (op->any.flags & MATCH_OP_NOT_MASK) + value = !value; + + if (op->any.flags & MATCH_OP_AND_MASK) + result = (result && value); + else + result = (result || value); + + op++; + } + + return result; +} + +Bool +matchEval (CompMatch *match, + CompWindow *window) +{ + if (match->display) + return matchEvalOps (match->display, match->op, match->nOp, window); + + return FALSE; +} + +static Bool +matchEvalTypeExp (CompDisplay *display, + CompWindow *window, + CompPrivate private) +{ + return (private.uval & window->type); +} + +static Bool +matchEvalStateExp (CompDisplay *display, + CompWindow *window, + CompPrivate private) +{ + return (private.uval & window->state); +} + +static Bool +matchEvalIdExp (CompDisplay *display, + CompWindow *window, + CompPrivate private) +{ + return (private.val == window->id); +} + +static Bool +matchEvalOverrideRedirectExp (CompDisplay *display, + CompWindow *window, + CompPrivate private) +{ + Bool overrideRedirect = window->attrib.override_redirect; + return ((private.val == 1 && overrideRedirect) || + (private.val == 0 && !overrideRedirect)); +} + +void +matchInitExp (CompDisplay *display, + CompMatchExp *exp, + const char *value) +{ + if (strncmp (value, "xid=", 4) == 0) + { + exp->eval = matchEvalIdExp; + exp->priv.val = strtol (value + 4, NULL, 0); + } + else if (strncmp (value, "state=", 6) == 0) + { + exp->eval = matchEvalStateExp; + exp->priv.uval = windowStateFromString (value + 6); + } + else if (strncmp (value, "override_redirect=", 18) == 0) + { + exp->eval = matchEvalOverrideRedirectExp; + exp->priv.val = strtol (value + 18, NULL, 0); + } + else + { + if (strncmp (value, "type=", 5) == 0) + value += 5; + + exp->eval = matchEvalTypeExp; + exp->priv.uval = windowTypeFromString (value); + } +} + +static void +matchUpdateMatchOptions (CompOption *option, + int nOption) +{ + while (nOption--) + { + switch (option->type) { + case CompOptionTypeMatch: + if (option->value.match.display) + matchUpdate (option->value.match.display, &option->value.match); + break; + case CompOptionTypeList: + if (option->value.list.type == CompOptionTypeMatch) + { + int i; + + for (i = 0; i < option->value.list.nValue; i++) + if (option->value.list.value[i].match.display) + matchUpdate (option->value.list.value[i].match.display, + &option->value.list.value[i].match); + } + default: + break; + } + + option++; + } +} + +void +matchExpHandlerChanged (CompDisplay *display) +{ + CompOption *option; + int nOption; + CompPlugin *p; + CompScreen *s; + CompWindow *w; + + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getDisplayOptions) + { + option = (*p->vTable->getDisplayOptions) (p, display, &nOption); + matchUpdateMatchOptions (option, nOption); + } + } + + option = compGetDisplayOptions (display, &nOption); + matchUpdateMatchOptions (option, nOption); + + for (s = display->screens; s; s = s->next) + { + for (p = getPlugins (); p; p = p->next) + { + if (p->vTable->getScreenOptions) + { + option = (*p->vTable->getScreenOptions) (p, s, &nOption); + matchUpdateMatchOptions (option, nOption); + } + } + + option = compGetScreenOptions (s, &nOption); + matchUpdateMatchOptions (option, nOption); + + for (w = s->windows; w; w = w->next) + updateWindowOpacity (w); + } +} + +void +matchPropertyChanged (CompDisplay *display, + CompWindow *w) +{ + updateWindowOpacity (w); +} diff --git a/src/matrix.c b/src/matrix.c new file mode 100644 index 0000000..a10904f --- /dev/null +++ b/src/matrix.c @@ -0,0 +1,322 @@ +/* + * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * From Mesa 3-D graphics library. + */ + +#include +#include + +#include + +/** + * Identity matrix. + */ +static float identity[16] = { + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0 +}; + +#define A(row, col) a[(col << 2) + row] +#define B(row, col) b[(col << 2) + row] +#define P(row, col) product[(col << 2) + row] + +/** + * Perform a full 4x4 matrix multiplication. + * + * \param a matrix. + * \param b matrix. + * \param product will receive the product of \p a and \p b. + * + * \warning Is assumed that \p product != \p b. \p product == \p a is allowed. + * + * \note KW: 4*16 = 64 multiplications + * + * \author This \c matmul was contributed by Thomas Malik + */ +static void +matmul4 (float *product, + const float *a, + const float *b) +{ + int i; + + for (i = 0; i < 4; i++) + { + const float ai0 = A(i,0), ai1 = A(i,1), ai2 = A(i,2), ai3 = A(i,3); + + P(i,0) = ai0 * B(0,0) + ai1 * B(1,0) + ai2 * B(2,0) + ai3 * B(3,0); + P(i,1) = ai0 * B(0,1) + ai1 * B(1,1) + ai2 * B(2,1) + ai3 * B(3,1); + P(i,2) = ai0 * B(0,2) + ai1 * B(1,2) + ai2 * B(2,2) + ai3 * B(3,2); + P(i,3) = ai0 * B(0,3) + ai1 * B(1,3) + ai2 * B(2,3) + ai3 * B(3,3); + } +} + +#undef A +#undef B +#undef P + +/* Degrees to radians conversion: */ +#define DEG2RAD (M_PI / 180.0f) + +/** + * Generate a 4x4 transformation matrix from glRotate parameters, and + * post-multiply the input matrix by it. + * + * \author + * This function was contributed by Erich Boleyn (erich@uruk.org). + * Optimizations contributed by Rudolf Opalla (rudi@khm.de). + */ +void +matrixRotate (CompTransform *transform, + float angle, + float x, + float y, + float z) +{ + float xx, yy, zz, xy, yz, zx, xs, ys, zs, one_c, s, c; + float m[16]; + Bool optimized; + + s = (float) sin (angle * DEG2RAD); + c = (float) cos (angle * DEG2RAD); + + memcpy (m, identity, sizeof (float) * 16); + optimized = FALSE; + +#define M(row, col) m[col * 4 + row] + + if (x == 0.0f) + { + if (y == 0.0f) + { + if (z != 0.0f) + { + optimized = TRUE; + /* rotate only around z-axis */ + M(0,0) = c; + M(1,1) = c; + if (z < 0.0f) + { + M(0,1) = s; + M(1,0) = -s; + } + else + { + M(0,1) = -s; + M(1,0) = s; + } + } + } + else if (z == 0.0f) + { + optimized = TRUE; + /* rotate only around y-axis */ + M(0,0) = c; + M(2,2) = c; + if (y < 0.0f) + { + M(0,2) = -s; + M(2,0) = s; + } + else + { + M(0,2) = s; + M(2,0) = -s; + } + } + } + else if (y == 0.0f) + { + if (z == 0.0f) + { + optimized = TRUE; + /* rotate only around x-axis */ + M(1,1) = c; + M(2,2) = c; + if (x < 0.0f) + { + M(1,2) = s; + M(2,1) = -s; + } + else + { + M(1,2) = -s; + M(2,1) = s; + } + } + } + + if (!optimized) + { + const float mag = sqrtf (x * x + y * y + z * z); + + if (mag <= 1.0e-4) + { + /* no rotation, leave mat as-is */ + return; + } + + x /= mag; + y /= mag; + z /= mag; + + + /* + * Arbitrary axis rotation matrix. + * + * This is composed of 5 matrices, Rz, Ry, T, Ry', Rz', multiplied + * like so: Rz * Ry * T * Ry' * Rz'. T is the final rotation + * (which is about the X-axis), and the two composite transforms + * Ry' * Rz' and Rz * Ry are (respectively) the rotations necessary + * from the arbitrary axis to the X-axis then back. They are + * all elementary rotations. + * + * Rz' is a rotation about the Z-axis, to bring the axis vector + * into the x-z plane. Then Ry' is applied, rotating about the + * Y-axis to bring the axis vector parallel with the X-axis. The + * rotation about the X-axis is then performed. Ry and Rz are + * simply the respective inverse transforms to bring the arbitrary + * axis back to it's original orientation. The first transforms + * Rz' and Ry' are considered inverses, since the data from the + * arbitrary axis gives you info on how to get to it, not how + * to get away from it, and an inverse must be applied. + * + * The basic calculation used is to recognize that the arbitrary + * axis vector (x, y, z), since it is of unit length, actually + * represents the sines and cosines of the angles to rotate the + * X-axis to the same orientation, with theta being the angle about + * Z and phi the angle about Y (in the order described above) + * as follows: + * + * cos ( theta ) = x / sqrt ( 1 - z^2 ) + * sin ( theta ) = y / sqrt ( 1 - z^2 ) + * + * cos ( phi ) = sqrt ( 1 - z^2 ) + * sin ( phi ) = z + * + * Note that cos ( phi ) can further be inserted to the above + * formulas: + * + * cos ( theta ) = x / cos ( phi ) + * sin ( theta ) = y / sin ( phi ) + * + * ...etc. Because of those relations and the standard trigonometric + * relations, it is pssible to reduce the transforms down to what + * is used below. It may be that any primary axis chosen will give the + * same results (modulo a sign convention) using thie method. + * + * Particularly nice is to notice that all divisions that might + * have caused trouble when parallel to certain planes or + * axis go away with care paid to reducing the expressions. + * After checking, it does perform correctly under all cases, since + * in all the cases of division where the denominator would have + * been zero, the numerator would have been zero as well, giving + * the expected result. + */ + + xx = x * x; + yy = y * y; + zz = z * z; + xy = x * y; + yz = y * z; + zx = z * x; + xs = x * s; + ys = y * s; + zs = z * s; + one_c = 1.0f - c; + + /* We already hold the identity-matrix so we can skip some statements */ + M(0,0) = (one_c * xx) + c; + M(0,1) = (one_c * xy) - zs; + M(0,2) = (one_c * zx) + ys; +/* M(0,3) = 0.0F; */ + + M(1,0) = (one_c * xy) + zs; + M(1,1) = (one_c * yy) + c; + M(1,2) = (one_c * yz) - xs; +/* M(1,3) = 0.0F; */ + + M(2,0) = (one_c * zx) - ys; + M(2,1) = (one_c * yz) + xs; + M(2,2) = (one_c * zz) + c; +/* M(2,3) = 0.0F; */ + +/* + M(3,0) = 0.0F; + M(3,1) = 0.0F; + M(3,2) = 0.0F; + M(3,3) = 1.0F; +*/ + } +#undef M + + matmul4 (transform->m, transform->m, m); +} + +/** + * Multiply a matrix with a general scaling matrix. + * + * \param matrix matrix. + * \param x x axis scale factor. + * \param y y axis scale factor. + * \param z z axis scale factor. + * + * Multiplies in-place the elements of \p matrix by the scale factors. + */ +void +matrixScale (CompTransform *transform, + float x, + float y, + float z) +{ + float *m = transform->m; + + m[0] *= x; m[4] *= y; m[8] *= z; + m[1] *= x; m[5] *= y; m[9] *= z; + m[2] *= x; m[6] *= y; m[10] *= z; + m[3] *= x; m[7] *= y; m[11] *= z; +} + +/** + * Multiply a matrix with a translation matrix. + * + * \param matrix matrix. + * \param x translation vector x coordinate. + * \param y translation vector y coordinate. + * \param z translation vector z coordinate. + * + * Adds the translation coordinates to the elements of \p matrix in-place. + */ +void +matrixTranslate (CompTransform *transform, + float x, + float y, + float z) +{ + float *m = transform->m; + + m[12] = m[0] * x + m[4] * y + m[8] * z + m[12]; + m[13] = m[1] * x + m[5] * y + m[9] * z + m[13]; + m[14] = m[2] * x + m[6] * y + m[10] * z + m[14]; + m[15] = m[3] * x + m[7] * y + m[11] * z + m[15]; +} diff --git a/src/metadata.c b/src/metadata.c new file mode 100644 index 0000000..01435a6 --- /dev/null +++ b/src/metadata.c @@ -0,0 +1,1348 @@ +/* + * Copyright © 2007 Dennis Kasprzyk + * Copyright © 2007 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Dennis Kasprzyk not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Dennis Kasprzyk makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * DENNIS KASPRZYK DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL DENNIS KASPRZYK BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Authors: Dennis Kasprzyk + * David Reveman + */ + +#include +#include +#include +#include + +#include + +#define HOME_METADATADIR ".ecomp/metadata" +#define EXTENSION ".xml" + +Bool +compInitMetadata (CompMetadata *metadata) +{ + metadata->path = strdup ("core"); + if (!metadata->path) + return FALSE; + + metadata->doc = NULL; + metadata->nDoc = 0; + + return TRUE; +} + +Bool +compInitPluginMetadata (CompMetadata *metadata, + const char *plugin) +{ + char str[1024]; + + snprintf (str, 1024, "plugin[@name=\"%s\"]", plugin); + + metadata->path = strdup (str); + if (!metadata->path) + return FALSE; + + metadata->doc = NULL; + metadata->nDoc = 0; + + return TRUE; +} + +void +compFiniMetadata (CompMetadata *metadata) +{ + int i; + + for (i = 0; i < metadata->nDoc; i++) + xmlFreeDoc (metadata->doc[i]); + + if (metadata->doc) + free (metadata->doc); + + free (metadata->path); +} + +static xmlDoc * +readXmlFile (const char *path, + const char *name) +{ + char *file; + int length = strlen (name) + strlen (EXTENSION) + 1; + xmlDoc *doc = NULL; + FILE *fp; + + if (path) + length += strlen (path) + 1; + + file = malloc (length); + if (!file) + return NULL; + + if (path) + sprintf (file, "%s/%s%s", path, name, EXTENSION); + else + sprintf (file, "%s%s", name, EXTENSION); + + fp = fopen (file, "r"); + if (!fp) + { + free (file); + return NULL; + } + + fclose (fp); + + doc = xmlReadFile (file, NULL, 0); + + free (file); + + return doc; +} + +static Bool +addMetadataFromFilename (CompMetadata *metadata, + const char *path, + const char *file) +{ + xmlDoc **d, *doc; + + doc = readXmlFile (path, file); + if (!doc) + return FALSE; + + d = realloc (metadata->doc, (metadata->nDoc + 1) * sizeof (xmlDoc *)); + if (!d) + { + xmlFreeDoc (doc); + return FALSE; + } + + d[metadata->nDoc++] = doc; + metadata->doc = d; + + return TRUE; +} + +Bool +compAddMetadataFromFile (CompMetadata *metadata, + const char *file) +{ + char *home; + Bool status = FALSE; + + home = getenv ("HOME"); + if (home) + { + char *path; + + path = malloc (strlen (home) + strlen (HOME_METADATADIR) + 2); + if (path) + { + sprintf (path, "%s/%s", home, HOME_METADATADIR); + status |= addMetadataFromFilename (metadata, path, file); + free (path); + } + } + + status |= addMetadataFromFilename (metadata, METADATADIR, file); + if (!status) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "Unable to parse XML metadata from file \"%s%s\"", + file, EXTENSION); + + return FALSE; + } + + return TRUE; +} + +Bool +compAddMetadataFromString (CompMetadata *metadata, + const char *string) +{ + xmlDoc **d, *doc; + + doc = xmlReadMemory (string, strlen (string), NULL, NULL, 0); + if (!doc) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "Unable to parse XML metadata"); + + return FALSE; + } + + d = realloc (metadata->doc, (metadata->nDoc + 1) * sizeof (xmlDoc *)); + if (!d) + { + xmlFreeDoc (doc); + return FALSE; + } + + d[metadata->nDoc++] = doc; + metadata->doc = d; + + return TRUE; +} + +Bool +compAddMetadataFromIO (CompMetadata *metadata, + xmlInputReadCallback ioread, + xmlInputCloseCallback ioclose, + void *ioctx) +{ + xmlDoc **d, *doc; + + doc = xmlReadIO (ioread, ioclose, ioctx, NULL, NULL, 0); + if (!doc) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "Unable to parse XML metadata"); + + return FALSE; + } + + d = realloc (metadata->doc, (metadata->nDoc + 1) * sizeof (xmlDoc *)); + if (!d) + { + xmlFreeDoc (doc); + return FALSE; + } + + d[metadata->nDoc++] = doc; + metadata->doc = d; + + return TRUE; +} + +typedef struct _CompIOCtx { + int offset; + const char *name; + const CompMetadataOptionInfo *displayOInfo; + int nDisplayOInfo; + const CompMetadataOptionInfo *screenOInfo; + int nScreenOInfo; +} CompIOCtx; + +static int +readPluginXmlCallback (void *context, + char *buffer, + int length) +{ + CompIOCtx *ctx = (CompIOCtx *) context; + int offset = ctx->offset; + int i, j; + + i = compReadXmlChunk ("name, &offset, buffer + i, length - i); + i += compReadXmlChunk ("\">", &offset, buffer + i, length - i); + + if (ctx->nDisplayOInfo) + { + i += compReadXmlChunk ("", &offset, buffer + i, length - i); + + for (j = 0; j < ctx->nDisplayOInfo; j++) + i += compReadXmlChunkFromMetadataOptionInfo (&ctx->displayOInfo[j], + &offset, + buffer + i, + length - i); + + i += compReadXmlChunk ("", &offset, buffer + i, length - i); + } + + if (ctx->nScreenOInfo) + { + i += compReadXmlChunk ("", &offset, buffer + i, length - i); + + for (j = 0; j < ctx->nScreenOInfo; j++) + i += compReadXmlChunkFromMetadataOptionInfo (&ctx->screenOInfo[j], + &offset, + buffer + i, + length - i); + + i += compReadXmlChunk ("", &offset, buffer + i, length - i); + } + + i += compReadXmlChunk ("", &offset, buffer + i, + length - i); + + if (!offset && length > i) + buffer[i++] = '\0'; + + ctx->offset += i; + + return i; +} + +Bool +compInitPluginMetadataFromInfo (CompMetadata *metadata, + const char *plugin, + const CompMetadataOptionInfo *displayOptionInfo, + int nDisplayOptionInfo, + const CompMetadataOptionInfo *screenOptionInfo, + int nScreenOptionInfo) +{ + if (!compInitPluginMetadata (metadata, plugin)) + return FALSE; + + if (nDisplayOptionInfo || nScreenOptionInfo) + { + CompIOCtx ctx; + + ctx.offset = 0; + ctx.name = plugin; + ctx.displayOInfo = displayOptionInfo; + ctx.nDisplayOInfo = nDisplayOptionInfo; + ctx.screenOInfo = screenOptionInfo; + ctx.nScreenOInfo = nScreenOptionInfo; + + if (!compAddMetadataFromIO (metadata, + readPluginXmlCallback, NULL, + (void *) &ctx)) + { + compFiniMetadata (metadata); + return FALSE; + } + } + + return TRUE; +} + +typedef struct _CompXPath { + xmlXPathObjectPtr obj; + xmlXPathContextPtr ctx; + xmlDocPtr doc; +} CompXPath; + +static Bool +initXPathFromMetadataPath (CompXPath *xPath, + CompMetadata *metadata, + const xmlChar *path) +{ + xmlXPathObjectPtr obj; + xmlXPathContextPtr ctx; + int i; + + for (i = 0; i < metadata->nDoc; i++) + { + ctx = xmlXPathNewContext (metadata->doc[i]); + if (ctx) + { + obj = xmlXPathEvalExpression (path, ctx); + if (obj) + { + if (obj->nodesetval && obj->nodesetval->nodeNr) + { + xPath->ctx = ctx; + xPath->obj = obj; + xPath->doc = metadata->doc[i]; + + return TRUE; + } + + xmlXPathFreeObject (obj); + } + + xmlXPathFreeContext (ctx); + } + } + + return FALSE; +} + +static Bool +initXPathFromMetadataPathElement (CompXPath *xPath, + CompMetadata *metadata, + const xmlChar *path, + const xmlChar *element) +{ + char str[1024]; + + snprintf (str, 1024, "%s/%s", path, element); + + return initXPathFromMetadataPath (xPath, metadata, BAD_CAST str); +} + +static void +finiXPath (CompXPath *xPath) +{ + xmlXPathFreeObject (xPath->obj); + xmlXPathFreeContext (xPath->ctx); +} + +static CompOptionType +getOptionType (char *name) +{ + static struct _TypeMap { + char *name; + CompOptionType type; + } map[] = { + { "int", CompOptionTypeInt }, + { "float", CompOptionTypeFloat }, + { "string", CompOptionTypeString }, + { "color", CompOptionTypeColor }, + { "action", CompOptionTypeAction }, + { "match", CompOptionTypeMatch }, + { "list", CompOptionTypeList } + }; + int i; + + for (i = 0; i < sizeof (map) / sizeof (map[0]); i++) + if (strcasecmp (name, map[i].name) == 0) + return map[i].type; + + return CompOptionTypeBool; +} + +static void +initBoolValue (CompOptionValue *v, + xmlDocPtr doc, + xmlNodePtr node) +{ + xmlChar *value; + + v->b = FALSE; + + if (!doc) + return; + + value = xmlNodeListGetString (doc, node->xmlChildrenNode, 1); + if (value) + { + if (strcasecmp ((char *) value, "true") == 0) + v->b = TRUE; + + xmlFree (value); + } +} + +static void +initIntValue (CompOptionValue *v, + CompOptionRestriction *r, + xmlDocPtr doc, + xmlNodePtr node) +{ + xmlChar *value; + + v->i = (r->i.min + r->i.max) / 2; + + if (!doc) + return; + + value = xmlNodeListGetString (doc, node->xmlChildrenNode, 1); + if (value) + { + int i = strtol ((char *) value, NULL, 0); + + if (i >= r->i.min && i <= r->i.max) + v->i = i; + + xmlFree (value); + } +} + +static void +initFloatValue (CompOptionValue *v, + CompOptionRestriction *r, + xmlDocPtr doc, + xmlNodePtr node) +{ + xmlChar *value; + + v->f = (r->f.min + r->f.max) / 2; + + if (!doc) + return; + + value = xmlNodeListGetString (doc, node->xmlChildrenNode, 1); + if (value) + { + float f = strtod ((char *) value, NULL); + + if (f >= r->f.min && f <= r->f.max) + v->f = f; + + xmlFree (value); + } +} + +static void +initStringValue (CompOptionValue *v, + CompOptionRestriction *r, + xmlDocPtr doc, + xmlNodePtr node) +{ + xmlChar *value; + + v->s = strdup (""); + + if (!doc) + return; + + value = xmlNodeListGetString (doc, node->xmlChildrenNode, 1); + if (value) + { + free (v->s); + v->s = strdup ((char *) value); + + xmlFree (value); + } +} + +static void +initColorValue (CompOptionValue *v, + xmlDocPtr doc, + xmlNodePtr node) +{ + xmlNodePtr child; + + v->c[0] = 0x0000; + v->c[1] = 0x0000; + v->c[2] = 0x0000; + v->c[3] = 0xffff; + + if (!doc) + return; + + for (child = node->xmlChildrenNode; child; child = child->next) + { + xmlChar *value; + int index; + + if (!xmlStrcmp (child->name, BAD_CAST "red")) + index = 0; + else if (!xmlStrcmp (child->name, BAD_CAST "green")) + index = 1; + else if (!xmlStrcmp (child->name, BAD_CAST "blue")) + index = 2; + else if (!xmlStrcmp (child->name, BAD_CAST "alpha")) + index = 3; + else + continue; + + value = xmlNodeListGetString (child->doc, child->xmlChildrenNode, 1); + if (value) + { + int color = strtol ((char *) value, NULL , 0); + + v->c[index] = MAX (0, MIN (0xffff, color)); + + xmlFree (value); + } + } +} + +static void +initActionValue (CompDisplay *d, + CompOptionValue *v, + CompActionState state, + xmlDocPtr doc, + xmlNodePtr node) +{ + xmlNodePtr child; + xmlChar *value; + + memset (&v->action, 0, sizeof (v->action)); + + v->action.state = state; + + if (!doc) + return; + + for (child = node->xmlChildrenNode; child; child = child->next) + { + if (!xmlStrcmp (child->name, BAD_CAST "key")) + { + value = xmlNodeListGetString (child->doc, + child->xmlChildrenNode, 1); + if (value) + { + char *binding = (char *) value; + + if (strcasecmp (binding, "disabled") && *binding) + { + if (stringToKeyBinding (d, binding, &v->action.key)) + v->action.type |= CompBindingTypeKey; + } + + xmlFree (value); + } + } + else if (!xmlStrcmp (child->name, BAD_CAST "button")) + { + value = xmlNodeListGetString (child->doc, + child->xmlChildrenNode, 1); + if (value) + { + char *binding = (char *) value; + + if (strcasecmp (binding, "disabled") && *binding) + { + if (stringToButtonBinding (d, binding, &v->action.button)) + v->action.type |= CompBindingTypeButton; + } + + xmlFree (value); + } + } + else if (!xmlStrcmp (child->name, BAD_CAST "edges")) + { + static char *edge[] = { + "left", + "right", + "top", + "bottom", + "top_left", + "top_right", + "bottom_left", + "bottom_right" + }; + int i; + + for (i = 0; i < sizeof (edge) / sizeof (edge[0]); i++) + { + value = xmlGetProp (child, BAD_CAST edge[i]); + if (value) + { + if (strcasecmp ((char *) value, "true") == 0) + v->action.edgeMask |= (1 << i); + + xmlFree (value); + } + } + + value = xmlGetProp (child, BAD_CAST "button"); + if (value) + { + v->action.edgeButton = strtol ((char *) value, NULL, 0); + if (v->action.edgeButton > 0) + v->action.type |= CompBindingTypeEdgeButton; + xmlFree (value); + } + } + else if (!xmlStrcmp (child->name, (const xmlChar *) "bell")) + { + value = xmlNodeListGetString (child->doc, + child->xmlChildrenNode, 1); + if (value) + { + v->action.bell = !strcasecmp ((char *) value, "true"); + xmlFree (value); + } + } + } + + if (state & CompActionStateAutoGrab) + { + CompScreen *s; + + for (s = d->screens; s; s = s->next) + addScreenAction (s, &v->action); + } +} + +static void +initMatchValue (CompDisplay *d, + CompOptionValue *v, + Bool helper, + xmlDocPtr doc, + xmlNodePtr node) +{ + xmlChar *value; + + matchInit (&v->match); + + if (!doc) + return; + + value = xmlNodeListGetString (doc, node->xmlChildrenNode, 1); + if (value) + { + matchAddFromString (&v->match, (char *) value); + xmlFree (value); + } + + if (!helper) + matchUpdate (d, &v->match); +} + +static void +initListValue (CompDisplay *d, + CompOptionValue *v, + CompOptionRestriction *r, + CompActionState state, + Bool helper, + xmlDocPtr doc, + xmlNodePtr node) +{ + xmlNodePtr child; + + v->list.value = NULL; + v->list.nValue = 0; + + if (!doc) + return; + + for (child = node->xmlChildrenNode; child; child = child->next) + { + CompOptionValue *value; + + if (xmlStrcmp (child->name, BAD_CAST "value")) + continue; + + value = realloc (v->list.value, + sizeof (CompOptionValue) * (v->list.nValue + 1)); + if (value) + { + switch (v->list.type) { + case CompOptionTypeBool: + initBoolValue (&value[v->list.nValue], doc, child); + break; + case CompOptionTypeInt: + initIntValue (&value[v->list.nValue], r, doc, child); + break; + case CompOptionTypeFloat: + initFloatValue (&value[v->list.nValue], r, doc, child); + break; + case CompOptionTypeString: + initStringValue (&value[v->list.nValue], r, doc, child); + break; + case CompOptionTypeColor: + initColorValue (&value[v->list.nValue], doc, child); + break; + case CompOptionTypeAction: + initActionValue (d, &value[v->list.nValue], state, doc, child); + break; + case CompOptionTypeMatch: + initMatchValue (d, &value[v->list.nValue], helper, doc, child); + default: + break; + } + + v->list.value = value; + v->list.nValue++; + } + } +} + +static char * +stringFromMetadataPathElement (CompMetadata *metadata, + const char *path, + const char *element) +{ + char str[1024]; + + snprintf (str, 1024, "%s/%s", path, element); + + return compGetStringFromMetadataPath (metadata, str); +} + +static Bool +boolFromMetadataPathElement (CompMetadata *metadata, + const char *path, + const char *element, + Bool defaultValue) +{ + Bool value = FALSE; + char *str; + + str = stringFromMetadataPathElement (metadata, path, element); + if (!str) + return defaultValue; + + if (strcasecmp (str, "true") == 0) + value = TRUE; + + free (str); + + return value; +} + +static void +initIntRestriction (CompMetadata *metadata, + CompOptionRestriction *r, + const char *path) +{ + char *value; + + r->i.min = MINSHORT; + r->i.max = MAXSHORT; + + value = stringFromMetadataPathElement (metadata, path, "min"); + if (value) + { + r->i.min = strtol ((char *) value, NULL, 0); + free (value); + } + + value = stringFromMetadataPathElement (metadata, path, "max"); + if (value) + { + r->i.max = strtol ((char *) value, NULL, 0); + free (value); + } +} + +static void +initFloatRestriction (CompMetadata *metadata, + CompOptionRestriction *r, + const char *path) +{ + char *value; + + r->f.min = MINSHORT; + r->f.max = MAXSHORT; + r->f.precision = 0.1f; + + value = stringFromMetadataPathElement (metadata, path, "min"); + if (value) + { + r->f.min = strtod ((char *) value, NULL); + free (value); + } + + value = stringFromMetadataPathElement (metadata, path, "max"); + if (value) + { + r->f.max = strtod ((char *) value, NULL); + free (value); + } + + value = stringFromMetadataPathElement (metadata, path, "precision"); + if (value) + { + r->f.precision = strtod ((char *) value, NULL); + free (value); + } +} + +static void +initActionState (CompMetadata *metadata, + CompActionState *state, + const char *path) +{ + static struct _StateMap { + char *name; + CompActionState state; + } map[] = { + { "key", CompActionStateInitKey }, + { "button", CompActionStateInitButton }, + { "bell", CompActionStateInitBell }, + { "edge", CompActionStateInitEdge }, + { "edgednd", CompActionStateInitEdgeDnd } + }; + int i; + CompXPath xPath; + char *grab; + + *state = CompActionStateAutoGrab; + + grab = stringFromMetadataPathElement (metadata, path, "passive_grab"); + if (grab) + { + if (strcmp (grab, "false") == 0) + *state = 0; + + free (grab); + } + + if (!initXPathFromMetadataPathElement (&xPath, metadata, BAD_CAST path, + BAD_CAST "allowed")) + return; + + for (i = 0; i < sizeof (map) / sizeof (map[0]); i++) + { + xmlChar *value; + + value = xmlGetProp (*xPath.obj->nodesetval->nodeTab, + BAD_CAST map[i].name); + if (value && xmlStrcmp (value, BAD_CAST "true") == 0) + *state |= map[i].state; + } + + finiXPath (&xPath); +} + +static Bool +initOptionFromMetadataPath (CompDisplay *d, + CompMetadata *metadata, + CompOption *option, + const xmlChar *path) +{ + CompXPath xPath, xDefaultPath; + xmlNodePtr node, defaultNode; + xmlDocPtr defaultDoc; + xmlChar *name, *type; + char *value; + CompActionState state = 0; + Bool helper = FALSE; + + if (!initXPathFromMetadataPath (&xPath, metadata, path)) + return FALSE; + + node = *xPath.obj->nodesetval->nodeTab; + + type = xmlGetProp (node, BAD_CAST "type"); + if (type) + { + option->type = getOptionType ((char *) type); + xmlFree (type); + } + else + { + option->type = CompOptionTypeBool; + } + + name = xmlGetProp (node, BAD_CAST "name"); + option->name = strdup ((char *) name); + xmlFree (name); + + if (initXPathFromMetadataPathElement (&xDefaultPath, metadata, path, + BAD_CAST "default")) + { + defaultDoc = xDefaultPath.doc; + defaultNode = *xDefaultPath.obj->nodesetval->nodeTab; + } + else + { + defaultDoc = NULL; + defaultNode = NULL; + } + + switch (option->type) { + case CompOptionTypeBool: + initBoolValue (&option->value, defaultDoc, defaultNode); + break; + case CompOptionTypeInt: + initIntRestriction (metadata, &option->rest, (char *) path); + initIntValue (&option->value, &option->rest, defaultDoc, defaultNode); + break; + case CompOptionTypeFloat: + initFloatRestriction (metadata, &option->rest, (char *) path); + initFloatValue (&option->value, &option->rest, defaultDoc, defaultNode); + break; + case CompOptionTypeString: + initStringValue (&option->value, &option->rest, + defaultDoc, defaultNode); + break; + case CompOptionTypeColor: + initColorValue (&option->value, defaultDoc, defaultNode); + break; + case CompOptionTypeAction: + initActionState (metadata, &state, (char *) path); + initActionValue (d, &option->value, state, defaultDoc, defaultNode); + break; + case CompOptionTypeMatch: + helper = boolFromMetadataPathElement (metadata, (char *) path, "helper", + FALSE); + initMatchValue (d, &option->value, helper, defaultDoc, defaultNode); + break; + case CompOptionTypeList: + value = stringFromMetadataPathElement (metadata, (char *) path, "type"); + if (value) + { + option->value.list.type = getOptionType ((char *) value); + free (value); + } + else + { + option->value.list.type = CompOptionTypeBool; + } + + switch (option->value.list.type) { + case CompOptionTypeInt: + initIntRestriction (metadata, &option->rest, (char *) path); + break; + case CompOptionTypeFloat: + initFloatRestriction (metadata, &option->rest, (char *) path); + break; + case CompOptionTypeAction: + initActionState (metadata, &state, (char *) path); + break; + case CompOptionTypeMatch: + helper = boolFromMetadataPathElement (metadata, (char *) path, + "helper", FALSE); + default: + break; + } + + initListValue (d, &option->value, &option->rest, state, helper, + defaultDoc, defaultNode); + break; + } + + if (defaultDoc) + finiXPath (&xDefaultPath); + + finiXPath (&xPath); + + return TRUE; +} + +Bool +compInitScreenOptionFromMetadata (CompScreen *s, + CompMetadata *m, + CompOption *o, + const char *name) +{ + char str[1024]; + + sprintf (str, "/ecomp/%s/screen//option[@name=\"%s\"]", m->path, name); + + return initOptionFromMetadataPath (s->display, m, o, BAD_CAST str); +} + +static void +finiScreenOptionValue (CompScreen *s, + CompOptionValue *v, + CompOptionType type) +{ + int i; + + switch (type) { + case CompOptionTypeAction: + if (v->action.state & CompActionStateAutoGrab) + removeScreenAction (s, &v->action); + break; + case CompOptionTypeList: + for (i = 0; i < v->list.nValue; i++) + finiScreenOptionValue (s, &v->list.value[i], v->list.type); + default: + break; + } +} + +void +compFiniScreenOption (CompScreen *s, + CompOption *o) +{ + finiScreenOptionValue (s, &o->value, o->type); + compFiniOption (o); +} + +Bool +compInitScreenOptionsFromMetadata (CompScreen *s, + CompMetadata *m, + const CompMetadataOptionInfo *info, + CompOption *opt, + int n) +{ + int i; + + for (i = 0; i < n; i++) + { + if (!compInitScreenOptionFromMetadata (s, m, &opt[i], info[i].name)) + { + compFiniScreenOptions (s, opt, i); + return FALSE; + } + + if (info[i].initiate) + opt[i].value.action.initiate = info[i].initiate; + + if (info[i].terminate) + opt[i].value.action.terminate = info[i].terminate; + } + + return TRUE; +} + +void +compFiniScreenOptions (CompScreen *s, + CompOption *opt, + int n) +{ + int i; + + for (i = 0; i < n; i++) + compFiniScreenOption (s, &opt[i]); +} + +Bool +compSetScreenOption (CompScreen *s, + CompOption *o, + CompOptionValue *value) +{ + if (compSetOption (o, value)) + return TRUE; + + return FALSE; +} + +Bool +compInitDisplayOptionFromMetadata (CompDisplay *d, + CompMetadata *m, + CompOption *o, + const char *name) +{ + char str[1024]; + + sprintf (str, "/ecomp/%s/display//option[@name=\"%s\"]", m->path, name); + + return initOptionFromMetadataPath (d, m, o, BAD_CAST str); +} + +static void +finiDisplayOptionValue (CompDisplay *d, + CompOptionValue *v, + CompOptionType type) +{ + CompScreen *s; + int i; + + switch (type) { + case CompOptionTypeAction: + if (v->action.state & CompActionStateAutoGrab) + for (s = d->screens; s; s = s->next) + removeScreenAction (s, &v->action); + break; + case CompOptionTypeList: + for (i = 0; i < v->list.nValue; i++) + finiDisplayOptionValue (d, &v->list.value[i], v->list.type); + default: + break; + } +} + +void +compFiniDisplayOption (CompDisplay *d, + CompOption *o) +{ + finiDisplayOptionValue (d, &o->value, o->type); + compFiniOption (o); +} + +Bool +compInitDisplayOptionsFromMetadata (CompDisplay *d, + CompMetadata *m, + const CompMetadataOptionInfo *info, + CompOption *opt, + int n) +{ + int i; + + for (i = 0; i < n; i++) + { + if (!compInitDisplayOptionFromMetadata (d, m, &opt[i], info[i].name)) + { + compFiniDisplayOptions (d, opt, i); + return FALSE; + } + + if (info[i].initiate) + opt[i].value.action.initiate = info[i].initiate; + + if (info[i].terminate) + opt[i].value.action.terminate = info[i].terminate; + } + + return TRUE; +} + +void +compFiniDisplayOptions (CompDisplay *d, + CompOption *opt, + int n) +{ + int i; + + for (i = 0; i < n; i++) + compFiniDisplayOption (d, &opt[i]); +} + +Bool +compSetDisplayOption (CompDisplay *d, + CompOption *o, + CompOptionValue *value) +{ + if (o->type == CompOptionTypeAction) + { + if (o->value.action.state & CompActionStateAutoGrab) + { + if (setDisplayAction (d, o, value)) + return TRUE; + } + else + { + if (compSetActionOption (o, value)) + return TRUE; + } + } + else + { + if (compSetOption (o, value)) + return TRUE; + } + + return FALSE; +} + +char * +compGetStringFromMetadataPath (CompMetadata *metadata, + const char *path) +{ + CompXPath xPath; + char *v = NULL; + + if (!initXPathFromMetadataPath (&xPath, metadata, BAD_CAST path)) + return NULL; + + xPath.obj = xmlXPathConvertString (xPath.obj); + + if (xPath.obj->type == XPATH_STRING && xPath.obj->stringval) + v = strdup ((char *) xPath.obj->stringval); + + finiXPath (&xPath); + + return v; +} + +char * +compGetShortPluginDescription (CompMetadata *m) +{ + char str[1024]; + + sprintf (str, "/ecomp/%s/short/child::text()", m->path); + + return compGetStringFromMetadataPath (m, str); +} + +char * +compGetLongPluginDescription (CompMetadata *m) +{ + char str[1024]; + + sprintf (str, "/ecomp/%s/long/child::text()", m->path); + + return compGetStringFromMetadataPath (m, str); +} + +char * +compGetShortScreenOptionDescription (CompMetadata *m, + CompOption *o) +{ + char str[1024]; + + sprintf (str, "/ecomp/%s/screen//option[@name=\"%s\"]/short/child::text()", + m->path, o->name); + + return compGetStringFromMetadataPath (m, str); +} + +char * +compGetLongScreenOptionDescription (CompMetadata *m, + CompOption *o) +{ + char str[1024]; + + sprintf (str, "/ecomp/%s/screen//option[@name=\"%s\"]/long/child::text()", + m->path, o->name); + + return compGetStringFromMetadataPath (m, str); +} + + +char * +compGetShortDisplayOptionDescription (CompMetadata *m, + CompOption *o) +{ + char str[1024]; + + sprintf (str, + "/ecomp/%s/display//option[@name=\"%s\"]/short/child::text()", + m->path, o->name); + + return compGetStringFromMetadataPath (m, str); +} + + +char * +compGetLongDisplayOptionDescription (CompMetadata *m, + CompOption *o) +{ + char str[1024]; + + sprintf (str, "/ecomp/%s/display//option[@name=\"%s\"]/long/child::text()", + m->path, o->name); + + return compGetStringFromMetadataPath (m, str); +} + +int +compReadXmlChunk (const char *src, + int *offset, + char *buffer, + int length) +{ + int srcLength = strlen (src); + int srcOffset = *offset; + + if (srcOffset > srcLength) + srcOffset = srcLength; + + *offset -= srcOffset; + + src += srcOffset; + srcLength -= srcOffset; + + if (srcLength > 0 && length > 0) + { + if (srcLength < length) + length = srcLength; + + memcpy (buffer, src, length); + + return length; + } + + return 0; +} + +int +compReadXmlChunkFromMetadataOptionInfo (const CompMetadataOptionInfo *info, + int *offset, + char *buffer, + int length) +{ + int i; + + i = compReadXmlChunk ("", offset, buffer + i, length - i); + } + else + { + i += compReadXmlChunk ("\"/>", offset, buffer + i, length - i); + } + + return i; +} diff --git a/src/option.c b/src/option.c new file mode 100644 index 0000000..552fe19 --- /dev/null +++ b/src/option.c @@ -0,0 +1,769 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include +#include +#include + +#include + +struct _Modifier { + char *name; + int modifier; +} modifiers[] = { + { "", ShiftMask }, + { "", ControlMask }, + { "", Mod1Mask }, + { "", Mod2Mask }, + { "", Mod3Mask }, + { "", Mod4Mask }, + { "", Mod5Mask }, + { "", CompAltMask }, + { "", CompMetaMask }, + { "", CompSuperMask }, + { "", CompHyperMask }, + { "", CompModeSwitchMask }, +}; + +#define N_MODIFIERS (sizeof (modifiers) / sizeof (struct _Modifier)) + +static char *edgeName[] = { + "Left", + "Right", + "Top", + "Bottom", + "TopLeft", + "TopRight", + "BottomLeft", + "BottomRight" +}; + +static void +finiOptionValue (CompOptionValue *v, + CompOptionType type) +{ + int i; + + switch (type) { + case CompOptionTypeString: + if (v->s) + free (v->s); + break; + case CompOptionTypeMatch: + matchFini (&v->match); + break; + case CompOptionTypeList: + for (i = 0; i < v->list.nValue; i++) + finiOptionValue (&v->list.value[i], v->list.type); + default: + break; + } +} + +void +compInitOption (CompOption *o) +{ + memset (o, 0, sizeof (CompOption)); +} + +void +compFiniOption (CompOption *o) +{ + finiOptionValue (&o->value, o->type); +} + +CompOption * +compFindOption (CompOption *option, + int nOption, + char *name, + int *index) +{ + int i; + + for (i = 0; i < nOption; i++) + { + if (strcmp (option[i].name, name) == 0) + { + if (index) + *index = i; + + return &option[i]; + } + } + + return 0; +} + +Bool +compSetBoolOption (CompOption *option, + CompOptionValue *value) +{ + int b; + + b = (value->b) ? TRUE : FALSE; + + if (option->value.b == b) + return FALSE; + + option->value.b = b; + + return TRUE; +} + +Bool +compSetIntOption (CompOption *option, + CompOptionValue *value) +{ + if (value->i < option->rest.i.min || + value->i > option->rest.i.max || + value->i == option->value.i) + return FALSE; + + option->value.i = value->i; + + return TRUE; +} + +Bool +compSetFloatOption (CompOption *option, + CompOptionValue *value) +{ + float v, p; + + /* Workaround for float rounding errors */ + static float equalRange = 1e-5; + + int sign = (value->f < 0 ? -1 : 1); + + p = 1.0f / option->rest.f.precision; + v = ((int) (value->f * p + sign * 0.5f)) / p; + + if (v < (option->rest.f.min - equalRange) || + v > (option->rest.f.max + equalRange)) + return FALSE; + + if (v > (option->value.f - equalRange) && + v < (option->value.f + equalRange)) + return FALSE; + + option->value.f = v; + + return TRUE; +} + +Bool +compSetStringOption (CompOption *option, + CompOptionValue *value) +{ + char *s; + + s = value->s; + if (!s) + s = ""; + + if (option->value.s == s) + return FALSE; + + if (option->value.s && s) + { + if (strcmp (option->value.s, s) == 0) + return FALSE; + } + + if (option->value.s) + free (option->value.s); + + option->value.s = strdup (s); + + return TRUE; +} + +Bool +compSetColorOption (CompOption *option, + CompOptionValue *value) +{ + if (memcmp (value->c, option->value.c, sizeof (value->c)) == 0) + return FALSE; + + memcpy (option->value.c, value->c, sizeof (value->c)); + + return TRUE; +} + +Bool +compSetActionOption (CompOption *option, + CompOptionValue *value) +{ + CompAction *action = &option->value.action; + + if (value->action.type == action->type && + value->action.bell == action->bell && + value->action.edgeMask == action->edgeMask) + { + Bool equal = TRUE; + + if (value->action.type & CompBindingTypeButton) + { + if (action->button.button != value->action.button.button || + action->button.modifiers != value->action.button.modifiers) + equal = FALSE; + } + + if (value->action.type & CompBindingTypeKey) + { + if (action->key.keycode != value->action.key.keycode || + action->key.modifiers != value->action.key.modifiers) + equal = FALSE; + } + + if (value->action.type & CompBindingTypeEdgeButton) + { + if (action->edgeButton != value->action.edgeButton) + equal = FALSE; + } + + if (equal) + return FALSE; + } + + *action = value->action; + + return TRUE; +} + +Bool +compSetMatchOption (CompOption *option, + CompOptionValue *value) +{ + CompDisplay *display = option->value.match.display; + CompMatch match; + + if (matchEqual (&option->value.match, &value->match)) + return FALSE; + + if (!matchCopy (&match, &value->match)) + return FALSE; + + matchFini (&option->value.match); + + option->value.match.op = match.op; + option->value.match.nOp = match.nOp; + + if (display) + matchUpdate (display, &option->value.match); + + return TRUE; +} + +Bool +compSetOptionList (CompOption *option, + CompOptionValue *value) +{ + CompOption o; + Bool status = FALSE; + int i, min; + + if (value->list.nValue != option->value.list.nValue) + { + CompOptionValue *v; + + v = malloc (sizeof (CompOptionValue) * value->list.nValue); + if (!v) + return FALSE; + + min = MIN (value->list.nValue, option->value.list.nValue); + + for (i = min; i < option->value.list.nValue; i++) + { + switch (option->value.list.type) { + case CompOptionTypeString: + if (option->value.list.value[i].s) + free (option->value.list.value[i].s); + break; + case CompOptionTypeMatch: + matchFini (&option->value.list.value[i].match); + default: + break; + } + } + + memset (v, 0, sizeof (CompOptionValue) * value->list.nValue); + + if (min) + memcpy (v, option->value.list.value, + sizeof (CompOptionValue) * min); + + if (option->value.list.value) + free (option->value.list.value); + + option->value.list.value = v; + option->value.list.nValue = value->list.nValue; + + status = TRUE; + } + + o = *option; + o.type = option->value.list.type; + + for (i = 0; i < value->list.nValue; i++) + { + o.value = option->value.list.value[i]; + + switch (o.type) { + case CompOptionTypeBool: + status |= compSetBoolOption (&o, &value->list.value[i]); + break; + case CompOptionTypeInt: + status |= compSetIntOption (&o, &value->list.value[i]); + break; + case CompOptionTypeFloat: + status |= compSetFloatOption (&o, &value->list.value[i]); + break; + case CompOptionTypeString: + status |= compSetStringOption (&o, &value->list.value[i]); + break; + case CompOptionTypeColor: + status |= compSetColorOption (&o, &value->list.value[i]); + break; + case CompOptionTypeMatch: + status |= compSetMatchOption (&o, &value->list.value[i]); + default: + break; + } + + option->value.list.value[i] = o.value; + } + + return status; +} + +Bool +compSetOption (CompOption *option, + CompOptionValue *value) +{ + switch (option->type) { + case CompOptionTypeBool: + return compSetBoolOption (option, value); + case CompOptionTypeInt: + return compSetIntOption (option, value); + case CompOptionTypeFloat: + return compSetFloatOption (option, value); + case CompOptionTypeString: + return compSetStringOption (option, value); + case CompOptionTypeColor: + return compSetColorOption (option, value); + case CompOptionTypeMatch: + return compSetMatchOption (option, value); + case CompOptionTypeAction: + return compSetActionOption (option, value); + case CompOptionTypeList: + return compSetOptionList (option, value); + } + + return FALSE; +} + +unsigned int +compWindowTypeMaskFromStringList (CompOptionValue *value) +{ + int i; + unsigned int mask = 0; + + for (i = 0; i < value->list.nValue; i++) + mask |= windowTypeFromString (value->list.value[i].s); + + return mask; +} + +Bool +getBoolOptionNamed (CompOption *option, + int nOption, + char *name, + Bool defaultValue) +{ + while (nOption--) + { + if (option->type == CompOptionTypeBool) + if (strcmp (option->name, name) == 0) + return option->value.b; + + option++; + } + + return defaultValue; +} + +int +getIntOptionNamed (CompOption *option, + int nOption, + char *name, + int defaultValue) +{ + while (nOption--) + { + if (option->type == CompOptionTypeInt) + if (strcmp (option->name, name) == 0) + return option->value.i; + + option++; + } + + return defaultValue; +} + +float +getFloatOptionNamed (CompOption *option, + int nOption, + char *name, + float defaultValue) +{ + while (nOption--) + { + if (option->type == CompOptionTypeFloat) + if (strcmp (option->name, name) == 0) + return option->value.f; + + option++; + } + + return defaultValue; +} + +char * +getStringOptionNamed (CompOption *option, + int nOption, + char *name, + char *defaultValue) +{ + while (nOption--) + { + if (option->type == CompOptionTypeString) + if (strcmp (option->name, name) == 0) + return option->value.s; + + option++; + } + + return defaultValue; +} + +unsigned short * +getColorOptionNamed (CompOption *option, + int nOption, + char *name, + unsigned short *defaultValue) +{ + while (nOption--) + { + if (option->type == CompOptionTypeColor) + if (strcmp (option->name, name) == 0) + return option->value.c; + + option++; + } + + return defaultValue; +} + +CompMatch * +getMatchOptionNamed (CompOption *option, + int nOption, + char *name, + CompMatch *defaultValue) +{ + while (nOption--) + { + if (option->type == CompOptionTypeMatch) + if (strcmp (option->name, name) == 0) + return &option->value.match; + + option++; + } + + return defaultValue; +} + +static char * +stringAppend (char *s, + char *a) +{ + char *r; + int len; + + len = strlen (a); + + if (s) + len += strlen (s); + + r = malloc (len + 1); + if (r) + { + if (s) + { + sprintf (r, "%s%s", s, a); + free (s); + } + else + { + sprintf (r, "%s", a); + } + + s = r; + } + + return s; +} + +static char * +modifiersToString (CompDisplay *d, + unsigned int modMask) +{ + char *binding = NULL; + int i; + + for (i = 0; i < N_MODIFIERS; i++) + { + if (modMask & modifiers[i].modifier) + binding = stringAppend (binding, modifiers[i].name); + } + + return binding; +} + +char * +keyBindingToString (CompDisplay *d, + CompKeyBinding *key) +{ + char *binding; + + binding = modifiersToString (d, key->modifiers); + + if (key->keycode != 0) + { + KeySym keysym; + char *keyname; + + keysym = XKeycodeToKeysym (d->display, key->keycode, 0); + keyname = XKeysymToString (keysym); + + if (keyname) + { + binding = stringAppend (binding, keyname); + } + else + { + char keyCodeStr[256]; + + snprintf (keyCodeStr, 256, "0x%x", key->keycode); + binding = stringAppend (binding, keyCodeStr); + } + } + + return binding; +} + +char * +buttonBindingToString (CompDisplay *d, + CompButtonBinding *button) +{ + char *binding; + char buttonStr[256]; + + binding = modifiersToString (d, button->modifiers); + + snprintf (buttonStr, 256, "Button%d", button->button); + binding = stringAppend (binding, buttonStr); + + return binding; +} + +static unsigned int +stringToModifiers (CompDisplay *d, + const char *binding) +{ + unsigned int mods = 0; + int i; + + for (i = 0; i < N_MODIFIERS; i++) + { + if (strstr (binding, modifiers[i].name)) + mods |= modifiers[i].modifier; + } + + return mods; +} + +Bool +stringToKeyBinding (CompDisplay *d, + const char *binding, + CompKeyBinding *key) +{ + char *ptr; + unsigned int mods; + KeySym keysym; + + mods = stringToModifiers (d, binding); + + ptr = strrchr (binding, '>'); + if (ptr) + binding = ptr + 1; + + while (*binding && !isalnum (*binding)) + binding++; + + if (!*binding) + { + if (mods) + { + key->keycode = 0; + key->modifiers = mods; + + return TRUE; + } + + return FALSE; + } + + keysym = XStringToKeysym (binding); + if (keysym != NoSymbol) + { + KeyCode keycode; + + keycode = XKeysymToKeycode (d->display, keysym); + if (keycode) + { + key->keycode = keycode; + key->modifiers = mods; + + return TRUE; + } + } + + if (strncmp (binding, "0x", 2) == 0) + { + key->keycode = strtol (binding, NULL, 0); + key->modifiers = mods; + + return TRUE; + } + + return FALSE; +} + +Bool +stringToButtonBinding (CompDisplay *d, + const char *binding, + CompButtonBinding *button) +{ + char *ptr; + unsigned int mods; + + mods = stringToModifiers (d, binding); + + ptr = strrchr (binding, '>'); + if (ptr) + binding = ptr + 1; + + while (*binding && !isalnum (*binding)) + binding++; + + if (strncmp (binding, "Button", strlen ("Button")) == 0) + { + int buttonNum; + + if (sscanf (binding + strlen ("Button"), "%d", &buttonNum) == 1) + { + button->button = buttonNum; + button->modifiers = mods; + + return TRUE; + } + } + + return FALSE; +} + +char * +edgeToString (unsigned int edge) +{ + return edgeName[edge]; +} + +Bool +stringToColor (const char *color, + unsigned short *rgba) +{ + int c[4]; + + if (sscanf (color, "#%2x%2x%2x%2x", &c[0], &c[1], &c[2], &c[3]) == 4) + { + rgba[0] = c[0] << 8 | c[0]; + rgba[1] = c[1] << 8 | c[1]; + rgba[2] = c[2] << 8 | c[2]; + rgba[3] = c[3] << 8 | c[3]; + + return TRUE; + } + + return FALSE; +} + +char * +colorToString (unsigned short *rgba) +{ + char tmp[256]; + + snprintf (tmp, 256, "#%.2x%.2x%.2x%.2x", + rgba[0] / 256, rgba[1] / 256, rgba[2] / 256, rgba[3] / 256); + + return strdup (tmp); +} + +char * +optionTypeToString (CompOptionType type) +{ + switch (type) { + case CompOptionTypeAction: + return "action"; + case CompOptionTypeMatch: + return "match"; + case CompOptionTypeBool: + return "bool"; + case CompOptionTypeInt: + return "int"; + case CompOptionTypeFloat: + return "float"; + case CompOptionTypeString: + return "string"; + case CompOptionTypeColor: + return "color"; + case CompOptionTypeList: + return "list"; + } + + return "unknown"; +} diff --git a/src/paint.c b/src/paint.c new file mode 100644 index 0000000..868b309 --- /dev/null +++ b/src/paint.c @@ -0,0 +1,1170 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include +#include +#include + +#include + +#define DEG2RAD (M_PI / 180.0f) + +ScreenPaintAttrib defaultScreenPaintAttrib = { + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -DEFAULT_Z_CAMERA +}; + +WindowPaintAttrib defaultWindowPaintAttrib = { + OPAQUE, BRIGHT, COLOR, 1.0f, 1.0f, 0.0f, 0.0f +}; + +void +preparePaintScreen (CompScreen *screen, + int msSinceLastPaint) {} + +void +donePaintScreen (CompScreen *screen) {} + +void +applyScreenTransform (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + CompOutput *output, + CompTransform *transform) +{ + matrixTranslate (transform, + sAttrib->xTranslate, + sAttrib->yTranslate, + sAttrib->zTranslate + sAttrib->zCamera); + matrixRotate (transform, + sAttrib->xRotate, 0.0f, 1.0f, 0.0f); + matrixRotate (transform, + sAttrib->vRotate, + cosf (sAttrib->xRotate * DEG2RAD), + 0.0f, + sinf (sAttrib->xRotate * DEG2RAD)); + matrixRotate (transform, + sAttrib->yRotate, 0.0f, 1.0f, 0.0f); +} + +void +transformToScreenSpace (CompScreen *screen, + CompOutput *output, + float z, + CompTransform *transform) +{ + matrixTranslate (transform, -0.5f, -0.5f, z); + matrixScale (transform, + 1.0f / output->width, + -1.0f / output->height, + 1.0f); + matrixTranslate (transform, + -output->region.extents.x1, + -output->region.extents.y2, + 0.0f); +} + +void +prepareXCoords (CompScreen *screen, + CompOutput *output, + float z) +{ + glTranslatef (-0.5f, -0.5f, z); + glScalef (1.0f / output->width, + -1.0f / output->height, + 1.0f); + glTranslatef (-output->region.extents.x1, + -output->region.extents.y2, + 0.0f); +} + +void +paintCursor (CompCursor *c, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + int x1, y1, x2, y2; + + if (!c->image) + return; + + x1 = c->x; + y1 = c->y; + x2 = c->x + c->image->width; + y2 = c->y + c->image->height; + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glEnable (GL_BLEND); + + enableTexture (c->screen, &c->image->texture, COMP_TEXTURE_FILTER_FAST); + + glBegin (GL_QUADS); + + glTexCoord2f (COMP_TEX_COORD_X (&c->matrix, x1), + COMP_TEX_COORD_Y (&c->matrix, y2)); + glVertex2i (x1, y2); + glTexCoord2f (COMP_TEX_COORD_X (&c->matrix, x2), + COMP_TEX_COORD_Y (&c->matrix, y2)); + glVertex2i (x2, y2); + glTexCoord2f (COMP_TEX_COORD_X (&c->matrix, x2), + COMP_TEX_COORD_Y (&c->matrix, y1)); + glVertex2i (x2, y1); + glTexCoord2f (COMP_TEX_COORD_X (&c->matrix, x1), + COMP_TEX_COORD_Y (&c->matrix, y1)); + glVertex2i (x1, y1); + + glEnd (); + + disableTexture (c->screen, &c->image->texture); + + glDisable (GL_BLEND); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); +} + +/* This function currently always performs occlusion detection to + minimize paint regions. OpenGL precision requirements are no good + enough to guarantee that the results from using occlusion detection + is the same as without. It's likely not possible to see any + difference with most hardware but occlusion detection in the + transformed screen case should be made optional for those who do + see a difference. */ +static void +paintOutputRegion (CompScreen *screen, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + static Region tmpRegion = NULL; + CompWindow *w; + CompCursor *c; + int count, windowMask, backgroundMask; + CompWindow *fullscreenWindow = NULL; + CompWalker walk; + + if (!tmpRegion) + { + tmpRegion = XCreateRegion (); + if (!tmpRegion) + return; + } + + if (mask & PAINT_SCREEN_TRANSFORMED_MASK) + { + backgroundMask = PAINT_BACKGROUND_ON_TRANSFORMED_SCREEN_MASK; + windowMask = PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK; + count = 1; + } + else + { + backgroundMask = 0; + windowMask = 0; + count = 0; + } + + XSubtractRegion (region, &emptyRegion, tmpRegion); + + (*screen->initWindowWalker) (screen, &walk); + + /* detect occlusions */ + for (w = (*walk.last) (screen); w; w = (*walk.prev) (w)) + { + if (w->destroyed) + continue; + + if (!w->shaded) + { + if (w->attrib.map_state != IsViewable || !w->damaged) + continue; + } + + /* copy region */ + XSubtractRegion (tmpRegion, &emptyRegion, w->clip); + + if ((*screen->paintWindow) (w, &w->paint, transform, tmpRegion, + PAINT_WINDOW_OCCLUSION_DETECTION_MASK)) + { + XSubtractRegion (tmpRegion, w->region, tmpRegion); + + /* unredirect top most fullscreen windows. */ + if (count == 0 && + !REGION_NOT_EMPTY (tmpRegion) && + screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b && + XEqualRegion (w->region, &screen->region)) + { + unredirectWindow (w); + fullscreenWindow = w; + } + } + + count++; + } + + /* we wont draw to the root anyway */ + //(*screen->paintBackground) (screen, tmpRegion, backgroundMask); + + /* paint all windows from bottom to top */ + for (w = (*walk.first) (screen); w; w = (*walk.next) (w)) + { + if (w->destroyed) + continue; + + if (w == fullscreenWindow) + continue; + + if (!w->shaded) + { + if (w->attrib.map_state != IsViewable || !w->damaged) + continue; + } + + (*screen->paintWindow) (w, &w->paint, transform, w->clip, windowMask); + } + + if (walk.fini) + (*walk.fini) (screen, &walk); + + /* paint cursors */ + for (c = screen->cursors; c; c = c->next) + (*screen->paintCursor) (c, transform, tmpRegion, 0); +} + + +#define CLIP_PLANE_MASK (PAINT_SCREEN_TRANSFORMED_MASK | \ + PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK) + +void +paintTransformedOutput (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + CompTransform sTransform = *transform; + + if (mask & PAINT_SCREEN_CLEAR_MASK) + clearTargetOutput (screen->display, GL_COLOR_BUFFER_BIT); + + screenLighting (screen, TRUE); + + (*screen->applyScreenTransform) (screen, sAttrib, output, &sTransform); + + if ((mask & CLIP_PLANE_MASK) == CLIP_PLANE_MASK) + { + GLdouble h = screen->height; + + GLdouble p1[2] = { region->extents.x1, h - region->extents.y2 }; + GLdouble p2[2] = { region->extents.x2, h - region->extents.y1 }; + + GLdouble halfW = output->width / 2.0; + GLdouble halfH = output->height / 2.0; + + GLdouble cx = output->region.extents.x1 + halfW; + GLdouble cy = (h - output->region.extents.y2) + halfH; + + GLdouble top[4] = { 0.0, halfH / (cy - p1[1]), 0.0, 0.5 }; + GLdouble bottom[4] = { 0.0, halfH / (cy - p2[1]), 0.0, 0.5 }; + GLdouble left[4] = { halfW / (cx - p1[0]), 0.0, 0.0, 0.5 }; + GLdouble right[4] = { halfW / (cx - p2[0]), 0.0, 0.0, 0.5 }; + + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + glClipPlane (GL_CLIP_PLANE0, top); + glClipPlane (GL_CLIP_PLANE1, bottom); + glClipPlane (GL_CLIP_PLANE2, left); + glClipPlane (GL_CLIP_PLANE3, right); + + glEnable (GL_CLIP_PLANE0); + glEnable (GL_CLIP_PLANE1); + glEnable (GL_CLIP_PLANE2); + glEnable (GL_CLIP_PLANE3); + + transformToScreenSpace (screen, output, -sAttrib->zTranslate, + &sTransform); + + glLoadMatrixf (sTransform.m); + + paintOutputRegion (screen, &sTransform, region, output, mask); + + glDisable (GL_CLIP_PLANE0); + glDisable (GL_CLIP_PLANE1); + glDisable (GL_CLIP_PLANE2); + glDisable (GL_CLIP_PLANE3); + + glPopMatrix (); + } + else + { + transformToScreenSpace (screen, output, -sAttrib->zTranslate, + &sTransform); + + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + paintOutputRegion (screen, &sTransform, region, output, mask); + + glPopMatrix (); + } +} + +Bool +paintOutput (CompScreen *screen, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + CompTransform sTransform = *transform; + + if (mask & PAINT_SCREEN_REGION_MASK) + { + if (mask & PAINT_SCREEN_TRANSFORMED_MASK) + { + if (mask & PAINT_SCREEN_FULL_MASK) + { + region = &output->region; + + (*screen->paintTransformedOutput) (screen, sAttrib, + &sTransform, region, + output, mask); + + return TRUE; + } + + return FALSE; + } + + /* fall through and redraw region */ + } + else if (mask & PAINT_SCREEN_FULL_MASK) + { + (*screen->paintTransformedOutput) (screen, sAttrib, &sTransform, + &output->region, + output, mask); + + return TRUE; + } + else + return FALSE; + + screenLighting (screen, FALSE); + + transformToScreenSpace (screen, output, -DEFAULT_Z_CAMERA, &sTransform); + + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + paintOutputRegion (screen, &sTransform, region, output, mask); + + glPopMatrix (); + + return TRUE; +} + +#define ADD_RECT(data, m, n, x1, y1, x2, y2) \ + for (it = 0; it < n; it++) \ + { \ + *(data)++ = COMP_TEX_COORD_X (&m[it], x1); \ + *(data)++ = COMP_TEX_COORD_Y (&m[it], y2); \ + } \ + *(data)++ = (x1); \ + *(data)++ = (y2); \ + for (it = 0; it < n; it++) \ + { \ + *(data)++ = COMP_TEX_COORD_X (&m[it], x2); \ + *(data)++ = COMP_TEX_COORD_Y (&m[it], y2); \ + } \ + *(data)++ = (x2); \ + *(data)++ = (y2); \ + for (it = 0; it < n; it++) \ + { \ + *(data)++ = COMP_TEX_COORD_X (&m[it], x2); \ + *(data)++ = COMP_TEX_COORD_Y (&m[it], y1); \ + } \ + *(data)++ = (x2); \ + *(data)++ = (y1); \ + for (it = 0; it < n; it++) \ + { \ + *(data)++ = COMP_TEX_COORD_X (&m[it], x1); \ + *(data)++ = COMP_TEX_COORD_Y (&m[it], y1); \ + } \ + *(data)++ = (x1); \ + *(data)++ = (y1) + +#define ADD_QUAD(data, m, n, x1, y1, x2, y2) \ + for (it = 0; it < n; it++) \ + { \ + *(data)++ = COMP_TEX_COORD_XY (&m[it], x1, y2); \ + *(data)++ = COMP_TEX_COORD_YX (&m[it], x1, y2); \ + } \ + *(data)++ = (x1); \ + *(data)++ = (y2); \ + for (it = 0; it < n; it++) \ + { \ + *(data)++ = COMP_TEX_COORD_XY (&m[it], x2, y2); \ + *(data)++ = COMP_TEX_COORD_YX (&m[it], x2, y2); \ + } \ + *(data)++ = (x2); \ + *(data)++ = (y2); \ + for (it = 0; it < n; it++) \ + { \ + *(data)++ = COMP_TEX_COORD_XY (&m[it], x2, y1); \ + *(data)++ = COMP_TEX_COORD_YX (&m[it], x2, y1); \ + } \ + *(data)++ = (x2); \ + *(data)++ = (y1); \ + for (it = 0; it < n; it++) \ + { \ + *(data)++ = COMP_TEX_COORD_XY (&m[it], x1, y1); \ + *(data)++ = COMP_TEX_COORD_YX (&m[it], x1, y1); \ + } \ + *(data)++ = (x1); \ + *(data)++ = (y1) + + +Bool +moreWindowVertices (CompWindow *w, + int newSize) +{ + if (newSize > w->vertexSize) + { + GLfloat *vertices; + + vertices = realloc (w->vertices, sizeof (GLfloat) * newSize); + if (!vertices) + return FALSE; + + w->vertices = vertices; + w->vertexSize = newSize; + } + + return TRUE; +} + +Bool +moreWindowIndices (CompWindow *w, + int newSize) +{ + if (newSize > w->indexSize) + { + GLushort *indices; + + indices = realloc (w->indices, sizeof (GLushort) * newSize); + if (!indices) + return FALSE; + + w->indices = indices; + w->indexSize = newSize; + } + + return TRUE; +} + +static void +drawWindowGeometry (CompWindow *w) +{ + int texUnit = w->texUnits; + int currentTexUnit = 0; + int stride = (1 + texUnit) * 2; + GLfloat *vertices = w->vertices + (stride - 2); + + stride *= sizeof (GLfloat); + + glVertexPointer (2, GL_FLOAT, stride, vertices); + + while (texUnit--) + { + if (texUnit != currentTexUnit) + { + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB + texUnit); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + currentTexUnit = texUnit; + } + vertices -= 2; + glTexCoordPointer (2, GL_FLOAT, stride, vertices); + } + + glDrawArrays (GL_QUADS, 0, w->vCount); + + /* disable all texture coordinate arrays except 0 */ + texUnit = w->texUnits; + if (texUnit > 1) + { + while (--texUnit) + { + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB + texUnit); + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + } + + (*w->screen->clientActiveTexture) (GL_TEXTURE0_ARB); + } +} + +void +addWindowGeometry (CompWindow *w, + CompMatrix *matrix, + int nMatrix, + Region region, + Region clip) +{ + BoxRec full; + + w->texUnits = nMatrix; + + full = clip->extents; + if (region->extents.x1 > full.x1) + full.x1 = region->extents.x1; + if (region->extents.y1 > full.y1) + full.y1 = region->extents.y1; + if (region->extents.x2 < full.x2) + full.x2 = region->extents.x2; + if (region->extents.y2 < full.y2) + full.y2 = region->extents.y2; + + if (full.x1 < full.x2 && full.y1 < full.y2) + { + BoxPtr pBox; + int nBox; + BoxPtr pClip; + int nClip; + BoxRec cbox; + int vSize; + int n, it, x1, y1, x2, y2; + GLfloat *d; + Bool rect = TRUE; + + for (it = 0; it < nMatrix; it++) + { + if (matrix[it].xy != 0.0f || matrix[it].yx != 0.0f) + { + rect = FALSE; + break; + } + } + + pBox = region->rects; + nBox = region->numRects; + + vSize = 2 + nMatrix * 2; + + n = w->vCount / 4; + + if ((n + nBox) * vSize * 4 > w->vertexSize) + { + if (!moreWindowVertices (w, (n + nBox) * vSize * 4)) + return; + } + + d = w->vertices + (w->vCount * vSize); + + while (nBox--) + { + x1 = pBox->x1; + y1 = pBox->y1; + x2 = pBox->x2; + y2 = pBox->y2; + + pBox++; + + if (x1 < full.x1) + x1 = full.x1; + if (y1 < full.y1) + y1 = full.y1; + if (x2 > full.x2) + x2 = full.x2; + if (y2 > full.y2) + y2 = full.y2; + + if (x1 < x2 && y1 < y2) + { + nClip = clip->numRects; + + if (nClip == 1) + { + if (rect) + { + ADD_RECT (d, matrix, nMatrix, x1, y1, x2, y2); + } + else + { + ADD_QUAD (d, matrix, nMatrix, x1, y1, x2, y2); + } + + n++; + } + else + { + pClip = clip->rects; + + if (((n + nClip) * vSize * 4) > w->vertexSize) + { + if (!moreWindowVertices (w, (n + nClip) * vSize * 4)) + return; + + d = w->vertices + (n * vSize * 4); + } + + while (nClip--) + { + cbox = *pClip; + + pClip++; + + if (cbox.x1 < x1) + cbox.x1 = x1; + if (cbox.y1 < y1) + cbox.y1 = y1; + if (cbox.x2 > x2) + cbox.x2 = x2; + if (cbox.y2 > y2) + cbox.y2 = y2; + + if (cbox.x1 < cbox.x2 && cbox.y1 < cbox.y2) + { + if (rect) + { + ADD_RECT (d, matrix, nMatrix, + cbox.x1, cbox.y1, cbox.x2, cbox.y2); + } + else + { + ADD_QUAD (d, matrix, nMatrix, + cbox.x1, cbox.y1, cbox.x2, cbox.y2); + } + + n++; + } + } + } + } + } + + w->vCount = n * 4; + w->drawWindowGeometry = drawWindowGeometry; + } +} + +static Bool +enableFragmentProgramAndDrawGeometry (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *attrib, + int filter, + unsigned int mask) +{ + FragmentAttrib fa = *attrib; + CompScreen *s = w->screen; + Bool blending; + + if (s->canDoSaturated && attrib->saturation != COLOR) + { + int param, function; + + param = allocFragmentParameters (&fa, 1); + function = getSaturateFragmentFunction (s, texture, param); + + addFragmentFunction (&fa, function); + + (*s->programEnvParameter4f) (GL_FRAGMENT_PROGRAM_ARB, param, + RED_SATURATION_WEIGHT, + GREEN_SATURATION_WEIGHT, + BLUE_SATURATION_WEIGHT, + attrib->saturation / 65535.0f); + } + + if (!enableFragmentAttrib (s, &fa, &blending)) + return FALSE; + + enableTexture (s, texture, filter); + + if (mask & PAINT_WINDOW_BLEND_MASK) + { + if (blending) + glEnable (GL_BLEND); + + if (attrib->opacity != OPAQUE || attrib->brightness != BRIGHT) + { + GLushort color; + + color = (attrib->opacity * attrib->brightness) >> 16; + + screenTexEnvMode (s, GL_MODULATE); + glColor4us (color, color, color, attrib->opacity); + + (*w->drawWindowGeometry) (w); + + glColor4usv (defaultColor); + screenTexEnvMode (s, GL_REPLACE); + } + else + { + (*w->drawWindowGeometry) (w); + } + + if (blending) + glDisable (GL_BLEND); + } + else if (attrib->brightness != BRIGHT) + { + screenTexEnvMode (s, GL_MODULATE); + glColor4us (attrib->brightness, attrib->brightness, + attrib->brightness, BRIGHT); + + (*w->drawWindowGeometry) (w); + + glColor4usv (defaultColor); + screenTexEnvMode (s, GL_REPLACE); + } + else + { + (*w->drawWindowGeometry) (w); + } + + disableTexture (w->screen, texture); + + disableFragmentAttrib (s, &fa); + + return TRUE; +} + +static void +enableFragmentOperationsAndDrawGeometry (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *attrib, + int filter, + unsigned int mask) +{ + CompScreen *s = w->screen; + + if (s->canDoSaturated && attrib->saturation != COLOR) + { + GLfloat constant[4]; + + if (mask & PAINT_WINDOW_BLEND_MASK) + glEnable (GL_BLEND); + + enableTexture (s, texture, filter); + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE); + + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_PRIMARY_COLOR); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE2_RGB, GL_PRIMARY_COLOR); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_SRC_ALPHA); + + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, GL_TEXTURE); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA); + + glColor4f (1.0f, 1.0f, 1.0f, 0.5f); + + s->activeTexture (GL_TEXTURE1_ARB); + + enableTexture (s, texture, filter); + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE); + + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_DOT3_RGB); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_PREVIOUS); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_CONSTANT); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR); + + if (s->canDoSlightlySaturated && attrib->saturation > 0) + { + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, GL_PREVIOUS); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA); + + constant[0] = 0.5f + 0.5f * RED_SATURATION_WEIGHT; + constant[1] = 0.5f + 0.5f * GREEN_SATURATION_WEIGHT; + constant[2] = 0.5f + 0.5f * BLUE_SATURATION_WEIGHT; + constant[3] = 1.0; + + glTexEnvfv (GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, constant); + + s->activeTexture (GL_TEXTURE2_ARB); + + enableTexture (s, texture, filter); + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE); + + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE0); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_PREVIOUS); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE2_RGB, GL_CONSTANT); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_SRC_ALPHA); + + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, GL_PREVIOUS); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA); + + constant[3] = attrib->saturation / 65535.0f; + + glTexEnvfv (GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, constant); + + if (attrib->opacity < OPAQUE || attrib->brightness != BRIGHT) + { + s->activeTexture (GL_TEXTURE3_ARB); + + enableTexture (s, texture, filter); + + constant[3] = attrib->opacity / 65535.0f; + constant[0] = constant[1] = constant[2] = constant[3] * + attrib->brightness / 65535.0f; + + glTexEnvfv (GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, constant); + + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE); + + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_PREVIOUS); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_CONSTANT); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR); + + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_MODULATE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, GL_PREVIOUS); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE1_ALPHA, GL_CONSTANT); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND1_ALPHA, GL_SRC_ALPHA); + + (*w->drawWindowGeometry) (w); + + disableTexture (s, texture); + + glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + + s->activeTexture (GL_TEXTURE2_ARB); + } + else + { + (*w->drawWindowGeometry) (w); + } + + disableTexture (s, texture); + + glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + + s->activeTexture (GL_TEXTURE1_ARB); + } + else + { + glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_MODULATE); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, GL_PREVIOUS); + glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE1_ALPHA, GL_CONSTANT); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA); + glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND1_ALPHA, GL_SRC_ALPHA); + + constant[3] = attrib->opacity / 65535.0f; + constant[0] = constant[1] = constant[2] = constant[3] * + attrib->brightness / 65535.0f; + + constant[0] = 0.5f + 0.5f * RED_SATURATION_WEIGHT * constant[0]; + constant[1] = 0.5f + 0.5f * GREEN_SATURATION_WEIGHT * constant[1]; + constant[2] = 0.5f + 0.5f * BLUE_SATURATION_WEIGHT * constant[2]; + + glTexEnvfv (GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, constant); + + (*w->drawWindowGeometry) (w); + } + + disableTexture (s, texture); + + glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + + s->activeTexture (GL_TEXTURE0_ARB); + + disableTexture (s, texture); + + glColor4usv (defaultColor); + screenTexEnvMode (s, GL_REPLACE); + + if (mask & PAINT_WINDOW_BLEND_MASK) + glDisable (GL_BLEND); + } + else + { + enableTexture (s, texture, filter); + + if (mask & PAINT_WINDOW_BLEND_MASK) + { + glEnable (GL_BLEND); + if (attrib->opacity != OPAQUE || attrib->brightness != BRIGHT) + { + GLushort color; + + color = (attrib->opacity * attrib->brightness) >> 16; + + screenTexEnvMode (s, GL_MODULATE); + glColor4us (color, color, color, attrib->opacity); + + (*w->drawWindowGeometry) (w); + + glColor4usv (defaultColor); + screenTexEnvMode (s, GL_REPLACE); + } + else + { + (*w->drawWindowGeometry) (w); + } + + glDisable (GL_BLEND); + } + else if (attrib->brightness != BRIGHT) + { + screenTexEnvMode (s, GL_MODULATE); + glColor4us (attrib->brightness, attrib->brightness, + attrib->brightness, BRIGHT); + + (*w->drawWindowGeometry) (w); + + glColor4usv (defaultColor); + screenTexEnvMode (s, GL_REPLACE); + } + else + { + (*w->drawWindowGeometry) (w); + } + + disableTexture (w->screen, texture); + } +} + +void +drawWindowTexture (CompWindow *w, + CompTexture *texture, + const FragmentAttrib *attrib, + unsigned int mask) +{ + int filter; + + if (mask & (PAINT_WINDOW_TRANSFORMED_MASK | + PAINT_WINDOW_ON_TRANSFORMED_SCREEN_MASK)) + filter = w->screen->filter[SCREEN_TRANS_FILTER]; + else + filter = w->screen->filter[NOTHING_TRANS_FILTER]; + + if (!attrib->nFunction || !enableFragmentProgramAndDrawGeometry (w, + texture, + attrib, + filter, + mask)) + { + enableFragmentOperationsAndDrawGeometry (w, + texture, + attrib, + filter, + mask); + } +} + +Bool +drawWindow (CompWindow *w, + const CompTransform *transform, + const FragmentAttrib *fragment, + Region region, + unsigned int mask) +{ + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + region = &infiniteRegion; + + if (!region->numRects) + return TRUE; + + if (w->attrib.map_state != IsViewable) + return TRUE; + + if (!w->texture->pixmap && !bindWindow (w)) + return FALSE; + + if (mask & PAINT_WINDOW_TRANSLUCENT_MASK) + mask |= PAINT_WINDOW_BLEND_MASK; + + w->vCount = w->indexCount = 0; + (*w->screen->addWindowGeometry) (w, &w->matrix, 1, w->region, region); + if (w->vCount) + (*w->screen->drawWindowTexture) (w, w->texture, fragment, mask); + + return TRUE; +} + +Bool +paintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + FragmentAttrib fragment; + Bool status; + + w->lastPaint = *attrib; + + if (w->alpha || attrib->opacity != OPAQUE) + mask |= PAINT_WINDOW_TRANSLUCENT_MASK; + + w->lastMask = mask; + + if (mask & PAINT_WINDOW_OCCLUSION_DETECTION_MASK) + { + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + return FALSE; + + if (mask & PAINT_WINDOW_NO_CORE_INSTANCE_MASK) + return FALSE; + + if (mask & PAINT_WINDOW_TRANSLUCENT_MASK) + return FALSE; + + if (w->shaded) + return FALSE; + + return TRUE; + } + + if (mask & PAINT_WINDOW_NO_CORE_INSTANCE_MASK) + return TRUE; + + initFragmentAttrib (&fragment, attrib); + + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + { + glPushMatrix (); + glLoadMatrixf (transform->m); + } + + status = (*w->screen->drawWindow) (w, transform, &fragment, region, mask); + + if (mask & PAINT_WINDOW_TRANSFORMED_MASK) + glPopMatrix (); + + return status; +} + +void +paintBackground (CompScreen *s, + Region region, + unsigned int mask) +{ + CompTexture *bg = &s->backgroundTexture; + BoxPtr pBox = region->rects; + int n, nBox = region->numRects; + GLfloat *d, *data; + + if (!nBox) + return; + + if (s->desktopWindowCount) + { + if (bg->name) + { + finiTexture (s, bg); + initTexture (s, bg); + } + + s->backgroundLoaded = FALSE; + + return; + } + else + { + if (!s->backgroundLoaded) + updateScreenBackground (s, bg); + + s->backgroundLoaded = TRUE; + } + + data = malloc (sizeof (GLfloat) * nBox * 16); + if (!data) + return; + + d = data; + n = nBox; + while (n--) + { + *d++ = COMP_TEX_COORD_X (&bg->matrix, pBox->x1); + *d++ = COMP_TEX_COORD_Y (&bg->matrix, pBox->y2); + + *d++ = pBox->x1; + *d++ = pBox->y2; + + *d++ = COMP_TEX_COORD_X (&bg->matrix, pBox->x2); + *d++ = COMP_TEX_COORD_Y (&bg->matrix, pBox->y2); + + *d++ = pBox->x2; + *d++ = pBox->y2; + + *d++ = COMP_TEX_COORD_X (&bg->matrix, pBox->x2); + *d++ = COMP_TEX_COORD_Y (&bg->matrix, pBox->y1); + + *d++ = pBox->x2; + *d++ = pBox->y1; + + *d++ = COMP_TEX_COORD_X (&bg->matrix, pBox->x1); + *d++ = COMP_TEX_COORD_Y (&bg->matrix, pBox->y1); + + *d++ = pBox->x1; + *d++ = pBox->y1; + + pBox++; + } + + glTexCoordPointer (2, GL_FLOAT, sizeof (GLfloat) * 4, data); + glVertexPointer (2, GL_FLOAT, sizeof (GLfloat) * 4, data + 2); + + if (s->desktopWindowCount) + { + glDrawArrays (GL_QUADS, 0, nBox * 4); + } + else + { + if (bg->name) + { + if (mask & PAINT_BACKGROUND_ON_TRANSFORMED_SCREEN_MASK) + enableTexture (s, bg, COMP_TEXTURE_FILTER_GOOD); + else + enableTexture (s, bg, COMP_TEXTURE_FILTER_FAST); + + glDrawArrays (GL_QUADS, 0, nBox * 4); + + disableTexture (s, bg); + } + else + { + glColor4us (0, 0, 0, 0); + glDrawArrays (GL_QUADS, 0, nBox * 4); + glColor4usv (defaultColor); + } + } + + free (data); +} diff --git a/src/plugin.c b/src/plugin.c new file mode 100644 index 0000000..0522f35 --- /dev/null +++ b/src/plugin.c @@ -0,0 +1,614 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +//#define D(x) do { printf(__FILE__ ":%d:\t", __LINE__); printf x; fflush(stdout); } while(0) +#define D(x) + + +#include +#include +#include +#include +#include + +#include + +CompPlugin *plugins = 0; + +static Bool +dlloaderLoadPlugin (CompPlugin *p, + char *path, + char *name) +{ + char *file; + void *dlhand; + + file = malloc ((path ? strlen (path) : 0) + strlen (name) + 8); + if (!file) + return FALSE; + + if (path) + sprintf (file, "%s/lib%s.so", path, name); + else + sprintf (file, "lib%s.so", name); + + dlhand = dlopen (file, RTLD_LAZY); + if (dlhand) + { + PluginGetInfoProc getInfo; + char *error; + + dlerror (); + + getInfo = (PluginGetInfoProc) dlsym (dlhand, "getCompPluginInfo"); + + error = dlerror (); + if (error) + { + compLogMessage (NULL, "core", CompLogLevelError, + "dlsym: %s", error); + + getInfo = 0; + } + + if (getInfo) + { + p->vTable = (*getInfo) (); + if (!p->vTable) + { + compLogMessage (NULL, "core", CompLogLevelError, + "Couldn't get vtable from '%s' plugin", + file); + + dlclose (dlhand); + free (file); + + return FALSE; + } + } + else + { + compLogMessage (NULL, "core", CompLogLevelError, + "Failed to lookup getCompPluginInfo in '%s' " + "plugin\n", file); + + dlclose (dlhand); + free (file); + + return FALSE; + } + } + else + { + free (file); + D(("some other stuff went wrondg :(\n")); + + return FALSE; + } + + free (file); + + p->devPrivate.ptr = dlhand; + p->devType = "dlloader"; + + return TRUE; +} + +static void +dlloaderUnloadPlugin (CompPlugin *p) +{ + dlclose (p->devPrivate.ptr); +} + +static int +dlloaderFilter (const struct dirent *name) +{ + int length = strlen (name->d_name); + + if (length < 7) + return 0; + + if (strncmp (name->d_name, "lib", 3) || + strncmp (name->d_name + length - 3, ".so", 3)) + return 0; + + return 1; +} + +static char ** +dlloaderListPlugins (char *path, + int *n) +{ + struct dirent **nameList; + char **list; + char *name; + int length, nFile, i, j = 0; + + if (!path) + path = "."; + + nFile = scandir (path, &nameList, dlloaderFilter, alphasort); + if (!nFile) + return 0; + + list = malloc (nFile * sizeof (char *)); + if (!list) + return 0; + + for (i = 0; i < nFile; i++) + { + length = strlen (nameList[i]->d_name); + + name = malloc ((length - 5) * sizeof (char)); + if (name) + { + strncpy (name, nameList[i]->d_name + 3, length - 6); + name[length - 6] = '\0'; + + list[j++] = name; + } + } + + if (j) + { + *n = j; + + return list; + } + + free (list); + + return NULL; +} + +LoadPluginProc loaderLoadPlugin = dlloaderLoadPlugin; +UnloadPluginProc loaderUnloadPlugin = dlloaderUnloadPlugin; +ListPluginsProc loaderListPlugins = dlloaderListPlugins; + +Bool +initPluginForDisplay (CompPlugin *p, + CompDisplay *d) +{ + CompScreen *s, *failedScreen = d->screens; + Bool status = TRUE; + + for (s = d->screens; s; s = s->next) + { + if (p->vTable->initScreen) + { + if (!(*p->vTable->initScreen) (p, s)) + { + failedScreen = s; + status = FALSE; + break; + } + } + + if (!(*s->initPluginForScreen) (p, s)) + { + compLogMessage (NULL, "core", CompLogLevelError, + "Plugin '%s':initScreen failed", + p->vTable->name); + + if (p->vTable->finiScreen) + (*p->vTable->finiScreen) (p, s); + + failedScreen = s; + status = FALSE; + break; + } + } + + for (s = d->screens; s != failedScreen; s = s->next) + { + (*s->finiPluginForScreen) (p, s); + + if (p->vTable->finiScreen) + (*p->vTable->finiScreen) (p, s); + } + + return status; +} + +void +finiPluginForDisplay (CompPlugin *p, + CompDisplay *d) +{ + CompScreen *s; + + for (s = d->screens; s; s = s->next) + { + (*s->finiPluginForScreen) (p, s); + + if (p->vTable->finiScreen) + (*p->vTable->finiScreen) (p, s); + } +} + +Bool +initPluginForScreen (CompPlugin *p, + CompScreen *s) +{ + Bool status = TRUE; + + if (p->vTable->initWindow) + { + CompWindow *w, *failedWindow = s->windows; + + for (w = s->windows; w; w = w->next) + { + if (!(*p->vTable->initWindow) (p, w)) + { + compLogMessage (NULL, "core", CompLogLevelError, + "Plugin '%s':initWindow " + "failed", p->vTable->name); + failedWindow = w; + status = FALSE; + break; + } + } + + if (p->vTable->finiWindow) + { + for (w = s->windows; w != failedWindow; w = w->next) + (*p->vTable->finiWindow) (p, w); + } + } + + return status; +} + +void +finiPluginForScreen (CompPlugin *p, + CompScreen *s) +{ + if (p->vTable->finiWindow) + { + CompWindow *w = s->windows; + + for (w = s->windows; w; w = w->next) + (*p->vTable->finiWindow) (p, w); + } +} + +static Bool +initPlugin (CompPlugin *p) +{ + CompDisplay *d = compDisplays; + int version; + + version = (*p->vTable->getVersion) (p, ABIVERSION); + if (version != ABIVERSION) + { + compLogMessage (NULL, "core", CompLogLevelError, + "Can't load plugin '%s' because it is built for " + "ABI version %d and actual version is %d", + p->vTable->name, version, ABIVERSION); + return FALSE; + } + + if (!(*p->vTable->init) (p)) + { + compLogMessage (NULL, "core", CompLogLevelError, + "InitPlugin '%s' failed", p->vTable->name); + return FALSE; + } + + if (d) + { + if (p->vTable->initDisplay) + { + if (!(*p->vTable->initDisplay) (p, d)) + { + (*p->vTable->fini) (p); + + return FALSE; + } + } + + if (!(*d->initPluginForDisplay) (p, d)) + { + compLogMessage (NULL, "core", CompLogLevelError, + "Plugin '%s':initDisplay failed", + p->vTable->name); + + (*p->vTable->fini) (p); + + return FALSE; + } + } + + return TRUE; +} + +static void +finiPlugin (CompPlugin *p) +{ + CompDisplay *d = compDisplays; + + if (d) + { + (*d->finiPluginForDisplay) (p, d); + + if (p->vTable->finiDisplay) + (*p->vTable->finiDisplay) (p, d); + } + + (*p->vTable->fini) (p); +} + +void +screenInitPlugins (CompScreen *s) +{ + CompPlugin *p; + int i, j = 0; + + for (p = plugins; p; p = p->next) + j++; + + while (j--) + { + i = 0; + for (p = plugins; i < j; p = p->next) + i++; + + if (p->vTable->initScreen) + (*s->initPluginForScreen) (p, s); + } +} + +void +screenFiniPlugins (CompScreen *s) +{ + CompPlugin *p; + + for (p = plugins; p; p = p->next) + { + if (p->vTable->finiScreen) + (*s->finiPluginForScreen) (p, s); + } +} + +void +windowInitPlugins (CompWindow *w) +{ + CompPlugin *p; + + for (p = plugins; p; p = p->next) + { + if (p->vTable->initWindow) + (*p->vTable->initWindow) (p, w); + } +} + +void +windowFiniPlugins (CompWindow *w) +{ + CompPlugin *p; + + for (p = plugins; p; p = p->next) + { + if (p->vTable->finiWindow) + (*p->vTable->finiWindow) (p, w); + } +} + +CompPlugin * +findActivePlugin (char *name) +{ + CompPlugin *p; + + for (p = plugins; p; p = p->next) + { + if (strcmp (p->vTable->name, name) == 0) + return p; + } + + return 0; +} + +void +unloadPlugin (CompPlugin *p) +{ + (*loaderUnloadPlugin) (p); + free (p); +} + +CompPlugin * +loadPlugin (char *name) +{ + CompPlugin *p; + char *home, *plugindir; + Bool status; + + p = malloc (sizeof (CompPlugin)); + if (!p) + return 0; + + p->next = 0; + p->devPrivate.uval = 0; + p->devType = NULL; + p->vTable = 0; + + home = getenv ("HOME"); + if (home) + { + plugindir = malloc (strlen (home) + strlen (HOME_PLUGINDIR) + 3); + if (plugindir) + { + sprintf (plugindir, "%s/%s", home, HOME_PLUGINDIR); + status = (*loaderLoadPlugin) (p, plugindir, name); + free (plugindir); + + if (status) + return p; + } + } + + status = (*loaderLoadPlugin) (p, PLUGINDIR, name); + if (status) + return p; + + status = (*loaderLoadPlugin) (p, NULL, name); + if (status) + return p; + + compLogMessage (NULL, "core", CompLogLevelError, "Couldn't load plugin '%s'", name); + + return 0; +} + +Bool +pushPlugin (CompPlugin *p) +{ + if (findActivePlugin (p->vTable->name)) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "Plugin '%s' already active", + p->vTable->name); + + return FALSE; + } + + p->next = plugins; + plugins = p; + + if (!initPlugin (p)) + { + compLogMessage (NULL, "core", CompLogLevelError, + "Couldn't activate plugin '%s'", p->vTable->name); + plugins = p->next; + + return FALSE; + } + + return TRUE; +} + +CompPlugin * +popPlugin (void) +{ + CompPlugin *p = plugins; + + if (!p) + return 0; + + finiPlugin (p); + + plugins = p->next; + + return p; +} + +CompPlugin * +getPlugins (void) +{ + return plugins; +} + +static Bool +stringExist (char **list, + int nList, + char *s) +{ + int i; + + for (i = 0; i < nList; i++) + if (strcmp (list[i], s) == 0) + return TRUE; + + return FALSE; +} + +char ** +availablePlugins (int *n) +{ + char *home, *plugindir; + char **list, **currentList, **pluginList, **homeList = NULL; + int nCurrentList, nPluginList, nHomeList; + int count, i, j; + + home = getenv ("HOME"); + if (home) + { + plugindir = malloc (strlen (home) + strlen (HOME_PLUGINDIR) + 3); + if (plugindir) + { + sprintf (plugindir, "%s/%s", home, HOME_PLUGINDIR); + homeList = (*loaderListPlugins) (plugindir, &nHomeList); + free (plugindir); + } + } + + pluginList = (*loaderListPlugins) (PLUGINDIR, &nPluginList); + currentList = (*loaderListPlugins) (".", &nCurrentList); + + count = 0; + if (homeList) + count += nHomeList; + if (pluginList) + count += nPluginList; + if (currentList) + count += nCurrentList; + + if (!count) + return NULL; + + list = malloc (count * sizeof (char *)); + if (!list) + return NULL; + + j = 0; + if (homeList) + { + for (i = 0; i < nHomeList; i++) + if (!stringExist (list, j, homeList[i])) + list[j++] = homeList[i]; + + free (homeList); + } + + if (pluginList) + { + for (i = 0; i < nPluginList; i++) + if (!stringExist (list, j, pluginList[i])) + list[j++] = pluginList[i]; + + free (pluginList); + } + + if (currentList) + { + for (i = 0; i < nCurrentList; i++) + if (!stringExist (list, j, currentList[i])) + list[j++] = currentList[i]; + + free (currentList); + } + + *n = j; + + return list; +} diff --git a/src/privates.c b/src/privates.c new file mode 100644 index 0000000..b7df7a0 --- /dev/null +++ b/src/privates.c @@ -0,0 +1,68 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#include + +#include + +int +allocatePrivateIndex (int *len, + char **indices, + ReallocPrivatesProc reallocProc, + void *closure) +{ + char *newIndices; + int i; + + for (i = 0; i < *len; i++) + { + if (!(*indices)[i]) + { + (*indices)[i] = 1; + return i; + } + } + + newIndices = (char *) realloc (*indices, (*len + 1) * sizeof (char)); + if (!newIndices) + return -1; + + newIndices[*len] = 1; + *indices = newIndices; + + if (!(*reallocProc) (*len + 1, closure)) + return -1; + + return (*len)++; +} + +void +freePrivateIndex (int len, + char *indices, + int index) +{ + if (index < len) + indices[index] = 0; +} diff --git a/src/screen.c b/src/screen.c new file mode 100644 index 0000000..9b9447b --- /dev/null +++ b/src/screen.c @@ -0,0 +1,3733 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +//#define D(x) do { printf(__FILE__ ":%d:\t", __LINE__); printf x; fflush(stdout); } while(0) +//#define C(x) do { printf(__FILE__ ":%d:\t", __LINE__); printf x; fflush(stdout); } while(0) +#define D(x) +#define C(x) + + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#define NUM_OPTIONS(s) (sizeof ((s)->opt) / sizeof (CompOption)) + +static int +reallocScreenPrivate (int size, + void *closure) +{ + CompDisplay *d = (CompDisplay *) closure; + CompScreen *s; + void *privates; + + for (s = d->screens; s; s = s->next) + { + privates = realloc (s->privates, size * sizeof (CompPrivate)); + if (!privates) + return FALSE; + + s->privates = (CompPrivate *) privates; + } + + return TRUE; +} + +int +allocateScreenPrivateIndex (CompDisplay *display) +{ + return allocatePrivateIndex (&display->screenPrivateLen, + &display->screenPrivateIndices, + reallocScreenPrivate, + (void *) display); +} + +void +freeScreenPrivateIndex (CompDisplay *display, + int index) +{ + freePrivateIndex (display->screenPrivateLen, + display->screenPrivateIndices, + index); +} + +static Bool +desktopHintEqual (CompScreen *s, + unsigned long *data, + int size, + int offset, + int hintSize) +{ + if (size != s->desktopHintSize) + return FALSE; + + if (memcmp (data + offset, + s->desktopHintData + offset, + hintSize * sizeof (unsigned long)) == 0) + return TRUE; + + return FALSE; +} + +static void +setDesktopHints (CompScreen *s) +{ + CompDisplay *d = s->display; + unsigned long *data; + int size, offset, hintSize, i; + + size = s->nDesktop * 2 + s->nDesktop * 2 + s->nDesktop * 4 + 1; + + data = malloc (sizeof (unsigned long) * size); + if (!data) + return; + + offset = 0; + hintSize = s->nDesktop * 2; + + for (i = 0; i < s->nDesktop; i++) + { + data[offset + i * 2 + 0] = s->x * s->width; + data[offset + i * 2 + 1] = s->y * s->height; + } + + if (!desktopHintEqual (s, data, size, offset, hintSize)) + XChangeProperty (d->display, s->root, d->desktopViewportAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &data[offset], hintSize); + /* + offset += hintSize; + + for (i = 0; i < s->nDesktop; i++) + { + data[offset + i * 2 + 0] = s->width * s->hsize; + data[offset + i * 2 + 1] = s->height * s->vsize; + } + + if (!desktopHintEqual (s, data, size, offset, hintSize)) + XChangeProperty (d->display, s->root, d->desktopGeometryAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &data[offset], hintSize); + + offset += hintSize; + hintSize = s->nDesktop * 4; + + for (i = 0; i < s->nDesktop; i++) + { + data[offset + i * 4 + 0] = s->workArea.x; + data[offset + i * 4 + 1] = s->workArea.y; + data[offset + i * 4 + 2] = s->workArea.width; + data[offset + i * 4 + 3] = s->workArea.height; + } + + if (!desktopHintEqual (s, data, size, offset, hintSize)) + XChangeProperty (d->display, s->root, d->workareaAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &data[offset], hintSize); + + offset += hintSize; + + data[offset] = s->nDesktop; + hintSize = 1; + + if (!desktopHintEqual (s, data, size, offset, hintSize)) + XChangeProperty (d->display, s->root, d->numberOfDesktopsAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &data[offset], hintSize); + */ + + if (s->desktopHintData) + free (s->desktopHintData); + + s->desktopHintData = data; + s->desktopHintSize = size; +} + +static void +updateOutputDevices (CompScreen *s) +{ + CompOutput *o, *output = NULL; + CompListValue *list = &s->opt[COMP_SCREEN_OPTION_OUTPUTS].value.list; + int nOutput = 0; + int x, y, i, bits; + unsigned int width, height; + int x1, y1, x2, y2; + Region region; + + for (i = 0; i < list->nValue; i++) + { + if (!list->value[i].s) + continue; + + x = 0; + y = 0; + width = s->width; + height = s->height; + + bits = XParseGeometry (list->value[i].s, &x, &y, &width, &height); + + if (bits & XNegative) + x = s->width + x - width; + + if (bits & YNegative) + y = s->height + y - height; + + x1 = x; + y1 = y; + x2 = x + width; + y2 = y + height; + + if (x1 < 0) + x1 = 0; + if (y1 < 0) + y1 = 0; + if (x2 > s->width) + x2 = s->width; + if (y2 > s->height) + y2 = s->height; + + if (x1 < x2 && y1 < y2) + { + o = realloc (output, sizeof (CompOutput) * (nOutput + 1)); + if (o) + { + o[nOutput].region.extents.x1 = x1; + o[nOutput].region.extents.y1 = y1; + o[nOutput].region.extents.x2 = x2; + o[nOutput].region.extents.y2 = y2; + + output = o; + nOutput++; + } + } + } + + /* make sure we have at least one output */ + if (!nOutput) + { + output = malloc (sizeof (CompOutput)); + if (!output) + return; + + output->region.extents.x1 = 0; + output->region.extents.y1 = 0; + output->region.extents.x2 = s->width; + output->region.extents.y2 = s->height; + + nOutput = 1; + } + + /* set name, width, height and update rect pointers in all regions */ + for (i = 0; i < nOutput; i++) + { + output[i].name = malloc (sizeof (char) * 10); + if (output[i].name) + snprintf (output[i].name, 10, "Output %d", nOutput); + + output[i].region.rects = &output[i].region.extents; + output[i].region.numRects = 1; + + output[i].width = output[i].region.extents.x2 - + output[i].region.extents.x1; + output[i].height = output[i].region.extents.y2 - + output[i].region.extents.y1; + + output[i].workArea.x = output[i].region.extents.x1; + output[i].workArea.y = output[i].region.extents.x1; + output[i].workArea.width = output[i].width; + output[i].workArea.height = output[i].height; + + output[i].id = i; + } + + if (s->outputDev) + { + for (i = 0; i < s->nOutputDev; i++) + if (s->outputDev[i].name) + free (s->outputDev[i].name); + + free (s->outputDev); + } + + s->outputDev = output; + s->nOutputDev = nOutput; + + setCurrentOutput (s, s->currentOutputDev); + + updateWorkareaForScreen (s); + + setDefaultViewport (s); + damageScreen (s); + + region = XCreateRegion (); + if (region) + { + REGION r; + + r.rects = &r.extents; + r.numRects = 1; + + if (s->display->nScreenInfo) + { + for (i = 0; i < s->display->nScreenInfo; i++) + { + r.extents.x1 = s->display->screenInfo[i].x_org; + r.extents.y1 = s->display->screenInfo[i].y_org; + r.extents.x2 = r.extents.x1 + s->display->screenInfo[i].width; + r.extents.y2 = r.extents.y1 + s->display->screenInfo[i].height; + + XUnionRegion (region, &r, region); + } + } + else + { + r.extents.x1 = 0; + r.extents.y1 = 0; + r.extents.x2 = s->width; + r.extents.y2 = s->height; + + XUnionRegion (region, &r, region); + } + + /* remove all output regions from visible screen region */ + for (i = 0; i < s->nOutputDev; i++) + XSubtractRegion (region, &s->outputDev[i].region, region); + + /* we should clear color buffers before swapping if we have visible + regions without output */ + s->clearBuffers = REGION_NOT_EMPTY (region); + + XDestroyRegion (region); + } + + (*s->outputChangeNotify) (s); +} + +static void +detectOutputDevices (CompScreen *s) +{ + if (!noDetection && s->opt[COMP_SCREEN_OPTION_DETECT_OUTPUTS].value.b) + { + char *name; + CompOptionValue value; + char output[1024]; + int i, size = sizeof (output); + + if (s->display->nScreenInfo) + { + int n = s->display->nScreenInfo; + + value.list.nValue = n; + value.list.value = malloc (sizeof (CompOptionValue) * n); + if (!value.list.value) + return; + + for (i = 0; i < n; i++) + { + snprintf (output, size, "%dx%d+%d+%d", + s->display->screenInfo[i].width, + s->display->screenInfo[i].height, + s->display->screenInfo[i].x_org, + s->display->screenInfo[i].y_org); + + value.list.value[i].s = strdup (output); + } + } + else + { + value.list.nValue = 1; + value.list.value = malloc (sizeof (CompOptionValue)); + if (!value.list.value) + return; + + snprintf (output, size, "%dx%d+%d+%d", s->width, s->height, 0, 0); + + value.list.value->s = strdup (output); + } + + name = s->opt[COMP_SCREEN_OPTION_OUTPUTS].name; + + s->opt[COMP_SCREEN_OPTION_DETECT_OUTPUTS].value.b = FALSE; + (*s->setScreenOption) (s, name, &value); + s->opt[COMP_SCREEN_OPTION_DETECT_OUTPUTS].value.b = TRUE; + + for (i = 0; i < value.list.nValue; i++) + if (value.list.value[i].s) + free (value.list.value[i].s); + + free (value.list.value); + } + else + { + updateOutputDevices (s); + } +} + +CompOption * +compGetScreenOptions (CompScreen *screen, + int *count) +{ + *count = NUM_OPTIONS (screen); + return screen->opt; +} + +static Bool +setScreenOption (CompScreen *screen, + char *name, + CompOptionValue *value) +{ + CompOption *o; + int index; + + o = compFindOption (screen->opt, NUM_OPTIONS (screen), name, &index); + if (!o) + return FALSE; + + switch (index) { + case COMP_SCREEN_OPTION_DETECT_REFRESH_RATE: + if (compSetBoolOption (o, value)) + { + if (value->b) + detectRefreshRateOfScreen (screen); + + return TRUE; + } + break; + case COMP_SCREEN_OPTION_DETECT_OUTPUTS: + if (compSetBoolOption (o, value)) + { + if (value->b) + detectOutputDevices (screen); + + return TRUE; + } + break; + case COMP_SCREEN_OPTION_REFRESH_RATE: + if (screen->opt[COMP_SCREEN_OPTION_DETECT_REFRESH_RATE].value.b) + return FALSE; + + if (compSetIntOption (o, value)) + { + screen->redrawTime = 1000 / o->value.i; + screen->optimalRedrawTime = screen->redrawTime; + return TRUE; + } + break; + /*case COMP_SCREEN_OPTION_HSIZE: + if (compSetIntOption (o, value)) + { + CompOption *vsize; + + vsize = compFindOption (screen->opt, NUM_OPTIONS (screen), + "vsize", NULL); + + if (!vsize) + return FALSE; + + if (o->value.i * screen->width > MAXSHORT) + return FALSE; + + setVirtualScreenSize (screen, o->value.i, vsize->value.i); + return TRUE; + } + break; + case COMP_SCREEN_OPTION_VSIZE: + if (compSetIntOption (o, value)) + { + CompOption *hsize; + + hsize = compFindOption (screen->opt, NUM_OPTIONS (screen), + "hsize", NULL); + + if (!hsize) + return FALSE; + + if (o->value.i * screen->height > MAXSHORT) + return FALSE; + + setVirtualScreenSize (screen, hsize->value.i, o->value.i); + return TRUE; + } + break;*/ + case COMP_SCREEN_OPTION_NUMBER_OF_DESKTOPS: + //if (compSetIntOption (o, value)) + // { + // setNumberOfDesktops (screen, o->value.i); + return TRUE; + //} + break; + case COMP_SCREEN_OPTION_DEFAULT_ICON: + if (compSetStringOption (o, value)) + return updateDefaultIcon (screen); + break; + case COMP_SCREEN_OPTION_OUTPUTS: + if (!noDetection && + screen->opt[COMP_SCREEN_OPTION_DETECT_OUTPUTS].value.b) + return FALSE; + + if (compSetOptionList (o, value)) + { + updateOutputDevices (screen); + return TRUE; + } + break; + case COMP_SCREEN_OPTION_OPACITY_MATCHES: + if (compSetOptionList (o, value)) + { + CompWindow *w; + int i; + + for (i = 0; i < o->value.list.nValue; i++) + matchUpdate (screen->display, &o->value.list.value[i].match); + + for (w = screen->windows; w; w = w->next) + updateWindowOpacity (w); + + return TRUE; + } + break; + case COMP_SCREEN_OPTION_OPACITY_VALUES: + if (compSetOptionList (o, value)) + { + CompWindow *w; + + for (w = screen->windows; w; w = w->next) + updateWindowOpacity (w); + + return TRUE; + } + break; + default: + if (compSetScreenOption (screen, o, value)) + return TRUE; + break; + } + + return FALSE; +} + +static Bool +setScreenOptionForPlugin (CompScreen *screen, + char *plugin, + char *name, + CompOptionValue *value) +{ + CompPlugin *p; + + p = findActivePlugin (plugin); + if (p && p->vTable->setScreenOption) + return (*p->vTable->setScreenOption) (p, screen, name, value); + + return FALSE; +} + +const CompMetadataOptionInfo coreScreenOptionInfo[COMP_SCREEN_OPTION_NUM] = { + { "detect_refresh_rate", "bool", 0, 0, 0 }, + { "lighting", "bool", 0, 0, 0 }, + { "refresh_rate", "int", "1", 0, 0 }, + { "hsize", "int", "132", 0, 0 }, + { "vsize", "int", "132", 0, 0 }, + { "opacity_step", "int", "1", 0, 0 }, + { "unredirect_fullscreen_windows", "bool", 0, 0, 0 }, + { "default_icon", "string", 0, 0, 0 }, + { "sync_to_vblank", "bool", 0, 0, 0 }, + { "number_of_desktops", "int", "1", 0, 0 }, + { "detect_outputs", "bool", 0, 0, 0 }, + { "outputs", "list", "string", 0, 0 }, + { "focus_prevention_match", "match", 0, 0, 0 }, + { "opacity_matches", "list", "match", 0, 0 }, + { "opacity_values", "list", "int", 0, 0 } +}; + +//static void +//updateStartupFeedback (CompScreen *s) +//{ +// if (s->startupSequences) +// XDefineCursor (s->display->display, s->root, s->busyCursor); +// else +// XDefineCursor (s->display->display, s->root, s->normalCursor); +//} +// +//#define STARTUP_TIMEOUT_DELAY 15000 +// +//static Bool +//startupSequenceTimeout (void *data) +//{ +// CompScreen *screen = data; +// CompStartupSequence *s; +// struct timeval now, active; +// double elapsed; +// +// gettimeofday (&now, NULL); +// +// for (s = screen->startupSequences; s; s = s->next) +// { +// sn_startup_sequence_get_last_active_time (s->sequence, +// &active.tv_sec, +// &active.tv_usec); +// +// elapsed = ((((double) now.tv_sec - active.tv_sec) * 1000000.0 + +// (now.tv_usec - active.tv_usec))) / 1000.0; +// +// if (elapsed > STARTUP_TIMEOUT_DELAY) +// sn_startup_sequence_complete (s->sequence); +// } +// +// return TRUE; +//} +// +//static void +//addSequence (CompScreen *screen, +// SnStartupSequence *sequence) +//{ +// CompStartupSequence *s; +// +// s = malloc (sizeof (CompStartupSequence)); +// if (!s) +// return; +// +// sn_startup_sequence_ref (sequence); +// +// s->next = screen->startupSequences; +// s->sequence = sequence; +// s->viewportX = screen->x; +// s->viewportY = screen->y; +// +// screen->startupSequences = s; +// +// if (!screen->startupSequenceTimeoutHandle) +// compAddTimeout (1000, +// startupSequenceTimeout, +// screen); +// +// updateStartupFeedback (screen); +//} +// +//static void +//removeSequence (CompScreen *screen, +// SnStartupSequence *sequence) +//{ +// CompStartupSequence *s, *p = NULL; +// +// for (s = screen->startupSequences; s; s = s->next) +// { +// if (s->sequence == sequence) +// break; +// +// p = s; +// } +// +// if (!s) +// return; +// +// sn_startup_sequence_unref (sequence); +// +// if (p) +// p->next = s->next; +// else +// screen->startupSequences = NULL; +// +// free (s); +// +// if (!screen->startupSequences && screen->startupSequenceTimeoutHandle) +// { +// compRemoveTimeout (screen->startupSequenceTimeoutHandle); +// screen->startupSequenceTimeoutHandle = 0; +// } +// +// updateStartupFeedback (screen); +//} +// +//static void +//compScreenSnEvent (SnMonitorEvent *event, +// void *userData) +//{ +// CompScreen *screen = userData; +// SnStartupSequence *sequence; +// +// sequence = sn_monitor_event_get_startup_sequence (event); +// +// switch (sn_monitor_event_get_type (event)) { +// case SN_MONITOR_EVENT_INITIATED: +// addSequence (screen, sequence); +// break; +// case SN_MONITOR_EVENT_COMPLETED: +// removeSequence (screen, sn_monitor_event_get_startup_sequence (event)); +// break; +// case SN_MONITOR_EVENT_CHANGED: +// case SN_MONITOR_EVENT_CANCELED: +// break; +// } +//} + +static void +updateScreenEdges (CompScreen *s) +{ + struct screenEdgeGeometry { + int xw, x0; + int yh, y0; + int ww, w0; + int hh, h0; + } geometry[SCREEN_EDGE_NUM] = { + { 0, 0, 0, 2, 0, 2, 1, -4 }, /* left */ + { 1, -2, 0, 2, 0, 2, 1, -4 }, /* right */ + { 0, 2, 0, 0, 1, -4, 0, 2 }, /* top */ + { 0, 2, 1, -2, 1, -4, 0, 2 }, /* bottom */ + { 0, 0, 0, 0, 0, 2, 0, 2 }, /* top-left */ + { 1, -2, 0, 0, 0, 2, 0, 2 }, /* top-right */ + { 0, 0, 1, -2, 0, 2, 0, 2 }, /* bottom-left */ + { 1, -2, 1, -2, 0, 2, 0, 2 } /* bottom-right */ + }; + int i; + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + if (s->screenEdge[i].id) + XMoveResizeWindow (s->display->display, s->screenEdge[i].id, + geometry[i].xw * s->width + geometry[i].x0, + geometry[i].yh * s->height + geometry[i].y0, + geometry[i].ww * s->width + geometry[i].w0, + geometry[i].hh * s->height + geometry[i].h0); + } +} + +static void +frustum (GLfloat *m, + GLfloat left, + GLfloat right, + GLfloat bottom, + GLfloat top, + GLfloat nearval, + GLfloat farval) +{ + GLfloat x, y, a, b, c, d; + + x = (2.0 * nearval) / (right - left); + y = (2.0 * nearval) / (top - bottom); + a = (right + left) / (right - left); + b = (top + bottom) / (top - bottom); + c = -(farval + nearval) / ( farval - nearval); + d = -(2.0 * farval * nearval) / (farval - nearval); + +#define M(row,col) m[col*4+row] + M(0,0) = x; M(0,1) = 0.0f; M(0,2) = a; M(0,3) = 0.0f; + M(1,0) = 0.0f; M(1,1) = y; M(1,2) = b; M(1,3) = 0.0f; + M(2,0) = 0.0f; M(2,1) = 0.0f; M(2,2) = c; M(2,3) = d; + M(3,0) = 0.0f; M(3,1) = 0.0f; M(3,2) = -1.0f; M(3,3) = 0.0f; +#undef M + +} + +static void +perspective (GLfloat *m, + GLfloat fovy, + GLfloat aspect, + GLfloat zNear, + GLfloat zFar) +{ + GLfloat xmin, xmax, ymin, ymax; + + ymax = zNear * tan (fovy * M_PI / 360.0); + ymin = -ymax; + xmin = ymin * aspect; + xmax = ymax * aspect; + + frustum (m, xmin, xmax, ymin, ymax, zNear, zFar); +} + +void +setCurrentOutput (CompScreen *s, + int outputNum) +{ + if (outputNum >= s->nOutputDev) + outputNum = 0; + + s->currentOutputDev = outputNum; +} + +static void +reshape (CompScreen *s, + int w, + int h) +{ + +#ifdef USE_COW + if (useCow) + XMoveResizeWindow (s->display->display, s->overlay, 0, 0, w, h); +#endif + + if (s->display->xineramaExtension) + { + CompDisplay *d = s->display; + + if (d->screenInfo) + XFree (d->screenInfo); + + d->nScreenInfo = 0; + d->screenInfo = XineramaQueryScreens (d->display, &d->nScreenInfo); + } + + glMatrixMode (GL_PROJECTION); + glLoadIdentity (); + glMatrixMode (GL_MODELVIEW); + glLoadIdentity (); + glDepthRange (0, 1); + glViewport (-1, -1, 2, 2); + glRasterPos2f (0, 0); + + s->rasterX = s->rasterY = 0; + + perspective (s->projection, 60.0f, 1.0f, 0.1f, 100.0f); + + glMatrixMode (GL_PROJECTION); + glLoadIdentity (); + glMultMatrixf (s->projection); + glMatrixMode (GL_MODELVIEW); + + s->region.rects = &s->region.extents; + s->region.numRects = 1; + s->region.extents.x1 = 0; + s->region.extents.y1 = 0; + s->region.extents.x2 = w; + s->region.extents.y2 = h; + s->region.size = 1; + + s->width = w; + s->height = h; + + s->fullscreenOutput.name = "fullscreen"; + s->fullscreenOutput.id = ~0; + s->fullscreenOutput.width = w; + s->fullscreenOutput.height = h; + s->fullscreenOutput.region = s->region; + s->fullscreenOutput.workArea.x = 0; + s->fullscreenOutput.workArea.y = 0; + s->fullscreenOutput.workArea.width = w; + s->fullscreenOutput.workArea.height = h; + + updateScreenEdges (s); +} + +void +configureScreen (CompScreen *s, + XConfigureEvent *ce) +{ + if (s->attrib.width != ce->width || + s->attrib.height != ce->height) + { + s->attrib.width = ce->width; + s->attrib.height = ce->height; + + reshape (s, ce->width, ce->height); + + detectOutputDevices (s); + + damageScreen (s); + } +} + +static FuncPtr +getProcAddress (CompScreen *s, + const char *name) +{ + static void *dlhand = NULL; + FuncPtr funcPtr = NULL; + + if (s->getProcAddress) + funcPtr = s->getProcAddress ((GLubyte *) name); + + if (!funcPtr) + { + if (!dlhand) + dlhand = dlopen (NULL, RTLD_LAZY); + + if (dlhand) + { + dlerror (); + funcPtr = (FuncPtr) dlsym (dlhand, name); + if (dlerror () != NULL) + funcPtr = NULL; + } + } + + return funcPtr; +} + +void +updateScreenBackground (CompScreen *screen, + CompTexture *texture) +{ + Display *dpy = screen->display->display; + Atom pixmapAtom, actualType; + int actualFormat, i, status; + unsigned int width = 1, height = 1, depth = 0; + unsigned long nItems; + unsigned long bytesAfter; + unsigned char *prop; + Pixmap pixmap = 0; + + pixmapAtom = XInternAtom (dpy, "PIXMAP", FALSE); + + for (i = 0; pixmap == 0 && i < 2; i++) + { + status = XGetWindowProperty (dpy, screen->root, + screen->display->xBackgroundAtom[i], + 0, 4, FALSE, AnyPropertyType, + &actualType, &actualFormat, &nItems, + &bytesAfter, &prop); + + if (status == Success && nItems && prop) + { + if (actualType == pixmapAtom && + actualFormat == 32 && + nItems == 1) + { + Pixmap p; + + memcpy (&p, prop, 4); + + if (p) + { + unsigned int ui; + int i; + Window w; + + if (XGetGeometry (dpy, p, &w, &i, &i, + &width, &height, &ui, &depth)) + { + if (depth == screen->attrib.depth) + pixmap = p; + } + } + } + + XFree (prop); + } + } + + if (pixmap) + { + if (pixmap == texture->pixmap) + return; + + finiTexture (screen, texture); + initTexture (screen, texture); + + if (!bindPixmapToTexture (screen, texture, pixmap, + width, height, depth)) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "Couldn't bind background pixmap 0x%x to " + "texture", (int) pixmap); + } + } + else + { + finiTexture (screen, texture); + initTexture (screen, texture); + } + + if (!texture->name && backgroundImage) + readImageToTexture (screen, texture, backgroundImage, &width, &height); + + if (texture->target == GL_TEXTURE_2D) + { + glBindTexture (texture->target, texture->name); + glTexParameteri (texture->target, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri (texture->target, GL_TEXTURE_WRAP_T, GL_REPEAT); + glBindTexture (texture->target, 0); + } +} + +void +detectRefreshRateOfScreen (CompScreen *s) +{ + if (!noDetection && s->opt[COMP_SCREEN_OPTION_DETECT_REFRESH_RATE].value.b) + { + char *name; + CompOptionValue value; + + value.i = 0; + + if (s->display->randrExtension) + { + XRRScreenConfiguration *config; + + config = XRRGetScreenInfo (s->display->display, s->root); + value.i = (int) XRRConfigCurrentRate (config); + + XRRFreeScreenConfigInfo (config); + } + + if (value.i == 0) + value.i = defaultRefreshRate; + + name = s->opt[COMP_SCREEN_OPTION_REFRESH_RATE].name; + + s->opt[COMP_SCREEN_OPTION_DETECT_REFRESH_RATE].value.b = FALSE; + (*s->setScreenOption) (s, name, &value); + s->opt[COMP_SCREEN_OPTION_DETECT_REFRESH_RATE].value.b = TRUE; + } + else + { + s->redrawTime = 1000 / s->opt[COMP_SCREEN_OPTION_REFRESH_RATE].value.i; + s->optimalRedrawTime = s->redrawTime; + } +} + +/* TODO, remove this when the grabWindow is not needed anymore */ +static void +setSupportingWmCheck (CompScreen *s) +{ + CompDisplay *d = s->display; + + /*XChangeProperty (d->display, s->grabWindow, d->supportingWmCheckAtom, + XA_WINDOW, 32, PropModeReplace, + (unsigned char *) &s->grabWindow, 1); + */ + /*XChangeProperty (d->display, s->grabWindow, d->wmNameAtom, + d->utf8StringAtom, 8, PropModeReplace, + (unsigned char *) PACKAGE, strlen (PACKAGE));*/ + XChangeProperty (d->display, s->grabWindow, d->winStateAtom, + XA_ATOM, 32, PropModeReplace, + (unsigned char *) &d->winStateSkipTaskbarAtom, 1); + XChangeProperty (d->display, s->grabWindow, d->winStateAtom, + XA_ATOM, 32, PropModeAppend, + (unsigned char *) &d->winStateSkipPagerAtom, 1); + XChangeProperty (d->display, s->grabWindow, d->winStateAtom, + XA_ATOM, 32, PropModeAppend, + (unsigned char *) &d->winStateHiddenAtom, 1); + /* + XChangeProperty (d->display, s->root, d->supportingWmCheckAtom, + XA_WINDOW, 32, PropModeReplace, + (unsigned char *) &s->grabWindow, 1); + */ +} + +//static void +//setSupported (CompScreen *s) +//{ +// /* FIXME this is not needed i guess */ +// CompDisplay *d = s->display; +// Atom data[256]; +// int i = 0; +// +// data[i++] = d->supportedAtom; +// //data[i++] = d->supportingWmCheckAtom; +// +// data[i++] = d->utf8StringAtom; +// +// data[i++] = d->clientListAtom; +// data[i++] = d->clientListStackingAtom; +// +// data[i++] = d->winActiveAtom; +// +// data[i++] = d->desktopViewportAtom; +// data[i++] = d->desktopGeometryAtom; +// data[i++] = d->currentDesktopAtom; +// data[i++] = d->numberOfDesktopsAtom; +// data[i++] = d->showingDesktopAtom; +// +// data[i++] = d->workareaAtom; +// +// // data[i++] = d->wmNameAtom; +///* +// data[i++] = d->wmVisibleNameAtom; +//*/ +// +// data[i++] = d->wmStrutAtom; +// data[i++] = d->wmStrutPartialAtom; +// +///* +// data[i++] = d->wmPidAtom; +//*/ +// +// data[i++] = d->wmUserTimeAtom; +// data[i++] = d->frameExtentsAtom; +// data[i++] = d->frameWindowAtom; +// +// data[i++] = d->winStateModalAtom; +// data[i++] = d->winStateStickyAtom; +// data[i++] = d->winStateMaximizedVertAtom; +// data[i++] = d->winStateMaximizedHorzAtom; +// data[i++] = d->winStateShadedAtom; +// data[i++] = d->winStateSkipTaskbarAtom; +// data[i++] = d->winStateSkipPagerAtom; +// data[i++] = d->winStateHiddenAtom; +// data[i++] = d->winStateFullscreenAtom; +// data[i++] = d->winStateAboveAtom; +// data[i++] = d->winStateBelowAtom; +// data[i++] = d->winStateDemandsAttentionAtom; +// +// data[i++] = d->winOpacityAtom; +// data[i++] = d->winBrightnessAtom; +// +// if (s->canDoSaturated) +// { +// data[i++] = d->winSaturationAtom; +// data[i++] = d->winStateDisplayModalAtom; +// } +// +// data[i++] = d->wmAllowedActionsAtom; +// +// data[i++] = d->winActionMoveAtom; +// data[i++] = d->winActionResizeAtom; +// data[i++] = d->winActionStickAtom; +// data[i++] = d->winActionMinimizeAtom; +// data[i++] = d->winActionMaximizeHorzAtom; +// data[i++] = d->winActionMaximizeVertAtom; +// data[i++] = d->winActionFullscreenAtom; +// data[i++] = d->winActionCloseAtom; +// data[i++] = d->winActionShadeAtom; +// data[i++] = d->winActionChangeDesktopAtom; +// data[i++] = d->winActionAboveAtom; +// data[i++] = d->winActionBelowAtom; +// +// data[i++] = d->winTypeAtom; +// data[i++] = d->winTypeDesktopAtom; +// data[i++] = d->winTypeDockAtom; +// data[i++] = d->winTypeToolbarAtom; +// data[i++] = d->winTypeMenuAtom; +// data[i++] = d->winTypeSplashAtom; +// data[i++] = d->winTypeDialogAtom; +// data[i++] = d->winTypeUtilAtom; +// data[i++] = d->winTypeNormalAtom; +// +// data[i++] = d->wmDeleteWindowAtom; +// //data[i++] = d->wmPingAtom; +// +// data[i++] = d->wmMoveResizeAtom; +// data[i++] = d->moveResizeWindowAtom; +// data[i++] = d->restackWindowAtom; +// +// XChangeProperty (d->display, s->root, d->supportedAtom, XA_ATOM, 32, +// PropModeReplace, (unsigned char *) data, i); +//} + +static void +getDesktopHints (CompScreen *s) +{ + CompDisplay *d = s->display; + unsigned long data[2]; + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *propData; + + /*result = XGetWindowProperty (s->display->display, s->root, + d->numberOfDesktopsAtom, 0L, 1L, FALSE, + XA_CARDINAL, &actual, &format, + &n, &left, &propData); + + if (result == Success && n && propData && useDesktopHints) + { + memcpy (data, propData, sizeof (unsigned long)); + XFree (propData); + + if (data[0] > 0 && data[0] < 0xffffffff) + s->nDesktop = data[0]; + } + */ + + result = XGetWindowProperty (s->display->display, s->root, + d->desktopGeometryAtom, 0L, 2L, + FALSE, XA_CARDINAL, &actual, &format, + &n, &left, &propData); + + if (result == Success && n && propData) + { + if (n == 2) + { + memcpy (data, propData, sizeof (unsigned long) * 2); + + s->hsize = data[0] / s->width; + s->vsize = data[1] / s->height; + } + + XFree (propData); + } + + result = XGetWindowProperty (s->display->display, s->root, + d->desktopViewportAtom, 0L, 2L, + FALSE, XA_CARDINAL, &actual, &format, + &n, &left, &propData); + + if (result == Success && n && propData) + { + if (n == 2) + { + memcpy (data, propData, sizeof (unsigned long) * 2); + + if (data[0] / s->width < s->hsize - 1) + s->x = data[0] / s->width; + + if (data[1] / s->height < s->vsize - 1) + s->y = data[1] / s->height; + } + + XFree (propData); + } + + /* + result = XGetWindowProperty (s->display->display, s->root, + d->currentDesktopAtom, 0L, 1L, FALSE, + XA_CARDINAL, &actual, &format, + &n, &left, &propData); + + if (result == Success && n && propData && useDesktopHints) + { + memcpy (data, propData, sizeof (unsigned long)); + XFree (propData); + + if (data[0] < s->nDesktop) + s->currentDesktop = data[0]; + } + */ + + /* result = XGetWindowProperty (s->display->display, s->root, + d->showingDesktopAtom, 0L, 1L, FALSE, + XA_CARDINAL, &actual, &format, + &n, &left, &propData); + + if (result == Success && n && propData) + { + memcpy (data, propData, sizeof (unsigned long)); + XFree (propData); + + if (data[0]) + (*s->enterShowDesktopMode) (s); + }*/ + + /*data[0] = s->currentDesktop; + + XChangeProperty (d->display, s->root, d->currentDesktopAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) data, 1); + + data[0] = s->showingDesktopMask ? TRUE : FALSE; + + XChangeProperty (d->display, s->root, d->showingDesktopAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) data, 1);*/ +} + +void +showOutputWindow (CompScreen *s) +{ + +#ifdef USE_COW + if (useCow) + { + Display *dpy = s->display->display; + XserverRegion region; + + region = XFixesCreateRegion (dpy, NULL, 0); + + XFixesSetWindowShapeRegion (dpy, + s->output, + ShapeBounding, + 0, 0, 0); + XFixesSetWindowShapeRegion (dpy, + s->output, + ShapeInput, + 0, 0, region); + + XFixesDestroyRegion (dpy, region); + + damageScreen (s); + } +#endif + +} + +void +hideOutputWindow (CompScreen *s) +{ + +#ifdef USE_COW + if (useCow) + { + Display *dpy = s->display->display; + XserverRegion region; + + region = XFixesCreateRegion (dpy, NULL, 0); + + XFixesSetWindowShapeRegion (dpy, + s->output, + ShapeBounding, + 0, 0, region); + + XFixesDestroyRegion (dpy, region); + } +#endif + +} + +static void +makeOutputWindow (CompScreen *s) +{ + +#ifdef USE_COW + if (useCow) + { + s->overlay = XCompositeGetOverlayWindow (s->display->display, s->root); + s->output = s->overlay; + + XSelectInput (s->display->display, s->output, ExposureMask); + } + else +#endif + + s->output = s->overlay = s->root; + + showOutputWindow (s); +} + +static void +enterShowDesktopMode (CompScreen *s) +{ + /* CompDisplay *d = s->display; + CompWindow *w; + unsigned long data = 1; + int count = 0; + CompOption *st = &d->opt[COMP_DISPLAY_OPTION_HIDE_SKIP_TASKBAR_WINDOWS]; + + s->showingDesktopMask = ~(CompWindowTypeDesktopMask | + CompWindowTypeDockMask); + + for (w = s->windows; w; w = w->next) + { + if ((s->showingDesktopMask & w->type) && + (!(w->state & CompWindowStateSkipTaskbarMask) || st->value.b)) + { + if (!w->inShowDesktopMode && (*s->focusWindow) (w)) + { + w->inShowDesktopMode = TRUE; + hideWindow (w); + } + } + + if (w->inShowDesktopMode) + count++; + } + + if (!count) + { + s->showingDesktopMask = 0; + data = 0; + } + + XChangeProperty (s->display->display, s->root, + s->display->showingDesktopAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &data, 1);*/ +} + +static void +leaveShowDesktopMode (CompScreen *s, + CompWindow *window) +{ + CompWindow *w; + unsigned long data = 0; + + if (window) + { + if (!window->inShowDesktopMode) + return; + + window->inShowDesktopMode = FALSE; + showWindow (window); + + /* return if some other window is still in show desktop mode */ + for (w = s->windows; w; w = w->next) + if (w->inShowDesktopMode) + return; + + s->showingDesktopMask = 0; + } + else + { + s->showingDesktopMask = 0; + + for (w = s->windows; w; w = w->next) + { + if (!w->inShowDesktopMode) + continue; + + w->inShowDesktopMode = FALSE; + showWindow (w); + } + + /* focus default window - most likely this will be the window + which had focus before entering showdesktop mode */ + focusDefaultWindow (s->display); + } + + XChangeProperty (s->display->display, s->root, + s->display->showingDesktopAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &data, 1); +} + +static CompWindow * +walkFirst (CompScreen *s) +{ + return s->windows; +} + +static CompWindow * +walkLast (CompScreen *s) +{ + return s->reverseWindows; +} + +static CompWindow * +walkNext (CompWindow *w) +{ + return w->next; +} + +static CompWindow * +walkPrev (CompWindow *w) +{ + return w->prev; +} + +static void +initWindowWalker (CompScreen *screen, + CompWalker *walker) +{ + walker->fini = NULL; + walker->first = walkFirst; + walker->last = walkLast; + walker->next = walkNext; + walker->prev = walkPrev; +} + +Bool +addScreen (CompDisplay *display, + int screenNum, + Window wmSnSelectionWindow, + Atom wmSnAtom, + Time wmSnTimestamp) +{ + D(("addScreen - begin %d\n", screenNum)); + + CompScreen *s; + Display *dpy = display->display; + static char data = 0; + XColor black; + Pixmap bitmap; + XVisualInfo templ; + XVisualInfo *visinfo; + GLXFBConfig *fbConfigs; + Window rootReturn, parentReturn; + Window *children; + unsigned int nchildren; + int defaultDepth, nvisinfo, nElements, value, i; + const char *glxExtensions, *glExtensions; + XSetWindowAttributes attrib; + GLfloat globalAmbient[] = { 0.1f, 0.1f, 0.1f, 0.1f }; + GLfloat ambientLight[] = { 0.0f, 0.0f, 0.0f, 0.0f }; + GLfloat diffuseLight[] = { 0.9f, 0.9f, 0.9f, 0.9f }; + GLfloat light0Position[] = { -0.5f, 0.5f, -9.0f, 1.0f }; + CompWindow *w; + + s = malloc (sizeof (CompScreen)); + if (!s) + return FALSE; + + s->windowPrivateIndices = 0; + s->windowPrivateLen = 0; + + if (display->screenPrivateLen) + { + s->privates = malloc (display->screenPrivateLen * + sizeof (CompPrivate)); + if (!s->privates) + { + free (s); + return FALSE; + } + } + else + s->privates = 0; + + s->display = display; + + if (!compInitScreenOptionsFromMetadata (s, + &coreMetadata, + coreScreenOptionInfo, + s->opt, + COMP_SCREEN_OPTION_NUM)) + return FALSE; + + s->damage = XCreateRegion (); + if (!s->damage) + return FALSE; + + s->x = 0; + s->y = 0; + + /* get this info from e */ + s->hsize = 1; //s->opt[COMP_SCREEN_OPTION_HSIZE].value.i; + s->vsize = 1; //s->opt[COMP_SCREEN_OPTION_VSIZE].value.i; + + s->nDesktop = 1; + s->currentDesktop = 0; + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + s->screenEdge[i].id = None; + s->screenEdge[i].count = 0; + } + + s->buttonGrab = 0; + s->nButtonGrab = 0; + s->keyGrab = 0; + s->nKeyGrab = 0; + + s->grabs = 0; + s->grabSize = 0; + s->maxGrab = 0; + + s->pendingDestroys = 0; + + s->clientList = 0; + s->nClientList = 0; + + s->screenNum = screenNum; + s->colormap = DefaultColormap (dpy, screenNum); + s->root = XRootWindow (dpy, screenNum); + + s->mapNum = 1; + s->activeNum = 1; + + s->groups = NULL; + + //s->snContext = NULL; + //sn_monitor_context_new (display->snDisplay, + // screenNum, + // compScreenSnEvent, s, + // NULL); + + //s->startupSequences = NULL; + //s->startupSequenceTimeoutHandle = 0; + + //s->wmSnSelectionWindow = wmSnSelectionWindow; + //s->wmSnAtom = wmSnAtom; + //s->wmSnTimestamp = wmSnTimestamp; + + s->damageMask = COMP_SCREEN_DAMAGE_ALL_MASK; + s->next = 0; + s->exposeRects = 0; + s->sizeExpose = 0; + s->nExpose = 0; + + s->rasterX = 0; + s->rasterY = 0; + + s->outputDev = NULL; + s->nOutputDev = 0; + s->currentOutputDev = 0; + + s->windows = 0; + s->reverseWindows = 0; + + s->nextRedraw = 0; + s->frameStatus = 0; + s->timeMult = 1; + s->idle = TRUE; + s->timeLeft = 0; + + s->pendingCommands = TRUE; + + s->lastFunctionId = 0; + + s->fragmentFunctions = NULL; + s->fragmentPrograms = NULL; + + memset (s->saturateFunction, 0, sizeof (s->saturateFunction)); + + s->showingDesktopMask = 0; + + memset (s->history, 0, sizeof (s->history)); + s->currentHistory = 0; + + s->overlayWindowCount = 0; + + s->desktopHintData = NULL; + s->desktopHintSize = 0; + + s->cursors = NULL; + + s->clearBuffers = TRUE; + + gettimeofday (&s->lastRedraw, 0); + + s->setScreenOption = setScreenOption; + s->setScreenOptionForPlugin = setScreenOptionForPlugin; + + s->initPluginForScreen = initPluginForScreen; + s->finiPluginForScreen = finiPluginForScreen; + + s->preparePaintScreen = preparePaintScreen; + s->donePaintScreen = donePaintScreen; + s->paintScreen = paintScreen; + s->paintOutput = paintOutput; + s->paintTransformedOutput = paintTransformedOutput; + s->applyScreenTransform = applyScreenTransform; + s->paintBackground = paintBackground; + s->paintWindow = paintWindow; + s->drawWindow = drawWindow; + s->addWindowGeometry = addWindowGeometry; + s->drawWindowTexture = drawWindowTexture; + s->damageWindowRect = damageWindowRect; + s->getOutputExtentsForWindow = getOutputExtentsForWindow; + s->getAllowedActionsForWindow = getAllowedActionsForWindow; + s->focusWindow = focusWindow; + s->placeWindow = placeWindow; + + s->paintCursor = paintCursor; + s->damageCursorRect = damageCursorRect; + + s->windowAddNotify = windowAddNotify; + s->windowResizeNotify = windowResizeNotify; + s->windowMoveNotify = windowMoveNotify; + s->windowGrabNotify = windowGrabNotify; + s->windowUngrabNotify = windowUngrabNotify; + + s->enterShowDesktopMode = enterShowDesktopMode; + s->leaveShowDesktopMode = leaveShowDesktopMode; + + s->windowStateChangeNotify = windowStateChangeNotify; + + s->outputChangeNotify = outputChangeNotify; + + s->initWindowWalker = initWindowWalker; + + s->getProcAddress = 0; + + if (!XGetWindowAttributes (dpy, s->root, &s->attrib)) + return FALSE; + + s->workArea.x = 0; + s->workArea.y = 0; + s->workArea.width = s->attrib.width; + s->workArea.height = s->attrib.height; + + s->grabWindow = None; + + makeOutputWindow (s); + + templ.visualid = XVisualIDFromVisual (s->attrib.visual); + + visinfo = XGetVisualInfo (dpy, VisualIDMask, &templ, &nvisinfo); + if (!nvisinfo) + { + compLogMessage (display, "core", CompLogLevelFatal, + "Couldn't get visual info for default visual"); + return FALSE; + } + + defaultDepth = visinfo->depth; + + black.red = black.green = black.blue = 0; + + if (!XAllocColor (dpy, s->colormap, &black)) + { + compLogMessage (display, "core", CompLogLevelFatal, + "Couldn't allocate color"); + XFree (visinfo); + return FALSE; + } + + bitmap = XCreateBitmapFromData (dpy, s->root, &data, 1, 1); + if (!bitmap) + { + compLogMessage (display, "core", CompLogLevelFatal, + "Couldn't create bitmap"); + XFree (visinfo); + return FALSE; + } + + s->invisibleCursor = XCreatePixmapCursor (dpy, bitmap, bitmap, + &black, &black, 0, 0); + if (!s->invisibleCursor) + { + compLogMessage (display, "core", CompLogLevelFatal, + "Couldn't create invisible cursor"); + XFree (visinfo); + return FALSE; + } + + XFreePixmap (dpy, bitmap); + XFreeColors (dpy, s->colormap, &black.pixel, 1, 0); + + glXGetConfig (dpy, visinfo, GLX_USE_GL, &value); + if (!value) + { + compLogMessage (display, "core", CompLogLevelFatal, + "Root visual is not a GL visual"); + XFree (visinfo); + return FALSE; + } + + glXGetConfig (dpy, visinfo, GLX_DOUBLEBUFFER, &value); + if (!value) + { + compLogMessage (display, "core", CompLogLevelFatal, + "Root visual is not a double buffered GL visual"); + XFree (visinfo); + return FALSE; + } + + s->ctx = glXCreateContext (dpy, visinfo, NULL, !indirectRendering); + if (!s->ctx) + { + compLogMessage (display, "core", CompLogLevelFatal, + "glXCreateContext failed"); + XFree (visinfo); + + return FALSE; + } + + glxExtensions = glXQueryExtensionsString (dpy, screenNum); + if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap")) + { + compLogMessage (display, "core", CompLogLevelFatal, + "GLX_EXT_texture_from_pixmap is missing"); + XFree (visinfo); + + return FALSE; + } + + XFree (visinfo); + + if (!strstr (glxExtensions, "GLX_SGIX_fbconfig")) + { + compLogMessage (display, "core", CompLogLevelFatal, + "GLX_SGIX_fbconfig is missing"); + return FALSE; + } + + s->getProcAddress = (GLXGetProcAddressProc) + getProcAddress (s, "glXGetProcAddressARB"); + s->bindTexImage = (GLXBindTexImageProc) + getProcAddress (s, "glXBindTexImageEXT"); + s->releaseTexImage = (GLXReleaseTexImageProc) + getProcAddress (s, "glXReleaseTexImageEXT"); + s->queryDrawable = (GLXQueryDrawableProc) + getProcAddress (s, "glXQueryDrawable"); + s->getFBConfigs = (GLXGetFBConfigsProc) + getProcAddress (s, "glXGetFBConfigs"); + s->getFBConfigAttrib = (GLXGetFBConfigAttribProc) + getProcAddress (s, "glXGetFBConfigAttrib"); + s->createPixmap = (GLXCreatePixmapProc) + getProcAddress (s, "glXCreatePixmap"); + + if (!s->bindTexImage) + { + compLogMessage (display, "core", CompLogLevelFatal, + "glXBindTexImageEXT is missing"); + return FALSE; + } + + if (!s->releaseTexImage) + { + compLogMessage (display, "core", CompLogLevelFatal, + "glXReleaseTexImageEXT is missing"); + return FALSE; + } + + if (!s->queryDrawable || + !s->getFBConfigs || + !s->getFBConfigAttrib || + !s->createPixmap) + { + compLogMessage (display, "core", CompLogLevelFatal, + "fbconfig functions missing"); + return FALSE; + } + + s->copySubBuffer = NULL; + if (strstr (glxExtensions, "GLX_MESA_copy_sub_buffer")) + s->copySubBuffer = (GLXCopySubBufferProc) + getProcAddress (s, "glXCopySubBufferMESA"); + + s->getVideoSync = NULL; + s->waitVideoSync = NULL; + if (strstr (glxExtensions, "GLX_SGI_video_sync")) + { + s->getVideoSync = (GLXGetVideoSyncProc) + getProcAddress (s, "glXGetVideoSyncSGI"); + + s->waitVideoSync = (GLXWaitVideoSyncProc) + getProcAddress (s, "glXWaitVideoSyncSGI"); + } + + glXMakeCurrent (dpy, s->output, s->ctx); + currentRoot = s->root; + + glExtensions = (const char *) glGetString (GL_EXTENSIONS); + if (!glExtensions) + { + compLogMessage (display, "core", CompLogLevelFatal, + "No valid GL extensions string found."); + return FALSE; + } + + s->textureNonPowerOfTwo = 0; + if (strstr (glExtensions, "GL_ARB_texture_non_power_of_two")) + s->textureNonPowerOfTwo = 1; + + glGetIntegerv (GL_MAX_TEXTURE_SIZE, &s->maxTextureSize); + + s->textureRectangle = 0; + if (strstr (glExtensions, "GL_NV_texture_rectangle") || + strstr (glExtensions, "GL_EXT_texture_rectangle") || + strstr (glExtensions, "GL_ARB_texture_rectangle")) + { + s->textureRectangle = 1; + + if (!s->textureNonPowerOfTwo) + { + GLint maxTextureSize; + + glGetIntegerv (GL_MAX_RECTANGLE_TEXTURE_SIZE_NV, &maxTextureSize); + if (maxTextureSize > s->maxTextureSize) + s->maxTextureSize = maxTextureSize; + } + } + + if (!(s->textureRectangle || s->textureNonPowerOfTwo)) + { + compLogMessage (display, "core", CompLogLevelFatal, + "Support for non power of two textures missing"); + return FALSE; + } + + s->textureEnvCombine = s->textureEnvCrossbar = 0; + if (strstr (glExtensions, "GL_ARB_texture_env_combine")) + { + s->textureEnvCombine = 1; + + /* XXX: GL_NV_texture_env_combine4 need special code but it seams to + be working anyway for now... */ + if (strstr (glExtensions, "GL_ARB_texture_env_crossbar") || + strstr (glExtensions, "GL_NV_texture_env_combine4")) + s->textureEnvCrossbar = 1; + } + + s->textureBorderClamp = 0; + if (strstr (glExtensions, "GL_ARB_texture_border_clamp") || + strstr (glExtensions, "GL_SGIS_texture_border_clamp")) + s->textureBorderClamp = 1; + + s->maxTextureUnits = 1; + if (strstr (glExtensions, "GL_ARB_multitexture")) + { + s->activeTexture = (GLActiveTextureProc) + getProcAddress (s, "glActiveTexture"); + s->clientActiveTexture = (GLClientActiveTextureProc) + getProcAddress (s, "glClientActiveTexture"); + + if (s->activeTexture && s->clientActiveTexture) + glGetIntegerv (GL_MAX_TEXTURE_UNITS_ARB, &s->maxTextureUnits); + } + + s->fragmentProgram = 0; + if (strstr (glExtensions, "GL_ARB_fragment_program")) + { + s->genPrograms = (GLGenProgramsProc) + getProcAddress (s, "glGenProgramsARB"); + s->deletePrograms = (GLDeleteProgramsProc) + getProcAddress (s, "glDeleteProgramsARB"); + s->bindProgram = (GLBindProgramProc) + getProcAddress (s, "glBindProgramARB"); + s->programString = (GLProgramStringProc) + getProcAddress (s, "glProgramStringARB"); + s->programEnvParameter4f = (GLProgramParameter4fProc) + getProcAddress (s, "glProgramEnvParameter4fARB"); + s->programLocalParameter4f = (GLProgramParameter4fProc) + getProcAddress (s, "glProgramLocalParameter4fARB"); + + if (s->genPrograms && + s->deletePrograms && + s->bindProgram && + s->programString && + s->programEnvParameter4f && + s->programLocalParameter4f) + s->fragmentProgram = 1; + } + + s->fbo = 0; + if (strstr (glExtensions, "GL_EXT_framebuffer_object")) + { + s->genFramebuffers = (GLGenFramebuffersProc) + getProcAddress (s, "glGenFramebuffersEXT"); + s->deleteFramebuffers = (GLDeleteFramebuffersProc) + getProcAddress (s, "glDeleteFramebuffersEXT"); + s->bindFramebuffer = (GLBindFramebufferProc) + getProcAddress (s, "glBindFramebufferEXT"); + s->checkFramebufferStatus = (GLCheckFramebufferStatusProc) + getProcAddress (s, "glCheckFramebufferStatusEXT"); + s->framebufferTexture2D = (GLFramebufferTexture2DProc) + getProcAddress (s, "glFramebufferTexture2DEXT"); + s->generateMipmap = (GLGenerateMipmapProc) + getProcAddress (s, "glGenerateMipmapEXT"); + + if (s->genFramebuffers && + s->deleteFramebuffers && + s->bindFramebuffer && + s->checkFramebufferStatus && + s->framebufferTexture2D && + s->generateMipmap) + s->fbo = 1; + } + + fbConfigs = (*s->getFBConfigs) (dpy, + screenNum, + &nElements); + + for (i = 0; i <= MAX_DEPTH; i++) + { + int j, db, stencil, depth, alpha, mipmap, rgba; + + s->glxPixmapFBConfigs[i].fbConfig = NULL; + s->glxPixmapFBConfigs[i].mipmap = 0; + s->glxPixmapFBConfigs[i].yInverted = 0; + s->glxPixmapFBConfigs[i].textureFormat = 0; + s->glxPixmapFBConfigs[i].textureTargets = 0; + + db = MAXSHORT; + stencil = MAXSHORT; + depth = MAXSHORT; + mipmap = 0; + rgba = 0; + + for (j = 0; j < nElements; j++) + { + XVisualInfo *vi; + int visualDepth; + + vi = glXGetVisualFromFBConfig (dpy, fbConfigs[j]); + if (vi == NULL) + continue; + + visualDepth = vi->depth; + + XFree (vi); + + if (visualDepth != i) + continue; + + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_ALPHA_SIZE, + &alpha); + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_BUFFER_SIZE, + &value); + if (value != i && (value - alpha) != i) + continue; + + value = 0; + if (i == 32) + { + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_BIND_TO_TEXTURE_RGBA_EXT, + &value); + + if (value) + { + rgba = 1; + + s->glxPixmapFBConfigs[i].textureFormat = + GLX_TEXTURE_FORMAT_RGBA_EXT; + } + } + + if (!value) + { + if (rgba) + continue; + + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_BIND_TO_TEXTURE_RGB_EXT, + &value); + if (!value) + continue; + + s->glxPixmapFBConfigs[i].textureFormat = + GLX_TEXTURE_FORMAT_RGB_EXT; + } + + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_DOUBLEBUFFER, + &value); + if (value > db) + continue; + + db = value; + + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_STENCIL_SIZE, + &value); + if (value > stencil) + continue; + + stencil = value; + + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_DEPTH_SIZE, + &value); + if (value > depth) + continue; + + depth = value; + + if (s->fbo) + { + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_BIND_TO_MIPMAP_TEXTURE_EXT, + &value); + if (value < mipmap) + continue; + + mipmap = value; + } + + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_Y_INVERTED_EXT, + &value); + + s->glxPixmapFBConfigs[i].yInverted = value; + + (*s->getFBConfigAttrib) (dpy, + fbConfigs[j], + GLX_BIND_TO_TEXTURE_TARGETS_EXT, + &value); + + s->glxPixmapFBConfigs[i].textureTargets = value; + + s->glxPixmapFBConfigs[i].fbConfig = fbConfigs[j]; + s->glxPixmapFBConfigs[i].mipmap = mipmap; + } + } + + if (nElements) + XFree (fbConfigs); + + if (!s->glxPixmapFBConfigs[defaultDepth].fbConfig) + { + compLogMessage (display, "core", CompLogLevelFatal, + "No GLXFBConfig for default depth, " + "this isn't going to work."); + return FALSE; + } + + initTexture (s, &s->backgroundTexture); + s->backgroundLoaded = FALSE; + + s->defaultIcon = NULL; + + s->desktopWindowCount = 0; + + glClearColor (0.0, 0.0, 0.0, 1.0); + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + glEnable (GL_CULL_FACE); + glDisable (GL_BLEND); + glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + glColor4usv (defaultColor); + glEnableClientState (GL_VERTEX_ARRAY); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + + s->canDoSaturated = s->canDoSlightlySaturated = FALSE; + if (s->textureEnvCombine && s->maxTextureUnits >= 2) + { + s->canDoSaturated = TRUE; + if (s->textureEnvCrossbar && s->maxTextureUnits >= 4) + s->canDoSlightlySaturated = TRUE; + } + + s->redrawTime = 1000 / defaultRefreshRate; + s->optimalRedrawTime = s->redrawTime; + + reshape (s, s->attrib.width, s->attrib.height); + + detectRefreshRateOfScreen (s); + detectOutputDevices (s); + updateOutputDevices (s); + + glLightModelfv (GL_LIGHT_MODEL_AMBIENT, globalAmbient); + + glEnable (GL_LIGHT0); + glLightfv (GL_LIGHT0, GL_AMBIENT, ambientLight); + glLightfv (GL_LIGHT0, GL_DIFFUSE, diffuseLight); + glLightfv (GL_LIGHT0, GL_POSITION, light0Position); + + glColorMaterial (GL_FRONT, GL_AMBIENT_AND_DIFFUSE); + + glNormal3f (0.0f, 0.0f, -1.0f); + + s->lighting = FALSE; + s->slowAnimations = FALSE; + + addScreenToDisplay (display, s); + + getDesktopHints (s); + + screenInitPlugins (s); + + XQueryTree (dpy, s->root, + &rootReturn, &parentReturn, + &children, &nchildren); + + for (i = 0; i < nchildren; i++) + addWindow (s, children[i], i ? children[i - 1] : 0); + + for (w = s->windows; w; w = w->next) + { + if (w->attrib.map_state == IsViewable) + { + w->activeNum = s->activeNum++; + w->damaged = TRUE; + w->invisible = WINDOW_INVISIBLE (w); + } + } + + XFree (children); + + attrib.override_redirect = 1; + attrib.event_mask = PropertyChangeMask; + + s->grabWindow = XCreateWindow (dpy, s->root, -100, -100, 1, 1, 0, + CopyFromParent, InputOnly, CopyFromParent, + CWOverrideRedirect | CWEventMask, + &attrib); + XMapWindow (dpy, s->grabWindow); + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + { + long xdndVersion = 3; + + s->screenEdge[i].id = XCreateWindow (dpy, s->root, -100, -100, 1, 1, 0, + CopyFromParent, InputOnly, + CopyFromParent, CWOverrideRedirect, + &attrib); + + XChangeProperty (dpy, s->screenEdge[i].id, display->xdndAwareAtom, + XA_ATOM, 32, PropModeReplace, + (unsigned char *) &xdndVersion, 1); + + XSelectInput (dpy, s->screenEdge[i].id, + EnterWindowMask | + LeaveWindowMask | + ButtonPressMask | + ButtonReleaseMask | + PointerMotionMask); + } + + updateScreenEdges (s); + + //setDesktopHints (s); + setSupportingWmCheck (s); + //setSupported (s); + + s->normalCursor = XCreateFontCursor (dpy, XC_left_ptr); + s->busyCursor = XCreateFontCursor (dpy, XC_watch); + + // XDefineCursor (dpy, s->root, s->normalCursor); + + s->filter[NOTHING_TRANS_FILTER] = COMP_TEXTURE_FILTER_FAST; + s->filter[SCREEN_TRANS_FILTER] = COMP_TEXTURE_FILTER_GOOD; + s->filter[WINDOW_TRANS_FILTER] = COMP_TEXTURE_FILTER_GOOD; + + D(("addScreen - end\n")); + return TRUE; +} + +void +damageScreenRegion (CompScreen *screen, + Region region) +{ + if (screen->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK) + return; + + XUnionRegion (screen->damage, region, screen->damage); + + screen->damageMask |= COMP_SCREEN_DAMAGE_REGION_MASK; +} + +void +damageScreen (CompScreen *s) +{ + s->damageMask |= COMP_SCREEN_DAMAGE_ALL_MASK; + s->damageMask &= ~COMP_SCREEN_DAMAGE_REGION_MASK; +} + +void +damagePendingOnScreen (CompScreen *s) +{ + s->damageMask |= COMP_SCREEN_DAMAGE_PENDING_MASK; +} + +void +forEachWindowOnScreen (CompScreen *screen, + ForEachWindowProc proc, + void *closure) +{ + CompWindow *w; + + for (w = screen->windows; w; w = w->next) + (*proc) (w, closure); +} + +CompWindow * +findWindowAtScreen (CompScreen *s, + Window id) +{ + if (lastFoundWindow && lastFoundWindow->id == id) + { + return lastFoundWindow; + } + else + { + CompWindow *w; + + for (w = s->windows; w; w = w->next) + if (w->id == id) + return (lastFoundWindow = w); + } + + return 0; +} + +CompWindow * +findTopLevelWindowAtScreen (CompScreen *s, + Window id) +{ + CompWindow *w; + + w = findWindowAtScreen (s, id); + if (!w) + return NULL; + + return w; +} + +void +insertWindowIntoScreen (CompScreen *s, + CompWindow *w, + Window aboveId) +{ + CompWindow *p; + + if (s->windows) + { + if (!aboveId) + { + w->next = s->windows; + w->prev = NULL; + s->windows->prev = w; + s->windows = w; + } + else + { + for (p = s->windows; p; p = p->next) + { + if (p->id == aboveId) + { + if (p->next) + { + w->next = p->next; + w->prev = p; + p->next->prev = w; + p->next = w; + } + else + { + p->next = w; + w->next = NULL; + w->prev = p; + s->reverseWindows = w; + } + break; + } + } + +#ifdef DEBUG + if (!p) + abort (); +#endif + + } + } + else + { + s->reverseWindows = s->windows = w; + w->prev = w->next = NULL; + } +} + +void +unhookWindowFromScreen (CompScreen *s, + CompWindow *w) +{ + CompWindow *next, *prev; + + next = w->next; + prev = w->prev; + + if (next || prev) + { + if (next) + { + if (prev) + { + next->prev = prev; + } + else + { + s->windows = next; + next->prev = NULL; + } + } + + if (prev) + { + if (next) + { + prev->next = next; + } + else + { + s->reverseWindows = prev; + prev->next = NULL; + } + } + } + else + { + s->windows = s->reverseWindows = NULL; + } + + if (w == lastFoundWindow) + lastFoundWindow = NULL; + if (w == lastDamagedWindow) + lastDamagedWindow = NULL; +} + +#define POINTER_GRAB_MASK (ButtonReleaseMask | \ + ButtonPressMask | \ + PointerMotionMask) +int +pushScreenGrab (CompScreen *s, + Cursor cursor, + const char *name) +{ + C(("pushScreenGrab\n")); + + if (s->maxGrab == 0) + { + int status; + + status = XGrabPointer (s->display->display, s->grabWindow, TRUE, + POINTER_GRAB_MASK, + GrabModeAsync, GrabModeAsync, + s->root, cursor, + CurrentTime); + +#ifdef KEYBINDING + if (status == GrabSuccess) + { + + status = XGrabKeyboard (s->display->display, + s->grabWindow, TRUE, + GrabModeAsync, GrabModeAsync, + CurrentTime); + if (status != GrabSuccess) + { + XUngrabPointer (s->display->display, CurrentTime); + return 0; + } + } + else + { + return 0; + } +#endif + } + else + { + XChangeActivePointerGrab (s->display->display, POINTER_GRAB_MASK, + cursor, CurrentTime); + + } + + if (s->grabSize <= s->maxGrab) + { + s->grabs = realloc (s->grabs, sizeof (CompGrab) * (s->maxGrab + 1)); + if (!s->grabs) + return 0; + + s->grabSize = s->maxGrab + 1; + } + + s->grabs[s->maxGrab].cursor = cursor; + s->grabs[s->maxGrab].active = TRUE; + s->grabs[s->maxGrab].name = name; + + s->maxGrab++; + + return s->maxGrab; +} + +void +updateScreenGrab (CompScreen *s, + int index, + Cursor cursor) +{ + D(("updateScreenGrab\n")); + + index--; + +#ifdef DEBUG + if (index < 0 || index >= s->maxGrab) + abort (); +#endif + + XChangeActivePointerGrab (s->display->display, POINTER_GRAB_MASK, + cursor, CurrentTime); + + s->grabs[index].cursor = cursor; +} + +void +removeScreenGrab (CompScreen *s, + int index, + XPoint *restorePointer) +{ + D(("removeScreenGrab\n")); + + int maxGrab; + + index--; + +#ifdef DEBUG + if (index < 0 || index >= s->maxGrab) + abort (); +#endif + + s->grabs[index].cursor = None; + s->grabs[index].active = FALSE; + + for (maxGrab = s->maxGrab; maxGrab; maxGrab--) + if (s->grabs[maxGrab - 1].active) + break; + + if (maxGrab != s->maxGrab) + { + if (maxGrab) + { + XChangeActivePointerGrab (s->display->display, + POINTER_GRAB_MASK, + s->grabs[maxGrab - 1].cursor, + CurrentTime); + } + else + { + if (restorePointer) + warpPointer (s, + restorePointer->x - pointerX, + restorePointer->y - pointerY); + + XUngrabPointer (s->display->display, CurrentTime); +#ifdef KEYBINDING + XUngrabKeyboard (s->display->display, CurrentTime); +#endif + } + + s->maxGrab = maxGrab; + } +} + +/* otherScreenGrabExist takes a series of strings terminated by a NULL. + It returns TRUE if a grab exists but it is NOT held by one of the + plugins listed, returns FALSE otherwise. */ + +Bool +otherScreenGrabExist (CompScreen *s, ...) +{ + va_list ap; + char *name; + int i; + + for (i = 0; i < s->maxGrab; i++) + { + if (s->grabs[i].active) + { + va_start (ap, s); + + name = va_arg (ap, char *); + while (name) + { + if (strcmp (name, s->grabs[i].name) == 0) + break; + + name = va_arg (ap, char *); + } + + va_end (ap); + + if (!name) + return TRUE; + } + } + + return FALSE; +} +#ifdef KEYBINDING +static void +grabUngrabOneKey (CompScreen *s, + unsigned int modifiers, + int keycode, + Bool grab) +{ + if (grab) + { + XGrabKey (s->display->display, + keycode, + modifiers, + s->root, + TRUE, + GrabModeAsync, + GrabModeAsync); + } + else + { + XUngrabKey (s->display->display, + keycode, + modifiers, + s->root); + } +} + +static Bool +grabUngrabKeys (CompScreen *s, + unsigned int modifiers, + int keycode, + Bool grab) +{ + XModifierKeymap *modMap = s->display->modMap; + int ignore, mod, k; + + compCheckForError (s->display->display); + + for (ignore = 0; ignore <= s->display->ignoredModMask; ignore++) + { + if (ignore & ~s->display->ignoredModMask) + continue; + + if (keycode != 0) + { + grabUngrabOneKey (s, modifiers | ignore, keycode, grab); + } + else + { + for (mod = 0; mod < 8; mod++) + { + if (modifiers & (1 << mod)) + { + for (k = mod * modMap->max_keypermod; + k < (mod + 1) * modMap->max_keypermod; + k++) + { + if (modMap->modifiermap[k]) + { + grabUngrabOneKey ( + s, + (modifiers & ~(1 << mod)) | ignore, + modMap->modifiermap[k], + grab); + } + } + } + } + } + if (compCheckForError (s->display->display)) + return FALSE; + } + return TRUE; +} +#endif + +static Bool +addPassiveKeyGrab (CompScreen *s, + CompKeyBinding *key) +{ +#ifdef KEYBINDING + CompKeyGrab *keyGrab; + unsigned int mask; + int i; + + mask = virtualToRealModMask (s->display, key->modifiers); + + for (i = 0; i < s->nKeyGrab; i++) + { + if (key->keycode == s->keyGrab[i].keycode && + mask == s->keyGrab[i].modifiers) + { + s->keyGrab[i].count++; + return TRUE; + } + } + + keyGrab = realloc (s->keyGrab, sizeof (CompKeyGrab) * (s->nKeyGrab + 1)); + if (!keyGrab) + return FALSE; + + s->keyGrab = keyGrab; + + if (!(mask & CompNoMask)) + { + if (!grabUngrabKeys (s, mask, key->keycode, TRUE)) + return FALSE; + } + + s->keyGrab[s->nKeyGrab].keycode = key->keycode; + s->keyGrab[s->nKeyGrab].modifiers = mask; + s->keyGrab[s->nKeyGrab].count = 1; + + s->nKeyGrab++; +#endif + return TRUE; +} + +static void +removePassiveKeyGrab (CompScreen *s, + CompKeyBinding *key) +{ +#ifdef KEYBINDING + unsigned int mask; + int i; + + for (i = 0; i < s->nKeyGrab; i++) + { + mask = virtualToRealModMask (s->display, key->modifiers); + if (key->keycode == s->keyGrab[i].keycode && + mask == s->keyGrab[i].modifiers) + { + s->keyGrab[i].count--; + if (s->keyGrab[i].count) + return; + + memmove (s->keyGrab + i, s->keyGrab + i + 1, + (s->nKeyGrab - (i + 1)) * sizeof (CompKeyGrab)); + + s->nKeyGrab--; + s->keyGrab = realloc (s->keyGrab, + sizeof (CompKeyGrab) * s->nKeyGrab); + + if (!(mask & CompNoMask)) + grabUngrabKeys (s, mask, key->keycode, FALSE); + } + } +#endif +} + +static void +updatePassiveKeyGrabs (CompScreen *s) +{ +#ifdef KEYBINDING + int i; + + XUngrabKey (s->display->display, AnyKey, AnyModifier, s->root); + + for (i = 0; i < s->nKeyGrab; i++) + { + if (!(s->keyGrab[i].modifiers & CompNoMask)) + { + grabUngrabKeys (s, s->keyGrab[i].modifiers, + s->keyGrab[i].keycode, TRUE); + } + } +#endif +} + +static Bool +addPassiveButtonGrab (CompScreen *s, + CompButtonBinding *button) +{ +#ifdef KEYBINDING + CompButtonGrab *buttonGrab; + int i; + + for (i = 0; i < s->nButtonGrab; i++) + { + if (button->button == s->buttonGrab[i].button && + button->modifiers == s->buttonGrab[i].modifiers) + { + s->buttonGrab[i].count++; + return TRUE; + } + } + + buttonGrab = realloc (s->buttonGrab, + sizeof (CompButtonGrab) * (s->nButtonGrab + 1)); + if (!buttonGrab) + return FALSE; + + s->buttonGrab = buttonGrab; + + s->buttonGrab[s->nButtonGrab].button = button->button; + s->buttonGrab[s->nButtonGrab].modifiers = button->modifiers; + s->buttonGrab[s->nButtonGrab].count = 1; + + s->nButtonGrab++; +#endif + return TRUE; +} + +static void +removePassiveButtonGrab (CompScreen *s, + CompButtonBinding *button) +{ +#ifdef KEYBINDING + int i; + + for (i = 0; i < s->nButtonGrab; i++) + { + if (button->button == s->buttonGrab[i].button && + button->modifiers == s->buttonGrab[i].modifiers) + { + s->buttonGrab[i].count--; + if (s->buttonGrab[i].count) + return; + + memmove (s->buttonGrab + i, s->buttonGrab + i + 1, + (s->nButtonGrab - (i + 1)) * sizeof (CompButtonGrab)); + + s->nButtonGrab--; + s->buttonGrab = realloc (s->buttonGrab, + sizeof (CompButtonGrab) * s->nButtonGrab); + } + } +#endif +} + +Bool +addScreenAction (CompScreen *s, + CompAction *action) +{ + if (action->type & CompBindingTypeKey) + { + if (!addPassiveKeyGrab (s, &action->key)) + { + return FALSE; + } + } + + + if (action->type & CompBindingTypeButton) + { + if (!addPassiveButtonGrab (s, &action->button)) + { + if (action->type & CompBindingTypeKey) + removePassiveKeyGrab (s, &action->key); + + return FALSE; + } + } + + if (action->edgeMask) + { + int i; + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + if (action->edgeMask & (1 << i)) + enableScreenEdge (s, i); + } + return TRUE; +} + +void +removeScreenAction (CompScreen *s, + CompAction *action) +{ + if (action->type & CompBindingTypeKey) + removePassiveKeyGrab (s, &action->key); + + if (action->type & CompBindingTypeButton) + removePassiveButtonGrab (s, &action->button); + + if (action->edgeMask) + { + int i; + + for (i = 0; i < SCREEN_EDGE_NUM; i++) + if (action->edgeMask & (1 << i)) + disableScreenEdge (s, i); + } +} + +void +updatePassiveGrabs (CompScreen *s) +{ + updatePassiveKeyGrabs (s); +} + +static void +computeWorkareaForBox (CompScreen *s, + BoxPtr pBox, + XRectangle *area) +{ + CompWindow *w; + Region region; + REGION r; + int x1, y1, x2, y2; + + region = XCreateRegion (); + if (!region) + { + area->x = pBox->x1; + area->y = pBox->y1; + area->width = pBox->x1 - pBox->x1; + area->height = pBox->y2 - pBox->y1; + + return; + } + + r.rects = &r.extents; + r.numRects = r.size = 1; + r.extents = *pBox; + + XUnionRegion (&r, region, region); + + for (w = s->windows; w; w = w->next) + { + if (!w->mapNum) + continue; + + if (w->struts) + { + r.extents.y1 = pBox->y1; + r.extents.y2 = pBox->y2; + + x1 = w->struts->left.x; + y1 = w->struts->left.y; + x2 = x1 + w->struts->left.width; + y2 = y1 + w->struts->left.height; + + if (y1 < pBox->y2 && y2 > pBox->y1) + { + r.extents.x1 = x1; + r.extents.x2 = x2; + + XSubtractRegion (region, &r, region); + } + + x1 = w->struts->right.x; + y1 = w->struts->right.y; + x2 = x1 + w->struts->right.width; + y2 = y1 + w->struts->right.height; + + if (y1 < pBox->y2 && y2 > pBox->y1) + { + r.extents.x1 = x1; + r.extents.x2 = x2; + + XSubtractRegion (region, &r, region); + } + + r.extents.x1 = pBox->x1; + r.extents.x2 = pBox->x2; + + x1 = w->struts->top.x; + y1 = w->struts->top.y; + x2 = x1 + w->struts->top.width; + y2 = y1 + w->struts->top.height; + + if (x1 < pBox->x2 && x2 > pBox->x1) + { + r.extents.y1 = y1; + r.extents.y2 = y2; + + XSubtractRegion (region, &r, region); + } + + x1 = w->struts->bottom.x; + y1 = w->struts->bottom.y; + x2 = x1 + w->struts->bottom.width; + y2 = y1 + w->struts->bottom.height; + + if (x1 < pBox->x2 && x2 > pBox->x1) + { + r.extents.y1 = y1; + r.extents.y2 = y2; + + XSubtractRegion (region, &r, region); + } + } + } + + area->x = region->extents.x1; + area->y = region->extents.y1; + area->width = region->extents.x2 - region->extents.x1; + area->height = region->extents.y2 - region->extents.y1; + + XDestroyRegion (region); +} + +void +updateWorkareaForScreen (CompScreen *s) +{ + XRectangle workArea; + BoxRec box; + int i; + + for (i = 0; i < s->nOutputDev; i++) + computeWorkareaForBox (s, + &s->outputDev[i].region.extents, + &s->outputDev[i].workArea); + + box.x1 = 0; + box.y1 = 0; + box.x2 = s->width; + box.y2 = s->height; + + computeWorkareaForBox (s, &box, &workArea); + + if (memcmp (&workArea, &s->workArea, sizeof (XRectangle))) + { + s->workArea = workArea; + + setDesktopHints (s); + } +} + + +Window +getActiveWindow (CompDisplay *display, + Window root) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + Window w = None; + + result = XGetWindowProperty (display->display, root, + display->winActiveAtom, 0L, 1L, FALSE, + XA_WINDOW, &actual, &format, + &n, &left, &data); + + if (result == Success && n && data) + { + memcpy (&w, data, sizeof (Window)); + XFree (data); + } + + return w; +} + + +void +moveScreenViewport (CompScreen *s, + int tx, + int ty, + Bool sync) +{ + CompWindow *w; + int m, wx, wy, vWidth, vHeight; + + tx = s->x - tx; + tx = MOD (tx, s->hsize); + tx -= s->x; + + ty = s->y - ty; + ty = MOD (ty, s->vsize); + ty -= s->y; + + if (!tx && !ty) + return; + + s->x += tx; + s->y += ty; + + tx *= -s->width; + ty *= -s->height; + + vWidth = s->width * s->hsize; + vHeight = s->height * s->vsize; + + for (w = s->windows; w; w = w->next) + { + if (!w->clientId) + continue; + + if (w->type & (CompWindowTypeDesktopMask | CompWindowTypeDockMask)) + continue; + + if (w->state & CompWindowStateStickyMask) + continue; + + /* x */ + if (s->hsize == 1) + { + wx = tx; + } + else + { + m = w->attrib.x + tx; + if (m - w->input.left < s->width - vWidth) + wx = tx + vWidth; + else if (m + w->width + w->input.right > vWidth) + wx = tx - vWidth; + else + wx = tx; + } + + if (w->saveMask & CWX) + w->saveWc.x += wx; + + /* y */ + if (s->vsize == 1) + { + wy = ty; + } + else + { + m = w->attrib.y + ty; + if (m - w->input.top < s->height - vHeight) + wy = ty + vHeight; + else if (m + w->height + w->input.bottom > vHeight) + wy = ty - vHeight; + else + wy = ty; + } + + if (w->saveMask & CWY) + w->saveWc.y += wy; + + /* move */ + moveWindow (w, wx, wy, sync, TRUE); + + if (sync) + syncWindowPosition (w); + } + + if (sync) + { + setDesktopHints (s); + + setCurrentActiveWindowHistory (s, s->x, s->y); + + w = findWindowAtDisplay (s->display, s->display->activeWindow); + if (w) + { + int x, y; + + defaultViewportForWindow (w, &x, &y); + + /* add window to current history if it's default viewport is + still the current one. */ + if (s->x == x && s->y == y) + addToCurrentActiveWindowHistory (s, w->id); + } + } +} + +void +moveWindowToViewportPosition (CompWindow *w, + int x, + int y, + Bool sync) +{ + int tx, vWidth = w->screen->width * w->screen->hsize; + int ty, vHeight = w->screen->height * w->screen->vsize; + + if (w->screen->hsize != 1) + { + x += w->screen->x * w->screen->width; + x = MOD (x, vWidth); + x -= w->screen->x * w->screen->width; + } + + if (w->screen->vsize != 1) + { + y += w->screen->y * w->screen->height; + y = MOD (y, vHeight); + y -= w->screen->y * w->screen->height; + } + + tx = x - w->attrib.x; + ty = y - w->attrib.y; + + if (tx || ty) + { + int m, wx, wy; + + wx = tx; + wy = ty; + + if (w->screen->hsize != 1) + { + m = w->attrib.x + tx; + + if (m - w->output.left < w->screen->width - vWidth) + wx = tx + vWidth; + else if (m + w->width + w->output.right > vWidth) + wx = tx - vWidth; + } + + if (w->screen->vsize != 1) + { + m = w->attrib.y + ty; + + if (m - w->output.top < w->screen->height - vHeight) + wy = ty + vHeight; + else if (m + w->height + w->output.bottom > vHeight) + wy = ty - vHeight; + } + + if (w->saveMask & CWX) + w->saveWc.x += wx; + + if (w->saveMask & CWY) + w->saveWc.y += wy; + + moveWindow (w, wx, wy, sync, TRUE); + + if (sync) + syncWindowPosition (w); + } +} + +CompGroup * +addGroupToScreen (CompScreen *s, + Window id) +{ + CompGroup *group; + + group = malloc (sizeof (CompGroup)); + if (!group) + return NULL; + + group->next = s->groups; + group->refCnt = 1; + group->id = id; + + s->groups = group; + + return group; +} + +void +removeGroupFromScreen (CompScreen *s, + CompGroup *group) +{ + group->refCnt--; + if (group->refCnt) + return; + + if (group == s->groups) + { + s->groups = group->next; + } + else + { + CompGroup *g; + + for (g = s->groups; g; g = g->next) + { + if (g->next == group) + { + g->next = group->next; + break; + } + } + } + + free (group); +} + +CompGroup * +findGroupAtScreen (CompScreen *s, + Window id) +{ + CompGroup *g; + + for (g = s->groups; g; g = g->next) + if (g->id == id) + return g; + + return NULL; +} + +//void +//applyStartupProperties (CompScreen *screen, +// CompWindow *window) +//{ +// CompStartupSequence *s; +// const char *startupId = window->startupId; +// +// if (!startupId) +// { +// CompWindow *leader; +// +// leader = findWindowAtScreen (screen, window->clientLeader); +// if (leader) +// startupId = leader->startupId; +// +// if (!startupId) +// return; +// } +// +// for (s = screen->startupSequences; s; s = s->next) +// { +// const char *id; +// +// id = sn_startup_sequence_get_id (s->sequence); +// if (strcmp (id, startupId) == 0) +// break; +// } +// +// if (s) +// { +// int workspace; +// +// window->initialViewportX = s->viewportX; +// window->initialViewportY = s->viewportY; +// +// workspace = sn_startup_sequence_get_workspace (s->sequence); +// if (workspace >= 0) +// window->desktop = workspace; +// +// window->initialTimestamp = +// sn_startup_sequence_get_timestamp (s->sequence); +// window->initialTimestampSet = TRUE; +// } +//} + +void +sendWindowActivationRequest (CompScreen *s, + Window id) +{ + XEvent xev; + + xev.xclient.type = ClientMessage; + xev.xclient.display = s->display->display; + xev.xclient.format = 32; + + xev.xclient.message_type = s->display->winActiveAtom; + xev.xclient.window = id; + + xev.xclient.data.l[0] = 2; + xev.xclient.data.l[1] = 0; + xev.xclient.data.l[2] = 0; + xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = 0; + + XSendEvent (s->display->display, + s->root, + FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); +} + +void +screenTexEnvMode (CompScreen *s, + GLenum mode) +{ + if (s->lighting) + glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + else + glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, mode); +} + +void +screenLighting (CompScreen *s, + Bool lighting) +{ + if (s->lighting != lighting) + { + if (!s->opt[COMP_SCREEN_OPTION_LIGHTING].value.b) + lighting = FALSE; + + if (lighting) + { + glEnable (GL_COLOR_MATERIAL); + glEnable (GL_LIGHTING); + } + else + { + glDisable (GL_COLOR_MATERIAL); + glDisable (GL_LIGHTING); + } + + s->lighting = lighting; + + screenTexEnvMode (s, GL_REPLACE); + } +} + +void +enableScreenEdge (CompScreen *s, + int edge) +{ + s->screenEdge[edge].count++; + if (s->screenEdge[edge].count == 1) + XMapRaised (s->display->display, s->screenEdge[edge].id); +} + +void +disableScreenEdge (CompScreen *s, + int edge) +{ + s->screenEdge[edge].count--; + if (s->screenEdge[edge].count == 0) + XUnmapWindow (s->display->display, s->screenEdge[edge].id); +} + +Window +getTopWindow (CompScreen *s) +{ + CompWindow *w; + + /* return first window that has not been destroyed */ + for (w = s->reverseWindows; w; w = w->prev) + { + if (w->id > 1) + return w->id; + } + + return None; +} + +void +makeScreenCurrent (CompScreen *s) +{ + if (currentRoot != s->root) + { + glXMakeCurrent (s->display->display, s->output, s->ctx); + currentRoot = s->root; + } + + s->pendingCommands = TRUE; +} + +void +finishScreenDrawing (CompScreen *s) +{ + if (s->pendingCommands) + { + makeScreenCurrent (s); + glFinish (); + + s->pendingCommands = FALSE; + } +} + +int +outputDeviceForPoint (CompScreen *s, + int x, + int y) +{ + int i, x1, y1, x2, y2; + + i = s->nOutputDev; + while (i--) + { + x1 = s->outputDev[i].region.extents.x1; + y1 = s->outputDev[i].region.extents.y1; + x2 = s->outputDev[i].region.extents.x2; + y2 = s->outputDev[i].region.extents.y2; + + if (x1 <= x && x2 > x && y1 <= y && y2 > y) + return i; + } + + return s->currentOutputDev; +} + +void +getCurrentOutputExtents (CompScreen *s, + int *x1, + int *y1, + int *x2, + int *y2) +{ + if (x1) + *x1 = s->outputDev[s->currentOutputDev].region.extents.x1; + + if (y1) + *y1 = s->outputDev[s->currentOutputDev].region.extents.y1; + + if (x2) + *x2 = s->outputDev[s->currentOutputDev].region.extents.x2; + + if (y2) + *y2 = s->outputDev[s->currentOutputDev].region.extents.y2; +} + +void +setNumberOfDesktops (CompScreen *s, + unsigned int nDesktop) +{ + CompWindow *w; + + if (nDesktop < 1 || nDesktop >= 0xffffffff) + return; + + if (nDesktop == s->nDesktop) + return; + + if (s->currentDesktop >= nDesktop) + s->currentDesktop = nDesktop - 1; + + for (w = s->windows; w; w = w->next) + { + if (w->desktop == 0xffffffff) + continue; + + //if (w->desktop >= nDesktop) + // setDesktopForWindow (w, nDesktop - 1); + } + + s->nDesktop = nDesktop; + + setDesktopHints (s); +} +/* +void +setCurrentDesktop (CompScreen *s, + unsigned int desktop) +{ + unsigned long data; + CompWindow *w; + + if (desktop >= s->nDesktop) + return; + + if (desktop == s->currentDesktop) + return; + + s->currentDesktop = desktop; + + for (w = s->windows; w; w = w->next) + { + if (w->desktop == 0xffffffff) + continue; + + if (w->desktop == desktop) + showWindow (w); + else + hideWindow (w); + } + + data = desktop; + + XChangeProperty (s->display->display, s->root, + s->display->currentDesktopAtom, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &data, 1); +} +*/ +void +getWorkareaForOutput (CompScreen *s, + int output, + XRectangle *area) +{ + *area = s->outputDev[output].workArea; +} + +void +setDefaultViewport (CompScreen *s) +{ + s->lastViewport.x = s->outputDev->region.extents.x1; + s->lastViewport.y = s->height - s->outputDev->region.extents.y2; + s->lastViewport.width = s->outputDev->width; + s->lastViewport.height = s->outputDev->height; + + glViewport (s->lastViewport.x, + s->lastViewport.y, + s->lastViewport.width, + s->lastViewport.height); +} + +void +outputChangeNotify (CompScreen *s) +{ +} + +void +clearScreenOutput (CompScreen *s, + CompOutput *output, + unsigned int mask) +{ + BoxPtr pBox = &output->region.extents; + + if (pBox->x1 != 0 || + pBox->y1 != 0 || + pBox->x2 != s->width || + pBox->y2 != s->height) + { + glPushAttrib (GL_SCISSOR_BIT); + + glEnable (GL_SCISSOR_TEST); + glScissor (pBox->x1, + s->height - pBox->y2, + pBox->x2 - pBox->x1, + pBox->y2 - pBox->y1); + glClear (mask); + + glPopAttrib (); + } + else + { + glClear (mask); + } +} + +/* Returns default viewport for some window geometry. If the window spans + more than one viewport the most appropriate viewport is returned. How the + most appropriate viewport is computed can be made optional if necessary. It + is currently computed as the viewport where the center of the window is + located, except for when the window is visible in the current viewport as + the current viewport is then always returned. */ +void +viewportForGeometry (CompScreen *s, + int x, + int y, + int width, + int height, + int borderWidth, + int *viewportX, + int *viewportY) +{ + int centerX; + int centerY; + + width += borderWidth * 2; + height += borderWidth * 2; + + if ((x < s->width && x + width > 0) && + (y < s->height && y + height > 0)) + { + if (viewportX) + *viewportX = s->x; + + if (viewportY) + *viewportY = s->y; + + return; + } + + if (viewportX) + { + centerX = x + (width >> 1); + if (centerX < 0) + *viewportX = s->x + ((centerX / s->width) - 1) % s->hsize; + else + *viewportX = s->x + (centerX / s->width) % s->hsize; + } + + if (viewportY) + { + centerY = y + (height >> 1); + if (centerY < 0) + *viewportY = s->y + ((centerY / s->height) - 1) % s->vsize; + else + *viewportY = s->y + (centerY / s->height) % s->vsize; + } +} + +int +outputDeviceForGeometry (CompScreen *s, + int x, + int y, + int width, + int height, + int borderWidth) +{ + int output = s->currentOutputDev; + int x1, y1, x2, y2; + + width += borderWidth * 2; + height += borderWidth * 2; + + x1 = s->outputDev[output].region.extents.x1; + y1 = s->outputDev[output].region.extents.y1; + x2 = s->outputDev[output].region.extents.x2; + y2 = s->outputDev[output].region.extents.y2; + + if (x1 >= x + width || + y1 >= y + height || + x2 <= x || + y2 <= y) + { + output = outputDeviceForPoint (s, x + width / 2, y + height / 2); + } + + return output; +} + +Bool +updateDefaultIcon (CompScreen *screen) +{ + CompIcon *icon; + char *file = screen->opt[COMP_SCREEN_OPTION_DEFAULT_ICON].value.s; + void *data; + int width, height; + + if (screen->defaultIcon) + { + finiTexture (screen, &screen->defaultIcon->texture); + free (screen->defaultIcon); + screen->defaultIcon = NULL; + } + + if (!readImageFromFile (screen->display, file, &width, &height, &data)) + return FALSE; + + icon = malloc (sizeof (CompIcon) + width * height * sizeof (CARD32)); + if (!icon) + { + free (data); + return FALSE; + } + + initTexture (screen, &icon->texture); + + icon->width = width; + icon->height = height; + + memcpy (icon + 1, data, + width * height * sizeof (CARD32)); + + screen->defaultIcon = icon; + + free (data); + + return TRUE; +} + +CompCursor * +findCursorAtScreen (CompScreen *screen) +{ + return screen->cursors; +} + +CompCursorImage * +findCursorImageAtScreen (CompScreen *screen, + unsigned long serial) +{ + CompCursorImage *image; + + for (image = screen->cursorImages; image; image = image->next) + if (image->serial == serial) + return image; + + return NULL; +} + +void +setCurrentActiveWindowHistory (CompScreen *s, + int x, + int y) +{ + int i, min = 0; + + for (i = 0; i < ACTIVE_WINDOW_HISTORY_NUM; i++) + { + if (s->history[i].x == x && s->history[i].y == y) + { + s->currentHistory = i; + return; + } + } + + for (i = 1; i < ACTIVE_WINDOW_HISTORY_NUM; i++) + if (s->history[i].activeNum < s->history[min].activeNum) + min = i; + + s->currentHistory = min; + + s->history[min].activeNum = s->activeNum; + s->history[min].x = x; + s->history[min].y = y; + + memset (s->history[min].id, 0, sizeof (s->history[min].id)); +} + +void +addToCurrentActiveWindowHistory (CompScreen *s, + Window id) +{ + CompActiveWindowHistory *history = &s->history[s->currentHistory]; + Window tmp, next = id; + int i; + + /* walk and move history */ + for (i = 0; i < ACTIVE_WINDOW_HISTORY_SIZE; i++) + { + tmp = history->id[i]; + history->id[i] = next; + next = tmp; + + /* we're done when we find an old instance or an empty slot */ + if (tmp == id || tmp == None) + break; + } + + history->activeNum = s->activeNum; +} diff --git a/src/session.c b/src/session.c new file mode 100644 index 0000000..3cf7bf7 --- /dev/null +++ b/src/session.c @@ -0,0 +1,335 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Radek Doulik + */ + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define SM_DEBUG(x) + +static SmcConn smcConnection; +static CompWatchFdHandle iceWatchFdHandle; +static Bool connected = 0; +static Bool iceConnected = 0; +static char *smClientId; + +static void iceInit (void); + +static void +setStringListProperty (SmcConn connection, + const char *name, + const char **values, + int nValues) +{ + SmProp prop, *pProp; + int i; + + prop.name = (char *) name; + prop.type = SmLISTofARRAY8; + + prop.vals = malloc (nValues * sizeof (SmPropValue)); + if (!prop.vals) + return; + + for (i = 0; i < nValues; i++) + { + prop.vals[i].value = (char *) values[i]; + prop.vals[i].length = strlen (values[i]); + } + + prop.num_vals = nValues; + + pProp = ∝ + + SmcSetProperties (connection, 1, &pProp); + + free (prop.vals); +} + +static void +setCloneRestartCommands (SmcConn connection) +{ + setStringListProperty (connection, SmCloneCommand, + (const char **) programArgv, programArgc); + setStringListProperty (connection, SmRestartCommand, + (const char **) programArgv, programArgc); +} + +static void +setRestartStyle (SmcConn connection, char hint) +{ + SmProp prop, *pProp; + SmPropValue propVal; + + prop.name = SmRestartStyleHint; + prop.type = SmCARD8; + prop.num_vals = 1; + prop.vals = &propVal; + propVal.value = &hint; + propVal.length = 1; + + pProp = ∝ + + SmcSetProperties (connection, 1, &pProp); +} + +static void +saveYourselfGotProps (SmcConn connection, + SmPointer client_data, + int num_props, + SmProp **props) +{ + int p, i; + + for (p = 0; p < num_props; p++) + { + if (!strcmp (props[p]->name, SmRestartCommand)) + { + for (i = 0; i < props[p]->num_vals - 1; i++) + { + if (!strncmp (props[p]->vals[i].value, + "--sm-client-id", + props[p]->vals[i].length)) + { + SmPropValue oldVal = props[p]->vals[i + 1]; + + props[p]->vals[i + 1].value = smClientId; + props[p]->vals[i + 1].length = strlen (smClientId); + SmcSetProperties (connection, 1, &props[p]); + props[p]->vals[i + 1] = oldVal; + + goto out; + } + } + } + } + +out: + setRestartStyle (connection, SmRestartImmediately); + setCloneRestartCommands (connection); + + SmcSaveYourselfDone (connection, 1); +} + +static void +saveYourselfCallback (SmcConn connection, + SmPointer client_data, + int saveType, + Bool shutdown, + int interact_Style, + Bool fast) +{ + if (!SmcGetProperties (connection, saveYourselfGotProps, NULL)) + SmcSaveYourselfDone (connection, 1); +} + +static void +dieCallback (SmcConn connection, + SmPointer clientData) +{ + closeSession (); + exit (0); +} + +static void +saveCompleteCallback (SmcConn connection, + SmPointer clientData) +{ +} + +static void +shutdownCancelledCallback (SmcConn connection, + SmPointer clientData) +{ +} + +void +initSession (char *smPrevClientId) +{ + static SmcCallbacks callbacks; + + if (getenv ("SESSION_MANAGER")) + { + char errorBuffer[1024]; + + iceInit (); + + callbacks.save_yourself.callback = saveYourselfCallback; + callbacks.save_yourself.client_data = NULL; + + callbacks.die.callback = dieCallback; + callbacks.die.client_data = NULL; + + callbacks.save_complete.callback = saveCompleteCallback; + callbacks.save_complete.client_data = NULL; + + callbacks.shutdown_cancelled.callback = shutdownCancelledCallback; + callbacks.shutdown_cancelled.client_data = NULL; + + smcConnection = SmcOpenConnection (NULL, + NULL, + SmProtoMajor, + SmProtoMinor, + SmcSaveYourselfProcMask | + SmcDieProcMask | + SmcSaveCompleteProcMask | + SmcShutdownCancelledProcMask, + &callbacks, + smPrevClientId, + &smClientId, + sizeof (errorBuffer), + errorBuffer); + if (!smcConnection) + compLogMessage (NULL, "core", CompLogLevelWarn, + "SmcOpenConnection failed: %s", + errorBuffer); + else + connected = TRUE; + } +} + +void +closeSession (void) +{ + if (connected) + { + setRestartStyle (smcConnection, SmRestartIfRunning); + + if (SmcCloseConnection (smcConnection, 0, NULL) != SmcConnectionInUse) + connected = FALSE; + if (smClientId) { + free (smClientId); + smClientId = NULL; + } + } +} + +/* ice connection handling taken and updated from gnome-ice.c + * original gnome-ice.c code written by Tom Tromey + */ + +/* This is called when data is available on an ICE connection. */ +static Bool +iceProcessMessages (void *data) +{ + IceConn connection = (IceConn) data; + IceProcessMessagesStatus status; + + SM_DEBUG (printf ("ICE connection process messages\n")); + + status = IceProcessMessages (connection, NULL, NULL); + + if (status == IceProcessMessagesIOError) + { + SM_DEBUG (printf ("ICE connection process messages" + " - error => shutting down the connection\n")); + + IceSetShutdownNegotiation (connection, False); + IceCloseConnection (connection); + } + + return 1; +} + +/* This is called when a new ICE connection is made. It arranges for + the ICE connection to be handled via the event loop. */ +static void +iceNewConnection (IceConn connection, + IcePointer clientData, + Bool opening, + IcePointer *watchData) +{ + if (opening) + { + SM_DEBUG (printf ("ICE connection opening\n")); + + /* Make sure we don't pass on these file descriptors to any + exec'ed children */ + fcntl (IceConnectionNumber (connection), F_SETFD, + fcntl (IceConnectionNumber (connection), + F_GETFD,0) | FD_CLOEXEC); + + iceWatchFdHandle = compAddWatchFd (IceConnectionNumber (connection), + POLLIN | POLLPRI | POLLHUP | POLLERR, + iceProcessMessages, connection); + + iceConnected = 1; + } + else + { + SM_DEBUG (printf ("ICE connection closing\n")); + + if (iceConnected) + { + compRemoveWatchFd (iceWatchFdHandle); + + iceWatchFdHandle = 0; + iceConnected = 0; + } + } +} + +static IceIOErrorHandler oldIceHandler; + +static void +iceErrorHandler (IceConn connection) +{ + if (oldIceHandler) + (*oldIceHandler) (connection); +} + +/* We call any handler installed before (or after) iceInit but + avoid calling the default libICE handler which does an exit() */ +static void +iceInit (void) +{ + static Bool iceInitialized = 0; + + if (!iceInitialized) + { + IceIOErrorHandler defaultIceHandler; + + oldIceHandler = IceSetIOErrorHandler (NULL); + defaultIceHandler = IceSetIOErrorHandler (iceErrorHandler); + + if (oldIceHandler == defaultIceHandler) + oldIceHandler = NULL; + + IceAddConnectionWatch (iceNewConnection, NULL); + + iceInitialized = 1; + } +} diff --git a/src/texture.c b/src/texture.c new file mode 100644 index 0000000..45d87a2 --- /dev/null +++ b/src/texture.c @@ -0,0 +1,486 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +#include +#include +#include + +#include + +static CompMatrix _identity_matrix = { + 1.0f, 0.0f, + 0.0f, 1.0f, + 0.0f, 0.0f +}; + +void +initTexture (CompScreen *screen, + CompTexture *texture) +{ + texture->refCount = 1; + texture->name = 0; + texture->target = GL_TEXTURE_2D; + texture->pixmap = None; + texture->filter = GL_NEAREST; + texture->wrap = GL_CLAMP_TO_EDGE; + texture->matrix = _identity_matrix; + texture->oldMipmaps = TRUE; + texture->mipmap = FALSE; +} + +void +finiTexture (CompScreen *screen, + CompTexture *texture) +{ + if (texture->name) + { + makeScreenCurrent (screen); + releasePixmapFromTexture (screen, texture); + glDeleteTextures (1, &texture->name); + } +} + +CompTexture * +createTexture (CompScreen *screen) +{ + CompTexture *texture; + + texture = (CompTexture *) malloc (sizeof (CompTexture)); + if (!texture) + return NULL; + + initTexture (screen, texture); + + return texture; +} + +void +destroyTexture (CompScreen *screen, + CompTexture *texture) +{ + texture->refCount--; + if (texture->refCount) + return; + + finiTexture (screen, texture); + + free (texture); +} + +static Bool +imageToTexture (CompScreen *screen, + CompTexture *texture, + char *image, + unsigned int width, + unsigned int height, + GLenum format, + GLenum type) +{ + char *data; + int i; + + data = malloc (4 * width * height); + if (!data) + return FALSE; + + for (i = 0; i < height; i++) + memcpy (&data[i * width * 4], + &image[(height - i - 1) * width * 4], + width * 4); + + makeScreenCurrent (screen); + releasePixmapFromTexture (screen, texture); + + if (screen->textureNonPowerOfTwo || + (POWER_OF_TWO (width) && POWER_OF_TWO (height))) + { + texture->target = GL_TEXTURE_2D; + texture->matrix.xx = 1.0f / width; + texture->matrix.yy = -1.0f / height; + texture->matrix.y0 = 1.0f; + } + else + { + texture->target = GL_TEXTURE_RECTANGLE_NV; + texture->matrix.xx = 1.0f; + texture->matrix.yy = -1.0f; + texture->matrix.y0 = height; + } + + if (!texture->name) + glGenTextures (1, &texture->name); + + glBindTexture (texture->target, texture->name); + + glTexImage2D (texture->target, 0, GL_RGBA, width, height, 0, + format, type, data); + + texture->filter = GL_NEAREST; + + glTexParameteri (texture->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri (texture->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + + glTexParameteri (texture->target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri (texture->target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + texture->wrap = GL_CLAMP_TO_EDGE; + texture->mipmap = TRUE; + + glBindTexture (texture->target, 0); + + free (data); + + return TRUE; +} + +Bool +imageBufferToTexture (CompScreen *screen, + CompTexture *texture, + char *image, + unsigned int width, + unsigned int height) +{ +#if IMAGE_BYTE_ORDER == MSBFirst + return imageToTexture (screen, texture, image, width, height, + GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV); +#else + return imageToTexture (screen, texture, image, width, height, + GL_BGRA, GL_UNSIGNED_BYTE); +#endif +} + +Bool +imageDataToTexture (CompScreen *screen, + CompTexture *texture, + char *image, + unsigned int width, + unsigned int height, + GLenum format, + GLenum type) +{ + return imageToTexture (screen, texture, image, width, height, format, type); +} + + +Bool +readImageToTexture (CompScreen *screen, + CompTexture *texture, + const char *imageFileName, + unsigned int *returnWidth, + unsigned int *returnHeight) +{ + void *image; + int width, height; + Bool status; + + if (!readImageFromFile (screen->display, imageFileName, + &width, &height, &image)) + return FALSE; + + status = imageBufferToTexture (screen, texture, image, width, height); + + free (image); + + if (returnWidth) + *returnWidth = width; + if (returnHeight) + *returnHeight = height; + + return status; +} + +Bool +iconToTexture (CompScreen *screen, + CompIcon *icon) +{ + return imageBufferToTexture (screen, &icon->texture, + (char *) (icon + 1), + icon->width, + icon->height); +} + +Bool +bindPixmapToTexture (CompScreen *screen, + CompTexture *texture, + Pixmap pixmap, + int width, + int height, + int depth) +{ + unsigned int target = 0; + CompFBConfig *config = &screen->glxPixmapFBConfigs[depth]; + int attribs[7], i = 0; + + if (!config->fbConfig) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "No GLXFBConfig for depth %d", + depth); + + return FALSE; + } + + attribs[i++] = GLX_TEXTURE_FORMAT_EXT; + attribs[i++] = config->textureFormat; + attribs[i++] = GLX_MIPMAP_TEXTURE_EXT; + attribs[i++] = config->mipmap; + + /* If only one two-dimensional texture target is supported, + then use that target and avoid a possible round trip in + glXQueryDrawable. Allow the server to choose texture target + when it supports more than one for this fbconfig. */ + if (!(config->textureTargets & GLX_TEXTURE_2D_BIT_EXT)) + target = GLX_TEXTURE_RECTANGLE_EXT; + else if (!(config->textureTargets & GLX_TEXTURE_RECTANGLE_BIT_EXT)) + target = GLX_TEXTURE_2D_EXT; + + if (target) + { + attribs[i++] = GLX_TEXTURE_TARGET_EXT; + attribs[i++] = target; + } + + attribs[i++] = None; + + makeScreenCurrent (screen); + texture->pixmap = (*screen->createPixmap) (screen->display->display, + config->fbConfig, pixmap, + attribs); + if (!texture->pixmap) + { + compLogMessage (NULL, "core", CompLogLevelWarn, + "glXCreatePixmap failed"); + + return FALSE; + } + + texture->mipmap = config->mipmap; + + if (!target) + (*screen->queryDrawable) (screen->display->display, + texture->pixmap, + GLX_TEXTURE_TARGET_EXT, + &target); + + switch (target) { + case GLX_TEXTURE_2D_EXT: + texture->target = GL_TEXTURE_2D; + + texture->matrix.xx = 1.0f / width; + if (config->yInverted) + { + texture->matrix.yy = 1.0f / height; + texture->matrix.y0 = 0.0f; + } + else + { + texture->matrix.yy = -1.0f / height; + texture->matrix.y0 = 1.0f; + } + break; + case GLX_TEXTURE_RECTANGLE_EXT: + texture->target = GL_TEXTURE_RECTANGLE_ARB; + + texture->matrix.xx = 1.0f; + if (config->yInverted) + { + texture->matrix.yy = 1.0f; + texture->matrix.y0 = 0; + } + else + { + texture->matrix.yy = -1.0f; + texture->matrix.y0 = height; + } + break; + default: + compLogMessage (NULL, "core", CompLogLevelWarn, + "pixmap 0x%x can't be bound to texture", + (int) pixmap); + + glXDestroyGLXPixmap (screen->display->display, texture->pixmap); + texture->pixmap = None; + + return FALSE; + } + + if (!texture->name) + glGenTextures (1, &texture->name); + + glBindTexture (texture->target, texture->name); + + if (!strictBinding) + { + (*screen->bindTexImage) (screen->display->display, + texture->pixmap, + GLX_FRONT_LEFT_EXT, + NULL); + } + + texture->filter = GL_NEAREST; + + glTexParameteri (texture->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri (texture->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + + glTexParameteri (texture->target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri (texture->target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + texture->wrap = GL_CLAMP_TO_EDGE; + + glBindTexture (texture->target, 0); + + return TRUE; +} + +void +releasePixmapFromTexture (CompScreen *screen, + CompTexture *texture) +{ + if (texture->pixmap) + { + makeScreenCurrent (screen); + glEnable (texture->target); + if (!strictBinding) + { + glBindTexture (texture->target, texture->name); + + (*screen->releaseTexImage) (screen->display->display, + texture->pixmap, + GLX_FRONT_LEFT_EXT); + } + + glBindTexture (texture->target, 0); + glDisable (texture->target); + + glXDestroyGLXPixmap (screen->display->display, texture->pixmap); + + texture->pixmap = None; + } +} + +void +enableTexture (CompScreen *screen, + CompTexture *texture, + CompTextureFilter filter) +{ + makeScreenCurrent (screen); + glEnable (texture->target); + glBindTexture (texture->target, texture->name); + + if (strictBinding && texture->pixmap) + { + (*screen->bindTexImage) (screen->display->display, + texture->pixmap, + GLX_FRONT_LEFT_EXT, + NULL); + } + + if (filter == COMP_TEXTURE_FILTER_FAST) + { + if (texture->filter != GL_NEAREST) + { + glTexParameteri (texture->target, + GL_TEXTURE_MIN_FILTER, + GL_NEAREST); + glTexParameteri (texture->target, + GL_TEXTURE_MAG_FILTER, + GL_NEAREST); + + texture->filter = GL_NEAREST; + } + } + else if (texture->filter != screen->display->textureFilter) + { + if (screen->display->textureFilter == GL_LINEAR_MIPMAP_LINEAR) + { + if (screen->textureNonPowerOfTwo && screen->fbo && texture->mipmap) + { + glTexParameteri (texture->target, + GL_TEXTURE_MIN_FILTER, + GL_LINEAR_MIPMAP_LINEAR); + + if (texture->filter != GL_LINEAR) + glTexParameteri (texture->target, + GL_TEXTURE_MAG_FILTER, + GL_LINEAR); + + texture->filter = GL_LINEAR_MIPMAP_LINEAR; + } + else if (texture->filter != GL_LINEAR) + { + glTexParameteri (texture->target, + GL_TEXTURE_MIN_FILTER, + GL_LINEAR); + glTexParameteri (texture->target, + GL_TEXTURE_MAG_FILTER, + GL_LINEAR); + + texture->filter = GL_LINEAR; + } + } + else + { + glTexParameteri (texture->target, + GL_TEXTURE_MIN_FILTER, + screen->display->textureFilter); + glTexParameteri (texture->target, + GL_TEXTURE_MAG_FILTER, + screen->display->textureFilter); + + texture->filter = screen->display->textureFilter; + } + } + + if (texture->filter == GL_LINEAR_MIPMAP_LINEAR) + { + if (texture->oldMipmaps) + { + (*screen->generateMipmap) (texture->target); + texture->oldMipmaps = FALSE; + } + } +} + +void +disableTexture (CompScreen *screen, + CompTexture *texture) +{ + makeScreenCurrent (screen); + if (strictBinding && texture->pixmap) + { + glBindTexture (texture->target, texture->name); + + (*screen->releaseTexImage) (screen->display->display, + texture->pixmap, + GLX_FRONT_LEFT_EXT); + } + + glBindTexture (texture->target, 0); + glDisable (texture->target); +} diff --git a/src/window.c b/src/window.c new file mode 100644 index 0000000..c6d9cec --- /dev/null +++ b/src/window.c @@ -0,0 +1,2775 @@ +/* + * Copyright © 2005 Novell, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of + * Novell, Inc. not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior permission. + * Novell, Inc. makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: David Reveman + */ + +#define A(x) do { printf(__FILE__ ":%d:\t", __LINE__); printf x; fflush(stdout); } while(0) +#define D(x) +#define B(x) +#define C(x) +#define E(x) + + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#define MwmHintsFunctions (1L << 0) +#define MwmHintsDecorations (1L << 1) + +#define PropMotifWmHintElements 3 + +typedef struct { + unsigned long flags; + unsigned long functions; + unsigned long decorations; +} MwmHints; + +static int +reallocWindowPrivates (int size, + void *closure) +{ + CompScreen *s = (CompScreen *) closure; + CompWindow *w; + void *privates; + + for (w = s->windows; w; w = w->next) + { + privates = realloc (w->privates, size * sizeof (CompPrivate)); + if (!privates) + return FALSE; + + w->privates = (CompPrivate *) privates; + } + + return TRUE; +} + +int +allocateWindowPrivateIndex (CompScreen *screen) +{ + return allocatePrivateIndex (&screen->windowPrivateLen, + &screen->windowPrivateIndices, + reallocWindowPrivates, + (void *) screen); +} + +void +freeWindowPrivateIndex (CompScreen *screen, + int index) +{ + freePrivateIndex (screen->windowPrivateLen, + screen->windowPrivateIndices, + index); +} + +void +updateWindowClassHints (CompWindow *w) +{ + XClassHint classHint; + int status; + + if (w->resName) + { + free (w->resName); + w->resName = NULL; + } + + if (w->resClass) + { + free (w->resClass); + w->resClass = NULL; + } + + if(w->clientId) + status = XGetClassHint (w->screen->display->display, w->clientId, &classHint); + else + status = XGetClassHint (w->screen->display->display, w->id, &classHint); + + if (status) + { + if (classHint.res_name) + { + w->resName = strdup (classHint.res_name); + XFree (classHint.res_name); + } + + if (classHint.res_class) + { + w->resClass = strdup (classHint.res_class); + XFree (classHint.res_class); + } + + if (((w->wmType == CompWindowTypeNormalMask) || + (w->wmType == CompWindowTypeUnknownMask) || + (w->wmType == CompWindowTypeUtilMask)) && + (!w->clientId)) + { + if ((!strcasecmp (w->resName, "gecko")) || + (!strcasecmp (w->resName, "popup")) || + (!strcasecmp (w->resName, "VCLSalFrame"))) + { + w->wmType = CompWindowTypeDropdownMenuMask; + } + } + else if ((!strcmp (w->resName, "sun-awt-X11-XMenuWindow")) || + (!strcmp (w->resName, "sun-awt-X11-XWindowPeer"))) + { + w->wmType = CompWindowTypeDropdownMenuMask; + } + else if (!strcmp (w->resName, "sun-awt-X11-XDialogPeer")) + { + w->wmType = CompWindowTypeDialogMask; + } + else if (!strcmp (w->resName, "sun-awt-X11-XFramePeer")) + { + w->wmType = CompWindowTypeNormalMask; + } + } +} + + +int +getWmState (CompDisplay *display, + Window id) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + unsigned long state = NormalState; + + result = XGetWindowProperty (display->display, id, + display->wmStateAtom, 0L, 2L, FALSE, + display->wmStateAtom, &actual, &format, + &n, &left, &data); + + if (result == Success && n && data) + { + memcpy (&state, data, sizeof (unsigned long)); + XFree ((void *) data); + } + + return state; +} + + +unsigned int +windowStateMask (CompDisplay *display, + Atom state) +{ + if (state == display->winStateModalAtom) + return CompWindowStateModalMask; + else if (state == display->winStateStickyAtom) + return CompWindowStateStickyMask; + else if (state == display->winStateMaximizedVertAtom) + return CompWindowStateMaximizedVertMask; + else if (state == display->winStateMaximizedHorzAtom) + return CompWindowStateMaximizedHorzMask; + else if (state == display->winStateShadedAtom) + return CompWindowStateShadedMask; + else if (state == display->winStateSkipTaskbarAtom) + return CompWindowStateSkipTaskbarMask; + else if (state == display->winStateSkipPagerAtom) + return CompWindowStateSkipPagerMask; + else if (state == display->winStateHiddenAtom) + return CompWindowStateHiddenMask; + else if (state == display->winStateFullscreenAtom) + return CompWindowStateFullscreenMask; + else if (state == display->winStateAboveAtom) + return CompWindowStateAboveMask; + else if (state == display->winStateBelowAtom) + return CompWindowStateBelowMask; + else if (state == display->winStateDemandsAttentionAtom) + return CompWindowStateDemandsAttentionMask; + else if (state == display->winStateDisplayModalAtom) + return CompWindowStateDisplayModalMask; + + return 0; +} + +unsigned int +windowStateFromString (const char *str) +{ + if (strcasecmp (str, "modal") == 0) + return CompWindowStateModalMask; + else if (strcasecmp (str, "sticky") == 0) + return CompWindowStateStickyMask; + else if (strcasecmp (str, "maxvert") == 0) + return CompWindowStateMaximizedVertMask; + else if (strcasecmp (str, "maxhorz") == 0) + return CompWindowStateMaximizedHorzMask; + else if (strcasecmp (str, "shaded") == 0) + return CompWindowStateShadedMask; + else if (strcasecmp (str, "skiptaskbar") == 0) + return CompWindowStateSkipTaskbarMask; + else if (strcasecmp (str, "skippager") == 0) + return CompWindowStateSkipPagerMask; + else if (strcasecmp (str, "hidden") == 0) + return CompWindowStateHiddenMask; + else if (strcasecmp (str, "fullscreen") == 0) + return CompWindowStateFullscreenMask; + else if (strcasecmp (str, "above") == 0) + return CompWindowStateAboveMask; + else if (strcasecmp (str, "below") == 0) + return CompWindowStateBelowMask; + else if (strcasecmp (str, "demandsattention") == 0) + return CompWindowStateDemandsAttentionMask; + + return 0; +} + +unsigned int +getWindowState (CompDisplay *display, + Window id) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + unsigned int state = 0; + + result = XGetWindowProperty (display->display, id, display->winStateAtom, + 0L, 1024L, FALSE, XA_ATOM, &actual, &format, + &n, &left, &data); + + if (result == Success && n && data) + { + Atom *a = (Atom *) data; + + while (n--) + state |= windowStateMask (display, *a++); + + XFree ((void *) data); + } + + return state; +} + +void +setWindowState (CompDisplay *display, + unsigned int state, + Window id) +{ + Atom data[32]; + int i = 0; + + if (state & CompWindowStateModalMask) + data[i++] = display->winStateModalAtom; + if (state & CompWindowStateStickyMask) + data[i++] = display->winStateStickyAtom; + if (state & CompWindowStateMaximizedVertMask) + data[i++] = display->winStateMaximizedVertAtom; + if (state & CompWindowStateMaximizedHorzMask) + data[i++] = display->winStateMaximizedHorzAtom; + if (state & CompWindowStateShadedMask) + data[i++] = display->winStateShadedAtom; + if (state & CompWindowStateSkipTaskbarMask) + data[i++] = display->winStateSkipTaskbarAtom; + if (state & CompWindowStateSkipPagerMask) + data[i++] = display->winStateSkipPagerAtom; + if (state & CompWindowStateHiddenMask) + data[i++] = display->winStateHiddenAtom; + if (state & CompWindowStateFullscreenMask) + data[i++] = display->winStateFullscreenAtom; + if (state & CompWindowStateAboveMask) + data[i++] = display->winStateAboveAtom; + if (state & CompWindowStateBelowMask) + data[i++] = display->winStateBelowAtom; + if (state & CompWindowStateDemandsAttentionMask) + data[i++] = display->winStateDemandsAttentionAtom; + if (state & CompWindowStateDisplayModalMask) + data[i++] = display->winStateDisplayModalAtom; + + XChangeProperty (display->display, id, display->winStateAtom, + XA_ATOM, 32, PropModeReplace, + (unsigned char *) data, i); +} + +void +changeWindowState (CompWindow *w, + unsigned int newState) +{ + CompDisplay *d = w->screen->display; + unsigned int oldState = w->state; + + w->state = newState; + + // setWindowState (d, w->state, w->id); + + (*w->screen->windowStateChangeNotify) (w, oldState); + + (*d->matchPropertyChanged) (d, w); +} + +/* FIXME where is this used ? */ +void +getAllowedActionsForWindow (CompWindow *w, + unsigned int *setActions, + unsigned int *clearActions) +{ + *setActions = 0; + *clearActions = 0; +} + +unsigned int +constrainWindowState (unsigned int state, + unsigned int actions) +{ + if (!(actions & CompWindowActionMaximizeHorzMask)) + state &= ~CompWindowStateMaximizedHorzMask; + + if (!(actions & CompWindowActionMaximizeVertMask)) + state &= ~CompWindowStateMaximizedVertMask; + + if (!(actions & CompWindowActionShadeMask)) + state &= ~CompWindowStateShadedMask; + + if (!(actions & CompWindowActionFullscreenMask)) + state &= ~CompWindowStateFullscreenMask; + + return state; +} + +unsigned int +windowTypeFromString (const char *str) +{ + if (strcasecmp (str, "desktop") == 0) + return CompWindowTypeDesktopMask; + else if (strcasecmp (str, "dock") == 0) + return CompWindowTypeDockMask; + else if (strcasecmp (str, "toolbar") == 0) + return CompWindowTypeToolbarMask; + else if (strcasecmp (str, "menu") == 0) + return CompWindowTypeMenuMask; + else if (strcasecmp (str, "utility") == 0) + return CompWindowTypeUtilMask; + else if (strcasecmp (str, "splash") == 0) + return CompWindowTypeSplashMask; + else if (strcasecmp (str, "dialog") == 0) + return CompWindowTypeDialogMask; + else if (strcasecmp (str, "normal") == 0) + return CompWindowTypeNormalMask; + else if (strcasecmp (str, "dropdownmenu") == 0) + return CompWindowTypeDropdownMenuMask; + else if (strcasecmp (str, "popupmenu") == 0) + return CompWindowTypePopupMenuMask; + else if (strcasecmp (str, "tooltip") == 0) + return CompWindowTypeTooltipMask; + else if (strcasecmp (str, "notification") == 0) + return CompWindowTypeNotificationMask; + else if (strcasecmp (str, "combo") == 0) + return CompWindowTypeComboMask; + else if (strcasecmp (str, "dnd") == 0) + return CompWindowTypeDndMask; + else if (strcasecmp (str, "modaldialog") == 0) + return CompWindowTypeModalDialogMask; + else if (strcasecmp (str, "fullscreen") == 0) + return CompWindowTypeFullscreenMask; + else if (strcasecmp (str, "unknown") == 0) + return CompWindowTypeUnknownMask; + else if (strcasecmp (str, "any") == 0) + return ~0; + + return 0; +} + +unsigned int +getWindowType (CompDisplay *display, + Window id) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + result = XGetWindowProperty (display->display, id, display->winTypeAtom, + 0L, 1L, FALSE, XA_ATOM, &actual, &format, + &n, &left, &data); + + if (result == Success && n && data) + { + Atom a; + + memcpy (&a, data, sizeof (Atom)); + XFree ((void *) data); + + if (a == display->winTypeNormalAtom) + return CompWindowTypeNormalMask; + else if (a == display->winTypeMenuAtom) + return CompWindowTypeMenuMask; + else if (a == display->winTypeDesktopAtom) + return CompWindowTypeDesktopMask; + else if (a == display->winTypeDockAtom) + return CompWindowTypeDockMask; + else if (a == display->winTypeToolbarAtom) + return CompWindowTypeToolbarMask; + else if (a == display->winTypeUtilAtom) + return CompWindowTypeUtilMask; + else if (a == display->winTypeSplashAtom) + return CompWindowTypeSplashMask; + else if (a == display->winTypeDialogAtom) + return CompWindowTypeDialogMask; + else if (a == display->winTypeDropdownMenuAtom) + return CompWindowTypeDropdownMenuMask; + else if (a == display->winTypePopupMenuAtom) + return CompWindowTypePopupMenuMask; + else if (a == display->winTypeTooltipAtom) + return CompWindowTypeTooltipMask; + else if (a == display->winTypeNotificationAtom) + return CompWindowTypeNotificationMask; + else if (a == display->winTypeComboAtom) + return CompWindowTypeComboMask; + else if (a == display->winTypeDndAtom) + return CompWindowTypeDndMask; + } + + return CompWindowTypeUnknownMask; +} + +void +recalcWindowType (CompWindow *w) +{ + unsigned int type; + + type = w->wmType; + + if (w->clientId && (w->wmType == CompWindowTypeUnknownMask)) + { + type = CompWindowTypeNormalMask; + } + else if (!w->clientId && (w->wmType == CompWindowTypeNormalMask)) + { + type = CompWindowTypeUnknownMask; + } + + + + if (w->state & CompWindowStateFullscreenMask) + type = CompWindowTypeFullscreenMask; + + w->type = type; +} + +void +getMwmHints (CompDisplay *display, + Window id, + unsigned int *func, + unsigned int *decor) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + *func = MwmFuncAll; + *decor = MwmDecorAll; + + result = XGetWindowProperty (display->display, id, display->mwmHintsAtom, + 0L, 20L, FALSE, display->mwmHintsAtom, + &actual, &format, &n, &left, &data); + + if (result == Success && n && data) + { + MwmHints *mwmHints = (MwmHints *) data; + + if (n >= PropMotifWmHintElements) + { + if (mwmHints->flags & MwmHintsDecorations) + *decor = mwmHints->decorations; + + if (mwmHints->flags & MwmHintsFunctions) + *func = mwmHints->functions; + } + + XFree (data); + } +} + +unsigned int +getProtocols (CompDisplay *display, + Window id) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + unsigned int protocols = 0; + + result = XGetWindowProperty (display->display, id, display->wmProtocolsAtom, + 0L, 20L, FALSE, XA_ATOM, + &actual, &format, &n, &left, &data); + + if (result == Success && n && data) + { + Atom *protocol = (Atom *) data; + int i; + + for (i = 0; i < n; i++) + { + if (protocol[i] == display->wmDeleteWindowAtom) + protocols |= CompWindowProtocolDeleteMask; + else if (protocol[i] == display->wmTakeFocusAtom) + protocols |= CompWindowProtocolTakeFocusMask; + // else if (protocol[i] == display->wmPingAtom) + // protocols |= CompWindowProtocolPingMask; + else if (protocol[i] == display->wmSyncRequestAtom) + protocols |= CompWindowProtocolSyncRequestMask; + } + + XFree (data); + } + + return protocols; +} + +unsigned int +getWindowProp (CompDisplay *display, + Window id, + Atom property, + unsigned int defaultValue) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + result = XGetWindowProperty (display->display, id, property, + 0L, 1L, FALSE, XA_CARDINAL, &actual, &format, + &n, &left, &data); + + if (result == Success && n && data) + { + unsigned long value; + + memcpy (&value, data, sizeof (unsigned long)); + + XFree (data); + + return (unsigned int) value; + } + + return defaultValue; +} + +void +setWindowProp (CompDisplay *display, + Window id, + Atom property, + unsigned int value) +{ + unsigned long data = value; + + XChangeProperty (display->display, id, property, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &data, 1); +} + +Bool +readWindowProp32 (CompDisplay *display, + Window id, + Atom property, + unsigned short *returnValue) +{ + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + result = XGetWindowProperty (display->display, id, property, + 0L, 1L, FALSE, XA_CARDINAL, &actual, &format, + &n, &left, &data); + + if (result == Success && n && data) + { + CARD32 value; + + memcpy (&value, data, sizeof (CARD32)); + + XFree (data); + + *returnValue = value >> 16; + + return TRUE; + } + + return FALSE; +} + +unsigned short +getWindowProp32 (CompDisplay *display, + Window id, + Atom property, + unsigned short defaultValue) +{ + unsigned short result; + + if (readWindowProp32 (display, id, property, &result)) + return result; + + return defaultValue; +} + +void +setWindowProp32 (CompDisplay *display, + Window id, + Atom property, + unsigned short value) +{ + CARD32 value32; + + value32 = value << 16 | value; + + XChangeProperty (display->display, id, property, + XA_CARDINAL, 32, PropModeReplace, + (unsigned char *) &value32, 1); +} + +void +updateWindowOpacity (CompWindow *w) +{ + CompScreen *s = w->screen; + int opacity = w->opacity; + + if (!w->opacityPropSet && !(w->type & CompWindowTypeDesktopMask)) + { + CompOption *matches = &s->opt[COMP_SCREEN_OPTION_OPACITY_MATCHES]; + CompOption *values = &s->opt[COMP_SCREEN_OPTION_OPACITY_VALUES]; + int i, min; + + min = MIN (matches->value.list.nValue, values->value.list.nValue); + + for (i = 0; i < min; i++) + { + if (matchEval (&matches->value.list.value[i].match, w)) + { + opacity = (values->value.list.value[i].i * OPAQUE) / 100; + break; + } + } + } + + opacity = (opacity * w->opacityFactor) / 0xff; + if (opacity != w->paint.opacity) + { + w->paint.opacity = opacity; + addWindowDamage (w); + } +} + + +void +updateWindowOutputExtents (CompWindow *w) +{ + CompWindowExtents output; + + (*w->screen->getOutputExtentsForWindow) (w, &output); + + if (output.left != w->output.left || + output.right != w->output.right || + output.top != w->output.top || + output.bottom != w->output.bottom) + { + w->output = output; + + (*w->screen->windowResizeNotify) (w, 0, 0, 0, 0); + } +} + +static void +setWindowMatrix (CompWindow *w) +{ + w->matrix = w->texture->matrix; + w->matrix.x0 -= (w->attrib.x * w->matrix.xx); + w->matrix.y0 -= (w->attrib.y * w->matrix.yy); +} + +Bool +bindWindow (CompWindow *w) +{ + redirectWindow (w); + + if (!w->pixmap) + { + XWindowAttributes attr; + + /* don't try to bind window again if it failed previously */ + if (w->bindFailed) + return FALSE; + + /* We have to grab the server here to make sure that window + is mapped when getting the window pixmap */ + XGrabServer (w->screen->display->display); + XGetWindowAttributes (w->screen->display->display, w->id, &attr); + if (attr.map_state != IsViewable) + { + XUngrabServer (w->screen->display->display); + finiTexture (w->screen, w->texture); + w->bindFailed = TRUE; + return FALSE; + } + + w->pixmap = XCompositeNameWindowPixmap (w->screen->display->display, + w->id); + + XUngrabServer (w->screen->display->display); + } + + if (!bindPixmapToTexture (w->screen, w->texture, w->pixmap, + w->width, w->height, + w->attrib.depth)) + { + compLogMessage (w->screen->display, "core", CompLogLevelInfo, + "Couldn't bind redirected window 0x%x to " + "texture\n", (int) w->id); + } + + setWindowMatrix (w); + + return TRUE; +} + +void +releaseWindow (CompWindow *w) +{ + if (w->pixmap) + { + CompTexture *texture; + + texture = createTexture (w->screen); + if (texture) + { + destroyTexture (w->screen, w->texture); + + w->texture = texture; + } + + XFreePixmap (w->screen->display->display, w->pixmap); + + w->pixmap = None; + } +} + +static void +freeWindow (CompWindow *w) +{ + releaseWindow (w); + + destroyTexture (w->screen, w->texture); + + if (w->clip) + XDestroyRegion (w->clip); + + if (w->region) + XDestroyRegion (w->region); + + if (w->privates) + free (w->privates); + + if (w->sizeDamage) + free (w->damageRects); + + if (w->vertices) + free (w->vertices); + + if (w->indices) + free (w->indices); + + if (w->struts) + free (w->struts); + + if (w->icon) + freeWindowIcons (w); + + if (w->resName) + { + free (w->resName); + } + + if (w->resClass) + free (w->resClass); + + free (w); +} + +void +damageTransformedWindowRect (CompWindow *w, + float xScale, + float yScale, + float xTranslate, + float yTranslate, + BoxPtr rect) +{ + REGION reg; + + reg.rects = ®.extents; + reg.numRects = 1; + + reg.extents.x1 = (rect->x1 * xScale) - 1; + reg.extents.y1 = (rect->y1 * yScale) - 1; + reg.extents.x2 = (rect->x2 * xScale + 0.5f) + 1; + reg.extents.y2 = (rect->y2 * yScale + 0.5f) + 1; + + reg.extents.x1 += xTranslate; + reg.extents.y1 += yTranslate; + reg.extents.x2 += (xTranslate + 0.5f); + reg.extents.y2 += (yTranslate + 0.5f); + + if (reg.extents.x2 > reg.extents.x1 && reg.extents.y2 > reg.extents.y1) + { + reg.extents.x1 += w->attrib.x + w->attrib.border_width; + reg.extents.y1 += w->attrib.y + w->attrib.border_width; + reg.extents.x2 += w->attrib.x + w->attrib.border_width; + reg.extents.y2 += w->attrib.y + w->attrib.border_width; + + damageScreenRegion (w->screen, ®); + } +} + +void +damageWindowOutputExtents (CompWindow *w) +{ + if (w->screen->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK) + return; + + if (w->shaded || (w->attrib.map_state == IsViewable && w->damaged)) + { + BoxRec box; + + /* top */ + box.x1 = -w->output.left; + box.y1 = -w->output.top; + box.x2 = w->width + w->output.right; + box.y2 = 0; + + if (box.x1 < box.x2 && box.y1 < box.y2) + addWindowDamageRect (w, &box); + + /* bottom */ + box.y1 = w->height; + box.y2 = box.y1 + w->output.bottom; + + if (box.x1 < box.x2 && box.y1 < box.y2) + addWindowDamageRect (w, &box); + + /* left */ + box.x1 = -w->output.left; + box.y1 = 0; + box.x2 = 0; + box.y2 = w->height; + + if (box.x1 < box.x2 && box.y1 < box.y2) + addWindowDamageRect (w, &box); + + /* right */ + box.x1 = w->width; + box.x2 = box.x1 + w->output.right; + + if (box.x1 < box.x2 && box.y1 < box.y2) + addWindowDamageRect (w, &box); + } +} + +Bool +damageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + return FALSE; +} + +void +addWindowDamageRect (CompWindow *w, + BoxPtr rect) +{ + REGION region; + + if (w->screen->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK) + return; + + region.extents = *rect; + + if (!(*w->screen->damageWindowRect) (w, FALSE, ®ion.extents)) + { + region.extents.x1 += w->attrib.x + w->attrib.border_width; + region.extents.y1 += w->attrib.y + w->attrib.border_width; + region.extents.x2 += w->attrib.x + w->attrib.border_width; + region.extents.y2 += w->attrib.y + w->attrib.border_width; + + region.rects = ®ion.extents; + region.numRects = region.size = 1; + + damageScreenRegion (w->screen, ®ion); + } +} + +void +getOutputExtentsForWindow (CompWindow *w, + CompWindowExtents *output) +{ + output->left = 0; + output->right = 0; + output->top = 0; + output->bottom = 0; +} + +void +addWindowDamage (CompWindow *w) +{ + if (w->screen->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK) + return; + + if (w->shaded || (w->attrib.map_state == IsViewable && w->damaged)) + { + BoxRec box; + + box.x1 = -w->output.left - w->attrib.border_width; + box.y1 = -w->output.top - w->attrib.border_width; + box.x2 = w->width + w->output.right; + box.y2 = w->height + w->output.bottom; + + addWindowDamageRect (w, &box); + } +} + +void +updateWindowRegion (CompWindow *w) +{ + REGION rect; + XRectangle r, *rects, *shapeRects = 0; + int i, n = 0; + + EMPTY_REGION (w->region); + + if (w->screen->display->shapeExtension) + { + int order; + + shapeRects = XShapeGetRectangles (w->screen->display->display, w->id, + ShapeBounding, &n, &order); + } + + if (n < 2) + { + r.x = -w->attrib.border_width; + r.y = -w->attrib.border_width; + r.width = w->width; + r.height = w->height; + + rects = &r; + n = 1; + } + else + { + rects = shapeRects; + } + + rect.rects = &rect.extents; + rect.numRects = rect.size = 1; + + for (i = 0; i < n; i++) + { + rect.extents.x1 = rects[i].x + w->attrib.border_width; + rect.extents.y1 = rects[i].y + w->attrib.border_width; + rect.extents.x2 = rect.extents.x1 + rects[i].width; + rect.extents.y2 = rect.extents.y1 + rects[i].height; + + if (rect.extents.x1 < 0) + rect.extents.x1 = 0; + if (rect.extents.y1 < 0) + rect.extents.y1 = 0; + if (rect.extents.x2 > w->width) + rect.extents.x2 = w->width; + if (rect.extents.y2 > w->height) + rect.extents.y2 = w->height; + + if (rect.extents.y1 < rect.extents.y2 && + rect.extents.x1 < rect.extents.x2) + { + rect.extents.x1 += w->attrib.x; + rect.extents.y1 += w->attrib.y; + rect.extents.x2 += w->attrib.x; + rect.extents.y2 += w->attrib.y; + + XUnionRegion (&rect, w->region, w->region); + } + } + + if (shapeRects) + XFree (shapeRects); +} + +static void +setDefaultWindowAttributes (XWindowAttributes *wa) +{ + wa->x = 0; + wa->y = 0; + wa->width = 1; + wa->height = 1; + wa->border_width = 0; + wa->depth = 0; + wa->visual = NULL; + wa->root = None; + wa->class = InputOnly; + wa->bit_gravity = NorthWestGravity; + wa->win_gravity = NorthWestGravity; + wa->backing_store = NotUseful; + wa->backing_planes = 0; + wa->backing_pixel = 0; + wa->save_under = FALSE; + wa->colormap = None; + wa->map_installed = FALSE; + wa->map_state = IsUnviewable; + wa->all_event_masks = 0; + wa->your_event_mask = 0; + wa->do_not_propagate_mask = 0; + wa->override_redirect = TRUE; + wa->screen = NULL; +} + +void +addWindow (CompScreen *screen, + Window id, + Window aboveId) +{ + B(("0x%x :addWindow\n", (unsigned int) id)); + CompWindow *w; + + w = (CompWindow *) malloc (sizeof (CompWindow)); + if (!w) + return; + + w->next = NULL; + w->prev = NULL; + + w->mapNum = 0; + w->activeNum = 0; + + w->frame = None; + + w->placed = FALSE; + w->minimized = FALSE; + w->inShowDesktopMode = FALSE; + w->shaded = FALSE; + w->hidden = FALSE; + w->grabbed = FALSE; + w->added = FALSE; + + w->desktop = screen->currentDesktop; + + w->initialViewportX = screen->x; + w->initialViewportY = screen->y; + + w->initialTimestamp = 0; + w->initialTimestampSet = FALSE; + + w->pendingUnmaps = 0; + w->pendingMaps = 0; + + // w->startupId = NULL; + w->resName = NULL; + w->resClass = NULL; + + w->texture = createTexture (screen); + if (!w->texture) + { + free (w); + return; + } + + w->screen = screen; + w->pixmap = None; + w->destroyed = FALSE; + w->damaged = FALSE; + w->redirected = TRUE; + + w->bindFailed = FALSE; + + w->destroyRefCnt = 1; + w->unmapRefCnt = 1; + + w->group = NULL; + + w->damageRects = 0; + w->sizeDamage = 0; + w->nDamage = 0; + + w->vertices = 0; + w->vertexSize = 0; + w->indices = 0; + w->indexSize = 0; + w->vCount = 0; + w->indexCount = 0; + w->texCoordSize = 2; + + w->drawWindowGeometry = NULL; + + w->struts = 0; + + w->icon = 0; + w->nIcon = 0; + + w->input.left = 0; + w->input.right = 0; + w->input.top = 0; + w->input.bottom = 0; + + w->output.left = 0; + w->output.right = 0; + w->output.top = 0; + w->output.bottom = 0; + + w->paint.opacity = w->opacity = OPAQUE; + w->paint.brightness = w->brightness = 0xffff; + w->paint.saturation = w->saturation = COLOR; + w->paint.xScale = 1.0f; + w->paint.yScale = 1.0f; + w->paint.xTranslate = 0.0f; + w->paint.yTranslate = 0.0f; + + w->opacityFactor = 0xff; + + w->opacityPropSet = FALSE; + + w->lastPaint = w->paint; + + w->alive = TRUE; + + w->mwmDecor = MwmDecorAll; + w->mwmFunc = MwmFuncAll; + + w->closeRequests = 0; + w->lastCloseRequestTime = 0; + + if (screen->windowPrivateLen) + { + w->privates = malloc (screen->windowPrivateLen * sizeof (CompPrivate)); + if (!w->privates) + { + destroyTexture (screen, w->texture); + free (w); + return; + } + } + else + w->privates = 0; + + w->region = XCreateRegion (); + if (!w->region) + { + freeWindow (w); + return; + } + + w->clip = XCreateRegion (); + if (!w->clip) + { + freeWindow (w); + return; + } + + /* Failure means that window has been destroyed. We still have to add the + window to the window list as we might get configure requests which + require us to stack other windows relative to it. Setting some default + values if this is the case. */ + if (!XGetWindowAttributes (screen->display->display, id, &w->attrib)) + { + //freeWindow (w); + //return; + setDefaultWindowAttributes (&w->attrib); + } + + w->serverWidth = w->attrib.width; + w->serverHeight = w->attrib.height; + w->serverBorderWidth = w->attrib.border_width; + + w->width = w->attrib.width + w->attrib.border_width * 2; + w->height = w->attrib.height + w->attrib.border_width * 2; + + w->sizeHints.flags = 0; + + //recalcNormalHints (w); + + w->clientMapped = FALSE; + w->clientId = None; + /*w->clientDamage = None; + w->clientDamageRect.x = 0; + w->clientDamageRect.y = 0; + w->clientDamageRect.width = 0xffffff; + w->clientDamageRect.height = 0xffffff; + */ + + w->serverX = w->attrib.x; + w->serverY = w->attrib.y; + + w->syncWait = FALSE; + w->syncX = w->attrib.x; + w->syncY = w->attrib.y; + w->syncWidth = w->attrib.width; + w->syncHeight = w->attrib.height; + w->syncBorderWidth = w->attrib.border_width; + + w->saveMask = 0; + + XSelectInput (screen->display->display, id, + PropertyChangeMask | + EnterWindowMask | + FocusChangeMask); + + w->id = id; + /*** + XGrabButton (screen->display->display, AnyButton, + AnyModifier, w->id, TRUE, ButtonPressMask | + ButtonReleaseMask | ButtonMotionMask, + GrabModeSync, GrabModeSync, None, None); + */ + w->inputHint = TRUE; + w->alpha = (w->attrib.depth == 32); + w->wmType = 0; + w->state = 0; + w->actions = 0; + w->protocols = 0; + w->type = CompWindowTypeUnknownMask; + //w->lastPong = screen->display->lastPing; + + if (screen->display->shapeExtension) + XShapeSelectInput (screen->display->display, id, ShapeNotifyMask); + + insertWindowIntoScreen (screen, w, aboveId); + + EMPTY_REGION (w->region); + + if (w->attrib.class != InputOnly) + { + REGION rect; + + rect.rects = &rect.extents; + rect.numRects = rect.size = 1; + + rect.extents.x1 = w->attrib.x; + rect.extents.y1 = w->attrib.y; + rect.extents.x2 = w->attrib.x + w->width; + rect.extents.y2 = w->attrib.y + w->height; + + XUnionRegion (&rect, w->region, w->region); + + w->damage = XDamageCreate (screen->display->display, id, + XDamageReportRawRectangles); + + /* need to check for DisplayModal state on all windows */ + //w->state = getWindowState (screen->display, w->id); + //updateWindowClassHints (w); + } + else + { + w->damage = None; + w->attrib.map_state = IsUnmapped; + /* XXX does the compositor need to know if input only + windows? - maybe to move them on viewport changes */ + } + + w->invisible = TRUE; + + /* check if this is an enlightenment frame window */ + unsigned int clientId = 0; + //if (w->wmType != screen->display->winTypeDesktopAtom) + { + /* TODO use windowProperty32 instead! */ + unsigned char *prop_ret = NULL; + Atom type_ret; + unsigned long bytes_after, num_ret; + int format_ret; + + XGetWindowProperty(screen->display->display, + w->id, screen->display->eManagedAtom, + 0, 0x7fffffff, False, + XA_CARDINAL, &type_ret, &format_ret, + &num_ret, &bytes_after, &prop_ret); + + if (prop_ret && type_ret == XA_CARDINAL && format_ret == 32 && num_ret == 1) + { + clientId = (((unsigned long*)prop_ret)[0]); + } + if (prop_ret) + XFree(prop_ret); + } + + + if(clientId) + { + printf("window managed: 0x%x : 0x%x\n", (unsigned int)w->id, clientId); + /* XXX remove the use of this. all windows are override + * redirect. */ + w->attrib.override_redirect = 0; + w->clientId = clientId; + + w->wmType = getWindowType (screen->display, w->clientId); + w->protocols = getProtocols (screen->display, w->clientId); + w->state = getWindowState (screen->display, w->clientId); + updateWindowClassHints (w); + + //w->state = getWmState + //updateNormalHints (w); + //updateWindowStruts (w); + //updateWmHints (w); + //updateTransientHint (w); + //getMwmHints (screen->display, w->id, &w->mwmFunc, + + recalcWindowType (w); + + w->opacityPropSet = readWindowProp32 (screen->display, w->id, + screen->display->winOpacityAtom, + &w->opacity); + + w->clientMapped = (w->attrib.map_state == IsViewable) ? 1 : 0; + + w->brightness = getWindowProp32 (screen->display, w->id, + screen->display->winBrightnessAtom, + BRIGHT); + + if (w->alive) + { + w->paint.opacity = w->opacity; + w->paint.brightness = w->brightness; + } + + if (screen->canDoSaturated) + { + w->saturation = + getWindowProp32 (screen->display, w->id, + screen->display->winSaturationAtom, + COLOR); + if (w->alive) + w->paint.saturation = w->saturation; + } + } + else + { + w->wmType = getWindowType (screen->display, w->id); + w->protocols = getProtocols (screen->display, w->id); + updateWindowClassHints (w); + recalcWindowType (w); + } + + if (w->attrib.map_state == IsViewable) + { + w->placed = TRUE; + + if (w->clientId) + { + if (getWmState (screen->display, w->clientId) == IconicState) + { + if (w->state & CompWindowStateShadedMask) + w->shaded = TRUE; + else + w->minimized = TRUE; + } + } + + w->attrib.map_state = IsUnmapped; + w->pendingMaps++; + + mapWindow (w); + + updateWindowAttributes (w, CompStackingUpdateModeNormal); + + /*if (w->minimized || w->inShowDesktopMode || w->hidden || w->shaded) + { + w->state |= CompWindowStateHiddenMask; + + //w->pendingUnmaps++; + + //XUnmapWindow (screen->display->display, w->id); + + //setWindowState (screen->display, w->state, w->id); + }*/ + } + else if (w->clientId) /* TODO check this again */ + { + if (getWmState (screen->display, w->clientId) == IconicState) + { + w->placed = TRUE; + + if (w->state & CompWindowStateHiddenMask) + { + if (w->state & CompWindowStateShadedMask) + w->shaded = TRUE; + else + w->minimized = TRUE; + } + } + } + + windowInitPlugins (w); + + (*w->screen->windowAddNotify) (w); + + //recalcWindowActions (w); + updateWindowOpacity (w); + + /* if (w->shaded) + resizeWindow (w, + w->attrib.x, w->attrib.y, + w->attrib.width, ++w->attrib.height - 1, + w->attrib.border_width); + */ +} + +void +removeWindow (CompWindow *w) +{ + D(("0x%x : removeWindow\n", (unsigned int)w->id)); + + unhookWindowFromScreen (w->screen, w); + + if (!w->destroyed) + { + CompDisplay *d = w->screen->display; + + if (w->damage) + XDamageDestroy (d->display, w->damage); + + if (d->shapeExtension) + XShapeSelectInput (d->display, w->id, NoEventMask); + + // XSelectInput (d->display, w->id, NoEventMask); + // XUngrabButton (d->display, AnyButton, AnyModifier, w->id); + } + + if (w->attrib.map_state == IsViewable && w->damaged) + { + if (w->type == CompWindowTypeDesktopMask) + w->screen->desktopWindowCount--; + + if (w->struts) + updateWorkareaForScreen (w->screen); + } + + if (!w->redirected) + { + w->screen->overlayWindowCount--; + + if (w->screen->overlayWindowCount < 1) + showOutputWindow (w->screen); + } + + windowFiniPlugins (w); + + freeWindow (w); +} + +void +destroyWindow (CompWindow *w) +{ + D(("0x%x : destroyWindow\n", (unsigned int)w->id)); + + w->id = 1; + w->mapNum = 0; + + w->destroyRefCnt--; + if (w->destroyRefCnt) + return; + + if (!w->destroyed) + { + w->destroyed = TRUE; + w->screen->pendingDestroys++; + } +} + +void +sendConfigureNotify (CompWindow *w) +{ + XConfigureEvent xev; + + xev.type = ConfigureNotify; + xev.event = w->id; + xev.window = w->id; + + /* normally we should never send configure notify events to override + redirect windows but if they support the _NET_WM_SYNC_REQUEST + protocol we need to do this when the window is mapped. however the + only way we can make sure that the attributes we send are correct + and is to grab the server. */ + /****/ + if (w->attrib.override_redirect) + { + XWindowAttributes attrib; + + XGrabServer (w->screen->display->display); + + if (XGetWindowAttributes (w->screen->display->display, w->id, &attrib)) + { + D(("sendConfigureNotify to override_redirect window\n")); + + xev.x = attrib.x; + xev.y = attrib.y; + xev.width = attrib.width; + xev.height = attrib.height; + xev.border_width = attrib.border_width; + + xev.above = (w->prev) ? w->prev->id : None; + xev.override_redirect = TRUE; + + XSendEvent (w->screen->display->display, w->id, FALSE, + StructureNotifyMask, (XEvent *) &xev); + } + + XUngrabServer (w->screen->display->display); + } + + /* + else + { + D(("sendConfigureNotify\n")); + xev.x = w->serverX; + xev.y = w->serverY; + xev.width = w->serverWidth; + xev.height = w->serverHeight; + xev.border_width = w->serverBorderWidth; + + xev.above = (w->prev) ? w->prev->id : None; + xev.override_redirect = w->attrib.override_redirect; + + XSendEvent (w->screen->display->display, w->id, FALSE, + StructureNotifyMask, (XEvent *) &xev); + }*/ +} + +void +mapWindow (CompWindow *w) +{ + if (w->attrib.map_state == IsViewable) + return; + + w->pendingMaps--; + + w->mapNum = w->screen->mapNum++; + + if (w->attrib.class == InputOnly) + return; + + w->unmapRefCnt = 1; + + w->attrib.map_state = IsViewable; + + w->invisible = TRUE; + w->damaged = FALSE; + w->alive = TRUE; + w->bindFailed = FALSE; + + //w->lastPong = w->screen->display->lastPing; + + D(("0x%x : mapWindow\n", (unsigned int) w->id)); + updateWindowRegion (w); + //updateWindowSize (w); + + if (w->type & CompWindowTypeDesktopMask) + w->screen->desktopWindowCount++; + + // if (w->protocols & CompWindowProtocolSyncRequestMask) + // { + // sendSyncRequest (w); + // sendConfigureNotify (w); + //} + + if (!w->attrib.override_redirect) + { + if (!w->height) + resizeWindow (w, + w->attrib.x, w->attrib.y, + w->attrib.width, ++w->attrib.height - 1, + w->attrib.border_width); + } +} + +void +unmapWindow (CompWindow *w) +{ + B(("- unmapWindow\n")); + + if (w->mapNum) + { + w->mapNum = 0; + } + + w->unmapRefCnt--; + if (w->unmapRefCnt > 0) + return; + + //if (w->struts) + // updateWorkareaForScreen (w->screen); + + if (w->attrib.map_state != IsViewable) + return; + + if (w->type == CompWindowTypeDesktopMask) + w->screen->desktopWindowCount--; + + addWindowDamage (w); + + w->attrib.map_state = IsUnmapped; + + w->invisible = TRUE; + + releaseWindow (w); + + /* if (w->shaded && w->height) + resizeWindow (w, + w->attrib.x, w->attrib.y, + w->attrib.width, ++w->attrib.height - 1, + w->attrib.border_width); + */ + if (!w->redirected) + redirectWindow (w); +} + +static int +restackWindow (CompWindow *w, + Window aboveId) +{ + D(("0x%x : restack window above 0x%x\n", (unsigned int)w->id, aboveId ? (unsigned int) aboveId : 0)); + + if (w->prev) + { + if (aboveId && aboveId == w->prev->id) + return 0; + } + else if (aboveId == None && !w->next) + return 0; + + unhookWindowFromScreen (w->screen, w); + insertWindowIntoScreen (w->screen, w, aboveId); + + return 1; +} + +Bool +resizeWindow (CompWindow *w, + int x, + int y, + int width, + int height, + int borderWidth) +{ + D(("0x%x : resizeWindow: %d:%d %dx%d\n", (unsigned int)w->id, x,y,width,height)); + + if (w->attrib.width != width || + w->attrib.height != height || + w->attrib.border_width != borderWidth) + { + unsigned int pw, ph, actualWidth, actualHeight, ui; + int dx, dy, dwidth, dheight; + Pixmap pixmap = None; + Window root; + Status result; + int i; + + pw = width + borderWidth * 2; + ph = height + borderWidth * 2; + + if (w->mapNum && w->redirected) + { + pixmap = XCompositeNameWindowPixmap (w->screen->display->display, + w->id); + result = XGetGeometry (w->screen->display->display, pixmap, &root, + &i, &i, &actualWidth, &actualHeight, + &ui, &ui); + + if (!result || actualWidth != pw || actualHeight != ph) + { + XFreePixmap (w->screen->display->display, pixmap); + + return FALSE; + } + } + else if (w->shaded) + { + ph = 0; + } + + addWindowDamage (w); + + dx = x - w->attrib.x; + dy = y - w->attrib.y; + dwidth = width - w->attrib.width; + dheight = height - w->attrib.height; + + w->attrib.x = x; + w->attrib.y = y; + w->attrib.width = width; + w->attrib.height = height; + w->attrib.border_width = borderWidth; + + w->width = pw; + w->height = ph; + + releaseWindow (w); + + w->pixmap = pixmap; + + if (w->mapNum) + updateWindowRegion (w); + + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + + addWindowDamage (w); + + w->invisible = WINDOW_INVISIBLE (w); + } + else if (w->attrib.x != x || w->attrib.y != y) + { + int dx, dy; + + dx = x - w->attrib.x; + dy = y - w->attrib.y; + /* FIXME needed ? */ + moveWindow (w, dx, dy, TRUE, TRUE); + } + + return TRUE; +} + +void +configureWindow (CompWindow *w, + XConfigureEvent *ce) +{ + C(("- configureWindow %d:%d %dx%d\n", ce->x, ce->y, ce->width, ce->height)); + + if (w->clientId) + { + w->attrib.override_redirect = FALSE; + } + else + w->attrib.override_redirect = ce->override_redirect; + + /*FIXME cleanup !!!*/ + /* + int dy = (w->desktop / w->screen->hsize); + int dx = (w->desktop - (dy * w->screen->hsize)); + + dx -= w->screen->x; + dy -= w->screen->y; + + dx *= w->screen->width; + dy *= w->screen->height; + + ce->x += dx; + ce->y += dy; + */ + /* if (w->syncWait) + { + w->syncX = ce->x; + w->syncY = ce->y; + w->syncWidth = ce->width; + w->syncHeight = ce->height; + w->syncBorderWidth = ce->border_width; + } + else*/ + { + // if (w->attrib.override_redirect) /* check if this updated + // w->serverWidth correctly (for getDefaultViewport)*/ + { + w->serverX = ce->x; + w->serverY = ce->y; + w->serverWidth = ce->width; + w->serverHeight = ce->height; + w->serverBorderWidth = ce->border_width; + } + + resizeWindow (w, ce->x, ce->y, ce->width, ce->height, + ce->border_width); + } + + if (restackWindow (w, ce->above)) + { + addWindowDamage (w); + } +} + + +void +circulateWindow (CompWindow *w, + XCirculateEvent *ce) +{ + Window newAboveId; + + if (ce->place == PlaceOnTop) + newAboveId = getTopWindow (w->screen); + else + newAboveId = 0; + + if (restackWindow (w, newAboveId)) + addWindowDamage (w); +} + +void +moveWindow (CompWindow *w, + int dx, + int dy, + Bool damage, + Bool immediate) +{ + if (dx || dy) + { + if (damage) + addWindowDamage (w); + + w->attrib.x += dx; + w->attrib.y += dy; + + XOffsetRegion (w->region, dx, dy); + + setWindowMatrix (w); + + w->invisible = WINDOW_INVISIBLE (w); + + (*w->screen->windowMoveNotify) (w, dx, dy, immediate); + + if (damage) + addWindowDamage (w); + } +} + +void +syncWindowPosition (CompWindow *w) +{ + D(("0x%x : syncWindowPosition: %d:%d\n", (unsigned int) w->id, w->attrib.x, w->attrib.y )); + w->serverX = w->attrib.x; + w->serverY = w->attrib.y; + + XMoveWindow (w->screen->display->display, w->id, w->attrib.x, w->attrib.y); + /* we moved without resizing, so we have to send a configure notify */ + sendConfigureNotify (w); +} + +Bool +focusWindow (CompWindow *w) +{ + if (w->attrib.override_redirect) + return FALSE; + + if (!w->clientId) + return FALSE; + + if (!w->shaded && (w->state & CompWindowStateHiddenMask)) + return FALSE; + + D(("focusWindow: %d:%d\n",w->attrib.x, w->attrib.y)); + + if (w->attrib.x + w->width <= 0 || + w->attrib.y + w->height <= 0 || + w->attrib.x >= w->screen->width || + w->attrib.y >= w->screen->height) + return FALSE; + + return TRUE; +} + +Bool +placeWindow (CompWindow *w, + int x, + int y, + int *newX, + int *newY) +{ + return FALSE; +} + +void +windowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ +} + +void +windowMoveNotify (CompWindow *w, + int dx, + int dy, + Bool immediate) +{ +} + +void +windowGrabNotify (CompWindow *w, + int x, + int y, + unsigned int state, + unsigned int mask) +{ + w->grabbed = TRUE; +} + +void +windowUngrabNotify (CompWindow *w) +{ + w->grabbed = FALSE; +} + +void +windowStateChangeNotify (CompWindow *w, + unsigned int lastState) +{ +} + + +void +moveInputFocusToWindow (CompWindow *w) +{ + CompScreen *s = w->screen; + CompDisplay *d = s->display; + //CompWindow *modalTransient; + + XEvent ev; + + ev.type = ClientMessage; + ev.xclient.window = w->id; + ev.xclient.message_type = d->winActiveAtom; + ev.xclient.format = 32; + ev.xclient.data.l[0] = 2; + ev.xclient.data.l[1] = getCurrentTimeFromDisplay (d); + ev.xclient.data.l[2] = 0; + ev.xclient.data.l[3] = 0; + ev.xclient.data.l[4] = 0; + + XSendEvent (d->display, w->id, FALSE, NoEventMask, &ev); + +} + +static Bool +stackLayerCheck (CompWindow *w, + Window clientLeader, + CompWindow *below) +{ + if (w->state & CompWindowStateAboveMask) + { + return TRUE; + } + else if (w->state & CompWindowStateBelowMask) + { + if (below->state & CompWindowStateBelowMask) + return TRUE; + } + else if (!(below->state & CompWindowStateAboveMask)) + { + return TRUE; + } + + return FALSE; +} + +/* goes through the stack, top-down until we find a window we should + stack above, normal windows can be stacked above fullscreen windows + if aboveFs is TRUE. */ +static CompWindow * +findSiblingBelow (CompWindow *w, + Bool aboveFs) +{ + CompWindow *below; + Window clientLeader = None; //w->clientLeader; + unsigned int type = w->type; + unsigned int belowMask; + + if (aboveFs) + belowMask = CompWindowTypeDockMask; + else + belowMask = CompWindowTypeDockMask | CompWindowTypeFullscreenMask; + + /* normal stacking of fullscreen windows with below state */ + //if ((type & CompWindowTypeFullscreenMask) && + // (w->state & CompWindowStateBelowMask)) + //type = CompWindowTypeNormalMask; + + for (below = w->screen->reverseWindows; below; below = below->prev) + { + if (below == w) // || avoidStackingRelativeTo (below)) + continue; + + //always above desktop windows + if (below->type & CompWindowTypeDesktopMask) + return below; + + switch (type) { + case CompWindowTypeDesktopMask: //desktop window layer + break; + case CompWindowTypeFullscreenMask: + case CompWindowTypeDockMask: //fullscreen and dock layer + if (below->type & (CompWindowTypeFullscreenMask | + CompWindowTypeDockMask)) + { + if (stackLayerCheck (w, clientLeader, below)) + return below; + } + else + { + return below; + } + break; + default: //fullscreen and normal layer + if (!(below->type & belowMask)) + { + if (stackLayerCheck (w, clientLeader, below)) + return below; + } + break; + } + } + + return NULL; +} + +void +configureXWindow (CompWindow *w, + unsigned int valueMask, + XWindowChanges *xwc) +{ + D(("configureXWindow, %d:%d %dx%d\n", xwc->x, xwc->y, xwc->width, xwc->height)); + + if (valueMask & CWX) + w->serverX = xwc->x; + + if (valueMask & CWY) + w->serverY = xwc->y; + + if (valueMask & CWWidth) + w->serverWidth = xwc->width; + + if (valueMask & CWHeight) + w->serverHeight = xwc->height; + + if (valueMask & CWBorderWidth) + w->serverBorderWidth = xwc->border_width; + + + /** YEAH this finally fixes the issue that dialog were not + raised !!!!!! =)*/ + /* if (valueMask) + { + XConfigureWindow (w->screen->display->display, w->id, valueMask, xwc); + if (!(valueMask & (CWWidth | CWHeight))) + { + // we have to send a configure notify event if we move or restack + // a window without resizing it according to ICCCM 4.1.5 + sendConfigureNotify (w); + } + } + */ +} + +static int +addWindowStackChanges (CompWindow *w, + XWindowChanges *xwc, + CompWindow *sibling) +{ + int mask = 0; + + if (!sibling || sibling->id != w->id) + { + if (w->prev) + { + if (!sibling) + { + XLowerWindow (w->screen->display->display, w->id); + } + else if (sibling->id != w->prev->id) + { + mask |= CWSibling | CWStackMode; + + xwc->stack_mode = Above; + xwc->sibling = sibling->id; + } + } + else + if (sibling) + { + mask |= CWSibling | CWStackMode; + + xwc->stack_mode = Above; + xwc->sibling = sibling->id; + } + } + /**>>**/ + /*if (sibling && mask) + {*/ + /* a normal window can be stacked above fullscreen windows but we + don't want normal windows to be stacked above dock window so if + the sibling we're stacking above is a fullscreen window we also + update all dock windows. */ + /* if ((sibling->type & CompWindowTypeFullscreenMask) && + (!(w->type & (CompWindowTypeFullscreenMask | + CompWindowTypeDockMask))) && + !isAncestorTo (w, sibling)) + { + CompWindow *dw; + + for (dw = w->screen->reverseWindows; dw; dw = dw->prev) + if (dw == sibling) + break; + + for (; dw; dw = dw->prev) + if (dw->type & CompWindowTypeDockMask) + configureXWindow (dw, mask, xwc); + } + }*/ + /**<<**/ + return mask; +} + +void +raiseWindow (CompWindow *w) +{ + D(("0x%x : raiseWindow\n", (unsigned int)w->id)); + XEvent ev; + + ev.type = ClientMessage; + ev.xclient.window = w->id; + ev.xclient.message_type = w->screen->display->restackWindowAtom; + ev.xclient.format = 32; + ev.xclient.data.l[0] = 2; + ev.xclient.data.l[1] = 0; + ev.xclient.data.l[2] = Above; + ev.xclient.data.l[3] = 1; + ev.xclient.data.l[4] = 0; + + XSendEvent (w->screen->display->display, + w->screen->root, + FALSE, + SubstructureRedirectMask | StructureNotifyMask, + &ev); +} + +void +lowerWindow (CompWindow *w) +{ + D(("0x%x : lowerWindow\n", (unsigned int)w->id)); + XEvent ev; + + ev.type = ClientMessage; + ev.xclient.window = w->id; + ev.xclient.message_type = w->screen->display->restackWindowAtom; + ev.xclient.format = 32; + ev.xclient.data.l[0] = 2; + ev.xclient.data.l[1] = 0; + ev.xclient.data.l[2] = Below; + ev.xclient.data.l[3] = 1; + ev.xclient.data.l[4] = 0; + + XSendEvent (w->screen->display->display, + w->screen->root, + FALSE, + SubstructureRedirectMask | StructureNotifyMask, + &ev); +} + +void +restackWindowAbove (CompWindow *w, + CompWindow *sibling) +{ + D(("0x%x : restackWindowAbove: 0x%x\n", (unsigned int)w->id, (unsigned int) sibling->id)); + + XEvent ev; + + ev.type = ClientMessage; + ev.xclient.window = w->id; + ev.xclient.message_type = w->screen->display->restackWindowAtom; + ev.xclient.format = 32; + ev.xclient.data.l[0] = 2; + ev.xclient.data.l[1] = sibling->id; + ev.xclient.data.l[2] = Above; + ev.xclient.data.l[3] = 1; + ev.xclient.data.l[4] = 0; + + XSendEvent (w->screen->display->display, + w->screen->root, + FALSE, + SubstructureRedirectMask | StructureNotifyMask, + &ev); +} + + +void +restackWindowBelow (CompWindow *w, + CompWindow *sibling) +{ + D(("0x%x : restackWindowBelow: 0x%x\n", (unsigned int)w->id, (unsigned int) sibling->id)); + XEvent ev; + + ev.type = ClientMessage; + ev.xclient.window = w->id; + ev.xclient.message_type = w->screen->display->restackWindowAtom; + ev.xclient.format = 32; + ev.xclient.data.l[0] = 2; + ev.xclient.data.l[1] = sibling->id; + ev.xclient.data.l[2] = Below; + ev.xclient.data.l[3] = 1; + ev.xclient.data.l[4] = 0; + + XSendEvent (w->screen->display->display, + w->screen->root, + FALSE, + SubstructureRedirectMask | StructureNotifyMask, + &ev); +} + + +/* TODO cleanup __________________________________________________ */ +void +updateWindowAttributes (CompWindow *w, + CompStackingUpdateMode stackingMode) +{ + D(("0x%x : updateWindowAttributes\n", (unsigned int) w->id)); + + XWindowChanges xwc; + int mask = 0; + + if (w->attrib.override_redirect || !w->clientId) + return; + + if (w->state & CompWindowStateShadedMask) + { + hideWindow (w); + } + else if (w->shaded) + { + showWindow (w); + } + + if (stackingMode != CompStackingUpdateModeNone) + { + Bool aboveFs; + + aboveFs = (stackingMode == CompStackingUpdateModeAboveFullscreen); + mask |= addWindowStackChanges (w, &xwc, findSiblingBelow (w, aboveFs)); + } + + if (stackingMode == CompStackingUpdateModeInitialMap) + { + /* If we are called from the MapRequest handler, we have to + immediately update the internal stack. If we don't do that, + the internal stacking order is invalid until the ConfigureNotify + arrives because we put the window at the top of the stack when + it was created */ + if (mask & CWStackMode) + { + Window above = (mask & CWSibling) ? xwc.sibling : 0; + restackWindow (w, above); + } + } + + // mask |= addWindowSizeChanges (w, &xwc, + // w->serverX, w->serverY, + // w->serverWidth, w->serverHeight, + // w->serverBorderWidth); + + xwc.x = w->serverX; + xwc.y = w->serverY; + xwc.width = w->serverWidth; + xwc.height = w->serverHeight; + + // if (!mask) + // return; + // + // if (w->mapNum && (mask & (CWWidth | CWHeight))) + // sendSyncRequest (w); + // + // /* if (mask & (CWSibling | CWStackMode)) + // { + // // transient children above + // if (stackTransients (w, NULL, &xwc)) + // { + // configureXWindow (w, mask, &xwc); + // + // //ancestors, sibilings and sibiling transients below + // stackAncestors (w, &xwc); + // } + // } + // //else + // /* TODO needed? */ + // + // if (!(mask & (CWSibling | CWStackMode ))) + { + configureXWindow (w, mask, &xwc); + } +} + + +static void +sendViewportMoveRequest (CompScreen *s, + int x, + int y) +{ + D(("sendViewportMoveRequest %d:%d\n",x,y)); + + XEvent xev; + + xev.xclient.type = ClientMessage; + xev.xclient.display = s->display->display; + xev.xclient.format = 32; + + xev.xclient.message_type = s->display->desktopViewportAtom; + xev.xclient.window = s->root; + + xev.xclient.data.l[0] = x; + xev.xclient.data.l[1] = y; + xev.xclient.data.l[2] = 0; + xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = 0; + + XSendEvent (s->display->display, + s->root, + FALSE, + SubstructureRedirectMask | SubstructureNotifyMask, + &xev); +} + +void +activateWindow (CompWindow *w) +{ + D(("activateWindow %s\n", w->resClass)); + + XEvent ev; + int x,y; + + //setCurrentDesktop (w->screen, w->desktop); + + CompScreen *s = w->screen; + + //forEachWindowOnScreen (s, revealAncestors, (void *) w); + //revealWindow (w); + + if (w->state & CompWindowStateHiddenMask) + { + w->state &= ~CompWindowStateShadedMask; + if (w->shaded) + showWindow (w); + } + + if (w->state & CompWindowStateHiddenMask) + return; + + //if (!onCurrentDesktop (w)) return; + + //ensureWindowVisibility (w); + //updateWindowAttributes (w, CompStackingUpdateModeAboveFullscreen); + + ev.type = ClientMessage; + ev.xclient.window = w->id; + ev.xclient.message_type = s->display->restackWindowAtom; + ev.xclient.format = 32; + ev.xclient.data.l[0] = 2; + ev.xclient.data.l[1] = 0; + ev.xclient.data.l[2] = Above; + ev.xclient.data.l[3] = 1; + ev.xclient.data.l[4] = 0; + + XSendEvent (s->display->display, s->root, FALSE, + SubstructureRedirectMask | StructureNotifyMask, + &ev); + + defaultViewportForWindow (w, &x, &y); + + if (x != s->x || y != s->y) + sendViewportMoveRequest (s, x * s->width, y * s->height); + + moveInputFocusToWindow (w); +} + + +void +hideWindow (CompWindow *w) +{ + Bool onDesktop = onCurrentDesktop (w); + + if (!w->clientId) + return; + + if (!w->minimized && !w->inShowDesktopMode && !w->hidden && onDesktop) + { + if (w->state & CompWindowStateShadedMask) + { + w->shaded = TRUE; + } + else + { + return; + } + } + else + { + addWindowDamage (w); + + w->shaded = FALSE; + } + + if (!w->pendingMaps && w->attrib.map_state != IsViewable) + return; + + w->pendingUnmaps++; + + if (w->shaded && w->id == w->screen->display->activeWindow) + moveInputFocusToWindow (w); + + //XUnmapWindow (w->screen->display->display, w->id); + + if (w->minimized || w->inShowDesktopMode || w->hidden || w->shaded) + changeWindowState (w, w->state | CompWindowStateHiddenMask); +} + +void +showWindow (CompWindow *w) +{ + D(("- showWindow\n")); + + Bool onDesktop = onCurrentDesktop (w); + + if (!w->clientId) + return; + + if (w->minimized || w->inShowDesktopMode || w->hidden || !onDesktop) + { + /* no longer hidden but not on current desktop */ + if (!w->minimized && !w->inShowDesktopMode && !w->hidden) + { + if (w->state & CompWindowStateHiddenMask) + changeWindowState (w, w->state & ~CompWindowStateHiddenMask); + } + + return; + } + + /* transition from minimized to shaded */ + if (w->state & CompWindowStateShadedMask) + { + w->shaded = TRUE; + + if (w->height) + resizeWindow (w, + w->attrib.x, w->attrib.y, + w->attrib.width, ++w->attrib.height - 1, + w->attrib.border_width); + + addWindowDamage (w); + + return; + } + else + { + w->shaded = FALSE; + } + + w->pendingMaps++; + + XMapWindow (w->screen->display->display, w->id); + + changeWindowState (w, w->state & ~CompWindowStateHiddenMask); +} + +void +unredirectWindow (CompWindow *w) +{ + if (!w->redirected) + return; + + releaseWindow (w); + + XCompositeUnredirectWindow (w->screen->display->display, w->id, + CompositeRedirectManual); + + w->redirected = FALSE; + w->screen->overlayWindowCount++; + + if (w->screen->overlayWindowCount > 0) + hideOutputWindow (w->screen); +} + +void +redirectWindow (CompWindow *w) +{ + if (w->redirected) + return; + + XCompositeRedirectWindow (w->screen->display->display, w->id, + CompositeRedirectManual); + + w->redirected = TRUE; + w->screen->overlayWindowCount--; + + if (w->screen->overlayWindowCount < 1) + showOutputWindow (w->screen); +} + +void +defaultViewportForWindow (CompWindow *w, + int *vx, + int *vy) +{ + viewportForGeometry (w->screen, + w->serverX, w->serverY, + w->serverWidth, w->serverHeight, + w->serverBorderWidth, + vx, vy); + D(("0x%x : defaultViewportForWindow %d:%d %dx%d -> %d:%d\n", (unsigned int)w->id, w->serverX, w->serverY, + w->serverWidth, w->serverHeight, vx ? *vx : 0,vy ? *vy : 0)); +} + +/* returns icon with dimensions as close as possible to width and height + but never greater. */ +CompIcon * +getWindowIcon (CompWindow *w, + int width, + int height) +{ + CompIcon *icon; + int i, wh, diff, oldDiff; + + /* need to fetch icon property */ + if (w->nIcon == 0) + { + Atom actual; + int result, format; + unsigned long n, left; + unsigned char *data; + + result = XGetWindowProperty (w->screen->display->display, w->id, + w->screen->display->wmIconAtom, + 0L, 65536L, + FALSE, XA_CARDINAL, + &actual, &format, &n, + &left, &data); + + if (result == Success && n && data) + { + CompIcon **pIcon; + CARD32 *p; + int iw, ih, j; + + for (i = 0; i + 2 < n; i += iw * ih + 2) + { + unsigned long *idata = (unsigned long *) data; + + iw = idata[i]; + ih = idata[i + 1]; + + if (iw * ih + 2 > n - i) + break; + + if (iw && ih) + { + icon = malloc (sizeof (CompIcon) + + iw * ih * sizeof (CARD32)); + if (!icon) + continue; + + pIcon = realloc (w->icon, + sizeof (CompIcon *) * (w->nIcon + 1)); + if (!pIcon) + { + free (icon); + continue; + } + + w->icon = pIcon; + w->icon[w->nIcon] = icon; + w->nIcon++; + + icon->width = iw; + icon->height = ih; + + initTexture (w->screen, &icon->texture); + + p = (CARD32 *) (icon + 1); + + for (j = 0; j < iw * ih; j++) + { + p[j] = idata[i + j + 2]; + } + } + } + + XFree (data); + } + + /* don't fetch property again */ + if (w->nIcon == 0) + w->nIcon = -1; + } + + /* no icons available for this window */ + if (w->nIcon == -1) + return NULL; + + icon = NULL; + wh = width + height; + + for (i = 0; i < w->nIcon; i++) + { + /* we also pass icons if they are greater */ + /*if (w->icon[i]->width > width || w->icon[i]->height > height) + * continue; + */ + if (icon) + { + diff = abs(wh - (w->icon[i]->width + w->icon[i]->height)); + oldDiff = abs(wh - (icon->width + icon->height)); + + if (diff < oldDiff) + icon = w->icon[i]; + } + else + icon = w->icon[i]; + } + + return icon; +} + +void +freeWindowIcons (CompWindow *w) +{ + int i; + + for (i = 0; i < w->nIcon; i++) + { + finiTexture (w->screen, &w->icon[i]->texture); + free (w->icon[i]); + } + + if (w->icon) + { + free (w->icon); + w->icon = NULL; + } + + w->nIcon = 0; +} + +int +outputDeviceForWindow (CompWindow *w) +{ + int output = w->screen->currentOutputDev; + int width = w->serverWidth + w->serverBorderWidth * 2; + int height = w->serverHeight + w->serverBorderWidth * 2; + int x1, y1, x2, y2; + + x1 = w->screen->outputDev[output].region.extents.x1; + y1 = w->screen->outputDev[output].region.extents.y1; + x2 = w->screen->outputDev[output].region.extents.x2; + y2 = w->screen->outputDev[output].region.extents.y2; + + if (x1 > w->serverX + width || + y1 > w->serverY + height || + x2 < w->serverX || + y2 < w->serverY) + { + output = outputDeviceForPoint (w->screen, + w->serverX + width / 2, + w->serverY + height / 2); + } + + return output; +} + +Bool +onCurrentDesktop (CompWindow *w) +{ + //if (w->desktop == 0xffffffff || w->desktop == w->screen->currentDesktop) + return TRUE; + + //return FALSE; +} + +void +setDesktopForWindow (CompWindow *w, + unsigned int desktop) +{ + if (desktop != 0xffffffff) + { + if (w->type & (CompWindowTypeDesktopMask | CompWindowTypeDockMask)) + return; + + if (desktop >= w->screen->nDesktop) + return; + } + + if (desktop == w->desktop) + return; + + w->desktop = desktop; + + if (desktop == 0xffffffff || desktop == w->screen->currentDesktop) + showWindow (w); + else + hideWindow (w); + + setWindowProp (w->screen->display, w->id, + w->screen->display->winDesktopAtom, + w->desktop); +} + +/* The compareWindowActiveness function compares the two windows 'w1' + and 'w2'. It returns an integer less than, equal to, or greater + than zero if 'w1' is found, respectively, to activated longer time + ago than, to be activated at the same time, or be activated more + recently than 'w2'. */ +int +compareWindowActiveness (CompWindow *w1, + CompWindow *w2) +{ + CompScreen *s = w1->screen; + CompActiveWindowHistory *history = &s->history[s->currentHistory]; + int i; + + /* check current window history first */ + for (i = 0; i < ACTIVE_WINDOW_HISTORY_SIZE; i++) + { + if (history->id[i] == w1->id) + return 1; + + if (history->id[i] == w2->id) + return -1; + + if (!history->id[i]) + break; + } + + return w1->activeNum - w2->activeNum; +} + +void +windowAddNotify (CompWindow *w) +{ + w->added = TRUE; +} + diff --git a/stamp-h1 b/stamp-h1 new file mode 100644 index 0000000..4547fe1 --- /dev/null +++ b/stamp-h1 @@ -0,0 +1 @@ +timestamp for config.h diff --git a/text/Makefile b/text/Makefile new file mode 100644 index 0000000..a4c4fc9 --- /dev/null +++ b/text/Makefile @@ -0,0 +1,572 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# text/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = text +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libtext_la_DEPENDENCIES = +am__libtext_la_SOURCES_DIST = text.c +am_libtext_la_OBJECTS = text.lo +libtext_la_OBJECTS = $(am_libtext_la_OBJECTS) +libtext_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libtext_la_LDFLAGS) $(LDFLAGS) -o $@ +am_libtext_la_rpath = -rpath $(moduledir) +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libtext_la_SOURCES) +DIST_SOURCES = $(am__libtext_la_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/text +abs_srcdir = /media/disk-3/src/compiz/text +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libtext_la_LDFLAGS = $(PFLAGS) +libtext_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +libtext_la_SOURCES = text.c +INCLUDES = \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libtext.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu text/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu text/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libtext.la: $(libtext_la_OBJECTS) $(libtext_la_DEPENDENCIES) + $(libtext_la_LINK) $(am_libtext_la_rpath) $(libtext_la_OBJECTS) $(libtext_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/text.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +text_options.h: ../metadata/text.xml + $(BCOP_BIN) --header $@ $< + +text_options.c: ../metadata/text.xml text_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/text/Makefile.am b/text/Makefile.am new file mode 100644 index 0000000..a1cdc52 --- /dev/null +++ b/text/Makefile.am @@ -0,0 +1,31 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +if TEXT_PLUGIN +libtext_la_LDFLAGS = $(PFLAGS) +libtext_la_LIBADD = @ECOMP_LIBS@ @PANGO_LIBS@ +libtext_la_SOURCES = text.c +endif + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + @PANGO_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) + +if TEXT_PLUGIN +module_LTLIBRARIES = libtext.la +endif + +CLEANFILES = *_options.c *_options.h + +text_options.h: ../metadata/text.xml + $(BCOP_BIN) --header $@ $< + +text_options.c: ../metadata/text.xml text_options.h + $(BCOP_BIN) --source $@ $< diff --git a/text/Makefile.in b/text/Makefile.in new file mode 100644 index 0000000..b3c6fcd --- /dev/null +++ b/text/Makefile.in @@ -0,0 +1,572 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = text +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libtext_la_DEPENDENCIES = +am__libtext_la_SOURCES_DIST = text.c +@TEXT_PLUGIN_TRUE@am_libtext_la_OBJECTS = text.lo +libtext_la_OBJECTS = $(am_libtext_la_OBJECTS) +libtext_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libtext_la_LDFLAGS) $(LDFLAGS) -o $@ +@TEXT_PLUGIN_TRUE@am_libtext_la_rpath = -rpath $(moduledir) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libtext_la_SOURCES) +DIST_SOURCES = $(am__libtext_la_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +@TEXT_PLUGIN_TRUE@libtext_la_LDFLAGS = $(PFLAGS) +@TEXT_PLUGIN_TRUE@libtext_la_LIBADD = @ECOMP_LIBS@ @PANGO_LIBS@ +@TEXT_PLUGIN_TRUE@libtext_la_SOURCES = text.c +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + @PANGO_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +@TEXT_PLUGIN_TRUE@module_LTLIBRARIES = libtext.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu text/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu text/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libtext.la: $(libtext_la_OBJECTS) $(libtext_la_DEPENDENCIES) + $(libtext_la_LINK) $(am_libtext_la_rpath) $(libtext_la_OBJECTS) $(libtext_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +text_options.h: ../metadata/text.xml + $(BCOP_BIN) --header $@ $< + +text_options.c: ../metadata/text.xml text_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/text/text.c b/text/text.c new file mode 100644 index 0000000..fbeb2dc --- /dev/null +++ b/text/text.c @@ -0,0 +1,446 @@ +/* + * text.c - adds text image support to beryl. + * Copyright: (C) 2006 Patrick Niklaus + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#define _GNU_SOURCE + +#include +#include +#include + +#include + +#include +#include +#include + +#include +#include "text.h" + +static int displayPrivateIndex; + +typedef struct _TextDisplay +{ + FileToImageProc fileToImage; + + Atom visibleNameAtom; +} TextDisplay; + +#define GET_TEXT_DISPLAY(d) \ + ((TextDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define TEXT_DISPLAY(d) \ + TextDisplay *td = GET_TEXT_DISPLAY (d) + +static char* +textGetUtf8Property (CompDisplay *d, + Window id, + Atom atom) +{ + Atom type; + int format; + unsigned long nitems; + unsigned long bytesAfter; + char *val; + int result; + char *retval; + + result = XGetWindowProperty (d->display, id, atom, 0L, 65536, False, + d->utf8StringAtom, &type, &format, &nitems, + &bytesAfter, (unsigned char **)&val); + + if (result != Success) + return NULL; + + if (type != d->utf8StringAtom || format != 8 || nitems == 0) + { + if (val) + XFree (val); + return NULL; + } + + retval = malloc (sizeof (char) * (nitems + 1)); + if (retval) + { + strncpy (retval, val, nitems); + retval[nitems] = 0; + } + + XFree (val); + + return retval; +} + +static char* +textGetTextProperty (CompDisplay *d, + Window id, + Atom atom) +{ + XTextProperty text; + char *retval = NULL; + + text.nitems = 0; + if (XGetTextProperty (d->display, id, &text, atom)) + { + if (text.value) + { + retval = malloc (sizeof (char) * (text.nitems + 1)); + if (retval) + { + strncpy (retval, (char *) text.value, text.nitems); + retval[text.nitems] = 0; + } + + XFree (text.value); + } + } + + return retval; +} + +static char* +textGetWindowName (CompDisplay *d, + Window id) +{ + char *name; + + TEXT_DISPLAY (d); + + name = textGetUtf8Property (d, id, td->visibleNameAtom); + + if (!name) + name = textGetUtf8Property(d, id, d->wmNameAtom); + + if (!name) + name = textGetTextProperty (d, id, XA_WM_NAME); + + return name; +} + + +static Bool +textFileToImage (CompDisplay *d, + const char *path, + const char *name, + int *width, + int *height, + int *stride, + void **data) +{ + Bool status = FALSE; + + TEXT_DISPLAY (d); + + if (path && name && strcmp(path, TEXT_ID) == 0) + { + cairo_t *cr; + cairo_surface_t *surface; + PangoLayout *layout; + Pixmap pixmap; + XRenderPictFormat *format; + PangoFontDescription *font; + CompTextAttrib *textAttrib; + Display *dpy = d->display; + Screen *screen; + int w, h; + + textAttrib = (CompTextAttrib*) name; /* get it through the name */ + screen = ScreenOfDisplay (dpy, textAttrib->screen->screenNum); + + if (!screen) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't get screen for %d.", + textAttrib->screen->screenNum); + return FALSE; + } + + format = XRenderFindStandardFormat (dpy, PictStandardARGB32); + if (!format) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't get format."); + return FALSE; + } + + pixmap = XCreatePixmap (dpy, textAttrib->screen->root, 1, 1, 32); + if (!pixmap) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't create pixmap."); + return FALSE; + } + + surface = cairo_xlib_surface_create_with_xrender_format (dpy, + pixmap, + screen, + format, 1, 1); + + if (cairo_surface_status (surface) != CAIRO_STATUS_SUCCESS) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't create surface."); + XFreePixmap (dpy, pixmap); + return FALSE; + } + + cr = cairo_create (surface); + if (cairo_status (cr) != CAIRO_STATUS_SUCCESS) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't create cairo context."); + cairo_surface_destroy (surface); + XFreePixmap (dpy, pixmap); + return FALSE; + } + + /* init pango */ + layout = pango_cairo_create_layout (cr); + if (!layout) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't create pango layout."); + cairo_destroy (cr); + cairo_surface_destroy (surface); + XFreePixmap (dpy, pixmap); + return FALSE; + } + + font = pango_font_description_new (); + if (!font) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't create font description."); + g_object_unref (layout); + cairo_destroy (cr); + cairo_surface_destroy (surface); + XFreePixmap (dpy, pixmap); + return FALSE; + } + + pango_font_description_set_family (font, textAttrib->family); + pango_font_description_set_absolute_size (font, + textAttrib->size * + PANGO_SCALE); + + pango_font_description_set_style (font, PANGO_STYLE_NORMAL); + + if (textAttrib->style & TEXT_STYLE_BOLD) + pango_font_description_set_weight (font, PANGO_WEIGHT_BOLD); + + if (textAttrib->style & TEXT_STYLE_ITALIC) + pango_font_description_set_style (font, PANGO_STYLE_ITALIC); + + pango_layout_set_font_description (layout, font); + + if (textAttrib->ellipsize) + pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END); + + switch (textAttrib->renderMode) { + case TextRenderNormal: + { + char *text = (char*) textAttrib->data; + pango_layout_set_text (layout, text, -1); + } + break; + case TextRenderWindowTitle: + { + Window xid = (Window) textAttrib->data; + char *text = textGetWindowName (d, xid); + + if (text) + { + pango_layout_set_text (layout, text, -1); + free (text); + } + else + { + pango_font_description_free (font); + g_object_unref (layout); + cairo_destroy (cr); + cairo_surface_destroy (surface); + XFreePixmap (dpy, pixmap); + return FALSE; + } + } + break; + default: + break; + } + + pango_layout_get_pixel_size (layout, &w, &h); + + w = MIN (textAttrib->maxwidth, w); + h = MIN (textAttrib->maxheight, h); + + /* update the size of the pango layout */ + pango_layout_set_width (layout, textAttrib->maxwidth * PANGO_SCALE); + + cairo_surface_destroy (surface); + cairo_destroy (cr); + XFreePixmap (dpy, pixmap); + + pixmap = XCreatePixmap (dpy, textAttrib->screen->root, w, h, 32); + if (!pixmap) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't create %d x %d pixmap.", w, h); + pango_font_description_free (font); + g_object_unref (layout); + return FALSE; + } + + surface = cairo_xlib_surface_create_with_xrender_format (dpy, pixmap, + screen, format, + w, h); + if (cairo_surface_status (surface) != CAIRO_STATUS_SUCCESS) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't create surface."); + pango_font_description_free (font); + g_object_unref (layout); + XFreePixmap (dpy, pixmap); + return FALSE; + } + + cr = cairo_create (surface); + if (cairo_status (cr) != CAIRO_STATUS_SUCCESS) + { + compLogMessage (d, "text", CompLogLevelError, + "Couldn't create cairo context."); + cairo_surface_destroy (surface); + pango_font_description_free (font); + g_object_unref (layout); + XFreePixmap (dpy, pixmap); + return FALSE; + } + + pango_cairo_update_layout (cr, layout); + + cairo_save (cr); + cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); + cairo_paint (cr); + cairo_restore (cr); + + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + + cairo_set_source_rgba (cr, + textAttrib->color[0] / 65535.0, + textAttrib->color[1] / 65535.0, + textAttrib->color[2] / 65535.0, + textAttrib->color[3] / 65535.0); + pango_cairo_show_layout (cr, layout); + + g_object_unref (layout); + cairo_surface_destroy (surface); + cairo_destroy (cr); + pango_font_description_free (font); + + *width = w; + *height = h; + *data = (void *)pixmap; + + return TRUE; + } + + UNWRAP (td, d, fileToImage); + status = (*d->fileToImage) (d, path, name, width, height, stride, data); + WRAP (td, d, fileToImage, textFileToImage); + + return status; +} + +static Bool +textInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + TextDisplay *td; + + td = malloc (sizeof (TextDisplay)); + if (!td) + return FALSE; + + td->visibleNameAtom = XInternAtom (d->display, + "_NET_WM_VISIBLE_NAME", 0); + + WRAP (td, d, fileToImage, textFileToImage); + + d->privates[displayPrivateIndex].ptr = td; + + return TRUE; +} + +static void +textFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + TEXT_DISPLAY (d); + + UNWRAP (td, d, fileToImage); + + free (td); +} + + +static Bool +textInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +textFini (CompPlugin *p) +{ + freeDisplayPrivateIndex(displayPrivateIndex); +} + +static int +textGetVersion (CompPlugin *p, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable textVTable = { + "text", + textGetVersion, + 0, + textInit, + textFini, + textInitDisplay, + textFiniDisplay, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 +}; + +CompPluginVTable* +getCompPluginInfo (void) +{ + return &textVTable; +} diff --git a/thumbnail/Makefile b/thumbnail/Makefile new file mode 100644 index 0000000..ffd385e --- /dev/null +++ b/thumbnail/Makefile @@ -0,0 +1,574 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# thumbnail/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = thumbnail +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libthumbnail_la_DEPENDENCIES = +am_libthumbnail_la_OBJECTS = thumbnail_options.lo thumbnail.lo +libthumbnail_la_OBJECTS = $(am_libthumbnail_la_OBJECTS) +libthumbnail_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libthumbnail_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libthumbnail_la_SOURCES) +DIST_SOURCES = $(libthumbnail_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/thumbnail +abs_srcdir = /media/disk-3/src/compiz/thumbnail +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libthumbnail_la_LDFLAGS = $(PFLAGS) +libthumbnail_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +libthumbnail_la_SOURCES = thumbnail_options.c \ + thumbnail_options.h \ + thumbnail.c \ + thumbnail_tex.h + +INCLUDES = \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libthumbnail.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu thumbnail/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu thumbnail/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libthumbnail.la: $(libthumbnail_la_OBJECTS) $(libthumbnail_la_DEPENDENCIES) + $(libthumbnail_la_LINK) -rpath $(moduledir) $(libthumbnail_la_OBJECTS) $(libthumbnail_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/thumbnail.Plo +include ./$(DEPDIR)/thumbnail_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +thumbnail_options.h: ../metadata/thumbnail.xml + $(BCOP_BIN) --header $@ $< + +thumbnail_options.c: ../metadata/thumbnail.xml thumbnail_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/thumbnail/Makefile.am b/thumbnail/Makefile.am new file mode 100644 index 0000000..6069807 --- /dev/null +++ b/thumbnail/Makefile.am @@ -0,0 +1,30 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +libthumbnail_la_LDFLAGS = $(PFLAGS) +libthumbnail_la_LIBADD = @ECOMP_LIBS@ +libthumbnail_la_SOURCES = thumbnail_options.c \ + thumbnail_options.h \ + thumbnail.c \ + thumbnail_tex.h + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) + + +module_LTLIBRARIES = libthumbnail.la + +CLEANFILES = *_options.c *_options.h + +thumbnail_options.h: ../metadata/thumbnail.xml + $(BCOP_BIN) --header $@ $< + +thumbnail_options.c: ../metadata/thumbnail.xml thumbnail_options.h + $(BCOP_BIN) --source $@ $< diff --git a/thumbnail/Makefile.in b/thumbnail/Makefile.in new file mode 100644 index 0000000..69e48be --- /dev/null +++ b/thumbnail/Makefile.in @@ -0,0 +1,574 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = thumbnail +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libthumbnail_la_DEPENDENCIES = +am_libthumbnail_la_OBJECTS = thumbnail_options.lo thumbnail.lo +libthumbnail_la_OBJECTS = $(am_libthumbnail_la_OBJECTS) +libthumbnail_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libthumbnail_la_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libthumbnail_la_SOURCES) +DIST_SOURCES = $(libthumbnail_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +libthumbnail_la_LDFLAGS = $(PFLAGS) +libthumbnail_la_LIBADD = @ECOMP_LIBS@ +libthumbnail_la_SOURCES = thumbnail_options.c \ + thumbnail_options.h \ + thumbnail.c \ + thumbnail_tex.h + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libthumbnail.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu thumbnail/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu thumbnail/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libthumbnail.la: $(libthumbnail_la_OBJECTS) $(libthumbnail_la_DEPENDENCIES) + $(libthumbnail_la_LINK) -rpath $(moduledir) $(libthumbnail_la_OBJECTS) $(libthumbnail_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thumbnail.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thumbnail_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +thumbnail_options.h: ../metadata/thumbnail.xml + $(BCOP_BIN) --header $@ $< + +thumbnail_options.c: ../metadata/thumbnail.xml thumbnail_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/thumbnail/thumbnail.c b/thumbnail/thumbnail.c new file mode 100644 index 0000000..38f2489 --- /dev/null +++ b/thumbnail/thumbnail.c @@ -0,0 +1,1201 @@ +/* + * + * Ecomp thumbnail plugin + * + * thumbnail.c + * + * Copyright : (C) 2007 by Dennis Kasprzyk + * E-mail : onestone@beryl-project.org + * + * Based on thumbnail.c: + * Copyright : (C) 2007 Stjepan Glavina + * E-mail : stjepang@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include "thumbnail_tex.h" +#include "thumbnail_options.h" + +#define GET_THUMB_DISPLAY(d) \ + ((ThumbDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define THUMB_DISPLAY(d) \ + ThumbDisplay *td = GET_THUMB_DISPLAY (d) + +#define GET_THUMB_SCREEN(s, td) \ + ((ThumbScreen *) (s)->privates[(td)->screenPrivateIndex].ptr) + +#define THUMB_SCREEN(s) \ + ThumbScreen *ts = GET_THUMB_SCREEN (s, GET_THUMB_DISPLAY (s->display)) + +#define GET_THUMB_WINDOW(w, ts) \ + ((ThumbWindow *) (w)->privates[(ts)->windowPrivateIndex].ptr) + +#define THUMB_WINDOW_PTR(w) \ + GET_THUMB_WINDOW (w, \ + GET_THUMB_SCREEN (w->screen, \ + GET_THUMB_DISPLAY (w->screen->display))) + +#define THUMB_WINDOW(w) \ + ThumbWindow *tw = THUMB_WINDOW_PTR(w) + +#define WIN_X(w) ((w)->attrib.x) +#define WIN_Y(w) ((w)->attrib.y) +#define WIN_W(w) ((w)->width) +#define WIN_H(w) ((w)->height) + +#define THUMB_MOUSE_UPDATE_SPEED 100 + +#define TEXT_DISTANCE 10 + +#define THUMB_DIRECTION_LEFT 3 +#define THUMB_DIRECTION_RIGHT 4 +#define THUMB_DIRECTION_TOP 5 +#define THUMB_DIRECTION_BOTTOM 6 + +static int displayPrivateIndex; + +typedef struct _ThumbDisplay +{ + int screenPrivateIndex; + + HandleEventProc handleEvent; + + Atom winIconGeometryAtom; + Atom thumbnailAtom; +} +ThumbDisplay; + +typedef struct _Thumbnail +{ + int x; + int y; + int width; + int height; + float scale; + float opacity; + int offset; + + CompWindow *win; + CompWindow *dock; + + CompTexture textTexture; + Pixmap textPixmap; + + int tWidth; + int tHeight; +} +Thumbnail; + +typedef struct _ThumbScreen +{ + int windowPrivateIndex; + + CompTimeoutHandle mouseTimeout; + CompTimeoutHandle displayTimeout; + + PreparePaintScreenProc preparePaintScreen; + PaintOutputProc paintOutput; + PaintWindowProc paintWindow; + DonePaintScreenProc donePaintScreen; + DamageWindowRectProc damageWindowRect; + WindowResizeNotifyProc windowResizeNotify; + PaintTransformedOutputProc paintTransformedOutput; + + CompWindow *dock; + CompWindow *pointedWin; + + Bool showingThumb; + Thumbnail thumb; + Thumbnail oldThumb; + Bool painted; + + CompTexture glowTexture; + CompTexture windowTexture; + + int x; + int y; + +} +ThumbScreen; + +typedef struct _ThumbWindow +{ + int x; + int y; + int direction; +} + +ThumbWindow; + +static void +freeThumbText (CompScreen *s, + Thumbnail *t) +{ + if (!t->textPixmap) + return; + + releasePixmapFromTexture (s, &t->textTexture); + + initTexture (s, &t->textTexture); + + XFreePixmap (s->display->display, t->textPixmap); + + t->textPixmap = None; +} + +static void +renderThumbText (CompScreen *s, + Thumbnail *t, + Bool freeThumb) +{ + int stride; + void *data; + + if (freeThumb) + freeThumbText (s, t); + + CompTextAttrib tA; + + tA.maxwidth = t->width; + tA.maxheight = 100; + tA.screen = s; + tA.size = thumbnailGetFontSize (s); + tA.color[0] = thumbnailGetFontColorRed (s); + tA.color[1] = thumbnailGetFontColorGreen (s); + tA.color[2] = thumbnailGetFontColorBlue (s); + tA.color[3] = thumbnailGetFontColorAlpha (s); + tA.style = (thumbnailGetFontBold (s) ) ? + TEXT_STYLE_BOLD : TEXT_STYLE_NORMAL; + tA.family = "Sans"; + tA.ellipsize = TRUE; + tA.renderMode = TextRenderWindowTitle; + tA.data = (void *) (t->win->id); + + initTexture (s, &t->textTexture); + + if ( (*s->display->fileToImage) (s->display, TEXT_ID, (char *) &tA, + &t->tWidth, &t->tHeight, &stride, &data) ) + { + t->textPixmap = (Pixmap) data; + bindPixmapToTexture (s, &t->textTexture, t->textPixmap, + t->tWidth, t->tHeight, 32); + } + else + { + t->textPixmap = None; + t->tWidth = 0; + t->tHeight = 0; + } +} + +static void +damageThumbRegion (CompScreen *s, + Thumbnail *t) +{ + REGION region; + region.extents.x1 = t->x - t->offset; + region.extents.y1 = t->y - t->offset; + region.extents.x2 = region.extents.x1 + t->width + (t->offset * 2); + region.extents.y2 = region.extents.y1 + t->height + (t->offset * 2); + + if (t->textPixmap) + region.extents.y2 += t->tHeight + TEXT_DISTANCE; + + region.rects = ®ion.extents; + region.numRects = region.size = 1; + + damageScreenRegion (s, ®ion); +} + +#define GET_DISTANCE(a,b) \ + (sqrt((((a)[0] - (b)[0]) * ((a)[0] - (b)[0])) + \ + (((a)[1] - (b)[1]) * ((a)[1] - (b)[1])))) + +static void +thumbUpdateThumbnail (CompScreen *s) +{ + THUMB_SCREEN (s); + + float maxSize = thumbnailGetThumbSize (s); + + double scale = 1.0; + + if (ts->thumb.win == ts->pointedWin) + return; + + if (ts->thumb.opacity > 0.0 && ts->oldThumb.opacity > 0.0) + return; + + if (ts->thumb.win) + damageThumbRegion (s, &ts->thumb); + + freeThumbText (s, &ts->oldThumb); + + ts->oldThumb = ts->thumb; + ts->thumb.win = ts->pointedWin; + ts->thumb.dock = ts->dock; + + if (!ts->thumb.win) + return; + + /* do we nee to scale the window down? */ + if (WIN_W (ts->thumb.win) > maxSize || WIN_H (ts->thumb.win) > maxSize) + { + if (WIN_W (ts->thumb.win) >= WIN_H (ts->thumb.win) ) + scale = maxSize / WIN_W (ts->thumb.win); + else + scale = maxSize / WIN_H (ts->thumb.win); + } + + ts->thumb.width = WIN_W (ts->thumb.win) * scale; + ts->thumb.height = WIN_H (ts->thumb.win) * scale; + ts->thumb.scale = scale; + + THUMB_WINDOW (ts->thumb.win); + + if (thumbnailGetTitleEnabled (s) ) + renderThumbText (s, &ts->thumb, FALSE); + else + freeThumbText (s, &ts->thumb); + + int tPos[2] = {0, 0}; + + int off = thumbnailGetBorder (s); + + int oDev = outputDeviceForPoint (s, tw->x, tw->y); + + int ox1, oy1, ox2, oy2, ow, oh; + + if (s->nOutputDev == 1 || oDev > s->nOutputDev) + { + ox1 = 0; + oy1 = 0; + ox2 = s->width; + oy2 = s->height; + ow = s->width; + oh = s->height; + } + else + { + ox1 = s->outputDev[oDev].region.extents.x1; + ox2 = s->outputDev[oDev].region.extents.x2; + oy1 = s->outputDev[oDev].region.extents.y1; + oy2 = s->outputDev[oDev].region.extents.y2; + ow = ox2 - ox1; + oh = oy2 - oy1; + } + + int tHeight = ts->thumb.height; + + if (ts->thumb.textPixmap) + tHeight += ts->thumb.tHeight + TEXT_DISTANCE; + + switch(tw->direction) + { + case THUMB_DIRECTION_BOTTOM: + tPos[0] = tw->x - (ts->thumb.width / 2.0); + tPos[1] = oh - (tw->y + ts->thumb.height); + + break; + case THUMB_DIRECTION_TOP: + tPos[0] = tw->x - (ts->thumb.width / 2.0); + tPos[1] = tw->y; + + break; + case THUMB_DIRECTION_LEFT: + tPos[0] = tw->y; + tPos[1] = tw->x - (ts->thumb.height / 2.0); + + break; + case THUMB_DIRECTION_RIGHT: + tPos[0] = ow - (tw->y + ts->thumb.width); + tPos[1] = tw->x - (ts->thumb.height / 2.0); + + break; + } + + ts->thumb.x = tPos[0]; + ts->thumb.y = tPos[1]; + + ts->thumb.offset = off; + ts->thumb.opacity = 0.0; + + printf("thumbUpdateThumbnail %d:%d, off:%d\n", ts->thumb.x, ts->thumb.y, off); + + damageThumbRegion (s, &ts->thumb); +} + +static Bool +thumbShowThumbnail (void *vs) +{ + CompScreen *s = (CompScreen *) vs; + THUMB_SCREEN (s); + ts->showingThumb = TRUE; + thumbUpdateThumbnail (s); + damageThumbRegion (s, &ts->thumb); + return TRUE; +} + +static void +thumbWindowResizeNotify (CompWindow *w, + int dx, + int dy, + int dwidth, + int dheight) +{ + THUMB_SCREEN (w->screen); + + thumbUpdateThumbnail (w->screen); + + UNWRAP (ts, w->screen, windowResizeNotify); + (*w->screen->windowResizeNotify) (w, dx, dy, dwidth, dheight); + WRAP (ts, w->screen, windowResizeNotify, thumbWindowResizeNotify); +} + +static void +thumbHandleEvent (CompDisplay * d, + XEvent * event) +{ + THUMB_DISPLAY (d); + + UNWRAP (td, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (td, d, handleEvent, thumbHandleEvent); + + CompWindow *w; + + switch (event->type) + { + case ClientMessage: + + if (event->xclient.message_type == td->winIconGeometryAtom) + { + CompScreen *s = findScreenAtDisplay (d, event->xclient.window); + + if (!s) break; + + THUMB_SCREEN (s); + + if (event->xclient.data.l[0]) + { + w = findWindowAtDisplay (d, (int)event->xclient.data.l[0]); + + if (w) + { + if (!ts->showingThumb && !(ts->thumb.opacity != 0.0 && ts->thumb.win == w)) + { + if (ts->displayTimeout) + { + if (ts->pointedWin != w) + { + compRemoveTimeout (ts->displayTimeout); + ts->displayTimeout = compAddTimeout (thumbnailGetShowDelay (s), + thumbShowThumbnail, s); + } + } + else + { + ts->displayTimeout = compAddTimeout (thumbnailGetShowDelay (s), + thumbShowThumbnail, s); + } + } + + THUMB_WINDOW (w); + tw->x = (int)event->xclient.data.l[1]; + tw->y = (int)event->xclient.data.l[2]; + tw->direction = (int)event->xclient.data.l[3]; + + ts->pointedWin = w; + + thumbUpdateThumbnail (s); + } + } + else + { + if (ts->showingThumb) + { + if (ts->displayTimeout) + { + compRemoveTimeout (ts->displayTimeout); + ts->displayTimeout = 0; + } + + ts->pointedWin = 0; + ts->showingThumb = FALSE; + } + } + } + break; + case PropertyNotify: + if (event->xproperty.atom == d->wmNameAtom) + { + w = findWindowAtDisplay (d, event->xproperty.window); + + if (w) + { + THUMB_SCREEN (w->screen); + + if (ts->thumb.win == w && thumbnailGetTitleEnabled (w->screen)) + renderThumbText (w->screen, &ts->thumb, TRUE); + } + } + break; + + default: + break; + } +} + + +static void +thumbPaintThumb (CompScreen *s, + Thumbnail *t, + const CompTransform *transform) +{ + THUMB_SCREEN (s); + AddWindowGeometryProc oldAddWindowGeometry; + CompWindow *w = t->win; + + if (!w) + return; + + int wx = t->x; + int wy = t->y; + + float width = t->width; + float height = t->height; + + WindowPaintAttrib sAttrib = w->paint; + + if (t->textPixmap) + height += t->tHeight + TEXT_DISTANCE; + + /* Wrap drawWindowGeometry to make sure the general + drawWindowGeometry function is used */ + oldAddWindowGeometry = w->screen->addWindowGeometry; + + w->screen->addWindowGeometry = addWindowGeometry; + + unsigned int mask = PAINT_WINDOW_TRANSFORMED_MASK | + PAINT_WINDOW_TRANSLUCENT_MASK; + + if (w->texture->pixmap) + { + + int off = t->offset; + + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + + if (thumbnailGetWindowLike (s) ) + { + glColor4f (1.0, 1.0, 1.0, t->opacity); + enableTexture (s, &ts->windowTexture, COMP_TEXTURE_FILTER_GOOD); + } + else + { + glColor4us (thumbnailGetThumbColorRed (s), + thumbnailGetThumbColorGreen (s), + thumbnailGetThumbColorBlue (s), + thumbnailGetThumbColorAlpha (s) * t->opacity); + + enableTexture (s, &ts->glowTexture, COMP_TEXTURE_FILTER_GOOD); + } + + glBegin (GL_QUADS); + + glTexCoord2f (1, 0); + glVertex2f (wx, wy); + glVertex2f (wx, wy + height); + glVertex2f (wx + width, wy + height); + glVertex2f (wx + width, wy); + + glTexCoord2f (0, 1); + glVertex2f (wx - off, wy - off); + glTexCoord2f (0, 0); + glVertex2f (wx - off, wy); + glTexCoord2f (1, 0); + glVertex2f (wx, wy); + glTexCoord2f (1, 1); + glVertex2f (wx, wy - off); + + glTexCoord2f (1, 1); + glVertex2f (wx + width, wy - off); + glTexCoord2f (1, 0); + glVertex2f (wx + width, wy); + glTexCoord2f (0, 0); + glVertex2f (wx + width + off, wy); + glTexCoord2f (0, 1); + glVertex2f (wx + width + off, wy - off); + + glTexCoord2f (0, 0); + glVertex2f (wx - off, wy + height); + glTexCoord2f (0, 1); + glVertex2f (wx - off, wy + height + off); + glTexCoord2f (1, 1); + glVertex2f (wx, wy + height + off); + glTexCoord2f (1, 0); + glVertex2f (wx, wy + height); + + glTexCoord2f (1, 0); + glVertex2f (wx + width, wy + height); + glTexCoord2f (1, 1); + glVertex2f (wx + width, wy + height + off); + glTexCoord2f (0, 1); + glVertex2f (wx + width + off, wy + height + off); + glTexCoord2f (0, 0); + glVertex2f (wx + width + off, wy + height); + + glTexCoord2f (1, 1); + glVertex2f (wx, wy - off); + glTexCoord2f (1, 0); + glVertex2f (wx, wy); + glTexCoord2f (1, 0); + glVertex2f (wx + width, wy); + glTexCoord2f (1, 1); + glVertex2f (wx + width, wy - off); + + glTexCoord2f (1, 0); + glVertex2f (wx, wy + height); + glTexCoord2f (1, 1); + glVertex2f (wx, wy + height + off); + glTexCoord2f (1, 1); + glVertex2f (wx + width, wy + height + off); + glTexCoord2f (1, 0); + glVertex2f (wx + width, wy + height); + + glTexCoord2f (0, 0); + glVertex2f (wx - off, wy); + glTexCoord2f (0, 0); + glVertex2f (wx - off, wy + height); + glTexCoord2f (1, 0); + glVertex2f (wx, wy + height); + glTexCoord2f (1, 0); + glVertex2f (wx, wy); + + glTexCoord2f (1, 0); + glVertex2f (wx + width, wy); + glTexCoord2f (1, 0); + glVertex2f (wx + width, wy + height); + glTexCoord2f (0, 0); + glVertex2f (wx + width + off, wy + height); + glTexCoord2f (0, 0); + glVertex2f (wx + width + off, wy); + + glEnd (); + + if (thumbnailGetWindowLike (s) ) + { + disableTexture (s, &ts->windowTexture); + } + else + { + disableTexture (s, &ts->glowTexture); + } + + glColor4usv (defaultColor); + + glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + + if (t->textPixmap) + { + glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + glColor4f (1.0, 1.0, 1.0, t->opacity); + + enableTexture (s, &t->textTexture, COMP_TEXTURE_FILTER_GOOD); + + CompMatrix *m = &t->textTexture.matrix; + + float ox = 0.0; + + if (t->tWidth < width) + ox = (width - t->tWidth) / 2.0; + + float w = MIN (width, t->tWidth); + + float h = t->tHeight; + + glBegin (GL_QUADS); + glTexCoord2f (COMP_TEX_COORD_X (m, 0), COMP_TEX_COORD_Y (m, 0) ); + glVertex2f (wx + ox, wy + height - h); + glTexCoord2f (COMP_TEX_COORD_X (m, 0), COMP_TEX_COORD_Y (m, h) ); + glVertex2f (wx + ox, wy + height); + glTexCoord2f (COMP_TEX_COORD_X (m, w), COMP_TEX_COORD_Y (m, h) ); + glVertex2f (wx + ox + w, wy + height); + glTexCoord2f (COMP_TEX_COORD_X (m, w), COMP_TEX_COORD_Y (m, 0) ); + glVertex2f (wx + ox + w, wy + height - h); + glEnd (); + + disableTexture (s, &t->textTexture); + + glColor4usv (defaultColor); + } + + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + glDisable (GL_BLEND); + + screenTexEnvMode (s, GL_REPLACE); + + glColor4usv (defaultColor); + + sAttrib.opacity *= t->opacity; + sAttrib.yScale = t->scale; + sAttrib.xScale = t->scale; + + sAttrib.xTranslate = wx - w->attrib.x + w->input.left * sAttrib.xScale; + sAttrib.yTranslate = wy - w->attrib.y + w->input.top * sAttrib.yScale; + + GLenum filter = s->display->textureFilter; + + if (thumbnailGetMipmap (s) ) + s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; + + FragmentAttrib fragment; + + CompTransform wTransform = *transform; + + initFragmentAttrib (&fragment, &sAttrib); + + matrixTranslate (&wTransform, w->attrib.x, w->attrib.y, 0.0f); + matrixScale (&wTransform, sAttrib.xScale, sAttrib.yScale, 1.0f); + matrixTranslate (&wTransform, + sAttrib.xTranslate / sAttrib.xScale - w->attrib.x, + sAttrib.yTranslate / sAttrib.yScale - w->attrib.y, + 0.0f); + + glPushMatrix (); + glLoadMatrixf (wTransform.m); + (w->screen->drawWindow) (w, &wTransform, &fragment, &infiniteRegion, + mask); + glPopMatrix (); + + s->display->textureFilter = filter; + } + + w->screen->addWindowGeometry = oldAddWindowGeometry; +} + +static void +thumbPreparePaintScreen (CompScreen *s, + int ms) +{ + THUMB_SCREEN (s); + + float val = ms; + val /= 1000; + val /= thumbnailGetFadeSpeed (s); + + if (otherScreenGrabExist (s, 0) ) + { + ts->dock = NULL; + + if (ts->displayTimeout) + { + compRemoveTimeout (ts->displayTimeout); + ts->displayTimeout = 0; + } + + ts->pointedWin = 0; + ts->showingThumb = FALSE; + } + + if (ts->showingThumb && ts->thumb.win == ts->pointedWin) + { + ts->thumb.opacity = MIN (1.0, ts->thumb.opacity + val); + } + + if (!ts->showingThumb || ts->thumb.win != ts->pointedWin) + { + ts->thumb.opacity = MAX (0.0, ts->thumb.opacity - val); + if (ts->thumb.opacity == 0.0) + ts->thumb.win = NULL; + } + + ts->oldThumb.opacity = MAX (0.0, ts->oldThumb.opacity - val); + if (ts->oldThumb.opacity == 0.0) + ts->oldThumb.win = NULL; + + UNWRAP (ts, s, preparePaintScreen); + (*s->preparePaintScreen) (s, ms); + WRAP (ts, s, preparePaintScreen, thumbPreparePaintScreen); +} + +static void +thumbDonePaintScreen (CompScreen *s) +{ + THUMB_SCREEN (s); + + if (ts->thumb.opacity > 0.0 && ts->thumb.opacity < 1.0) + damageThumbRegion (s, &ts->thumb); + + if (ts->oldThumb.opacity > 0.0 && ts->oldThumb.opacity < 1.0) + damageThumbRegion (s, &ts->oldThumb); + + UNWRAP (ts, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (ts, s, donePaintScreen, thumbDonePaintScreen); +} + +static Bool +thumbPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + THUMB_SCREEN (s); + + ts->painted = FALSE; + + ts->x = s->x; + ts->y = s->y; + + unsigned int newMask = mask; + + if ( (ts->oldThumb.opacity > 0.0 && ts->oldThumb.win) || + (ts->thumb.opacity > 0.0 && ts->thumb.win) ) + newMask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK; + + UNWRAP (ts, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, + output, newMask); + WRAP (ts, s, paintOutput, thumbPaintOutput); + + if (thumbnailGetAlwaysOnTop (s) && !ts->painted) + { + if (ts->oldThumb.opacity > 0.0 && ts->oldThumb.win) + { + CompTransform sTransform = *transform; + + transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, + &sTransform); + glPushMatrix (); + glLoadMatrixf (sTransform.m); + thumbPaintThumb (s, &ts->oldThumb, &sTransform); + glPopMatrix (); + } + + if (ts->thumb.opacity > 0.0 && ts->thumb.win) + { + CompTransform sTransform = *transform; + + transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, + &sTransform); + glPushMatrix (); + glLoadMatrixf (sTransform.m); + thumbPaintThumb (s, &ts->thumb, &sTransform); + glPopMatrix (); + } + } + + return status; +} + +static void +thumbPaintTransformedOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + + THUMB_SCREEN (s); + + UNWRAP (ts, s, paintTransformedOutput); + (*s->paintTransformedOutput) (s, sAttrib, transform, region, output, mask); + WRAP (ts, s, paintTransformedOutput, thumbPaintTransformedOutput); + + if (thumbnailGetAlwaysOnTop (s) && ts->x == s->x && ts->y == s->y) + { + ts->painted = TRUE; + + if (ts->oldThumb.opacity > 0.0 && ts->oldThumb.win) + { + CompTransform sTransform = *transform; + + (s->applyScreenTransform) (s, sAttrib, output, &sTransform); + transformToScreenSpace (s, output, -sAttrib->zTranslate, + &sTransform); + glPushMatrix (); + glLoadMatrixf (sTransform.m); + thumbPaintThumb (s, &ts->oldThumb, &sTransform); + glPopMatrix (); + } + + if (ts->thumb.opacity > 0.0 && ts->thumb.win) + { + CompTransform sTransform = *transform; + + (s->applyScreenTransform) (s, sAttrib, output, &sTransform); + transformToScreenSpace (s, output, -sAttrib->zTranslate, + &sTransform); + glPushMatrix (); + glLoadMatrixf (sTransform.m); + thumbPaintThumb (s, &ts->thumb, &sTransform); + glPopMatrix (); + } + } +} + +static Bool +thumbPaintWindow (CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + CompScreen *s = w->screen; + Bool status; + + THUMB_SCREEN (s); + + UNWRAP (ts, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ts, s, paintWindow, thumbPaintWindow); + + if (!thumbnailGetAlwaysOnTop (s) && ts->x == s->x && ts->y == s->y) + { + if (ts->oldThumb.opacity > 0.0 && ts->oldThumb.win && + ts->oldThumb.dock == w) + { + thumbPaintThumb (s, &ts->oldThumb, transform); + } + + if (ts->thumb.opacity > 0.0 && ts->thumb.win && ts->thumb.dock == w) + { + thumbPaintThumb (s, &ts->thumb, transform); + } + } + + return status; +} + +static Bool +thumbDamageWindowRect (CompWindow *w, + Bool initial, + BoxPtr rect) +{ + Bool status; + + THUMB_SCREEN (w->screen); + + if (ts->thumb.win == w && ts->thumb.opacity > 0.0) + damageThumbRegion (w->screen, &ts->thumb); + + if (ts->oldThumb.win == w && ts->oldThumb.opacity > 0.0) + damageThumbRegion (w->screen, &ts->oldThumb); + + UNWRAP (ts, w->screen, damageWindowRect); + status = (*w->screen->damageWindowRect) (w, initial, rect); + WRAP (ts, w->screen, damageWindowRect, thumbDamageWindowRect); + + return status; +} + +static Bool +thumbInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + ThumbDisplay *td; + + td = malloc (sizeof (ThumbDisplay) ); + + if (!td) + return FALSE; + + td->screenPrivateIndex = allocateScreenPrivateIndex (d); + + if (td->screenPrivateIndex < 0) + { + free (td); + return FALSE; + } + + td->winIconGeometryAtom = XInternAtom (d->display, + "_NET_WM_ICON_GEOMETRY", FALSE); + + WRAP (td, d, handleEvent, thumbHandleEvent); + + d->privates[displayPrivateIndex].ptr = td; + + return TRUE; +} + + +static void +thumbFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + THUMB_DISPLAY (d); + + freeScreenPrivateIndex (d, td->screenPrivateIndex); + + UNWRAP (td, d, handleEvent); + + free (td); +} + +static Bool +thumbInitWindow (CompPlugin *p, + CompWindow *w) +{ + ThumbWindow *tw; + + THUMB_SCREEN (w->screen); + + /* create window */ + tw = calloc (1, sizeof (ThumbWindow) ); + + if (!tw) + return FALSE; + + w->privates[ts->windowPrivateIndex].ptr = tw; + + return TRUE; +} + +static void +thumbFiniWindow (CompPlugin *p, + CompWindow *w) +{ + THUMB_WINDOW (w); + THUMB_SCREEN (w->screen); + + if (ts->thumb.win == w) + { + damageThumbRegion (w->screen, &ts->thumb); + ts->thumb.win = NULL; + ts->thumb.opacity = 0; + } + + if (ts->oldThumb.win == w) + { + damageThumbRegion (w->screen, &ts->oldThumb); + ts->oldThumb.win = NULL; + ts->oldThumb.opacity = 0; + } + + /* free window pointer */ + free (tw); +} + +static Bool +thumbRGBAimageToTexture (CompScreen *screen, + CompTexture *texture, + char *image, + unsigned int width, + unsigned int height) +{ + char *data; + int i; + + makeScreenCurrent (screen); + + data = malloc (4 * width * height); + + if (!data) + return FALSE; + + for (i = 0; i < height; i++) + memcpy (&data[i * width * 4], + &image[ (height - i - 1) * width * 4], width * 4); + + releasePixmapFromTexture (screen, texture); + + if (screen->textureNonPowerOfTwo || + (POWER_OF_TWO (width) && POWER_OF_TWO (height) ) ) + { + texture->target = GL_TEXTURE_2D; + texture->matrix.xx = 1.0f / width; + texture->matrix.yy = -1.0f / height; + texture->matrix.y0 = 1.0f; + } + else + { + texture->target = GL_TEXTURE_RECTANGLE_NV; + texture->matrix.xx = 1.0f; + texture->matrix.yy = -1.0f; + texture->matrix.y0 = height; + } + + if (!texture->name) + glGenTextures (1, &texture->name); + + glBindTexture (texture->target, texture->name); + + glTexImage2D (texture->target, 0, GL_RGBA, width, height, 0, GL_RGBA, + GL_UNSIGNED_BYTE, data); + + texture->filter = GL_NEAREST; + + glTexParameteri (texture->target, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri (texture->target, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameteri (texture->target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri (texture->target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + texture->wrap = GL_CLAMP_TO_EDGE; + texture->mipmap = TRUE; + + glBindTexture (texture->target, 0); + + free (data); + + return TRUE; +} + +static Bool +thumbInitScreen (CompPlugin *p, + CompScreen *s) +{ + ThumbScreen *ts; + + THUMB_DISPLAY (s->display); + + ts = calloc (1, sizeof (ThumbScreen) ); + + if (!ts) + return FALSE; + + ts->windowPrivateIndex = allocateWindowPrivateIndex (s); + + WRAP (ts, s, paintOutput, thumbPaintOutput); + WRAP (ts, s, damageWindowRect, thumbDamageWindowRect); + WRAP (ts, s, preparePaintScreen, thumbPreparePaintScreen); + WRAP (ts, s, donePaintScreen, thumbDonePaintScreen); + WRAP (ts, s, paintWindow, thumbPaintWindow); + WRAP (ts, s, windowResizeNotify, thumbWindowResizeNotify); + WRAP (ts, s, paintTransformedOutput, thumbPaintTransformedOutput); + + ts->dock = NULL; + ts->pointedWin = NULL; + ts->displayTimeout = 0; + ts->thumb.win = NULL; + ts->oldThumb.win = NULL; + ts->showingThumb = FALSE; + + s->privates[td->screenPrivateIndex].ptr = ts; + + ts->mouseTimeout = 0; + + initTexture (s, &ts->glowTexture); + initTexture (s, &ts->windowTexture); + + thumbRGBAimageToTexture (s, &ts->glowTexture, glowTex, 32, 32); + thumbRGBAimageToTexture (s, &ts->windowTexture, windowTex, 32, 32); + + ts->thumb.textPixmap = None; + ts->oldThumb.textPixmap = None; + + return TRUE; +} + + +static void +thumbFiniScreen (CompPlugin *p, + CompScreen *s) +{ + THUMB_SCREEN (s); + + UNWRAP (ts, s, paintOutput); + UNWRAP (ts, s, damageWindowRect); + UNWRAP (ts, s, preparePaintScreen); + UNWRAP (ts, s, donePaintScreen); + UNWRAP (ts, s, paintWindow); + UNWRAP (ts, s, windowResizeNotify); + UNWRAP (ts, s, paintTransformedOutput); + + if (ts->mouseTimeout) + compRemoveTimeout (ts->mouseTimeout); + + freeThumbText (s, &ts->thumb); + freeThumbText (s, &ts->oldThumb); + + finiTexture (s, &ts->glowTexture); + finiTexture (s, &ts->windowTexture); + + free (ts); +} + + +static Bool +thumbInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + + +static void +thumbFini (CompPlugin *p) +{ + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +thumbnailGetVersion (CompPlugin *plugin, + int version) +{ + return ABIVERSION; +} + + +CompPluginVTable thumbVTable = { + + "thumbnail", + thumbnailGetVersion, + 0, + thumbInit, + thumbFini, + thumbInitDisplay, + thumbFiniDisplay, + thumbInitScreen, + thumbFiniScreen, + thumbInitWindow, + thumbFiniWindow, + 0, /* thumbGetDisplayOptions */ + 0, /* thumbSetDisplayOption */ + 0, + 0 +}; + + +CompPluginVTable * +getCompPluginInfo (void) +{ + return &thumbVTable; +} diff --git a/thumbnail/thumbnail_options.c b/thumbnail/thumbnail_options.c new file mode 100644 index 0000000..41378c4 --- /dev/null +++ b/thumbnail/thumbnail_options.c @@ -0,0 +1,606 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _THUMBNAIL_OPTIONS_INTERNAL +#include "thumbnail_options.h" + +static int displayPrivateIndex; + +static CompMetadata thumbnailOptionsMetadata; + +static CompPluginVTable *thumbnailPluginVTable = NULL; +CompPluginVTable thumbnailOptionsVTable; + +#define GET_THUMBNAIL_OPTIONS_DISPLAY(d) \ + ((ThumbnailOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define THUMBNAIL_OPTIONS_DISPLAY(d) \ + ThumbnailOptionsDisplay *od = GET_THUMBNAIL_OPTIONS_DISPLAY (d) + +#define GET_THUMBNAIL_OPTIONS_SCREEN(s, od) \ + ((ThumbnailOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define THUMBNAIL_OPTIONS_SCREEN(s) \ + ThumbnailOptionsScreen *os = GET_THUMBNAIL_OPTIONS_SCREEN (s, GET_THUMBNAIL_OPTIONS_DISPLAY (s->display)) + +typedef struct _ThumbnailOptionsDisplay +{ + int screenPrivateIndex; + +} ThumbnailOptionsDisplay; + +typedef struct _ThumbnailOptionsScreen +{ + CompOption opt[ThumbnailScreenOptionNum]; + thumbnailScreenOptionChangeNotifyProc notify[ThumbnailScreenOptionNum]; +} ThumbnailOptionsScreen; + +int thumbnailGetThumbSize (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionThumbSize].value.i; +} + +CompOption * thumbnailGetThumbSizeOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionThumbSize]; +} + +void thumbnailSetThumbSizeNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionThumbSize] = notify; +} + +int thumbnailGetShowDelay (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionShowDelay].value.i; +} + +CompOption * thumbnailGetShowDelayOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionShowDelay]; +} + +void thumbnailSetShowDelayNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionShowDelay] = notify; +} + +int thumbnailGetBorder (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionBorder].value.i; +} + +CompOption * thumbnailGetBorderOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionBorder]; +} + +void thumbnailSetBorderNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionBorder] = notify; +} + +unsigned short * thumbnailGetThumbColor (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionThumbColor].value.c; +} + +unsigned short thumbnailGetThumbColorRed (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionThumbColor].value.c[0]; +} + +unsigned short thumbnailGetThumbColorGreen (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionThumbColor].value.c[1]; +} + +unsigned short thumbnailGetThumbColorBlue (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionThumbColor].value.c[2]; +} + +unsigned short thumbnailGetThumbColorAlpha (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionThumbColor].value.c[3]; +} + +CompOption * thumbnailGetThumbColorOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionThumbColor]; +} + +void thumbnailSetThumbColorNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionThumbColor] = notify; +} + +float thumbnailGetFadeSpeed (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionFadeSpeed].value.f; +} + +CompOption * thumbnailGetFadeSpeedOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionFadeSpeed]; +} + +void thumbnailSetFadeSpeedNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionFadeSpeed] = notify; +} + +Bool thumbnailGetCurrentViewport (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionCurrentViewport].value.b; +} + +CompOption * thumbnailGetCurrentViewportOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionCurrentViewport]; +} + +void thumbnailSetCurrentViewportNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionCurrentViewport] = notify; +} + +Bool thumbnailGetAlwaysOnTop (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionAlwaysOnTop].value.b; +} + +CompOption * thumbnailGetAlwaysOnTopOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionAlwaysOnTop]; +} + +void thumbnailSetAlwaysOnTopNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionAlwaysOnTop] = notify; +} + +Bool thumbnailGetWindowLike (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionWindowLike].value.b; +} + +CompOption * thumbnailGetWindowLikeOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionWindowLike]; +} + +void thumbnailSetWindowLikeNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionWindowLike] = notify; +} + +Bool thumbnailGetMipmap (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionMipmap].value.b; +} + +CompOption * thumbnailGetMipmapOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionMipmap]; +} + +void thumbnailSetMipmapNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionMipmap] = notify; +} + +Bool thumbnailGetTitleEnabled (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionTitleEnabled].value.b; +} + +CompOption * thumbnailGetTitleEnabledOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionTitleEnabled]; +} + +void thumbnailSetTitleEnabledNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionTitleEnabled] = notify; +} + +Bool thumbnailGetFontBold (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionFontBold].value.b; +} + +CompOption * thumbnailGetFontBoldOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionFontBold]; +} + +void thumbnailSetFontBoldNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionFontBold] = notify; +} + +int thumbnailGetFontSize (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionFontSize].value.i; +} + +CompOption * thumbnailGetFontSizeOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionFontSize]; +} + +void thumbnailSetFontSizeNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionFontSize] = notify; +} + +unsigned short * thumbnailGetFontColor (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionFontColor].value.c; +} + +unsigned short thumbnailGetFontColorRed (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionFontColor].value.c[0]; +} + +unsigned short thumbnailGetFontColorGreen (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionFontColor].value.c[1]; +} + +unsigned short thumbnailGetFontColorBlue (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionFontColor].value.c[2]; +} + +unsigned short thumbnailGetFontColorAlpha (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return os->opt[ThumbnailScreenOptionFontColor].value.c[3]; +} + +CompOption * thumbnailGetFontColorOption (CompScreen *s) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[ThumbnailScreenOptionFontColor]; +} + +void thumbnailSetFontColorNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + os->notify[ThumbnailScreenOptionFontColor] = notify; +} + +CompOption * thumbnailGetScreenOption (CompScreen *s, ThumbnailScreenOptions num) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + return &os->opt[num]; +} + +static const CompMetadataOptionInfo thumbnailOptionsScreenOptionInfo[] = { + { "thumb_size", "int", "501500", 0, 0 }, + { "show_delay", "int", "10010000", 0, 0 }, + { "border", "int", "132", 0, 0 }, + { "thumb_color", "color", 0, 0, 0 }, + { "fade_speed", "float", "0.05.0", 0, 0 }, + { "current_viewport", "bool", 0, 0, 0 }, + { "always_on_top", "bool", 0, 0, 0 }, + { "window_like", "bool", 0, 0, 0 }, + { "mipmap", "bool", 0, 0, 0 }, + { "title_enabled", "bool", 0, 0, 0 }, + { "font_bold", "bool", 0, 0, 0 }, + { "font_size", "int", "636", 0, 0 }, + { "font_color", "color", 0, 0, 0 }, +}; + +static Bool thumbnailOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, ThumbnailScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case ThumbnailScreenOptionThumbSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionThumbSize]) + (*os->notify[ThumbnailScreenOptionThumbSize]) (s, o, ThumbnailScreenOptionThumbSize); + return TRUE; + } + break; + case ThumbnailScreenOptionShowDelay: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionShowDelay]) + (*os->notify[ThumbnailScreenOptionShowDelay]) (s, o, ThumbnailScreenOptionShowDelay); + return TRUE; + } + break; + case ThumbnailScreenOptionBorder: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionBorder]) + (*os->notify[ThumbnailScreenOptionBorder]) (s, o, ThumbnailScreenOptionBorder); + return TRUE; + } + break; + case ThumbnailScreenOptionThumbColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionThumbColor]) + (*os->notify[ThumbnailScreenOptionThumbColor]) (s, o, ThumbnailScreenOptionThumbColor); + return TRUE; + } + break; + case ThumbnailScreenOptionFadeSpeed: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionFadeSpeed]) + (*os->notify[ThumbnailScreenOptionFadeSpeed]) (s, o, ThumbnailScreenOptionFadeSpeed); + return TRUE; + } + break; + case ThumbnailScreenOptionCurrentViewport: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionCurrentViewport]) + (*os->notify[ThumbnailScreenOptionCurrentViewport]) (s, o, ThumbnailScreenOptionCurrentViewport); + return TRUE; + } + break; + case ThumbnailScreenOptionAlwaysOnTop: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionAlwaysOnTop]) + (*os->notify[ThumbnailScreenOptionAlwaysOnTop]) (s, o, ThumbnailScreenOptionAlwaysOnTop); + return TRUE; + } + break; + case ThumbnailScreenOptionWindowLike: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionWindowLike]) + (*os->notify[ThumbnailScreenOptionWindowLike]) (s, o, ThumbnailScreenOptionWindowLike); + return TRUE; + } + break; + case ThumbnailScreenOptionMipmap: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionMipmap]) + (*os->notify[ThumbnailScreenOptionMipmap]) (s, o, ThumbnailScreenOptionMipmap); + return TRUE; + } + break; + case ThumbnailScreenOptionTitleEnabled: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionTitleEnabled]) + (*os->notify[ThumbnailScreenOptionTitleEnabled]) (s, o, ThumbnailScreenOptionTitleEnabled); + return TRUE; + } + break; + case ThumbnailScreenOptionFontBold: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionFontBold]) + (*os->notify[ThumbnailScreenOptionFontBold]) (s, o, ThumbnailScreenOptionFontBold); + return TRUE; + } + break; + case ThumbnailScreenOptionFontSize: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionFontSize]) + (*os->notify[ThumbnailScreenOptionFontSize]) (s, o, ThumbnailScreenOptionFontSize); + return TRUE; + } + break; + case ThumbnailScreenOptionFontColor: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[ThumbnailScreenOptionFontColor]) + (*os->notify[ThumbnailScreenOptionFontColor]) (s, o, ThumbnailScreenOptionFontColor); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * thumbnailOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + THUMBNAIL_OPTIONS_SCREEN(s); + *count = ThumbnailScreenOptionNum; + return os->opt; +} + +static Bool thumbnailOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + ThumbnailOptionsScreen *os; + + THUMBNAIL_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(ThumbnailOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (!compInitScreenOptionsFromMetadata (s, &thumbnailOptionsMetadata, thumbnailOptionsScreenOptionInfo, os->opt, ThumbnailScreenOptionNum)) + { + free (os); + return FALSE; + } + if (thumbnailPluginVTable && thumbnailPluginVTable->initScreen) + return thumbnailPluginVTable->initScreen (p, s); + return TRUE; +} + +static void thumbnailOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (thumbnailPluginVTable && thumbnailPluginVTable->finiScreen) + return thumbnailPluginVTable->finiScreen (p, s); + + THUMBNAIL_OPTIONS_SCREEN (s); + + + compFiniScreenOptions (s, os->opt, ThumbnailScreenOptionNum); + + free (os); +} + +static Bool thumbnailOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + ThumbnailOptionsDisplay *od; + + + od = calloc (1, sizeof(ThumbnailOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (thumbnailPluginVTable && thumbnailPluginVTable->initDisplay) + return thumbnailPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void thumbnailOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (thumbnailPluginVTable && thumbnailPluginVTable->finiDisplay) + return thumbnailPluginVTable->finiDisplay (p, d); + + THUMBNAIL_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + free (od); +} + +static Bool thumbnailOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&thumbnailOptionsMetadata, "thumbnail",0, 0, thumbnailOptionsScreenOptionInfo, ThumbnailScreenOptionNum)) + return FALSE; + + compAddMetadataFromFile (&thumbnailOptionsMetadata, "thumbnail"); + if (thumbnailPluginVTable && thumbnailPluginVTable->init) + return thumbnailPluginVTable->init (p); + return TRUE; +} + +static void thumbnailOptionsFini (CompPlugin *p) +{ + if (thumbnailPluginVTable && thumbnailPluginVTable->fini) + return thumbnailPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&thumbnailOptionsMetadata); +} + +static CompMetadata * +thumbnailOptionsGetMetadata (CompPlugin *plugin) +{ + return &thumbnailOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!thumbnailPluginVTable) + { + thumbnailPluginVTable = thumbnailOptionsGetCompPluginInfo (); + memcpy(&thumbnailOptionsVTable, thumbnailPluginVTable, sizeof(CompPluginVTable)); + thumbnailOptionsVTable.getMetadata = thumbnailOptionsGetMetadata; + thumbnailOptionsVTable.init = thumbnailOptionsInit; + thumbnailOptionsVTable.fini = thumbnailOptionsFini; + thumbnailOptionsVTable.initDisplay = thumbnailOptionsInitDisplay; + thumbnailOptionsVTable.finiDisplay = thumbnailOptionsFiniDisplay; + thumbnailOptionsVTable.initScreen = thumbnailOptionsInitScreen; + thumbnailOptionsVTable.finiScreen = thumbnailOptionsFiniScreen; + thumbnailOptionsVTable.getScreenOptions = thumbnailOptionsGetScreenOptions; + thumbnailOptionsVTable.setScreenOption = thumbnailOptionsSetScreenOption; + + } + return &thumbnailOptionsVTable; +} + diff --git a/thumbnail/thumbnail_options.h b/thumbnail/thumbnail_options.h new file mode 100644 index 0000000..189812e --- /dev/null +++ b/thumbnail/thumbnail_options.h @@ -0,0 +1,120 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _THUMBNAIL_OPTIONS_H +#define _THUMBNAIL_OPTIONS_H + +#ifndef _THUMBNAIL_OPTIONS_INTERNAL +#define getCompPluginInfo thumbnailOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *thumbnailOptionsGetCompPluginInfo (void); + +typedef enum +{ + ThumbnailDisplayOptionNum +} ThumbnailDisplayOptions; + +typedef void (*thumbnailDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, ThumbnailDisplayOptions num); + +CompOption *thumbnailGetDisplayOption (CompDisplay *d, ThumbnailDisplayOptions num); + +typedef enum +{ + ThumbnailScreenOptionThumbSize, + ThumbnailScreenOptionShowDelay, + ThumbnailScreenOptionBorder, + ThumbnailScreenOptionThumbColor, + ThumbnailScreenOptionFadeSpeed, + ThumbnailScreenOptionCurrentViewport, + ThumbnailScreenOptionAlwaysOnTop, + ThumbnailScreenOptionWindowLike, + ThumbnailScreenOptionMipmap, + ThumbnailScreenOptionTitleEnabled, + ThumbnailScreenOptionFontBold, + ThumbnailScreenOptionFontSize, + ThumbnailScreenOptionFontColor, + ThumbnailScreenOptionNum +} ThumbnailScreenOptions; + +typedef void (*thumbnailScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, ThumbnailScreenOptions num); + +CompOption *thumbnailGetScreenOption (CompScreen *s, ThumbnailScreenOptions num); + +int thumbnailGetThumbSize (CompScreen *s); +CompOption * thumbnailGetThumbSizeOption (CompScreen *s); +void thumbnailSetThumbSizeNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +int thumbnailGetShowDelay (CompScreen *s); +CompOption * thumbnailGetShowDelayOption (CompScreen *s); +void thumbnailSetShowDelayNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +int thumbnailGetBorder (CompScreen *s); +CompOption * thumbnailGetBorderOption (CompScreen *s); +void thumbnailSetBorderNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +unsigned short * thumbnailGetThumbColor (CompScreen *s); +unsigned short thumbnailGetThumbColorRed (CompScreen *s); +unsigned short thumbnailGetThumbColorGreen (CompScreen *s); +unsigned short thumbnailGetThumbColorBlue (CompScreen *s); +unsigned short thumbnailGetThumbColorAlpha (CompScreen *s); +CompOption * thumbnailGetThumbColorOption (CompScreen *s); +void thumbnailSetThumbColorNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +float thumbnailGetFadeSpeed (CompScreen *s); +CompOption * thumbnailGetFadeSpeedOption (CompScreen *s); +void thumbnailSetFadeSpeedNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +Bool thumbnailGetCurrentViewport (CompScreen *s); +CompOption * thumbnailGetCurrentViewportOption (CompScreen *s); +void thumbnailSetCurrentViewportNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +Bool thumbnailGetAlwaysOnTop (CompScreen *s); +CompOption * thumbnailGetAlwaysOnTopOption (CompScreen *s); +void thumbnailSetAlwaysOnTopNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +Bool thumbnailGetWindowLike (CompScreen *s); +CompOption * thumbnailGetWindowLikeOption (CompScreen *s); +void thumbnailSetWindowLikeNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +Bool thumbnailGetMipmap (CompScreen *s); +CompOption * thumbnailGetMipmapOption (CompScreen *s); +void thumbnailSetMipmapNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +Bool thumbnailGetTitleEnabled (CompScreen *s); +CompOption * thumbnailGetTitleEnabledOption (CompScreen *s); +void thumbnailSetTitleEnabledNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +Bool thumbnailGetFontBold (CompScreen *s); +CompOption * thumbnailGetFontBoldOption (CompScreen *s); +void thumbnailSetFontBoldNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +int thumbnailGetFontSize (CompScreen *s); +CompOption * thumbnailGetFontSizeOption (CompScreen *s); +void thumbnailSetFontSizeNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +unsigned short * thumbnailGetFontColor (CompScreen *s); +unsigned short thumbnailGetFontColorRed (CompScreen *s); +unsigned short thumbnailGetFontColorGreen (CompScreen *s); +unsigned short thumbnailGetFontColorBlue (CompScreen *s); +unsigned short thumbnailGetFontColorAlpha (CompScreen *s); +CompOption * thumbnailGetFontColorOption (CompScreen *s); +void thumbnailSetFontColorNotify (CompScreen *s, thumbnailScreenOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/thumbnail/thumbnail_tex.h b/thumbnail/thumbnail_tex.h new file mode 100644 index 0000000..a41c268 --- /dev/null +++ b/thumbnail/thumbnail_tex.h @@ -0,0 +1,313 @@ +#ifndef _THUMBNAIL_TEX_H +#define _THUMBNAIL_TEX_H + +static char glowTex[4096] = { +"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377\1\377\377\377\1\377\377" + "\377\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1\377" + "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\2\377\377" + "\377\2\377\377\377\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377\1" + "\377\377\377\1\377\377\377\2\377\377\377\2\377\377\377\3\377\377\377\3\377" + "\377\377\4\377\377\377\4\377\377\377\5\377\377\377\5\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" + "\1\377\377\377\1\377\377\377\2\377\377\377\2\377\377\377\3\377\377\377\4" + "\377\377\377\4\377\377\377\5\377\377\377\6\377\377\377\7\377\377\377\7\377" + "\377\377\10\377\377\377\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377" + "\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\6\377\377\377\7" + "\377\377\377\10\377\377\377\11\377\377\377\12\377\377\377\13\377\377\377" + "\14\377\377\377\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" + "\377\1\377\377\377\1\377\377\377\2\377\377\377\2\377\377\377\3\377\377\377" + "\4\377\377\377\5\377\377\377\7\377\377\377\10\377\377\377\12\377\377\377" + "\13\377\377\377\15\377\377\377\17\377\377\377\20\377\377\377\21\377\377\377" + "\23\377\377\377\24\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1" + "\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377\4\377\377\377\5\377" + "\377\377\7\377\377\377\11\377\377\377\12\377\377\377\15\377\377\377\17\377" + "\377\377\21\377\377\377\23\377\377\377\25\377\377\377\27\376\376\376\31\377" + "\377\377\33\377\377\377\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1" + "\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377\5\377\377\377\6\377" + "\377\377\10\377\377\377\12\377\377\377\15\377\377\377\17\377\377\377\22\377" + "\377\377\25\377\377\377\30\377\377\377\33\377\377\377\36\377\377\377!\377" + "\377\377#\377\377\377%\377\377\377'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1" + "\377\377\377\2\377\377\377\2\377\377\377\4\377\377\377\5\377\377\377\7\377" + "\377\377\11\377\377\377\14\377\377\377\17\377\377\377\22\377\377\377\26\376" + "\376\376\31\376\376\376\35\377\377\377!\377\377\377%\377\377\377)\377\377" + "\377,\377\377\377/\376\376\3762\377\377\3774\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" + "\1\377\377\377\2\377\377\377\3\377\377\377\4\377\377\377\6\377\377\377\10" + "\377\377\377\12\377\377\377\15\377\377\377\21\377\377\377\25\376\376\376" + "\31\377\377\377\36\377\377\377\"\377\377\377'\377\377\377,\377\377\3771\376" + "\376\3765\376\376\376:\377\377\377=\377\377\377A\377\377\377D\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" + "\377\377\1\377\377\377\2\377\377\377\3\377\377\377\4\377\377\377\6\377\377" + "\377\10\377\377\377\13\377\377\377\16\377\377\377\22\377\377\377\27\377\377" + "\377\34\377\377\377!\377\377\377'\377\377\377-\377\377\3773\377\377\3779" + "\377\377\377?\377\377\377D\377\377\377I\377\377\377M\377\377\377Q\377\377" + "\377U\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377" + "\5\377\377\377\10\377\377\377\13\377\377\377\17\377\377\377\23\377\377\377" + "\30\377\377\377\36\377\377\377$\377\377\377+\376\376\3762\377\377\3779\377" + "\377\377@\377\377\377G\377\377\377N\377\377\377T\377\377\377Z\377\377\377" + "_\377\377\377c\376\376\376g\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377" + "\3\377\377\377\5\377\377\377\10\377\377\377\13\377\377\377\17\377\377\377" + "\23\376\376\376\31\377\377\377\37\377\377\377'\377\377\377.\377\377\3776" + "\377\377\377?\377\377\377G\377\377\377P\377\377\377X\377\377\377_\377\377" + "\377f\377\377\377l\377\377\377r\377\377\377w\377\377\377{\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377" + "\2\377\377\377\3\377\377\377\5\377\377\377\7\377\377\377\12\377\377\377\16" + "\377\377\377\23\376\376\376\31\377\377\377\40\377\377\377'\377\377\3770\377" + "\377\3779\377\377\377C\377\377\377L\377\377\377V\377\377\377_\377\377\377" + "h\377\377\377q\377\377\377x\377\377\377\177\377\377\377\205\377\377\377\212" + "\377\377\377\216\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\377\377\377\1\377\377\377\1\377\377\377\3\377\377\377\4\377\377\377\6\377" + "\377\377\11\377\377\377\15\377\377\377\22\377\377\377\30\377\377\377\37\377" + "\377\377(\377\377\3771\377\377\377;\377\377\377E\377\377\377P\376\376\376" + "[\377\377\377f\377\377\377p\377\377\377z\377\377\377\202\377\377\377\212" + "\377\377\377\221\377\377\377\227\377\377\377\235\377\377\377\241\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377" + "\2\377\377\377\3\377\377\377\5\377\377\377\10\377\377\377\14\377\377\377" + "\21\377\377\377\27\377\377\377\36\377\377\377'\377\377\3770\377\377\377;" + "\377\377\377F\377\377\377R\377\377\377^\376\376\376j\377\377\377v\377\377" + "\377\200\377\377\377\213\377\377\377\224\377\377\377\234\377\377\377\243" + "\377\377\377\251\377\377\377\256\377\377\377\262\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377\1\377\377\377\3\377\377" + "\377\5\377\377\377\7\377\377\377\13\377\377\377\17\377\377\377\25\377\377" + "\377\34\377\377\377$\377\377\377.\377\377\3779\377\377\377E\377\377\377R" + "\377\377\377_\377\377\377l\376\376\376y\377\377\377\205\377\377\377\221\377" + "\377\377\233\377\377\377\244\377\377\377\255\377\377\377\264\376\376\376" + "\271\377\377\377\276\377\377\377\302\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377\6\377" + "\377\377\11\377\377\377\15\377\377\377\22\376\376\376\31\377\377\377!\377" + "\377\377+\377\377\3776\377\377\377C\377\377\377P\377\377\377^\377\377\377" + "l\377\377\377z\377\377\377\210\377\377\377\224\377\377\377\240\377\377\377" + "\253\377\377\377\264\377\377\377\274\377\377\377\302\376\376\376\310\377" + "\377\377\314\377\377\377\320\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" + "\377\377\1\377\377\377\1\377\377\377\3\377\377\377\4\377\377\377\7\377\377" + "\377\13\377\377\377\20\377\377\377\26\377\377\377\36\377\377\377'\376\376" + "\3762\377\377\377?\377\377\377L\376\376\376[\376\376\376j\376\376\376y\377" + "\377\377\210\377\377\377\226\377\377\377\243\377\377\377\256\376\376\376" + "\271\377\377\377\301\377\377\377\311\376\376\376\317\376\376\376\324\377" + "\377\377\330\377\377\377\333\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" + "\377\377\1\377\377\377\2\377\377\377\3\377\377\377\5\377\377\377\11\377\377" + "\377\15\377\377\377\22\377\377\377\32\377\377\377#\377\377\377-\376\376\376" + ":\377\377\377G\377\377\377V\377\377\377f\377\377\377v\377\377\377\205\377" + "\377\377\224\377\377\377\243\377\377\377\257\376\376\376\273\377\377\377" + "\305\377\377\377\315\376\376\376\324\377\377\377\332\377\377\377\336\377" + "\377\377\342\377\377\377\345\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" + "\377\377\1\377\377\377\2\377\377\377\4\377\377\377\7\377\377\377\12\377\377" + "\377\17\377\377\377\25\377\377\377\36\377\377\377(\377\377\3773\377\377\377" + "A\377\377\377P\377\377\377`\377\377\377p\377\377\377\201\377\377\377\221" + "\377\377\377\240\377\377\377\256\376\376\376\273\377\377\377\306\376\376" + "\376\317\377\377\377\327\377\377\377\336\377\377\377\343\377\377\377\347" + "\376\376\376\352\377\377\377\354\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\377\377\377\1\377\377\377\3\377\377\377\5\377\377\377\10\377\377\377\14" + "\377\377\377\21\377\377\377\30\377\377\377!\377\377\377,\377\377\3779\377" + "\377\377H\377\377\377X\377\377\377h\377\377\377z\377\377\377\213\377\377" + "\377\233\377\377\377\253\377\377\377\270\377\377\377\305\376\376\376\317" + "\377\377\377\330\377\377\377\337\377\377\377\345\376\376\376\351\377\377" + "\377\355\377\377\377\360\376\376\376\362\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377\5\377\377\377\11\377" + "\377\377\15\377\377\377\23\377\377\377\33\377\377\377%\377\377\3771\377\377" + "\377?\377\377\377N\377\377\377_\377\377\377q\377\377\377\203\377\377\377" + "\224\377\377\377\245\377\377\377\264\377\377\377\301\377\377\377\315\377" + "\377\377\327\377\377\377\337\377\377\377\346\376\376\376\353\377\377\377" + "\357\376\376\376\362\377\377\377\364\377\377\377\366\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377\6\377" + "\377\377\12\377\377\377\17\377\377\377\26\377\377\377\36\377\377\377)\377" + "\377\3776\377\377\377D\377\377\377U\377\377\377f\377\377\377x\377\377\377" + "\213\377\377\377\234\377\377\377\255\377\377\377\274\377\377\377\311\376" + "\376\376\324\377\377\377\336\377\377\377\345\376\376\376\353\377\377\377" + "\360\377\377\377\363\377\377\377\366\377\377\377\367\377\377\377\371\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377\2\377\377\377\4\377" + "\377\377\7\377\377\377\13\377\377\377\20\377\377\377\30\377\377\377!\377" + "\377\377,\376\376\376:\377\377\377I\377\377\377Z\377\377\377l\377\377\377" + "\177\377\377\377\221\377\377\377\243\377\377\377\264\377\377\377\302\376" + "\376\376\317\377\377\377\332\377\377\377\343\376\376\376\352\377\377\377" + "\357\377\377\377\363\377\377\377\366\377\377\377\370\377\377\377\372\377" + "\377\377\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\1\377\377\377\3" + "\377\377\377\5\377\377\377\10\377\377\377\14\377\377\377\22\377\377\377\32" + "\377\377\377#\377\377\377/\377\377\377>\377\377\377N\377\377\377_\377\377" + "\377r\377\377\377\205\377\377\377\230\377\377\377\251\376\376\376\271\376" + "\376\376\310\376\376\376\324\377\377\377\336\377\377\377\347\377\377\377" + "\355\376\376\376\362\377\377\377\365\377\377\377\370\377\377\377\372\377" + "\377\377\373\377\377\377\374\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" + "\1\377\377\377\3\377\377\377\5\377\377\377\10\377\377\377\15\377\377\377" + "\23\377\377\377\33\377\377\377&\376\376\3762\377\377\377A\377\377\377R\376" + "\376\376d\377\377\377w\377\377\377\212\377\377\377\235\377\377\377\256\377" + "\377\377\276\377\377\377\314\377\377\377\330\377\377\377\342\376\376\376" + "\352\377\377\377\360\377\377\377\364\377\377\377\367\377\377\377\371\377" + "\377\377\373\377\377\377\374\377\377\377\375\0\0\0\0\0\0\0\0\0\0\0\0\377" + "\377\377\1\377\377\377\2\377\377\377\3\377\377\377\5\377\377\377\11\377\377" + "\377\16\377\377\377\24\376\376\376\35\377\377\377(\376\376\3765\377\377\377" + "D\377\377\377U\376\376\376g\377\377\377{\377\377\377\216\377\377\377\241" + "\377\377\377\262\377\377\377\302\377\377\377\320\377\377\377\333\377\377" + "\377\345\377\377\377\354\376\376\376\362\377\377\377\366\377\377\377\370" + "\377\377\377\372\377\377\377\374\377\377\377\374\377\377\377\375" +}; + +static char windowTex[4096] = { + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\2\0\0\0\2\0\0\0\2" + "\0\0\0\2\0\0\0\2\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\2\0\0\0\2" + "\0\0\0\2\0\0\0\3\0\0\0\3\0\0\0\3\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\4\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1" + "\0\0\0\2\0\0\0\2\0\0\0\3\0\0\0\3\0\0\0\4\0\0\0\5\0\0\0\5\0\0\0\6\0\0\0\6" + "\0\0\0\6\0\0\0\7\0\0\0\7\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\2\0\0\0\2\0\0\0\3\0\0\0\4\0\0\0\5\0\0\0\6" + "\0\0\0\7\0\0\0\10\0\0\0\11\0\0\0\11\0\0\0\12\0\0\0\13\0\0\0\13\0\0\0\14\0" + "\0\0\14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\2\0\0\0\2\0" + "\0\0\3\0\0\0\4\0\0\0\5\0\0\0\7\0\0\0\10\0\0\0\12\0\0\0\13\0\0\0\14\0\0\0" + "\16\0\0\0\17\0\0\0\20\0\0\0\21\0\0\0\21\0\0\0\22\0\0\0\22\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\4\0\0\0\5\0\0\0\7\0\0\0\11" + "\0\0\0\13\0\0\0\15\0\0\0\17\0\0\0\21\0\0\0\23\0\0\0\24\0\0\0\26\0\0\0\30" + "\0\0\0\31\0\0\0\32\0\0\0\33\0\0\0\33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0" + "\0\2\0\0\0\3\0\0\0\4\0\0\0\6\0\0\0\10\0\0\0\12\0\0\0\15\0\0\0\20\0\0\0\22" + "\0\0\0\25\0\0\0\30\0\0\0\33\0\0\0\35\0\0\0\37\0\0\0!\0\0\0#\0\0\0$\0\0\0" + "%\0\0\0&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\5\0\0\0\7\0\0\0\11" + "\0\0\0\14\0\0\0\17\0\0\0\23\0\0\0\26\0\0\0\32\0\0\0\36\0\0\0\"\0\0\0%\0\0" + "\0(\0\0\0+\0\0\0.\0\0\0""0\0\0\0""1\0\0\0""2\0\0\0""3\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0" + "\0\2\0\0\0\3\0\0\0\5\0\0\0\7\0\0\0\12\0\0\0\15\0\0\0\21\0\0\0\25\0\0\0\32" + "\0\0\0\36\0\0\0#\0\0\0(\0\0\0-\0\0\0""1\0\0\0""5\0\0\0""9\0\0\0<\0\0\0>\0" + "\0\0@\0\0\0B\0\0\0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\5\0\0\0\7\0\0\0\12\0\0\0" + "\16\0\0\0\22\0\0\0\27\0\0\0\34\0\0\0\"\0\0\0(\0\0\0/\0\0\0""5\0\0\0;\0\0" + "\0@\0\0\0E\0\0\0I\0\0\0M\0\0\0P\0\0\0R\0\0\0T\0\0\0V\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0" + "\0\5\0\0\0\7\0\0\0\12\0\0\0\16\0\0\0\22\0\0\0\30\0\0\0\36\0\0\0%\0\0\0,\0" + "\0\0""4\0\0\0<\0\0\0C\0\0\0J\0\0\0Q\0\0\0V\0\0\0[\0\0\0`\0\0\0c\0\0\0f\0" + "\0\0h\0\0\0i\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\1\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\6\0\0\0\11\0\0\0\15\0\0\0\22\0\0\0\30" + "\0\0\0\36\0\0\0&\0\0\0/\0\0\0""8\0\0\0A\0\0\0J\0\0\0S\0\0\0[\0\0\0b\0\0\0" + "i\0\0\0\231\0\0\0\354\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0" + "\0\5\0\0\0\10\0\0\0\14\0\0\0\21\0\0\0\27\0\0\0\36\0\0\0&\0\0\0/\0\0\0""9" + "\0\0\0D\0\0\0O\0\0\0Y\0\0\0c\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\361" + "\361\361\353\361\361\361\353\361\361\361\353\361\361\361\353\361\361\361" + "\353\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0" + "\0\3\0\0\0\4\0\0\0\7\0\0\0\12\0\0\0\17\0\0\0\25\0\0\0\34\0\0\0$\0\0\0.\0" + "\0\0""9\0\0\0E\0\0\0Q\0\0\0]\0\0\0\234\0\0\0\377\0\0\0\377\361\361\361\353" + "\361\361\361\353\361\361\361\353\361\361\361\353\341\341\341\326\341\341" + "\341\326\341\341\341\326\341\341\341\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\5\0\0\0\10\0\0\0\15\0\0\0" + "\22\0\0\0\31\0\0\0\"\0\0\0,\0\0\0""7\0\0\0C\0\0\0Q\0\0\0^\0\0\0\377\0\0\0" + "\377\361\361\361\353\361\361\361\353\361\361\361\353\341\341\341\326\341" + "\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341" + "\326\341\341\341\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\1\0\0\0\2\0\0\0\4\0\0\0\7\0\0\0\12\0\0\0\17\0\0\0\26\0\0\0\36\0\0\0'\0" + "\0\0""3\0\0\0@\0\0\0N\0\0\0]\0\0\0\377\0\0\0\377\361\361\361\353\361\361" + "\361\353\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326" + "\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341" + "\341\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3" + "\0\0\0\5\0\0\0\10\0\0\0\14\0\0\0\22\0\0\0\31\0\0\0\"\0\0\0-\0\0\0:\0\0\0" + "I\0\0\0X\0\0\0w\0\0\0\377\361\361\361\353\361\361\361\353\341\341\341\326" + "\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341" + "\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\6" + "\0\0\0\11\0\0\0\16\0\0\0\24\0\0\0\35\0\0\0'\0\0\0""3\0\0\0A\0\0\0Q\0\0\0" + "b\0\0\0\377\361\361\361\353\361\361\361\353\341\341\341\326\341\341\341\326" + "\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341" + "\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\7" + "\0\0\0\13\0\0\0\20\0\0\0\27\0\0\0\40\0\0\0+\0\0\0""9\0\0\0H\0\0\0Y\0\0\0" + "\225\0\0\0\377\361\361\361\353\341\341\341\326\341\341\341\326\341\341\341" + "\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341" + "\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341" + "\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\3\0\0\0\5\0\0" + "\0\10\0\0\0\14\0\0\0\22\0\0\0\31\0\0\0#\0\0\0""0\0\0\0>\0\0\0N\0\0\0`\0\0" + "\0\377\361\361\361\353\361\361\361\353\341\341\341\326\341\341\341\326\341" + "\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341" + "\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341" + "\341\341\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\3\0\0" + "\0\5\0\0\0\10\0\0\0\15\0\0\0\23\0\0\0\34\0\0\0&\0\0\0""3\0\0\0B\0\0\0T\0" + "\0\0f\0\0\0\377\361\361\361\353\341\341\341\326\341\341\341\326\341\341\341" + "\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341" + "\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341" + "\326\341\341\341\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0" + "\0\3\0\0\0\6\0\0\0\11\0\0\0\16\0\0\0\25\0\0\0\36\0\0\0)\0\0\0""7\0\0\0F\0" + "\0\0X\0\0\0k\0\0\0\377\361\361\361\353\341\341\341\326\341\341\341\326\341" + "\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341" + "\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341" + "\341\341\326\341\341\341\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0" + "\0\2\0\0\0\3\0\0\0\6\0\0\0\12\0\0\0\17\0\0\0\26\0\0\0\37\0\0\0+\0\0\0""9" + "\0\0\0J\0\0\0\\\0\0\0o\0\0\0\377\361\361\361\353\341\341\341\326\341\341" + "\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326" + "\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341" + "\341\326\341\341\341\326\341\341\341\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\6\0\0\0\12\0\0\0\20\0\0\0\27\0\0\0!\0\0\0" + "-\0\0\0<\0\0\0L\0\0\0_\0\0\0s\0\0\0\377\361\361\361\353\341\341\341\326\341" + "\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341" + "\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341" + "\341\341\326\341\341\341\326\341\341\341\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\7\0\0\0\13\0\0\0\20\0\0\0\30\0\0\0\"\0" + "\0\0.\0\0\0=\0\0\0O\0\0\0b\0\0\0v\0\0\0\377\361\361\361\353\341\341\341\326" + "\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341" + "\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326" + "\341\341\341\326\341\341\341\326\341\341\341\326\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\7\0\0\0\13\0\0\0\21\0\0\0\31\0\0\0" + "#\0\0\0""0\0\0\0?\0\0\0P\0\0\0c\0\0\0x\0\0\0\377\361\361\361\353\341\341" + "\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326" + "\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341" + "\341\326\341\341\341\326\341\341\341\326\341\341\341\326\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\7\0\0\0\13\0\0\0\21\0\0\0" + "\31\0\0\0#\0\0\0""0\0\0\0@\0\0\0Q\0\0\0e\0\0\0y\0\0\0\377\361\361\361\353" + "\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341" + "\341\326\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326" + "\341\341\341\326\341\341\341\326\341\341\341\326\341\341\341\326" +}; + +#endif diff --git a/wall/Makefile b/wall/Makefile new file mode 100644 index 0000000..5e38b71 --- /dev/null +++ b/wall/Makefile @@ -0,0 +1,573 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# wall/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +pkgdatadir = $(datadir)/ecomp +pkglibdir = $(libdir)/ecomp +pkgincludedir = $(includedir)/ecomp +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = wall +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libwall_la_DEPENDENCIES = +am__libwall_la_SOURCES_DIST = wall_options.c wall_options.h wall.c +am_libwall_la_OBJECTS = wall_options.lo wall.lo +libwall_la_OBJECTS = $(am_libwall_la_OBJECTS) +libwall_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libwall_la_LDFLAGS) $(LDFLAGS) -o $@ +am_libwall_la_rpath = -rpath $(moduledir) +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libwall_la_SOURCES) +DIST_SOURCES = $(am__libwall_la_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /media/disk-3/src/compiz/missing --run aclocal-1.10 +ALL_LINGUAS = cs de es fi fr hu it ja pl pt_BR sv zh_CN zh_TW af ar bg bn bs ca cy da el en_GB en_US et gl gu he hi hr id ka km ko lo lt mk mr nb nl pa pt ro ru sk sl sr ta tr uk vi xh zu +AMTAR = ${SHELL} /media/disk-3/src/compiz/missing --run tar +ANNOTATE_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +ANNOTATE_LIBS = -lXrender -lcairo -lX11 +AR = ar +AUTOCONF = ${SHELL} /media/disk-3/src/compiz/missing --run autoconf +AUTOHEADER = ${SHELL} /media/disk-3/src/compiz/missing --run autoheader +AUTOMAKE = ${SHELL} /media/disk-3/src/compiz/missing --run automake-1.10 +AWK = mawk +BCOP_BIN = ../bcop/src/bcop.in +CAIRO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 +CAIRO_LIBS = -lXrender -lX11 -lcairo +CATALOGS = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +CATOBJEXT = .gmo +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -D_FORTIFY_SOURCE=2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -D_FORTIFY_SOURCE=2 +CYGPATH_W = echo +DATADIRNAME = share +DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 +DBUS_LIBS = -L//lib -ldbus-1 -lxml2 +DECORATION_CFLAGS = +DECORATION_LIBS = -lXrender -lX11 +DECORATION_REQUIRES = xrender +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECOMP_CFLAGS = -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ECOMP_LIBS = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 +ECOMP_REQUIRES = xcomposite xfixes xdamage xrandr xinerama ice sm libxml-2.0 libxslt pango +ECOMP_VERSION_MAJOR = 0 +ECOMP_VERSION_MICRO = 2 +ECOMP_VERSION_MINOR = 6 +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +FUSE_CFLAGS = +FUSE_LIBS = +GETTEXT_PACKAGE = ecomp +GL_CFLAGS = +GL_LIBS = -lGL +GMOFILES = cs.gmo de.gmo es.gmo fi.gmo fr.gmo hu.gmo it.gmo ja.gmo pl.gmo pt_BR.gmo sv.gmo zh_CN.gmo zh_TW.gmo af.gmo ar.gmo bg.gmo bn.gmo bs.gmo ca.gmo cy.gmo da.gmo el.gmo en_GB.gmo en_US.gmo et.gmo gl.gmo gu.gmo he.gmo hi.gmo hr.gmo id.gmo ka.gmo km.gmo ko.gmo lo.gmo lt.gmo mk.gmo mr.gmo nb.gmo nl.gmo pa.gmo pt.gmo ro.gmo ru.gmo sk.gmo sl.gmo sr.gmo ta.gmo tr.gmo uk.gmo vi.gmo xh.gmo zu.gmo +GMSGFMT = /usr/bin/msgfmt +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INSTOBJEXT = .mo +INTLLIBS = +INTLTOOL_CAVES_RULE = %.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DESKTOP_RULE = %.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_DIRECTORY_RULE = %.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_EXTRACT = /usr/bin/intltool-extract +INTLTOOL_KBD_RULE = %.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_KEYS_RULE = %.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_MERGE = /usr/bin/intltool-merge +INTLTOOL_OAF_RULE = %.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@ +INTLTOOL_PERL = /usr/bin/perl +INTLTOOL_POLICY_RULE = %.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PONG_RULE = %.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_PROP_RULE = %.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SCHEMAS_RULE = %.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVER_RULE = %.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SERVICE_RULE = %.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SHEET_RULE = %.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_SOUNDLIST_RULE = %.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_THEME_RULE = %.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UI_RULE = %.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_UPDATE = /usr/bin/intltool-update +INTLTOOL_XAM_RULE = %.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +INTLTOOL_XML_NOMERGE_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@ +INTLTOOL_XML_RULE = %.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +LD = /usr/bin/ld +LDFLAGS = +LIBOBJS = +LIBPNG_CFLAGS = -I/usr/include/libpng12 +LIBPNG_LIBS = -lpng12 +LIBRSVG_CFLAGS = +LIBRSVG_LIBS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBXSLT_CFLAGS = -I/usr/include/libxml2 +LIBXSLT_LIBS = -lxslt -lxml2 +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAINT = +MAKEINFO = ${SHELL} /media/disk-3/src/compiz/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +MKINSTALLDIRS = ./mkinstalldirs +MSGFMT = /usr/bin/msgfmt +MSGFMT_OPTS = -c +MSGMERGE = /usr/bin/msgmerge +NM = /usr/bin/nm -B +NMEDIT = +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = ecomp +PACKAGE_BUGREPORT = davidr@novell.com +PACKAGE_NAME = ecomp +PACKAGE_STRING = ecomp 0.6.2 +PACKAGE_TARNAME = ecomp +PACKAGE_VERSION = 0.6.2 +PANGO_CFLAGS = -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +PANGO_LIBS = -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lcairo +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +POFILES = cs.po de.po es.po fi.po fr.po hu.po it.po ja.po pl.po pt_BR.po sv.po zh_CN.po zh_TW.po af.po ar.po bg.po bn.po bs.po ca.po cy.po da.po el.po en_GB.po en_US.po et.po gl.po gu.po he.po hi.po hr.po id.po ka.po km.po ko.po lo.po lt.po mk.po mr.po nb.po nl.po pa.po pt.po ro.po ru.po sk.po sl.po sr.po ta.po tr.po uk.po vi.po xh.po zu.po +POSUB = po +PO_IN_DATADIR_FALSE = +PO_IN_DATADIR_TRUE = +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +USE_NLS = yes +VERSION = 0.6.2 +XGETTEXT = /usr/bin/xgettext +XSLTPROC = xsltproc +abs_builddir = /media/disk-3/src/compiz/wall +abs_srcdir = /media/disk-3/src/compiz/wall +abs_top_builddir = /media/disk-3/src/compiz +abs_top_srcdir = /media/disk-3/src/compiz +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +default_plugins = +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +imagedir = ${datarootdir}/ecomp +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = $(SHELL) /media/disk-3/src/compiz/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +metadatadir = ${datarootdir}/ecomp +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +plugindir = ${exec_prefix}/lib/ecomp +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +stylesheetdir = ${datarootdir}/ecomp +sysconfdir = ${prefix}/etc +target_alias = +top_builddir = .. +top_srcdir = .. +xsltdir = ${datarootdir}/bcop +PFLAGS = -module -avoid-version -no-undefined +libwall_la_LDFLAGS = $(PFLAGS) +libwall_la_LIBADD = -lXcomposite -lXdamage -lXfixes -lXrandr -lXinerama -lSM -lICE -lxslt -lxml2 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lXrender -lX11 -lcairo +libwall_la_SOURCES = wall_options.c wall_options.h wall.c +INCLUDES = \ + -I$(top_srcdir)/include \ + -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ + -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"${datarootdir}/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +module_LTLIBRARIES = libwall.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wall/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu wall/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libwall.la: $(libwall_la_OBJECTS) $(libwall_la_DEPENDENCIES) + $(libwall_la_LINK) $(am_libwall_la_rpath) $(libwall_la_OBJECTS) $(libwall_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/wall.Plo +include ./$(DEPDIR)/wall_options.Plo + +.c.o: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +wall_options.h: ../metadata/wall.xml + $(BCOP_BIN) --header $@ $< + +wall_options.c: ../metadata/wall.xml wall_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/wall/Makefile.am b/wall/Makefile.am new file mode 100644 index 0000000..4b6c277 --- /dev/null +++ b/wall/Makefile.am @@ -0,0 +1,31 @@ +## Process this file with automake to produce Makefile.in +PFLAGS=-module -avoid-version -no-undefined + +if WALL_PLUGIN +libwall_la_LDFLAGS = $(PFLAGS) +libwall_la_LIBADD = @ECOMP_LIBS@ @CAIRO_LIBS@ +libwall_la_SOURCES = wall_options.c wall_options.h wall.c +endif + +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + @CAIRO_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) + +if WALL_PLUGIN +module_LTLIBRARIES = libwall.la +endif + +CLEANFILES = *_options.c *_options.h + +wall_options.h: ../metadata/wall.xml + $(BCOP_BIN) --header $@ $< + +wall_options.c: ../metadata/wall.xml wall_options.h + $(BCOP_BIN) --source $@ $< diff --git a/wall/Makefile.in b/wall/Makefile.in new file mode 100644 index 0000000..69a0be0 --- /dev/null +++ b/wall/Makefile.in @@ -0,0 +1,573 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = wall +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(moduledir)" +moduleLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(module_LTLIBRARIES) +libwall_la_DEPENDENCIES = +am__libwall_la_SOURCES_DIST = wall_options.c wall_options.h wall.c +@WALL_PLUGIN_TRUE@am_libwall_la_OBJECTS = wall_options.lo wall.lo +libwall_la_OBJECTS = $(am_libwall_la_OBJECTS) +libwall_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libwall_la_LDFLAGS) $(LDFLAGS) -o $@ +@WALL_PLUGIN_TRUE@am_libwall_la_rpath = -rpath $(moduledir) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libwall_la_SOURCES) +DIST_SOURCES = $(am__libwall_la_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +ANNOTATE_CFLAGS = @ANNOTATE_CFLAGS@ +ANNOTATE_LIBS = @ANNOTATE_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BCOP_BIN = @BCOP_BIN@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DECORATION_CFLAGS = @DECORATION_CFLAGS@ +DECORATION_LIBS = @DECORATION_LIBS@ +DECORATION_REQUIRES = @DECORATION_REQUIRES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECOMP_CFLAGS = @ECOMP_CFLAGS@ +ECOMP_LIBS = @ECOMP_LIBS@ +ECOMP_REQUIRES = @ECOMP_REQUIRES@ +ECOMP_VERSION_MAJOR = @ECOMP_VERSION_MAJOR@ +ECOMP_VERSION_MICRO = @ECOMP_VERSION_MICRO@ +ECOMP_VERSION_MINOR = @ECOMP_VERSION_MINOR@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FUSE_CFLAGS = @FUSE_CFLAGS@ +FUSE_LIBS = @FUSE_LIBS@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ +INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ +INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ +INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ +INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ +INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ +INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ +INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ +INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ +INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ +INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ +INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ +INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ +INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ +INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBPNG_CFLAGS = @LIBPNG_CFLAGS@ +LIBPNG_LIBS = @LIBPNG_LIBS@ +LIBRSVG_CFLAGS = @LIBRSVG_CFLAGS@ +LIBRSVG_LIBS = @LIBRSVG_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXSLT_CFLAGS = @LIBXSLT_CFLAGS@ +LIBXSLT_LIBS = @LIBXSLT_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGO_CFLAGS = @PANGO_CFLAGS@ +PANGO_LIBS = @PANGO_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +default_plugins = @default_plugins@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +metadatadir = @metadatadir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +plugindir = @plugindir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +stylesheetdir = @stylesheetdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xsltdir = @xsltdir@ +PFLAGS = -module -avoid-version -no-undefined +@WALL_PLUGIN_TRUE@libwall_la_LDFLAGS = $(PFLAGS) +@WALL_PLUGIN_TRUE@libwall_la_LIBADD = @ECOMP_LIBS@ @CAIRO_LIBS@ +@WALL_PLUGIN_TRUE@libwall_la_SOURCES = wall_options.c wall_options.h wall.c +INCLUDES = \ + -I$(top_srcdir)/include \ + @ECOMP_CFLAGS@ \ + @CAIRO_CFLAGS@ \ + -DDATADIR='"$(compdatadir)"' \ + -DLIBDIR='"$(libdir)"' \ + -DLOCALEDIR="\"@datadir@/locale\"" \ + -DIMAGEDIR='"$(imagedir)"' + +moduledir = $(plugindir) +@WALL_PLUGIN_TRUE@module_LTLIBRARIES = libwall.la +CLEANFILES = *_options.c *_options.h +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu wall/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu wall/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ + else :; fi; \ + done + +uninstall-moduleLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ + done + +clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) + @list='$(module_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libwall.la: $(libwall_la_OBJECTS) $(libwall_la_DEPENDENCIES) + $(libwall_la_LINK) $(am_libwall_la_rpath) $(libwall_la_OBJECTS) $(libwall_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wall.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wall_options.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(moduledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-moduleLTLIBRARIES + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-moduleLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-moduleLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-moduleLTLIBRARIES install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + +wall_options.h: ../metadata/wall.xml + $(BCOP_BIN) --header $@ $< + +wall_options.c: ../metadata/wall.xml wall_options.h + $(BCOP_BIN) --source $@ $< +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/wall/wall.c b/wall/wall.c new file mode 100644 index 0000000..c6764ae --- /dev/null +++ b/wall/wall.c @@ -0,0 +1,1857 @@ +/** + * + * Ecomp wall plugin + * + * wall.c + * + * Copyright (c) 2006 Robert Carr + * + * Authors: + * Robert Carr + * Dennis Kasprzyk + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + **/ + +#include +#include +#include +#include +#include + +#include +#include "wall_options.h" + +#include + +#include +#include + +#define PI 3.14159265359f +#define VIEWPORT_SWITCHER_SIZE 70 +#define ARROW_SIZE 33 + +#define WIN_X(w) ((w)->attrib.x - (w)->input.left) +#define WIN_Y(w) ((w)->attrib.y - (w)->input.top) +#define WIN_W(w) ((w)->width + (w)->input.left + (w)->input.right) +#define WIN_H(w) ((w)->height + (w)->input.top + (w)->input.bottom) + +#define getColorRGBA(name, _display) \ + r = wallGet##name##Red(_display) / 65535.0f;\ + g = wallGet##name##Green(_display) / 65535.0f; \ + b = wallGet##name##Blue(_display) / 65535.0f; \ + a = wallGet##name##Alpha(_display) / 65535.0f + +static int displayPrivateIndex; + +/* Enums */ +typedef enum +{ + Up = 0, + Left, + Down, + Right +} Direction; + +typedef struct _WallCairoContext +{ + Pixmap pixmap; + CompTexture texture; + + cairo_surface_t *surface; + cairo_t *cr; + + int width; + int height; +} WallCairoContext; + +typedef struct _WallDisplay +{ + int screenPrivateIndex; + + HandleEventProc handleEvent; +} WallDisplay; + +typedef struct _WallScreen +{ + DonePaintScreenProc donePaintScreen; + PaintOutputProc paintOutput; + PaintScreenProc paintScreen; + PreparePaintScreenProc preparePaintScreen; + PaintTransformedOutputProc paintTransformedOutput; + PaintWindowProc paintWindow; + SetScreenOptionProc setScreenOption; + + Bool moving; /* Used to track miniview movement */ + + float curPosX; + float curPosY; + int gotoX; + int gotoY; + + int boxTimeout; + int boxOutputDevice; + + int timer; + + Window moveWindow; + + Bool miniScreen; + WindowPaintAttrib mSAttribs; + float mSzCamera; + + float firstViewportX; + float firstViewportY; + float viewportWidth; + float viewportHeight; + float viewportBorder; + + int moveWindowX; + int moveWindowY; + + WallCairoContext switcherContext; + WallCairoContext thumbContext; + WallCairoContext highlightContext; + WallCairoContext arrowContext; +} WallScreen; + +/* Helpers */ +#define GET_WALL_DISPLAY(d) \ + ((WallDisplay *) (d)->privates[displayPrivateIndex].ptr) +#define WALL_DISPLAY(d) \ + WallDisplay *wd = GET_WALL_DISPLAY(d); + +#define GET_WALL_SCREEN(s, wd) \ + ((WallScreen *) (s)->privates[(wd)->screenPrivateIndex].ptr) +#define WALL_SCREEN(s) \ + WallScreen *ws = GET_WALL_SCREEN(s, GET_WALL_DISPLAY(s->display)) + +#define GET_SCREEN \ + CompScreen *s; \ + Window xid; \ + xid = getIntOptionNamed(option, nOption, "root", 0);\ + s = findScreenAtDisplay(d, xid); \ + if (!s) \ + return FALSE; + +#define sigmoid(x) (1.0f / (1.0f + exp (-5.5f * 2 * ((x) - 0.5)))) +#define sigmoidProgress(x) ((sigmoid (x) - sigmoid (0)) / \ + (sigmoid (1) - sigmoid (0))) + + +static void +wallClearCairoLayer (cairo_t *cr) +{ + cairo_save (cr); + cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); + cairo_paint (cr); + cairo_restore (cr); + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + cairo_save (cr); +} + +static void +wallDrawSwitcherBackground (CompScreen *s) +{ + cairo_t *cr; + cairo_pattern_t *pattern; + float border = 10.0f, outline = 2.0f; + float width, height, radius; + float r, g, b, a; + int viewportWidth, viewportHeight; + int i, j; + + WALL_SCREEN (s); + + cr = ws->switcherContext.cr; + wallClearCairoLayer (cr); + + width = (float) ws->switcherContext.width - outline; + height = (float) ws->switcherContext.height - outline; + + cairo_translate (cr, outline / 2.0f, outline / 2.0f); + + /* set the pattern for the switcher's background */ + pattern = cairo_pattern_create_linear (0, 0, width, height); + getColorRGBA (BackgroundGradientBaseColor, s->display); + cairo_pattern_add_color_stop_rgba (pattern, 0.00f, r, g, b, a); + getColorRGBA (BackgroundGradientHighlightColor, s->display); + cairo_pattern_add_color_stop_rgba (pattern, 0.65f, r, g, b, a); + getColorRGBA (BackgroundGradientShadowColor, s->display); + cairo_pattern_add_color_stop_rgba (pattern, 0.85f, r, g, b, a); + cairo_set_source (cr, pattern); + + /* draw the border's shape */ + radius = (float) wallGetEdgeRadius (s->display); + if (radius) + { + cairo_arc (cr, radius, radius, radius, PI, 1.5f * PI); + cairo_arc (cr, radius + width - 2 * radius, + radius, radius, 1.5f * PI, 2.0 * PI); + cairo_arc (cr, width - radius, height - radius, radius, 0, PI / 2.0f); + cairo_arc (cr, radius, height - radius, radius, PI / 2.0f, PI); + } + else + cairo_rectangle (cr, 0, 0, width, height); + + cairo_close_path (cr); + + /* apply pattern to background... */ + cairo_fill_preserve (cr); + + /* ... and draw an outline */ + cairo_set_line_width (cr, outline); + getColorRGBA (OutlineColor, s->display); + cairo_set_source_rgba (cr, r, g, b, a); + cairo_stroke (cr); + + cairo_pattern_destroy (pattern); + + viewportWidth = floor ((width - border * (s->hsize + 1)) / s->hsize - + outline / 2.0f); + viewportHeight = floor ((height - border * (s->vsize + 1)) / s->vsize - + outline / 2.0f); + + ws->viewportWidth = viewportWidth; + ws->viewportHeight = viewportHeight; + ws->viewportBorder = border; + + cairo_translate (cr, border, border); + + for (i = 0; i < s->hsize; i++) + { + for (j = 0; j < s->vsize; j++) + { + float vpX, vpY; + + vpX = i * (viewportWidth + border + outline / 2.0f); + vpY = j * (viewportHeight + border + outline / 2.0f); + + /* this cuts a hole into our background */ + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 1.0); + cairo_rectangle (cr, vpX, vpY, viewportWidth, viewportHeight); + + cairo_fill_preserve (cr); + cairo_set_operator (cr, CAIRO_OPERATOR_XOR); + cairo_fill (cr); + } + } + + cairo_restore (cr); +} + +static void +wallDrawThumb (CompScreen *s) +{ + cairo_t *cr; + cairo_pattern_t *pattern; + float r, g, b, a; + float border = 10.0f, outline = 2.0f; + float width, height; + + WALL_SCREEN(s); + + cr = ws->thumbContext.cr; + wallClearCairoLayer (cr); + + width = (float) ws->thumbContext.width; + height = (float) ws->thumbContext.height; + + ws->viewportWidth = width; + ws->viewportHeight = height; + ws->viewportBorder = border; + + width -= outline; + height -= outline; + + cairo_translate (cr, outline / 2.0f, outline / 2.0f); + + pattern = cairo_pattern_create_linear (0, 0, width, height); + getColorRGBA (ThumbGradientBaseColor, s->display); + cairo_pattern_add_color_stop_rgba (pattern, 0.0f, r, g, b, a); + getColorRGBA (ThumbGradientHighlightColor, s->display); + cairo_pattern_add_color_stop_rgba (pattern, 1.0f, r, g, b, a); + + /* apply the pattern for thumb background */ + cairo_set_source (cr, pattern); + cairo_rectangle (cr, 0, 0, width, height); + cairo_fill_preserve (cr); + + cairo_set_line_width (cr, outline); + getColorRGBA (OutlineColor, s->display); + cairo_set_source_rgba (cr, r, g, b, a); + cairo_stroke (cr); + + cairo_pattern_destroy (pattern); + + cairo_restore (cr); +} + +static void +wallDrawHighlight(CompScreen *s) +{ + cairo_t *cr; + cairo_pattern_t *pattern; + float width, height; + float r, g, b, a; + float outline = 2.0f; + + + WALL_SCREEN(s); + + cr = ws->highlightContext.cr; + wallClearCairoLayer (cr); + + width = (float) ws->highlightContext.width - outline; + height = (float) ws->highlightContext.height - outline; + + cairo_translate (cr, outline / 2.0f, outline / 2.0f); + + pattern = cairo_pattern_create_linear (0, 0, width, height); + getColorRGBA (ThumbHighlightGradientBaseColor, s->display); + cairo_pattern_add_color_stop_rgba (pattern, 0.0f, r, g, b, a); + getColorRGBA (ThumbHighlightGradientShadowColor, s->display); + cairo_pattern_add_color_stop_rgba (pattern, 1.0f, r, g, b, a); + + /* apply the pattern for thumb background */ + cairo_set_source (cr, pattern); + cairo_rectangle (cr, 0, 0, width, height); + cairo_fill_preserve (cr); + + cairo_set_line_width (cr, outline); + getColorRGBA (OutlineColor, s->display); + cairo_set_source_rgba (cr, r, g, b, a); + cairo_stroke (cr); + + cairo_pattern_destroy (pattern); + + cairo_restore (cr); +} + +static void +wallDrawArrow (CompScreen *s) +{ + cairo_t *cr; + float outline = 2.0f; + float r, g, b, a; + + WALL_SCREEN(s); + + cr = ws->arrowContext.cr; + wallClearCairoLayer (cr); + + cairo_translate (cr, outline / 2.0f, outline / 2.0f); + + /* apply the pattern for thumb background */ + cairo_set_line_width (cr, outline); + + /* draw top part of the arrow */ + getColorRGBA (ArrowBaseColor, s->display); + cairo_set_source_rgba (cr, r, g, b, a); + cairo_move_to (cr, 15, 0); + cairo_line_to (cr, 30, 30); + cairo_line_to (cr, 15, 24.5); + cairo_line_to (cr, 15, 0); + cairo_fill (cr); + + /* draw bottom part of the arrow */ + getColorRGBA (ArrowShadowColor, s->display); + cairo_set_source_rgba (cr, r, g, b, a); + cairo_move_to (cr, 15, 0); + cairo_line_to (cr, 0, 30); + cairo_line_to (cr, 15, 24.5); + cairo_line_to (cr, 15, 0); + cairo_fill (cr); + + /* draw the arrow outline */ + getColorRGBA (OutlineColor, s->display); + cairo_set_source_rgba (cr, r, g, b, a); + cairo_move_to (cr, 15, 0); + cairo_line_to (cr, 30, 30); + cairo_line_to (cr, 15, 24.5); + cairo_line_to (cr, 0, 30); + cairo_line_to (cr, 15, 0); + cairo_stroke (cr); + + cairo_restore (cr); +} + +static void +wallSetupCairoContext (CompScreen *s, + WallCairoContext *context) +{ + XRenderPictFormat *format; + Screen *screen; + int width, height; + + screen = ScreenOfDisplay (s->display->display, s->screenNum); + + width = context->width; + height = context->height; + + initTexture (s, &context->texture); + + format = XRenderFindStandardFormat (s->display->display, + PictStandardARGB32); + + context->pixmap = XCreatePixmap (s->display->display, s->root, + width, height, 32); + + if (!bindPixmapToTexture(s, &context->texture, context->pixmap, + width, height, 32)) + { + compLogMessage (s->display, "wall", CompLogLevelError, + "Couldn't create cairo context for switcher"); + } + + context->surface = + cairo_xlib_surface_create_with_xrender_format (s->display->display, + context->pixmap, + screen, format, + width, height); + + context->cr = cairo_create (context->surface); + wallClearCairoLayer (context->cr); +} + +static void +wallDestroyCairoContext (CompScreen *s, + WallCairoContext *context) +{ + if (context->cr) + cairo_destroy (context->cr); + + if (context->surface) + cairo_surface_destroy (context->surface); + + finiTexture (s, &context->texture); + + if (context->pixmap) + XFreePixmap (s->display->display, context->pixmap); +} + +static Bool +wallCheckDestination (CompScreen *s, + int destX, + int destY) +{ + if (s->x - destX < 0) + return FALSE; + + if (s->x - destX >= s->hsize) + return FALSE; + + if (s->y - destY >= s->vsize) + return FALSE; + + if (s->y - destY < 0) + return FALSE; + + return TRUE; +} + +static void +wallReleaseMoveWindow (CompScreen *s) +{ + CompWindow *w; + WALL_SCREEN (s); + + w = findWindowAtScreen (s, ws->moveWindow); + if (w) + syncWindowPosition (w); + ws->moveWindow = 0; +} + +static void +wallComputeTranslation (CompScreen *s, + float *x, + float *y) +{ + float dx, dy, elapsed; + + WALL_SCREEN (s); + + elapsed = 1 - (ws->timer / (wallGetSlideDuration (s->display) * 1000)); + + if (elapsed < 0.0) + elapsed = 0.0; + if (elapsed > 1.0) + elapsed = 1.0; + + /* Use temporary variables to you can pass in &ps->cur_x */ + dx = (ws->gotoX - ws->curPosX) * elapsed + ws->curPosX; + dy = (ws->gotoY - ws->curPosY) * elapsed + ws->curPosY; + + *x = dx; + *y = dy; +} + +static Bool +wallMoveViewport (CompScreen *s, + int x, + int y, + Window moveWindow) +{ + WALL_SCREEN (s); + + if (!x && !y) + return FALSE; + + if (wallCheckDestination (s, x, y)) + { + if (ws->moveWindow != moveWindow) + { + CompWindow *w; + + wallReleaseMoveWindow (s); + w = findWindowAtScreen (s, moveWindow); + if (w) + { + if (!(w->type & (CompWindowTypeDesktopMask | + CompWindowTypeDockMask))) + { + if (!(w->state & CompWindowStateStickyMask)) + { + ws->moveWindow = w->id; + ws->moveWindowX = w->attrib.x; + ws->moveWindowY = w->attrib.y; + raiseWindow (w); + } + } + } + } + + if (!ws->moving) + { + ws->curPosX = s->x; + ws->curPosY = s->y; + } + ws->gotoX = s->x - x; + ws->gotoY = s->y - y; + + moveScreenViewport (s, x, y, TRUE); + + ws->moving = TRUE; + ws->boxOutputDevice = s->currentOutputDev; + } + + if (ws->moving) + { + if (wallGetShowSwitcher (s->display)) + ws->boxTimeout = wallGetPreviewTimeout (s->display) * 1000; + else + ws->boxTimeout = 0; + + if (otherScreenGrabExist (s, "move", "scale", "group-drag", "wall", 0)) + { + ws->boxTimeout = 0; + ws->moving = FALSE; + } + + ws->timer = wallGetSlideDuration (s->display) * 1000; + } + + damageScreen (s); + + return ws->moving; +} + +static void +wallHandleEvent (CompDisplay *d, + XEvent *event) +{ + WALL_DISPLAY (d); + + switch (event->type) + { + case ClientMessage: + if (event->xclient.message_type == d->winActiveAtom) + { + CompWindow *w; + + w = findWindowAtDisplay (d, event->xclient.window); + if (w) + { + int dx, dy; + + /* window must be placed */ + if (!w->placed) + break; + + if (otherScreenGrabExist (w->screen, "switcher", "scale", 0)) + break; + + defaultViewportForWindow (w, &dx, &dy); + dx -= w->screen->x; + dy -= w->screen->y; + + if (dx || dy) + wallMoveViewport (w->screen, -dx, -dy, None); + } + } + else if (event->xclient.message_type == d->desktopViewportAtom) + { + int dx, dy; + CompScreen *s; + + s = findScreenAtDisplay (d, event->xclient.window); + if (!s) + break; + + if (otherScreenGrabExist (s, "switcher", "scale", 0)) + break; + + dx = event->xclient.data.l[0] / s->width - s->x; + dy = event->xclient.data.l[1] / s->height - s->y; + + if (!dx && !dy) + break; + + wallMoveViewport (s, -dx, -dy, None); + } + break; + } + + UNWRAP (wd, d, handleEvent); + (*d->handleEvent) (d, event); + WRAP (wd, d, handleEvent, wallHandleEvent); +} + +static Bool +wallNext (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + if ((s->x == s->hsize - 1) && (s->y == s->vsize - 1)) + wallMoveViewport (s, s->hsize - 1, s->vsize - 1, None); + else if (s->x == s->hsize - 1) + wallMoveViewport (s, s->hsize - 1, -1, None); + else + wallMoveViewport (s, -1, 0, None); + + return TRUE; +} + +static Bool +wallPrev (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + if ((s->x == 0) && (s->y == 0)) + wallMoveViewport (s, -(s->hsize - 1), -(s->vsize - 1), None); + else if (s->x == 0) + wallMoveViewport (s, -(s->hsize - 1), 1, None); + else + wallMoveViewport (s, 1, 0, None); + + return TRUE; +} + +static void +wallCheckAmount (CompScreen *s, + int dx, + int dy, + int *amountX, + int *amountY) +{ + *amountX = -dx; + *amountY = -dy; + + if (wallGetAllowWraparound (s->display)) + { + if ((s->x + dx) < 0) + *amountX = -(s->hsize + dx); + else if ((s->x + dx) >= s->hsize) + *amountX = s->hsize - dx; + + if ((s->y + dy) < 0) + *amountY = -(s->vsize + dy); + else if ((s->y + dy) >= s->vsize) + *amountY = s->vsize - dy; + } +} + +static Bool +wallInitiate (CompScreen *s, + int dx, + int dy, + Window win) +{ + int amountX, amountY; + + wallCheckAmount (s, dx, dy, &amountX, &amountY); + wallMoveViewport (s, amountX, amountY, win); + + return TRUE; +} + +static Bool +wallInitiateFlip (CompScreen *s, + Direction direction, + Bool dnd) +{ + int dx, dy; + int amountX, amountY; + + if (otherScreenGrabExist (s, "wall", "move", "group-drag", 0)) + return FALSE; + + if (dnd) + { + if (!wallGetEdgeflipDnd (s)) + return FALSE; + + if (otherScreenGrabExist (s, "wall", 0)) + return FALSE; + } + else if (otherScreenGrabExist (s, "wall", "group-drag", 0)) + { + /* not wall or group means move */ + if (!wallGetEdgeflipMove (s)) + return FALSE; + } + else if (otherScreenGrabExist (s, "wall", 0)) + { + /* move was ruled out before, so we have group */ + if (!wallGetEdgeflipDnd (s)) + return FALSE; + } + else if (!wallGetEdgeflipPointer (s)) + return FALSE; + + switch (direction) + { + case Left: + dx = -1; dy = 0; + break; + case Right: + dx = 1; dy = 0; + break; + case Up: + dx = 0; dy = -1; + break; + case Down: + dx = 0; dy = 1; + break; + default: + dx = 0; dy = 0; + break; + } + + wallCheckAmount (s, dx, dy, &amountX, &amountY); + if (wallMoveViewport (s, amountX, amountY, None)) + { + int offsetX, offsetY; + int warpX, warpY; + + if (dx < 0) + { + offsetX = s->width - 10; + warpX = pointerX + s->width; + } + else if (dx > 0) + { + offsetX = 1- s->width; + warpX = pointerX - s->width; + } + else + { + offsetX = 0; + warpX = lastPointerX; + } + + if (dy < 0) + { + offsetY = s->height - 10; + warpY = pointerY + s->height; + } + else if (dy > 0) + { + offsetY = 1- s->height; + warpY = pointerY - s->height; + } + else + { + offsetY = 0; + warpY = lastPointerY; + } + + warpPointer (s, offsetX, offsetY); + lastPointerX = warpX; + lastPointerY = warpY; + } + + return TRUE; +} + +static Bool +wallLeft (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + return wallInitiate (s, -1, 0, None); +} + +static Bool +wallRight (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + return wallInitiate (s, 1, 0, None); +} + +static Bool +wallUp (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + return wallInitiate (s, 0, -1, None); +} + +static Bool +wallDown (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + return wallInitiate (s, 0, 1, None); +} + +static Bool +wallFlipLeft (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + return wallInitiateFlip (s, Left, (state & CompActionStateInitEdgeDnd)); +} + +static Bool +wallFlipRight (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + return wallInitiateFlip (s, Right, (state & CompActionStateInitEdgeDnd)); +} + +static Bool +wallFlipUp (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + return wallInitiateFlip (s, Up, (state & CompActionStateInitEdgeDnd)); +} + +static Bool +wallFlipDown (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + + return wallInitiateFlip (s, Down, (state & CompActionStateInitEdgeDnd)); +} + +static Bool +wallLeftWithWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + Window win = getIntOptionNamed (option, nOption, "window", 0); + + return wallInitiate (s, -1, 0, win); +} + +static Bool +wallRightWithWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + Window win = getIntOptionNamed (option, nOption, "window", 0); + + return wallInitiate (s, 1, 0, win); +} + +static Bool +wallUpWithWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + Window win = getIntOptionNamed (option, nOption, "window", 0); + + return wallInitiate (s, 0, -1, win); +} + +static Bool +wallDownWithWindow (CompDisplay *d, + CompAction *action, + CompActionState state, + CompOption *option, + int nOption) +{ + GET_SCREEN; + Window win = getIntOptionNamed (option, nOption, "window", 0); + + return wallInitiate (s, 0, 1, win); +} + +static inline void +wallDrawQuad (CompMatrix *matrix, BOX *box) +{ + glTexCoord2f (COMP_TEX_COORD_X (matrix, box->x1), + COMP_TEX_COORD_Y (matrix, box->y2)); + glVertex2i (box->x1, box->y2); + glTexCoord2f (COMP_TEX_COORD_X (matrix, box->x2), + COMP_TEX_COORD_Y (matrix, box->y2)); + glVertex2i (box->x2, box->y2); + glTexCoord2f (COMP_TEX_COORD_X (matrix, box->x2), + COMP_TEX_COORD_Y (matrix, box->y1)); + glVertex2i (box->x2, box->y1); + glTexCoord2f (COMP_TEX_COORD_X (matrix, box->x1), + COMP_TEX_COORD_Y (matrix, box->y1)); + glVertex2i (box->x1, box->y1); +} + +static void +wallDrawCairoTextureOnScreen (CompScreen *s) +{ + float centerX, centerY; + float width, height; + float topLeftX, topLeftY; + float border = 10.0f; + int i, j; + CompMatrix matrix; + BOX box; + + WALL_SCREEN(s); + + glDisableClientState (GL_TEXTURE_COORD_ARRAY); + glEnable (GL_BLEND); + + centerX = s->outputDev[ws->boxOutputDevice].region.extents.x1 + + (s->outputDev[ws->boxOutputDevice].width / 2.0f); + centerY = s->outputDev[ws->boxOutputDevice].region.extents.y1 + + (s->outputDev[ws->boxOutputDevice].height / 2.0f); + + width = (float) ws->switcherContext.width; + height = (float) ws->switcherContext.height; + + topLeftX = centerX - floor (width / 2.0f); + topLeftY = centerY - floor (height / 2.0f); + + ws->firstViewportX = topLeftX + border; + ws->firstViewportY = topLeftY + border; + + if (!ws->moving) + { + double left; + left = (float)ws->boxTimeout / + (wallGetPreviewTimeout (s->display) * 1000.0f); + + if (left < 0) + left = 0.0f; + else if (left > 0.5) + left = 1.0f; + else + left = 2 * left; + + screenTexEnvMode (s, GL_MODULATE); + + glColor4f (left, left, left, left); + glTranslatef (0.0f,0.0f, -(1 - left)); + + ws->mSzCamera = -(1 - left); + } + else + ws->mSzCamera = 0.0f; + + /* draw background */ + + matrix = ws->switcherContext.texture.matrix; + matrix.x0 -= topLeftX * matrix.xx; + matrix.y0 -= topLeftY * matrix.yy; + + box.x1 = topLeftX; + box.x2 = box.x1 + width; + box.y1 = topLeftY; + box.y2 = box.y1 + height; + + enableTexture (s, &ws->switcherContext.texture, COMP_TEXTURE_FILTER_FAST); + glBegin (GL_QUADS); + wallDrawQuad (&matrix, &box); + glEnd (); + disableTexture (s, &ws->switcherContext.texture); + + /* draw thumb */ + width = (float) ws->thumbContext.width; + height = (float) ws->thumbContext.height; + + enableTexture (s, &ws->thumbContext.texture, COMP_TEXTURE_FILTER_FAST); + glBegin (GL_QUADS); + for (i = 0; i < s->hsize; i++) + { + for (j = 0; j < s->vsize; j++) + { + if (i == ws->gotoX && j == ws->gotoY && ws->moving) + continue; + + box.x1 = i * (width + border); + box.x1 += topLeftX + border; + box.x2 = box.x1 + width; + box.y1 = j * (height + border); + box.y1 += topLeftY + border; + box.y2 = box.y1 + height; + + matrix = ws->thumbContext.texture.matrix; + matrix.x0 -= box.x1 * matrix.xx; + matrix.y0 -= box.y1 * matrix.yy; + + wallDrawQuad (&matrix, &box); + } + } + glEnd (); + disableTexture (s, &ws->thumbContext.texture); + + if (ws->moving) + { + /* draw highlight */ + float angle = 0.0f; + float dx, dy; + int aW, aH; + + box.x1 = s->x * (width + border) + topLeftX + border; + box.x2 = box.x1 + width; + box.y1 = s->y * (height + border) + topLeftY + border; + box.y2 = box.y1 + height; + + matrix = ws->highlightContext.texture.matrix; + matrix.x0 -= box.x1 * matrix.xx; + matrix.y0 -= box.y1 * matrix.yy; + + enableTexture (s, &ws->highlightContext.texture, + COMP_TEXTURE_FILTER_FAST); + glBegin (GL_QUADS); + wallDrawQuad (&matrix, &box); + glEnd (); + disableTexture (s, &ws->highlightContext.texture); + + /* draw arrow */ + enableTexture (s, &ws->arrowContext.texture, COMP_TEXTURE_FILTER_GOOD); + + dx = ws->gotoX - ws->curPosX; + dy = ws->gotoY - ws->curPosY; + + if (dx > 0 && dy == 0) + angle = 90.0f; + else if (dx < 0 && dy == 0) + angle = 270.0f; + else if (dy > 0) + { + angle = 180.0f; + + if (dx < 0) + angle += 45.0f; + else if (dx > 0) + angle -= 45.0f; + } + else if (dy < 0) + { + if (dx < 0) + angle = -45.0f; + else if (dx > 0) + angle = 45.0f; + } + + aW = ws->arrowContext.width; + aH = ws->arrowContext.height; + + /* if we have a viewport preview we just paint the + arrow outside the switcher */ + if (wallGetMiniscreen (s->display)) + { + width = (float) ws->switcherContext.width; + height = (float) ws->switcherContext.height; + + switch ((int)angle) + { + /* top left */ + case -45: + box.x1 = topLeftX - aW - border; + box.y1 = topLeftY - aH - border; + break; + /* up */ + case 0: + box.x1 = topLeftX + width / 2.0f - aW / 2.0f; + box.y1 = topLeftY - aH - border; + break; + /* top right */ + case 45: + box.x1 = topLeftX + width + border; + box.y1 = topLeftY - aH - border; + break; + /* right */ + case 90: + box.x1 = topLeftX + width + border; + box.y1 = topLeftY + height / 2.0f - aH / 2.0f; + break; + /* bottom right */ + case 135: + box.x1 = topLeftX + width + border; + box.y1 = topLeftY + height + border; + break; + /* down */ + case 180: + box.x1 = topLeftX + width / 2.0f - aW / 2.0f; + box.y1 = topLeftY + height + border; + break; + /* bottom left */ + case 225: + box.x1 = topLeftX - aW - border; + box.y1 = topLeftY + height + border; + break; + /* left */ + case 270: + box.x1 = topLeftX - aW - border; + box.y1 = topLeftY + height / 2.0f - aH / 2.0f; + break; + default: + break; + } + } + else + { + /* arrow is visible (no preview is painted over it) */ + box.x1 = s->x * (width + border) + topLeftX + border; + box.x1 += width / 2 - aW / 2; + box.y1 = s->y * (height + border) + topLeftY + border; + box.y1 += height / 2 - aH / 2; + } + + box.x2 = box.x1 + aW; + box.y2 = box.y1 + aH; + + glTranslatef (box.x1 + aW / 2, box.y1 + aH / 2, 0.0f); + glRotatef (angle, 0.0f, 0.0f, 1.0f); + glTranslatef (-box.x1 - aW / 2, -box.y1 - aH / 2, 0.0f); + + matrix = ws->arrowContext.texture.matrix; + matrix.x0 -= box.x1 * matrix.xx; + matrix.y0 -= box.y1 * matrix.yy; + + glBegin (GL_QUADS); + wallDrawQuad (&matrix, &box); + glEnd (); + + disableTexture (s, &ws->arrowContext.texture); + } + + glDisable (GL_BLEND); + glEnableClientState (GL_TEXTURE_COORD_ARRAY); + screenTexEnvMode (s, GL_REPLACE); + glColor4usv (defaultColor); +} + +static void +wallPaintScreen (CompScreen *s, + CompOutput *outputs, + int numOutputs, + unsigned int mask) +{ + WALL_SCREEN (s); + + if (ws->moving && numOutputs > 1 && wallGetMmmode(s) == MmmodeSwitchAll) + { + outputs = &s->fullscreenOutput; + numOutputs = 1; + } + + UNWRAP (ws, s, paintScreen); + (*s->paintScreen) (s, outputs, numOutputs, mask); + WRAP (ws, s, paintScreen, wallPaintScreen); +} + +static Bool +wallPaintOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + Bool status; + + WALL_SCREEN (s); + + ws->miniScreen = FALSE; + if (ws->moving) + mask |= PAINT_SCREEN_TRANSFORMED_MASK; + + UNWRAP (ws, s, paintOutput); + status = (*s->paintOutput) (s, sAttrib, transform, region, output, mask); + WRAP (ws, s, paintOutput, wallPaintOutput); + + if ((ws->moving || ws->boxTimeout) && wallGetShowSwitcher(s->display) && + (output->id == ws->boxOutputDevice || output == &s->fullscreenOutput)) + { + CompTransform sTransform = *transform; + + transformToScreenSpace (s, output, -DEFAULT_Z_CAMERA, &sTransform); + + glPushMatrix (); + glLoadMatrixf (sTransform.m); + + wallDrawCairoTextureOnScreen (s); + + glPopMatrix (); + + if (wallGetMiniscreen (s->display)) + { + int i, j; + int origVX = s->x; + int origVY = s->y; + + moveScreenViewport (s, s->x, s->y, FALSE); + + for (j = 0; j < s->vsize; j++) + { + for (i = 0; i < s->hsize; i++) + { + float mx, my, mw, mh; + unsigned int msMask; + + ws->miniScreen = TRUE; + mx = ws->firstViewportX + + (i * (ws->viewportWidth + ws->viewportBorder)); + my = ws->firstViewportY + + (j * (ws->viewportHeight + ws->viewportBorder)); + mw = ws->viewportWidth; + mh = ws->viewportHeight; + + ws->mSAttribs.xTranslate = mx / output->width; + ws->mSAttribs.yTranslate = -my / output->height; + + ws->mSAttribs.xScale = mw / s->width; + ws->mSAttribs.yScale = mh / s->height; + ws->mSAttribs.opacity = OPAQUE * (1.0 + ws->mSzCamera); + ws->mSAttribs.brightness = 0.4f * BRIGHT; + ws->mSAttribs.saturation = COLOR; + + if (i == origVX && j == origVY && ws->moving) + ws->mSAttribs.brightness = BRIGHT; + + if (ws->boxTimeout && !ws->moving && + i == origVX && j == origVY) + { + ws->mSAttribs.brightness = BRIGHT; + } + + msMask = mask | PAINT_SCREEN_TRANSFORMED_MASK; + (*s->paintTransformedOutput) (s, sAttrib, transform, + region, output, msMask); + + ws->miniScreen = FALSE; + + moveScreenViewport (s, -1, 0, FALSE); + } + moveScreenViewport (s, 0, -1, FALSE); + } + moveScreenViewport (s, -origVX, -origVY, FALSE); + } + } + + return status; +} + +static void +wallPreparePaintScreen (CompScreen *s, + int msSinceLastPaint) +{ + WALL_SCREEN (s); + + if (!ws->moving && ws->boxTimeout) + ws->boxTimeout -= msSinceLastPaint; + + if (ws->timer) + ws->timer -= msSinceLastPaint; + + if (ws->moving) + { + CompWindow *w; + float dx, dy; + + dx = ws->gotoX - ws->curPosX; + dy = ws->gotoY - ws->curPosY; + + wallComputeTranslation (s, &ws->curPosX, &ws->curPosY); + + if (ws->moveWindow) + { + w = findWindowAtScreen (s, ws->moveWindow); + if (w) + { + + moveWindowToViewportPosition (w, + ws->moveWindowX - s->width * ws->curPosX, //dx, + ws->moveWindowY - s->height * ws->curPosY, //dy, + TRUE); + } + } + /*for (w = s->windows; w; w = w->next) + { + if(w->type & CompWindowTypeDesktopMask) + { + printf("paint window %fx%f\n", + ws->curPosX * s->width, + ws->curPosY * s->height); + + moveWindowToViewportPosition (w, + - s->width * ws->curPosX, + - s->height * ws->curPosY, + TRUE); + + } + }*/ + } + /* move override windows here */ + + if (ws->moving && ws->curPosX == ws->gotoX && ws->curPosY == ws->gotoY) + { + ws->moving = FALSE; + ws->timer = 0; + + if (ws->moveWindow) + wallReleaseMoveWindow (s); + else + focusDefaultWindow (s->display); + } + + UNWRAP (ws, s, preparePaintScreen); + (*s->preparePaintScreen) (s, msSinceLastPaint); + WRAP (ws, s, preparePaintScreen, wallPreparePaintScreen); +} + +static void +wallPaintTransformedOutput (CompScreen *s, + const ScreenPaintAttrib *sAttrib, + const CompTransform *transform, + Region region, + CompOutput *output, + unsigned int mask) +{ + CompTransform sTransform = *transform; + + WALL_SCREEN (s); + + if (ws->miniScreen) + { + /* move each screen to the correct output position */ + matrixTranslate (&sTransform, + -output->region.extents.x1 / output->width, + output->region.extents.y1 / output->height, 0.0f); + matrixTranslate (&sTransform, 0.0f, 0.0f, -DEFAULT_Z_CAMERA); + + matrixTranslate (&sTransform, + ws->mSAttribs.xTranslate, + ws->mSAttribs.yTranslate, + ws->mSzCamera); + + /* move origin to top left */ + matrixTranslate (&sTransform, -0.5f, 0.5f, 0.0f); + matrixScale (&sTransform, + ws->mSAttribs.xScale, ws->mSAttribs.yScale, 1.0); + + /* revert prepareXCoords region shift. + Now all screens display the same */ + matrixTranslate (&sTransform, 0.5f, 0.5f, DEFAULT_Z_CAMERA); + matrixTranslate (&sTransform, + output->region.extents.x1 / output->width, + -output->region.extents.y2 / output->height, 0.0f); + + UNWRAP (ws, s, paintTransformedOutput); + (*s->paintTransformedOutput) (s, sAttrib, &sTransform, + &s->region, output, mask); + WRAP (ws, s, paintTransformedOutput, wallPaintTransformedOutput); + return; + } + + UNWRAP (ws, s, paintTransformedOutput); + + if (!ws->moving) + (*s->paintTransformedOutput) (s, sAttrib, &sTransform, + region, output, mask); + + mask &= ~PAINT_SCREEN_CLEAR_MASK; + + if (ws->moving) + { + ScreenPaintAttrib sA = *sAttrib; + int origx = s->x; + int origy = s->y; + float px, py; + int tx, ty; + + clearTargetOutput (s->display, GL_COLOR_BUFFER_BIT); + + px = ws->curPosX; + py = ws->curPosY; + + if (floor (py) != ceil (py)) + { + ty = ceil (py) - s->y; + sA.yTranslate = fmod (py, 1) - 1; + if (floor (px) != ceil (px)) + { + tx = ceil (px) - s->x; + moveScreenViewport (s, -tx, -ty, FALSE); + sA.xTranslate = 1 - fmod (px,1); + (*s->paintTransformedOutput) (s, &sA, &sTransform, + &output->region, output, mask); + moveScreenViewport (s, tx, ty, FALSE); + } + tx = floor (px) - s->x; + moveScreenViewport (s, -tx, -ty, FALSE); + sA.xTranslate = -fmod (px,1); + (*s->paintTransformedOutput) (s, &sA, &sTransform, + &output->region, output, mask); + moveScreenViewport (s, tx, ty, FALSE); + } + + ty = floor (py) - s->y; + sA.yTranslate = fmod (py,1); + if (floor (px) != ceil (px)) + { + tx = ceil (px) - s->x; + moveScreenViewport (s, -tx, -ty, FALSE); + sA.xTranslate = 1 - fmod (px,1); + (*s->paintTransformedOutput) (s, &sA, &sTransform, + &output->region, output, mask); + moveScreenViewport (s, tx, ty, FALSE); + } + tx = floor (px) - s->x; + moveScreenViewport (s, - tx, -ty, FALSE); + sA.xTranslate = -fmod (px,1); + (*s->paintTransformedOutput) (s, &sA, &sTransform, + &output->region, output, mask); + moveScreenViewport (s, tx, ty, FALSE); + + while (s->x != origx) + moveScreenViewport (s, -1, 0, FALSE); + while (s->y != origy) + moveScreenViewport (s, 0, 1, FALSE); + } + + WRAP (ws, s, paintTransformedOutput, wallPaintTransformedOutput); +} + +static Bool +wallPaintWindow(CompWindow *w, + const WindowPaintAttrib *attrib, + const CompTransform *transform, + Region region, + unsigned int mask) +{ + Bool status; + CompScreen *s = w->screen; + + WALL_SCREEN (s); + + //if(ws->moving) + /* + if(w->type & CompWindowTypeDesktopMask) + { + float dx, dy; + + dx = ws->gotoX - ws->curPosX; + dy = ws->gotoY - ws->curPosY; + + printf("paint window %dx%d\n", s->x, s->y); + + moveWindowToViewportPosition (w, + - dx * s->width, + - dy * s->height, + FALSE); + + } + */ + + if (ws->miniScreen) + { + + + WindowPaintAttrib pA = *attrib; + + pA.opacity = attrib->opacity * + ((float)ws->mSAttribs.opacity / OPAQUE); + pA.brightness = attrib->brightness * + ((float)ws->mSAttribs.brightness / BRIGHT); + pA.saturation = attrib->saturation * + ((float)ws->mSAttribs.saturation / COLOR); + + if (!pA.opacity || !pA.brightness) + mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK; + + UNWRAP (ws, s, paintWindow); + status = (*s->paintWindow) (w, &pA, transform, region, mask); + WRAP (ws, s, paintWindow, wallPaintWindow); + } + else + { + UNWRAP (ws, s, paintWindow); + status = (*s->paintWindow) (w, attrib, transform, region, mask); + WRAP (ws, s, paintWindow, wallPaintWindow); + } + + return status; +} + +static void +wallDonePaintScreen (CompScreen *s) +{ + WALL_SCREEN (s); + + if (ws->moving || ws->boxTimeout) + damageScreen (s); + + if (ws->boxTimeout < 0) + { + ws->boxTimeout = 0; + damageScreen (s); + } + + UNWRAP (ws, s, donePaintScreen); + (*s->donePaintScreen) (s); + WRAP (ws, s, donePaintScreen, wallDonePaintScreen); + +} + +static void +wallCreateCairoContexts (CompScreen *s, + Bool initial) +{ + float border = 10.0f; + float width, height; + + WALL_SCREEN (s); + + width = VIEWPORT_SWITCHER_SIZE * s->hsize + (2 * border * (s->hsize - 1)); + width *= (float)s->width / (float)s->height; + height = VIEWPORT_SWITCHER_SIZE * s->vsize + (2 * border * (s->vsize - 1)); + + wallDestroyCairoContext (s, &ws->switcherContext); + ws->switcherContext.width = width; + ws->switcherContext.height = height; + wallSetupCairoContext (s, &ws->switcherContext); + wallDrawSwitcherBackground (s); + + wallDestroyCairoContext (s, &ws->thumbContext); + ws->thumbContext.width = (width - border * (s->hsize + 1)) / s->hsize; + ws->thumbContext.height = (height - border * (s->vsize + 1)) / s->vsize; + wallSetupCairoContext (s, &ws->thumbContext); + wallDrawThumb (s); + + wallDestroyCairoContext (s, &ws->highlightContext); + ws->highlightContext.width = (width - border * (s->hsize + 1)) / s->hsize; + ws->highlightContext.height = (height - border * (s->vsize + 1)) / s->vsize; + wallSetupCairoContext (s, &ws->highlightContext); + wallDrawHighlight (s); + + if (initial) + { + ws->arrowContext.width = ARROW_SIZE; + ws->arrowContext.height = ARROW_SIZE; + wallSetupCairoContext (s, &ws->arrowContext); + wallDrawArrow (s); + } +} + +static void +wallDisplayOptionChanged (CompDisplay *display, + CompOption *opt, + WallDisplayOptions num) +{ + CompScreen *s; + + switch(num) + { + case WallDisplayOptionOutlineColor: + for (s = display->screens; s; s = s->next) + { + wallDrawSwitcherBackground (s); + wallDrawHighlight (s); + wallDrawThumb (s); + } + break; + + case WallDisplayOptionEdgeRadius: + case WallDisplayOptionBackgroundGradientBaseColor: + case WallDisplayOptionBackgroundGradientHighlightColor: + case WallDisplayOptionBackgroundGradientShadowColor: + for (s = display->screens; s; s = s->next) + wallDrawSwitcherBackground (s); + break; + + case WallDisplayOptionThumbGradientBaseColor: + case WallDisplayOptionThumbGradientHighlightColor: + for (s = display->screens; s; s = s->next) + wallDrawThumb (s); + break; + + case WallDisplayOptionThumbHighlightGradientBaseColor: + case WallDisplayOptionThumbHighlightGradientShadowColor: + for (s = display->screens; s; s = s->next) + wallDrawHighlight (s); + break; + + case WallDisplayOptionArrowBaseColor: + case WallDisplayOptionArrowShadowColor: + for (s = display->screens; s; s = s->next) + wallDrawArrow (s); + break; + default: + break; + } +} + +static Bool +wallSetScreenOptionCore (CompScreen *screen, + char *name, + CompOptionValue *value) +{ + Bool status; + + WALL_SCREEN (screen); + + UNWRAP (ws, screen, setScreenOption); + status = (*screen->setScreenOption) (screen, name, value); + WRAP (ws, screen, setScreenOption, wallSetScreenOptionCore); + + if (status) + { + if (strcmp (name, "hsize") == 0 || strcmp (name, "vsize") == 0) + wallCreateCairoContexts (screen, FALSE); + } + + return status; +} + +static Bool +wallInitDisplay (CompPlugin *p, + CompDisplay *d) +{ + WallDisplay *wd; + + wd = malloc (sizeof (WallDisplay)); + if (!wd) + return FALSE; + + wd->screenPrivateIndex = allocateScreenPrivateIndex (d); + if (wd->screenPrivateIndex < 0) + { + free (wd); + return FALSE; + } + + wallSetLeftInitiate (d, wallLeft); + wallSetRightInitiate (d, wallRight); + wallSetUpInitiate (d, wallUp); + wallSetDownInitiate (d, wallDown); + wallSetNextInitiate (d, wallNext); + wallSetPrevInitiate (d, wallPrev); + wallSetLeftWindowInitiate (d, wallLeftWithWindow); + wallSetRightWindowInitiate (d, wallRightWithWindow); + wallSetUpWindowInitiate (d, wallUpWithWindow); + wallSetDownWindowInitiate (d, wallDownWithWindow); + wallSetFlipLeftInitiate (d, wallFlipLeft); + wallSetFlipRightInitiate (d, wallFlipRight); + wallSetFlipUpInitiate (d, wallFlipUp); + wallSetFlipDownInitiate (d, wallFlipDown); + + wallSetEdgeRadiusNotify (d, wallDisplayOptionChanged); + wallSetOutlineColorNotify (d, wallDisplayOptionChanged); + wallSetBackgroundGradientBaseColorNotify (d, wallDisplayOptionChanged); + wallSetBackgroundGradientHighlightColorNotify (d, wallDisplayOptionChanged); + wallSetBackgroundGradientShadowColorNotify (d, wallDisplayOptionChanged); + wallSetThumbGradientBaseColorNotify (d, wallDisplayOptionChanged); + wallSetThumbGradientHighlightColorNotify (d, wallDisplayOptionChanged); + wallSetThumbHighlightGradientBaseColorNotify (d, wallDisplayOptionChanged); + wallSetThumbHighlightGradientShadowColorNotify (d, + wallDisplayOptionChanged); + wallSetArrowBaseColorNotify (d, wallDisplayOptionChanged); + wallSetArrowShadowColorNotify (d, wallDisplayOptionChanged); + + WRAP (wd, d, handleEvent, wallHandleEvent); + d->privates[displayPrivateIndex].ptr = wd; + + return TRUE; +} + +static void +wallFiniDisplay (CompPlugin *p, + CompDisplay *d) +{ + WALL_DISPLAY (d); + + UNWRAP (wd, d, handleEvent); + + freeScreenPrivateIndex (d, wd->screenPrivateIndex); + free (wd); +} + +static Bool +wallInitScreen (CompPlugin *p, + CompScreen *s) +{ + WallScreen *ws; + + WALL_DISPLAY (s->display); + + ws = malloc (sizeof (WallScreen)); + if (!ws) + return FALSE; + + ws->boxTimeout = 0; + ws->moving = FALSE; + + memset (&ws->switcherContext, 0, sizeof (WallCairoContext)); + memset (&ws->thumbContext, 0, sizeof (WallCairoContext)); + memset (&ws->highlightContext, 0, sizeof (WallCairoContext)); + memset (&ws->arrowContext, 0, sizeof (WallCairoContext)); + + WRAP (ws, s, paintScreen, wallPaintScreen); + WRAP (ws, s, paintOutput, wallPaintOutput); + WRAP (ws, s, donePaintScreen, wallDonePaintScreen); + WRAP (ws, s, paintTransformedOutput, wallPaintTransformedOutput); + WRAP (ws, s, preparePaintScreen, wallPreparePaintScreen); + WRAP (ws, s, paintWindow, wallPaintWindow); + WRAP (ws, s, setScreenOption, wallSetScreenOptionCore); + + s->privates[wd->screenPrivateIndex].ptr = ws; + + wallCreateCairoContexts (s, TRUE); + + return TRUE; +} + +static void +wallFiniScreen (CompPlugin *p, + CompScreen *s) +{ + WALL_SCREEN (s); + + wallDestroyCairoContext (s, &ws->switcherContext); + wallDestroyCairoContext (s, &ws->thumbContext); + wallDestroyCairoContext (s, &ws->highlightContext); + wallDestroyCairoContext (s, &ws->arrowContext); + + UNWRAP (ws, s, paintScreen); + UNWRAP (ws, s, paintOutput); + UNWRAP (ws, s, donePaintScreen); + UNWRAP (ws, s, paintTransformedOutput); + UNWRAP (ws, s, preparePaintScreen); + UNWRAP (ws, s, paintWindow); + UNWRAP (ws, s, setScreenOption); + + free(ws); +} + +static Bool +wallInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex (); + if (displayPrivateIndex < 0) + return FALSE; + + return TRUE; +} + +static void +wallFini (CompPlugin *p) +{ + freeDisplayPrivateIndex (displayPrivateIndex); +} + +static int +wallGetVersion (CompPlugin *p, + int version) +{ + return ABIVERSION; +} + +CompPluginVTable wallVTable = { + "wall", + wallGetVersion, + 0, + wallInit, + wallFini, + wallInitDisplay, + wallFiniDisplay, + wallInitScreen, + wallFiniScreen, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL +}; + +CompPluginVTable* +getCompPluginInfo (void) +{ + return &wallVTable; +} diff --git a/wall/wall_options.c b/wall/wall_options.c new file mode 100644 index 0000000..5c1c8bc --- /dev/null +++ b/wall/wall_options.c @@ -0,0 +1,1580 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include + +#include + +#define _WALL_OPTIONS_INTERNAL +#include "wall_options.h" + +static int displayPrivateIndex; + +static CompMetadata wallOptionsMetadata; + +static CompPluginVTable *wallPluginVTable = NULL; +CompPluginVTable wallOptionsVTable; + +#define GET_WALL_OPTIONS_DISPLAY(d) \ + ((WallOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr) + +#define WALL_OPTIONS_DISPLAY(d) \ + WallOptionsDisplay *od = GET_WALL_OPTIONS_DISPLAY (d) + +#define GET_WALL_OPTIONS_SCREEN(s, od) \ + ((WallOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr) + +#define WALL_OPTIONS_SCREEN(s) \ + WallOptionsScreen *os = GET_WALL_OPTIONS_SCREEN (s, GET_WALL_OPTIONS_DISPLAY (s->display)) + +typedef struct _WallOptionsDisplay +{ + int screenPrivateIndex; + + CompOption opt[WallDisplayOptionNum]; + wallDisplayOptionChangeNotifyProc notify[WallDisplayOptionNum]; +} WallOptionsDisplay; + +typedef struct _WallOptionsScreen +{ + CompOption opt[WallScreenOptionNum]; + wallScreenOptionChangeNotifyProc notify[WallScreenOptionNum]; +} WallOptionsScreen; + +Bool wallGetShowSwitcher (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionShowSwitcher].value.b; +} + +CompOption * wallGetShowSwitcherOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionShowSwitcher]; +} + +void wallSetShowSwitcherNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionShowSwitcher] = notify; +} + +Bool wallGetMiniscreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionMiniscreen].value.b; +} + +CompOption * wallGetMiniscreenOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionMiniscreen]; +} + +void wallSetMiniscreenNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionMiniscreen] = notify; +} + +float wallGetPreviewTimeout (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionPreviewTimeout].value.f; +} + +CompOption * wallGetPreviewTimeoutOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionPreviewTimeout]; +} + +void wallSetPreviewTimeoutNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionPreviewTimeout] = notify; +} + +int wallGetEdgeRadius (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionEdgeRadius].value.i; +} + +CompOption * wallGetEdgeRadiusOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionEdgeRadius]; +} + +void wallSetEdgeRadiusNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionEdgeRadius] = notify; +} + +unsigned short * wallGetOutlineColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionOutlineColor].value.c; +} + +unsigned short wallGetOutlineColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionOutlineColor].value.c[0]; +} + +unsigned short wallGetOutlineColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionOutlineColor].value.c[1]; +} + +unsigned short wallGetOutlineColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionOutlineColor].value.c[2]; +} + +unsigned short wallGetOutlineColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionOutlineColor].value.c[3]; +} + +CompOption * wallGetOutlineColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionOutlineColor]; +} + +void wallSetOutlineColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionOutlineColor] = notify; +} + +unsigned short * wallGetBackgroundGradientBaseColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientBaseColor].value.c; +} + +unsigned short wallGetBackgroundGradientBaseColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientBaseColor].value.c[0]; +} + +unsigned short wallGetBackgroundGradientBaseColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientBaseColor].value.c[1]; +} + +unsigned short wallGetBackgroundGradientBaseColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientBaseColor].value.c[2]; +} + +unsigned short wallGetBackgroundGradientBaseColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientBaseColor].value.c[3]; +} + +CompOption * wallGetBackgroundGradientBaseColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionBackgroundGradientBaseColor]; +} + +void wallSetBackgroundGradientBaseColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionBackgroundGradientBaseColor] = notify; +} + +unsigned short * wallGetBackgroundGradientHighlightColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientHighlightColor].value.c; +} + +unsigned short wallGetBackgroundGradientHighlightColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientHighlightColor].value.c[0]; +} + +unsigned short wallGetBackgroundGradientHighlightColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientHighlightColor].value.c[1]; +} + +unsigned short wallGetBackgroundGradientHighlightColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientHighlightColor].value.c[2]; +} + +unsigned short wallGetBackgroundGradientHighlightColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientHighlightColor].value.c[3]; +} + +CompOption * wallGetBackgroundGradientHighlightColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionBackgroundGradientHighlightColor]; +} + +void wallSetBackgroundGradientHighlightColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionBackgroundGradientHighlightColor] = notify; +} + +unsigned short * wallGetBackgroundGradientShadowColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientShadowColor].value.c; +} + +unsigned short wallGetBackgroundGradientShadowColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientShadowColor].value.c[0]; +} + +unsigned short wallGetBackgroundGradientShadowColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientShadowColor].value.c[1]; +} + +unsigned short wallGetBackgroundGradientShadowColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientShadowColor].value.c[2]; +} + +unsigned short wallGetBackgroundGradientShadowColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionBackgroundGradientShadowColor].value.c[3]; +} + +CompOption * wallGetBackgroundGradientShadowColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionBackgroundGradientShadowColor]; +} + +void wallSetBackgroundGradientShadowColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionBackgroundGradientShadowColor] = notify; +} + +unsigned short * wallGetThumbGradientBaseColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientBaseColor].value.c; +} + +unsigned short wallGetThumbGradientBaseColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientBaseColor].value.c[0]; +} + +unsigned short wallGetThumbGradientBaseColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientBaseColor].value.c[1]; +} + +unsigned short wallGetThumbGradientBaseColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientBaseColor].value.c[2]; +} + +unsigned short wallGetThumbGradientBaseColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientBaseColor].value.c[3]; +} + +CompOption * wallGetThumbGradientBaseColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionThumbGradientBaseColor]; +} + +void wallSetThumbGradientBaseColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionThumbGradientBaseColor] = notify; +} + +unsigned short * wallGetThumbGradientHighlightColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientHighlightColor].value.c; +} + +unsigned short wallGetThumbGradientHighlightColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientHighlightColor].value.c[0]; +} + +unsigned short wallGetThumbGradientHighlightColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientHighlightColor].value.c[1]; +} + +unsigned short wallGetThumbGradientHighlightColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientHighlightColor].value.c[2]; +} + +unsigned short wallGetThumbGradientHighlightColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbGradientHighlightColor].value.c[3]; +} + +CompOption * wallGetThumbGradientHighlightColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionThumbGradientHighlightColor]; +} + +void wallSetThumbGradientHighlightColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionThumbGradientHighlightColor] = notify; +} + +unsigned short * wallGetThumbHighlightGradientBaseColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientBaseColor].value.c; +} + +unsigned short wallGetThumbHighlightGradientBaseColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientBaseColor].value.c[0]; +} + +unsigned short wallGetThumbHighlightGradientBaseColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientBaseColor].value.c[1]; +} + +unsigned short wallGetThumbHighlightGradientBaseColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientBaseColor].value.c[2]; +} + +unsigned short wallGetThumbHighlightGradientBaseColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientBaseColor].value.c[3]; +} + +CompOption * wallGetThumbHighlightGradientBaseColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionThumbHighlightGradientBaseColor]; +} + +void wallSetThumbHighlightGradientBaseColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionThumbHighlightGradientBaseColor] = notify; +} + +unsigned short * wallGetThumbHighlightGradientShadowColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientShadowColor].value.c; +} + +unsigned short wallGetThumbHighlightGradientShadowColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientShadowColor].value.c[0]; +} + +unsigned short wallGetThumbHighlightGradientShadowColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientShadowColor].value.c[1]; +} + +unsigned short wallGetThumbHighlightGradientShadowColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientShadowColor].value.c[2]; +} + +unsigned short wallGetThumbHighlightGradientShadowColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionThumbHighlightGradientShadowColor].value.c[3]; +} + +CompOption * wallGetThumbHighlightGradientShadowColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionThumbHighlightGradientShadowColor]; +} + +void wallSetThumbHighlightGradientShadowColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionThumbHighlightGradientShadowColor] = notify; +} + +unsigned short * wallGetArrowBaseColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowBaseColor].value.c; +} + +unsigned short wallGetArrowBaseColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowBaseColor].value.c[0]; +} + +unsigned short wallGetArrowBaseColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowBaseColor].value.c[1]; +} + +unsigned short wallGetArrowBaseColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowBaseColor].value.c[2]; +} + +unsigned short wallGetArrowBaseColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowBaseColor].value.c[3]; +} + +CompOption * wallGetArrowBaseColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionArrowBaseColor]; +} + +void wallSetArrowBaseColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionArrowBaseColor] = notify; +} + +unsigned short * wallGetArrowShadowColor (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowShadowColor].value.c; +} + +unsigned short wallGetArrowShadowColorRed (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowShadowColor].value.c[0]; +} + +unsigned short wallGetArrowShadowColorGreen (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowShadowColor].value.c[1]; +} + +unsigned short wallGetArrowShadowColorBlue (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowShadowColor].value.c[2]; +} + +unsigned short wallGetArrowShadowColorAlpha (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionArrowShadowColor].value.c[3]; +} + +CompOption * wallGetArrowShadowColorOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionArrowShadowColor]; +} + +void wallSetArrowShadowColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionArrowShadowColor] = notify; +} + +Bool wallGetAllowWraparound (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionAllowWraparound].value.b; +} + +CompOption * wallGetAllowWraparoundOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionAllowWraparound]; +} + +void wallSetAllowWraparoundNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionAllowWraparound] = notify; +} + +float wallGetSlideDuration (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return od->opt[WallDisplayOptionSlideDuration].value.f; +} + +CompOption * wallGetSlideDurationOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionSlideDuration]; +} + +void wallSetSlideDurationNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionSlideDuration] = notify; +} + +CompAction * wallGetLeft (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionLeft].value.action; +} + +void wallSetLeftInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionLeft].value.action.initiate = init; +} + +void wallSetLeftTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionLeft].value.action.terminate = term; +} + +CompOption * wallGetLeftOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionLeft]; +} + +void wallSetLeftNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionLeft] = notify; +} + +CompAction * wallGetRight (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionRight].value.action; +} + +void wallSetRightInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionRight].value.action.initiate = init; +} + +void wallSetRightTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionRight].value.action.terminate = term; +} + +CompOption * wallGetRightOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionRight]; +} + +void wallSetRightNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionRight] = notify; +} + +CompAction * wallGetUp (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionUp].value.action; +} + +void wallSetUpInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionUp].value.action.initiate = init; +} + +void wallSetUpTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionUp].value.action.terminate = term; +} + +CompOption * wallGetUpOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionUp]; +} + +void wallSetUpNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionUp] = notify; +} + +CompAction * wallGetDown (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionDown].value.action; +} + +void wallSetDownInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionDown].value.action.initiate = init; +} + +void wallSetDownTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionDown].value.action.terminate = term; +} + +CompOption * wallGetDownOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionDown]; +} + +void wallSetDownNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionDown] = notify; +} + +CompAction * wallGetNext (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionNext].value.action; +} + +void wallSetNextInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionNext].value.action.initiate = init; +} + +void wallSetNextTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionNext].value.action.terminate = term; +} + +CompOption * wallGetNextOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionNext]; +} + +void wallSetNextNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionNext] = notify; +} + +CompAction * wallGetPrev (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionPrev].value.action; +} + +void wallSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionPrev].value.action.initiate = init; +} + +void wallSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionPrev].value.action.terminate = term; +} + +CompOption * wallGetPrevOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionPrev]; +} + +void wallSetPrevNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionPrev] = notify; +} + +CompAction * wallGetLeftWindow (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionLeftWindow].value.action; +} + +void wallSetLeftWindowInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionLeftWindow].value.action.initiate = init; +} + +void wallSetLeftWindowTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionLeftWindow].value.action.terminate = term; +} + +CompOption * wallGetLeftWindowOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionLeftWindow]; +} + +void wallSetLeftWindowNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionLeftWindow] = notify; +} + +CompAction * wallGetRightWindow (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionRightWindow].value.action; +} + +void wallSetRightWindowInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionRightWindow].value.action.initiate = init; +} + +void wallSetRightWindowTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionRightWindow].value.action.terminate = term; +} + +CompOption * wallGetRightWindowOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionRightWindow]; +} + +void wallSetRightWindowNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionRightWindow] = notify; +} + +CompAction * wallGetUpWindow (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionUpWindow].value.action; +} + +void wallSetUpWindowInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionUpWindow].value.action.initiate = init; +} + +void wallSetUpWindowTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionUpWindow].value.action.terminate = term; +} + +CompOption * wallGetUpWindowOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionUpWindow]; +} + +void wallSetUpWindowNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionUpWindow] = notify; +} + +CompAction * wallGetDownWindow (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionDownWindow].value.action; +} + +void wallSetDownWindowInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionDownWindow].value.action.initiate = init; +} + +void wallSetDownWindowTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionDownWindow].value.action.terminate = term; +} + +CompOption * wallGetDownWindowOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionDownWindow]; +} + +void wallSetDownWindowNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionDownWindow] = notify; +} + +CompAction * wallGetFlipLeft (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionFlipLeft].value.action; +} + +void wallSetFlipLeftInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionFlipLeft].value.action.initiate = init; +} + +void wallSetFlipLeftTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionFlipLeft].value.action.terminate = term; +} + +CompOption * wallGetFlipLeftOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionFlipLeft]; +} + +void wallSetFlipLeftNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionFlipLeft] = notify; +} + +CompAction * wallGetFlipRight (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionFlipRight].value.action; +} + +void wallSetFlipRightInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionFlipRight].value.action.initiate = init; +} + +void wallSetFlipRightTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionFlipRight].value.action.terminate = term; +} + +CompOption * wallGetFlipRightOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionFlipRight]; +} + +void wallSetFlipRightNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionFlipRight] = notify; +} + +CompAction * wallGetFlipUp (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionFlipUp].value.action; +} + +void wallSetFlipUpInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionFlipUp].value.action.initiate = init; +} + +void wallSetFlipUpTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionFlipUp].value.action.terminate = term; +} + +CompOption * wallGetFlipUpOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionFlipUp]; +} + +void wallSetFlipUpNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionFlipUp] = notify; +} + +CompAction * wallGetFlipDown (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionFlipDown].value.action; +} + +void wallSetFlipDownInitiate (CompDisplay *d, CompActionCallBackProc init) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionFlipDown].value.action.initiate = init; +} + +void wallSetFlipDownTerminate (CompDisplay *d, CompActionCallBackProc term) +{ + WALL_OPTIONS_DISPLAY(d); + od->opt[WallDisplayOptionFlipDown].value.action.terminate = term; +} + +CompOption * wallGetFlipDownOption (CompDisplay *d) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[WallDisplayOptionFlipDown]; +} + +void wallSetFlipDownNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_DISPLAY(d); + od->notify[WallDisplayOptionFlipDown] = notify; +} + +int wallGetMmmode (CompScreen *s) +{ + WALL_OPTIONS_SCREEN(s); + return os->opt[WallScreenOptionMmmode].value.i; +} + +CompOption * wallGetMmmodeOption (CompScreen *s) +{ + WALL_OPTIONS_SCREEN(s); + return &os->opt[WallScreenOptionMmmode]; +} + +void wallSetMmmodeNotify (CompScreen *s, wallScreenOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_SCREEN(s); + os->notify[WallScreenOptionMmmode] = notify; +} + +Bool wallGetEdgeflipPointer (CompScreen *s) +{ + WALL_OPTIONS_SCREEN(s); + return os->opt[WallScreenOptionEdgeflipPointer].value.b; +} + +CompOption * wallGetEdgeflipPointerOption (CompScreen *s) +{ + WALL_OPTIONS_SCREEN(s); + return &os->opt[WallScreenOptionEdgeflipPointer]; +} + +void wallSetEdgeflipPointerNotify (CompScreen *s, wallScreenOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_SCREEN(s); + os->notify[WallScreenOptionEdgeflipPointer] = notify; +} + +Bool wallGetEdgeflipMove (CompScreen *s) +{ + WALL_OPTIONS_SCREEN(s); + return os->opt[WallScreenOptionEdgeflipMove].value.b; +} + +CompOption * wallGetEdgeflipMoveOption (CompScreen *s) +{ + WALL_OPTIONS_SCREEN(s); + return &os->opt[WallScreenOptionEdgeflipMove]; +} + +void wallSetEdgeflipMoveNotify (CompScreen *s, wallScreenOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_SCREEN(s); + os->notify[WallScreenOptionEdgeflipMove] = notify; +} + +Bool wallGetEdgeflipDnd (CompScreen *s) +{ + WALL_OPTIONS_SCREEN(s); + return os->opt[WallScreenOptionEdgeflipDnd].value.b; +} + +CompOption * wallGetEdgeflipDndOption (CompScreen *s) +{ + WALL_OPTIONS_SCREEN(s); + return &os->opt[WallScreenOptionEdgeflipDnd]; +} + +void wallSetEdgeflipDndNotify (CompScreen *s, wallScreenOptionChangeNotifyProc notify) +{ + WALL_OPTIONS_SCREEN(s); + os->notify[WallScreenOptionEdgeflipDnd] = notify; +} + +CompOption * wallGetDisplayOption (CompDisplay *d, WallDisplayOptions num) +{ + WALL_OPTIONS_DISPLAY(d); + return &od->opt[num]; +} + +CompOption * wallGetScreenOption (CompScreen *s, WallScreenOptions num) +{ + WALL_OPTIONS_SCREEN(s); + return &os->opt[num]; +} + +static const CompMetadataOptionInfo wallOptionsDisplayOptionInfo[] = { + { "show_switcher", "bool", 0, 0, 0 }, + { "miniscreen", "bool", 0, 0, 0 }, + { "preview_timeout", "float", "0.02.0", 0, 0 }, + { "edge_radius", "int", "020", 0, 0 }, + { "outline_color", "color", 0, 0, 0 }, + { "background_gradient_base_color", "color", 0, 0, 0 }, + { "background_gradient_highlight_color", "color", 0, 0, 0 }, + { "background_gradient_shadow_color", "color", 0, 0, 0 }, + { "thumb_gradient_base_color", "color", 0, 0, 0 }, + { "thumb_gradient_highlight_color", "color", 0, 0, 0 }, + { "thumb_highlight_gradient_base_color", "color", 0, 0, 0 }, + { "thumb_highlight_gradient_shadow_color", "color", 0, 0, 0 }, + { "arrow_base_color", "color", 0, 0, 0 }, + { "arrow_shadow_color", "color", 0, 0, 0 }, + { "allow_wraparound", "bool", 0, 0, 0 }, + { "slide_duration", "float", "0.15.0", 0, 0 }, + { "left", "action", 0, 0, 0 }, + { "right", "action", 0, 0, 0 }, + { "up", "action", 0, 0, 0 }, + { "down", "action", 0, 0, 0 }, + { "next", "action", 0, 0, 0 }, + { "prev", "action", 0, 0, 0 }, + { "left_window", "action", 0, 0, 0 }, + { "right_window", "action", 0, 0, 0 }, + { "up_window", "action", 0, 0, 0 }, + { "down_window", "action", 0, 0, 0 }, + { "flip_left", "action", 0, 0, 0 }, + { "flip_right", "action", 0, 0, 0 }, + { "flip_up", "action", 0, 0, 0 }, + { "flip_down", "action", 0, 0, 0 }, +}; + +static Bool wallOptionsSetDisplayOption (CompPlugin *plugin, CompDisplay *d, char *name, CompOptionValue *value) +{ + WALL_OPTIONS_DISPLAY(d); + CompOption *o; + int index; + + o = compFindOption (od->opt, WallDisplayOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case WallDisplayOptionShowSwitcher: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionShowSwitcher]) + (*od->notify[WallDisplayOptionShowSwitcher]) (d, o, WallDisplayOptionShowSwitcher); + return TRUE; + } + break; + case WallDisplayOptionMiniscreen: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionMiniscreen]) + (*od->notify[WallDisplayOptionMiniscreen]) (d, o, WallDisplayOptionMiniscreen); + return TRUE; + } + break; + case WallDisplayOptionPreviewTimeout: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionPreviewTimeout]) + (*od->notify[WallDisplayOptionPreviewTimeout]) (d, o, WallDisplayOptionPreviewTimeout); + return TRUE; + } + break; + case WallDisplayOptionEdgeRadius: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionEdgeRadius]) + (*od->notify[WallDisplayOptionEdgeRadius]) (d, o, WallDisplayOptionEdgeRadius); + return TRUE; + } + break; + case WallDisplayOptionOutlineColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionOutlineColor]) + (*od->notify[WallDisplayOptionOutlineColor]) (d, o, WallDisplayOptionOutlineColor); + return TRUE; + } + break; + case WallDisplayOptionBackgroundGradientBaseColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionBackgroundGradientBaseColor]) + (*od->notify[WallDisplayOptionBackgroundGradientBaseColor]) (d, o, WallDisplayOptionBackgroundGradientBaseColor); + return TRUE; + } + break; + case WallDisplayOptionBackgroundGradientHighlightColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionBackgroundGradientHighlightColor]) + (*od->notify[WallDisplayOptionBackgroundGradientHighlightColor]) (d, o, WallDisplayOptionBackgroundGradientHighlightColor); + return TRUE; + } + break; + case WallDisplayOptionBackgroundGradientShadowColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionBackgroundGradientShadowColor]) + (*od->notify[WallDisplayOptionBackgroundGradientShadowColor]) (d, o, WallDisplayOptionBackgroundGradientShadowColor); + return TRUE; + } + break; + case WallDisplayOptionThumbGradientBaseColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionThumbGradientBaseColor]) + (*od->notify[WallDisplayOptionThumbGradientBaseColor]) (d, o, WallDisplayOptionThumbGradientBaseColor); + return TRUE; + } + break; + case WallDisplayOptionThumbGradientHighlightColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionThumbGradientHighlightColor]) + (*od->notify[WallDisplayOptionThumbGradientHighlightColor]) (d, o, WallDisplayOptionThumbGradientHighlightColor); + return TRUE; + } + break; + case WallDisplayOptionThumbHighlightGradientBaseColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionThumbHighlightGradientBaseColor]) + (*od->notify[WallDisplayOptionThumbHighlightGradientBaseColor]) (d, o, WallDisplayOptionThumbHighlightGradientBaseColor); + return TRUE; + } + break; + case WallDisplayOptionThumbHighlightGradientShadowColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionThumbHighlightGradientShadowColor]) + (*od->notify[WallDisplayOptionThumbHighlightGradientShadowColor]) (d, o, WallDisplayOptionThumbHighlightGradientShadowColor); + return TRUE; + } + break; + case WallDisplayOptionArrowBaseColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionArrowBaseColor]) + (*od->notify[WallDisplayOptionArrowBaseColor]) (d, o, WallDisplayOptionArrowBaseColor); + return TRUE; + } + break; + case WallDisplayOptionArrowShadowColor: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionArrowShadowColor]) + (*od->notify[WallDisplayOptionArrowShadowColor]) (d, o, WallDisplayOptionArrowShadowColor); + return TRUE; + } + break; + case WallDisplayOptionAllowWraparound: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionAllowWraparound]) + (*od->notify[WallDisplayOptionAllowWraparound]) (d, o, WallDisplayOptionAllowWraparound); + return TRUE; + } + break; + case WallDisplayOptionSlideDuration: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionSlideDuration]) + (*od->notify[WallDisplayOptionSlideDuration]) (d, o, WallDisplayOptionSlideDuration); + return TRUE; + } + break; + case WallDisplayOptionLeft: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionLeft]) + (*od->notify[WallDisplayOptionLeft]) (d, o, WallDisplayOptionLeft); + return TRUE; + } + break; + case WallDisplayOptionRight: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionRight]) + (*od->notify[WallDisplayOptionRight]) (d, o, WallDisplayOptionRight); + return TRUE; + } + break; + case WallDisplayOptionUp: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionUp]) + (*od->notify[WallDisplayOptionUp]) (d, o, WallDisplayOptionUp); + return TRUE; + } + break; + case WallDisplayOptionDown: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionDown]) + (*od->notify[WallDisplayOptionDown]) (d, o, WallDisplayOptionDown); + return TRUE; + } + break; + case WallDisplayOptionNext: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionNext]) + (*od->notify[WallDisplayOptionNext]) (d, o, WallDisplayOptionNext); + return TRUE; + } + break; + case WallDisplayOptionPrev: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionPrev]) + (*od->notify[WallDisplayOptionPrev]) (d, o, WallDisplayOptionPrev); + return TRUE; + } + break; + case WallDisplayOptionLeftWindow: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionLeftWindow]) + (*od->notify[WallDisplayOptionLeftWindow]) (d, o, WallDisplayOptionLeftWindow); + return TRUE; + } + break; + case WallDisplayOptionRightWindow: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionRightWindow]) + (*od->notify[WallDisplayOptionRightWindow]) (d, o, WallDisplayOptionRightWindow); + return TRUE; + } + break; + case WallDisplayOptionUpWindow: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionUpWindow]) + (*od->notify[WallDisplayOptionUpWindow]) (d, o, WallDisplayOptionUpWindow); + return TRUE; + } + break; + case WallDisplayOptionDownWindow: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionDownWindow]) + (*od->notify[WallDisplayOptionDownWindow]) (d, o, WallDisplayOptionDownWindow); + return TRUE; + } + break; + case WallDisplayOptionFlipLeft: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionFlipLeft]) + (*od->notify[WallDisplayOptionFlipLeft]) (d, o, WallDisplayOptionFlipLeft); + return TRUE; + } + break; + case WallDisplayOptionFlipRight: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionFlipRight]) + (*od->notify[WallDisplayOptionFlipRight]) (d, o, WallDisplayOptionFlipRight); + return TRUE; + } + break; + case WallDisplayOptionFlipUp: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionFlipUp]) + (*od->notify[WallDisplayOptionFlipUp]) (d, o, WallDisplayOptionFlipUp); + return TRUE; + } + break; + case WallDisplayOptionFlipDown: + if (compSetDisplayOption (d, o, value)) + { + if (od->notify[WallDisplayOptionFlipDown]) + (*od->notify[WallDisplayOptionFlipDown]) (d, o, WallDisplayOptionFlipDown); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * wallOptionsGetDisplayOptions (CompPlugin *plugin, CompDisplay *d, int *count) +{ + WALL_OPTIONS_DISPLAY(d); + *count = WallDisplayOptionNum; + return od->opt; +} + +static const CompMetadataOptionInfo wallOptionsScreenOptionInfo[] = { + { "mmmode", "int", "01", 0, 0 }, + { "edgeflip_pointer", "bool", 0, 0, 0 }, + { "edgeflip_move", "bool", 0, 0, 0 }, + { "edgeflip_dnd", "bool", 0, 0, 0 }, +}; + +static Bool wallOptionsSetScreenOption (CompPlugin *plugin, CompScreen *s, char *name, CompOptionValue *value) +{ + WALL_OPTIONS_SCREEN(s); + CompOption *o; + int index; + + o = compFindOption (os->opt, WallScreenOptionNum, name, &index); + + if (!o) + return FALSE; + + switch (index) + { + case WallScreenOptionMmmode: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[WallScreenOptionMmmode]) + (*os->notify[WallScreenOptionMmmode]) (s, o, WallScreenOptionMmmode); + return TRUE; + } + break; + case WallScreenOptionEdgeflipPointer: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[WallScreenOptionEdgeflipPointer]) + (*os->notify[WallScreenOptionEdgeflipPointer]) (s, o, WallScreenOptionEdgeflipPointer); + return TRUE; + } + break; + case WallScreenOptionEdgeflipMove: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[WallScreenOptionEdgeflipMove]) + (*os->notify[WallScreenOptionEdgeflipMove]) (s, o, WallScreenOptionEdgeflipMove); + return TRUE; + } + break; + case WallScreenOptionEdgeflipDnd: + if (compSetScreenOption (s, o, value)) + { + if (os->notify[WallScreenOptionEdgeflipDnd]) + (*os->notify[WallScreenOptionEdgeflipDnd]) (s, o, WallScreenOptionEdgeflipDnd); + return TRUE; + } + break; + default: + break; + } + return FALSE; +} + +static CompOption * wallOptionsGetScreenOptions (CompPlugin *plugin, CompScreen *s, int *count) +{ + WALL_OPTIONS_SCREEN(s); + *count = WallScreenOptionNum; + return os->opt; +} + +static Bool wallOptionsInitScreen (CompPlugin *p, CompScreen *s) +{ + WallOptionsScreen *os; + + WALL_OPTIONS_DISPLAY (s->display); + + os = calloc (1, sizeof(WallOptionsScreen)); + if (!os) + return FALSE; + + s->privates[od->screenPrivateIndex].ptr = os; + + if (!compInitScreenOptionsFromMetadata (s, &wallOptionsMetadata, wallOptionsScreenOptionInfo, os->opt, WallScreenOptionNum)) + { + free (os); + return FALSE; + } + if (wallPluginVTable && wallPluginVTable->initScreen) + return wallPluginVTable->initScreen (p, s); + return TRUE; +} + +static void wallOptionsFiniScreen (CompPlugin *p, CompScreen *s) +{ + if (wallPluginVTable && wallPluginVTable->finiScreen) + return wallPluginVTable->finiScreen (p, s); + + WALL_OPTIONS_SCREEN (s); + + + compFiniScreenOptions (s, os->opt, WallScreenOptionNum); + + free (os); +} + +static Bool wallOptionsInitDisplay (CompPlugin *p, CompDisplay *d) +{ + WallOptionsDisplay *od; + + + od = calloc (1, sizeof(WallOptionsDisplay)); + if (!od) + return FALSE; + + od->screenPrivateIndex = allocateScreenPrivateIndex(d); + if (od->screenPrivateIndex < 0) + { + free(od); + return FALSE; + } + + d->privates[displayPrivateIndex].ptr = od; + + if (!compInitDisplayOptionsFromMetadata (d, &wallOptionsMetadata, wallOptionsDisplayOptionInfo, od->opt, WallDisplayOptionNum)) + { + free (od); + return FALSE; + } + if (wallPluginVTable && wallPluginVTable->initDisplay) + return wallPluginVTable->initDisplay (p, d); + return TRUE; +} + +static void wallOptionsFiniDisplay (CompPlugin *p, CompDisplay *d) +{ + if (wallPluginVTable && wallPluginVTable->finiDisplay) + return wallPluginVTable->finiDisplay (p, d); + + WALL_OPTIONS_DISPLAY (d); + + freeScreenPrivateIndex(d, od->screenPrivateIndex); + + compFiniDisplayOptions (d, od->opt, WallDisplayOptionNum); + + free (od); +} + +static Bool wallOptionsInit (CompPlugin *p) +{ + displayPrivateIndex = allocateDisplayPrivateIndex(); + if (displayPrivateIndex < 0) + return FALSE; + + if (!compInitPluginMetadataFromInfo (&wallOptionsMetadata, "wall",wallOptionsDisplayOptionInfo, WallDisplayOptionNum, wallOptionsScreenOptionInfo, WallScreenOptionNum)) + return FALSE; + + compAddMetadataFromFile (&wallOptionsMetadata, "wall"); + if (wallPluginVTable && wallPluginVTable->init) + return wallPluginVTable->init (p); + return TRUE; +} + +static void wallOptionsFini (CompPlugin *p) +{ + if (wallPluginVTable && wallPluginVTable->fini) + return wallPluginVTable->fini (p); + + if (displayPrivateIndex >= 0) + freeDisplayPrivateIndex(displayPrivateIndex); + + compFiniMetadata (&wallOptionsMetadata); +} + +static CompMetadata * +wallOptionsGetMetadata (CompPlugin *plugin) +{ + return &wallOptionsMetadata; +} + +CompPluginVTable *getCompPluginInfo (void) +{ + if (!wallPluginVTable) + { + wallPluginVTable = wallOptionsGetCompPluginInfo (); + memcpy(&wallOptionsVTable, wallPluginVTable, sizeof(CompPluginVTable)); + wallOptionsVTable.getMetadata = wallOptionsGetMetadata; + wallOptionsVTable.init = wallOptionsInit; + wallOptionsVTable.fini = wallOptionsFini; + wallOptionsVTable.initDisplay = wallOptionsInitDisplay; + wallOptionsVTable.finiDisplay = wallOptionsFiniDisplay; + wallOptionsVTable.initScreen = wallOptionsInitScreen; + wallOptionsVTable.finiScreen = wallOptionsFiniScreen; + wallOptionsVTable.getDisplayOptions = wallOptionsGetDisplayOptions; + wallOptionsVTable.setDisplayOption = wallOptionsSetDisplayOption; + wallOptionsVTable.getScreenOptions = wallOptionsGetScreenOptions; + wallOptionsVTable.setScreenOption = wallOptionsSetScreenOption; + + } + return &wallOptionsVTable; +} + diff --git a/wall/wall_options.h b/wall/wall_options.h new file mode 100644 index 0000000..c505d25 --- /dev/null +++ b/wall/wall_options.h @@ -0,0 +1,291 @@ +/* + * This file is autogenerated with bcop: + * The Ecomp option code generator + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _WALL_OPTIONS_H +#define _WALL_OPTIONS_H + +#ifndef _WALL_OPTIONS_INTERNAL +#define getCompPluginInfo wallOptionsGetCompPluginInfo +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +CompPluginVTable *wallOptionsGetCompPluginInfo (void); + +typedef enum +{ + WallDisplayOptionShowSwitcher, + WallDisplayOptionMiniscreen, + WallDisplayOptionPreviewTimeout, + WallDisplayOptionEdgeRadius, + WallDisplayOptionOutlineColor, + WallDisplayOptionBackgroundGradientBaseColor, + WallDisplayOptionBackgroundGradientHighlightColor, + WallDisplayOptionBackgroundGradientShadowColor, + WallDisplayOptionThumbGradientBaseColor, + WallDisplayOptionThumbGradientHighlightColor, + WallDisplayOptionThumbHighlightGradientBaseColor, + WallDisplayOptionThumbHighlightGradientShadowColor, + WallDisplayOptionArrowBaseColor, + WallDisplayOptionArrowShadowColor, + WallDisplayOptionAllowWraparound, + WallDisplayOptionSlideDuration, + WallDisplayOptionLeft, + WallDisplayOptionRight, + WallDisplayOptionUp, + WallDisplayOptionDown, + WallDisplayOptionNext, + WallDisplayOptionPrev, + WallDisplayOptionLeftWindow, + WallDisplayOptionRightWindow, + WallDisplayOptionUpWindow, + WallDisplayOptionDownWindow, + WallDisplayOptionFlipLeft, + WallDisplayOptionFlipRight, + WallDisplayOptionFlipUp, + WallDisplayOptionFlipDown, + WallDisplayOptionNum +} WallDisplayOptions; + +typedef void (*wallDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, WallDisplayOptions num); + +CompOption *wallGetDisplayOption (CompDisplay *d, WallDisplayOptions num); + +typedef enum +{ + WallScreenOptionMmmode, + WallScreenOptionEdgeflipPointer, + WallScreenOptionEdgeflipMove, + WallScreenOptionEdgeflipDnd, + WallScreenOptionNum +} WallScreenOptions; + +typedef void (*wallScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, WallScreenOptions num); + +CompOption *wallGetScreenOption (CompScreen *s, WallScreenOptions num); + +typedef enum +{ + MmmodeSwitchAll = 0, + MmmodeSwitchSeparately = 1, +} WallMmmodeEnum; + +Bool wallGetShowSwitcher (CompDisplay *d); +CompOption * wallGetShowSwitcherOption (CompDisplay *d); +void wallSetShowSwitcherNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +Bool wallGetMiniscreen (CompDisplay *d); +CompOption * wallGetMiniscreenOption (CompDisplay *d); +void wallSetMiniscreenNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +float wallGetPreviewTimeout (CompDisplay *d); +CompOption * wallGetPreviewTimeoutOption (CompDisplay *d); +void wallSetPreviewTimeoutNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +int wallGetEdgeRadius (CompDisplay *d); +CompOption * wallGetEdgeRadiusOption (CompDisplay *d); +void wallSetEdgeRadiusNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetOutlineColor (CompDisplay *d); +unsigned short wallGetOutlineColorRed (CompDisplay *d); +unsigned short wallGetOutlineColorGreen (CompDisplay *d); +unsigned short wallGetOutlineColorBlue (CompDisplay *d); +unsigned short wallGetOutlineColorAlpha (CompDisplay *d); +CompOption * wallGetOutlineColorOption (CompDisplay *d); +void wallSetOutlineColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetBackgroundGradientBaseColor (CompDisplay *d); +unsigned short wallGetBackgroundGradientBaseColorRed (CompDisplay *d); +unsigned short wallGetBackgroundGradientBaseColorGreen (CompDisplay *d); +unsigned short wallGetBackgroundGradientBaseColorBlue (CompDisplay *d); +unsigned short wallGetBackgroundGradientBaseColorAlpha (CompDisplay *d); +CompOption * wallGetBackgroundGradientBaseColorOption (CompDisplay *d); +void wallSetBackgroundGradientBaseColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetBackgroundGradientHighlightColor (CompDisplay *d); +unsigned short wallGetBackgroundGradientHighlightColorRed (CompDisplay *d); +unsigned short wallGetBackgroundGradientHighlightColorGreen (CompDisplay *d); +unsigned short wallGetBackgroundGradientHighlightColorBlue (CompDisplay *d); +unsigned short wallGetBackgroundGradientHighlightColorAlpha (CompDisplay *d); +CompOption * wallGetBackgroundGradientHighlightColorOption (CompDisplay *d); +void wallSetBackgroundGradientHighlightColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetBackgroundGradientShadowColor (CompDisplay *d); +unsigned short wallGetBackgroundGradientShadowColorRed (CompDisplay *d); +unsigned short wallGetBackgroundGradientShadowColorGreen (CompDisplay *d); +unsigned short wallGetBackgroundGradientShadowColorBlue (CompDisplay *d); +unsigned short wallGetBackgroundGradientShadowColorAlpha (CompDisplay *d); +CompOption * wallGetBackgroundGradientShadowColorOption (CompDisplay *d); +void wallSetBackgroundGradientShadowColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetThumbGradientBaseColor (CompDisplay *d); +unsigned short wallGetThumbGradientBaseColorRed (CompDisplay *d); +unsigned short wallGetThumbGradientBaseColorGreen (CompDisplay *d); +unsigned short wallGetThumbGradientBaseColorBlue (CompDisplay *d); +unsigned short wallGetThumbGradientBaseColorAlpha (CompDisplay *d); +CompOption * wallGetThumbGradientBaseColorOption (CompDisplay *d); +void wallSetThumbGradientBaseColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetThumbGradientHighlightColor (CompDisplay *d); +unsigned short wallGetThumbGradientHighlightColorRed (CompDisplay *d); +unsigned short wallGetThumbGradientHighlightColorGreen (CompDisplay *d); +unsigned short wallGetThumbGradientHighlightColorBlue (CompDisplay *d); +unsigned short wallGetThumbGradientHighlightColorAlpha (CompDisplay *d); +CompOption * wallGetThumbGradientHighlightColorOption (CompDisplay *d); +void wallSetThumbGradientHighlightColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetThumbHighlightGradientBaseColor (CompDisplay *d); +unsigned short wallGetThumbHighlightGradientBaseColorRed (CompDisplay *d); +unsigned short wallGetThumbHighlightGradientBaseColorGreen (CompDisplay *d); +unsigned short wallGetThumbHighlightGradientBaseColorBlue (CompDisplay *d); +unsigned short wallGetThumbHighlightGradientBaseColorAlpha (CompDisplay *d); +CompOption * wallGetThumbHighlightGradientBaseColorOption (CompDisplay *d); +void wallSetThumbHighlightGradientBaseColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetThumbHighlightGradientShadowColor (CompDisplay *d); +unsigned short wallGetThumbHighlightGradientShadowColorRed (CompDisplay *d); +unsigned short wallGetThumbHighlightGradientShadowColorGreen (CompDisplay *d); +unsigned short wallGetThumbHighlightGradientShadowColorBlue (CompDisplay *d); +unsigned short wallGetThumbHighlightGradientShadowColorAlpha (CompDisplay *d); +CompOption * wallGetThumbHighlightGradientShadowColorOption (CompDisplay *d); +void wallSetThumbHighlightGradientShadowColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetArrowBaseColor (CompDisplay *d); +unsigned short wallGetArrowBaseColorRed (CompDisplay *d); +unsigned short wallGetArrowBaseColorGreen (CompDisplay *d); +unsigned short wallGetArrowBaseColorBlue (CompDisplay *d); +unsigned short wallGetArrowBaseColorAlpha (CompDisplay *d); +CompOption * wallGetArrowBaseColorOption (CompDisplay *d); +void wallSetArrowBaseColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +unsigned short * wallGetArrowShadowColor (CompDisplay *d); +unsigned short wallGetArrowShadowColorRed (CompDisplay *d); +unsigned short wallGetArrowShadowColorGreen (CompDisplay *d); +unsigned short wallGetArrowShadowColorBlue (CompDisplay *d); +unsigned short wallGetArrowShadowColorAlpha (CompDisplay *d); +CompOption * wallGetArrowShadowColorOption (CompDisplay *d); +void wallSetArrowShadowColorNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +Bool wallGetAllowWraparound (CompDisplay *d); +CompOption * wallGetAllowWraparoundOption (CompDisplay *d); +void wallSetAllowWraparoundNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +float wallGetSlideDuration (CompDisplay *d); +CompOption * wallGetSlideDurationOption (CompDisplay *d); +void wallSetSlideDurationNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetLeft (CompDisplay *d); +void wallSetLeftInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetLeftTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetLeftOption (CompDisplay *d); +void wallSetLeftNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetRight (CompDisplay *d); +void wallSetRightInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetRightTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetRightOption (CompDisplay *d); +void wallSetRightNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetUp (CompDisplay *d); +void wallSetUpInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetUpTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetUpOption (CompDisplay *d); +void wallSetUpNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetDown (CompDisplay *d); +void wallSetDownInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetDownTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetDownOption (CompDisplay *d); +void wallSetDownNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetNext (CompDisplay *d); +void wallSetNextInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetNextTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetNextOption (CompDisplay *d); +void wallSetNextNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetPrev (CompDisplay *d); +void wallSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetPrevOption (CompDisplay *d); +void wallSetPrevNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetLeftWindow (CompDisplay *d); +void wallSetLeftWindowInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetLeftWindowTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetLeftWindowOption (CompDisplay *d); +void wallSetLeftWindowNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetRightWindow (CompDisplay *d); +void wallSetRightWindowInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetRightWindowTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetRightWindowOption (CompDisplay *d); +void wallSetRightWindowNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetUpWindow (CompDisplay *d); +void wallSetUpWindowInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetUpWindowTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetUpWindowOption (CompDisplay *d); +void wallSetUpWindowNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetDownWindow (CompDisplay *d); +void wallSetDownWindowInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetDownWindowTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetDownWindowOption (CompDisplay *d); +void wallSetDownWindowNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetFlipLeft (CompDisplay *d); +void wallSetFlipLeftInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetFlipLeftTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetFlipLeftOption (CompDisplay *d); +void wallSetFlipLeftNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetFlipRight (CompDisplay *d); +void wallSetFlipRightInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetFlipRightTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetFlipRightOption (CompDisplay *d); +void wallSetFlipRightNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetFlipUp (CompDisplay *d); +void wallSetFlipUpInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetFlipUpTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetFlipUpOption (CompDisplay *d); +void wallSetFlipUpNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +CompAction * wallGetFlipDown (CompDisplay *d); +void wallSetFlipDownInitiate (CompDisplay *d, CompActionCallBackProc init); +void wallSetFlipDownTerminate (CompDisplay *d, CompActionCallBackProc term); +CompOption * wallGetFlipDownOption (CompDisplay *d); +void wallSetFlipDownNotify (CompDisplay *d, wallDisplayOptionChangeNotifyProc notify); + +int wallGetMmmode (CompScreen *s); +CompOption * wallGetMmmodeOption (CompScreen *s); +void wallSetMmmodeNotify (CompScreen *s, wallScreenOptionChangeNotifyProc notify); + +Bool wallGetEdgeflipPointer (CompScreen *s); +CompOption * wallGetEdgeflipPointerOption (CompScreen *s); +void wallSetEdgeflipPointerNotify (CompScreen *s, wallScreenOptionChangeNotifyProc notify); + +Bool wallGetEdgeflipMove (CompScreen *s); +CompOption * wallGetEdgeflipMoveOption (CompScreen *s); +void wallSetEdgeflipMoveNotify (CompScreen *s, wallScreenOptionChangeNotifyProc notify); + +Bool wallGetEdgeflipDnd (CompScreen *s); +CompOption * wallGetEdgeflipDndOption (CompScreen *s); +void wallSetEdgeflipDndNotify (CompScreen *s, wallScreenOptionChangeNotifyProc notify); + +#ifdef __cplusplus +} +#endif + +#endif